- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
private void ScanDir()
{
CurrentLevel++;
string save_dir=CurrentDir;
int i=0;
if (current_dirs.Length>0)
for (;i<current_dirs.Length;i++)
{
out_data+=current_tabs+"<DIR> "+CutPathName(current_dirs[i])+"\r\n";
try { CurrentDir=current_dirs[i]; }
catch
{
out_data+=current_tabs+"<ошибка доступа>\r\n\r\n";
CurrentDir=save_dir;
continue;
}
waiting=true; // синхронизатор этого потока
Thread.Sleep(120); // задержка, что бы второй поток успел скинуть данные
while (saving) // ожидание флага из потока записи
Thread.Sleep(100);
waiting=false;
ScanDir();
CurrentDir=save_dir;
}
else
out_data+=current_tabs+"<папки отсутствуют>\r\n";
save_dir=null;
string[] inner_files;
try { inner_files=Directory.GetFiles(save_dir); }
catch { out_data+=current_tabs+"<ошибка доступа>\r\n\r\n"; return; }
if (inner_files.Length>0)
for (i=0;i<inner_files.Length;i++)
{
out_data+=current_tabs+CutPathName(inner_files[i])+"\r\n";
inner_files[i]=null;
}
else
out_data+=current_tabs+"<файлы отсутствуют>\r\n";
inner_files=null;
CurrentLevel--;
}
Загрузка списка файлов и директорий на диске.
Оптимизировано для уменьшения потребления памяти и нагрузки CPU.
От одного только описания оптимизации хочется убежать и спрятаться под одеяло:
"Для оптимизации я добавил в глобалку следующую инфу:
1) массив текущих папок;
2) текущий уровень вложения;
3) текущую папку для глобалки;
4) строка табуляции;
5) свойства для п. 2 и 3.
2 для того, что бы в его свойстве (5) менять табулятор (4) по необходимости;
3 добавлено исключительно для свойства (5), в котором подгуржаются текущие папки (1)."
CTEPTOP 27.02.2017 17:15 # +2
Дальше и смотреть не стал. Въебал плюсъ.
kegdan 27.02.2017 17:21 # +5
Пойду глаза с мылом помою
guest 28.02.2017 19:29 # −3
MasterJoda 12.09.2018 18:12 # 0
kegdan 27.02.2017 17:19 # +1
Бесплатные Environment.NewLine; закончились?
FrontlineReporter 27.02.2017 17:21 # 0
kegdan 27.02.2017 17:23 # 0
Ох, тут два типа нейминга...
FrontlineReporter 27.02.2017 17:24 # 0
kegdan 27.02.2017 17:24 # +2
А сурьезно - тайком поставь стайлкоп и не давай компилить неотрефакторенный код
FrontlineReporter 27.02.2017 17:36 # 0
Когда ему сказали про стиль кода - не проникся и ответил, что ему и так норм.
kegdan 27.02.2017 17:39 # 0
guestinho 27.02.2017 20:53 # +1
cykablyad 27.02.2017 17:50 # +1
Это же пиздец, такую длинную хуйню каждый раз писать, да еще и клеить строки придется
kegdan 27.02.2017 17:52 # −2
env[enter].nl[enter]?
cykablyad 27.02.2017 17:59 # +1
2. проблема километровой длины не решена
3. проблема конкатенации не решена
kegdan 27.02.2017 18:05 # 0
2. Проблема имени Тараса. Надуманная имхо
3. Ну ок, будем хардкодить /r/n во все строки, главное ведь избавиться от ненавистной конкатенации.
cykablyad 27.02.2017 18:17 # 0
Dummy00001 28.02.2017 18:06 # 0
у мусо-досников больше проблем с тем что часто у последней строки нет \n. потому что многие виндозники интерпретируют текстовый файл как список строк с \n разделителем. но не все. почему и грабли. в одном редакторе в файле Н строк - в другом Н+1. одна тулза съела файл - друга споткнулась.
по крайней мене на юнихах определение сидит в позикс и разброда и шатания нету: текстовый файл это список строк, каждая из которых заканчивается \n.
а на виндах... я месяц назад из некро-тулчейна ворнинги видел, типа: "у последей строки нет терминатора! я это умею обрабатывать, но дайте я вам в логи все равно посру!!" как если бы назад 20 лет в прошлое вернулся...
inkanus-gray 28.02.2017 18:25 # +4
А что касается финального \r\n, то всё так: одни проги считают \r\n окончанием строки, другие — разделителем строк. Это примерно как финальная запятая в инициализации массива, которая в одних ЯП создаёт лишний пустой элемент, в других ЯП игнорируется.
gcc из mingw действительно до сих пор срёт ворнингом, если у последней строки нет терминатора, но... всё нормально компилирует и без него.
Dummy00001 28.02.2017 18:41 # +2
с последним \n, на прошлых проектах это была медленная неспешная cold war. придут юниксоиды - в файлы последний \n вставят. след релиз делают жабщики - и ихняя эклипсня на последний \n "жалуется" как на пустую строку - удаляют. самое смешное было что в паре файлов в конце стоял умилительный коммент: "последнюю пустую строку не удалять!!"
это все всплыло когда в геррит в авто-ревьювер вставили эти проверки для текстовых файлов. жабщики сразу вонь подняли: гиги бойлер-плейта в ихнем свинге - это у них всегда пожалуйста, а вот "лишние" концы сторок в паре текстовых файлов... - "но пассаран"!
inkanus-gray 28.02.2017 18:20 # 0
cykablyad 28.02.2017 18:21 # +1
roman-kashitsyn 27.02.2017 18:17 # +2
cykablyad 27.02.2017 18:22 # +1
Например, \cykablyad
Dummy00001 28.02.2017 17:58 # +1
я к тому что плодить костылей не надо - оно уже давно в большинстве систем спокойно стандартный "\n" работает.
даже на виндах - как долго штатный нотепад не используешь (и им уже давно никто не пользуется) ниразу не заметишь что у тебя файл с юникс концами строк.
inkanus-gray 28.02.2017 18:28 # 0
Dummy00001 28.02.2017 18:43 # +1
inkanus-gray 28.02.2017 20:28 # +3
1. Компиляторам божественной сишечки наплевать на представление концов строк: хоть \n, хоть \r\n работает в любой операционной системе. И многие другие компиляторы терпимо относятся к нестандартным разделителям.
2. Скриптовые языки (bash в никсах, bat в мусодосах/виндовозах) требуют определённого разделителя: в никсах только \n (если где-то встретится \r\n, то интерпретатор ругается на незнакомый ему символ \r), в виндовозах только \r\n (если где-то встретится одиночный \n, то он за разделитель строки посчитан не будет).
Заметим, что по отношению к операционным системам всё симметрично, но по отношению к ЯП неоднообразно.
Это ещё хорошо, что классическая Макось (которая без буквы Х в названии) ушла в анналы истории, потому что в ней разделителем строк был \r.
guestinho 28.02.2017 20:29 # +5
Потому что языки в жопе.
huestinho 28.02.2017 20:38 # −7
guestinho 28.02.2017 20:38 # 0
bagor 28.02.2017 20:42 # 0
AHOHNMYC 28.02.2017 20:43 # 0
1024-- 28.02.2017 20:44 # 0
pdro111 28.02.2017 20:48 # 0
1024-- 28.02.2017 20:52 # +1
Это анонимусов. Он попросил сфотографировать, т.к. хотел использовать обе руки для эффектной демонстрации.
guestinho 28.02.2017 21:13 # 0
guest 07.03.2017 03:29 # 0
guestinho 28.02.2017 23:09 # 0
Hestia 01.03.2017 10:01 # 0
dxd 01.03.2017 10:52 # 0
Dummy00001 01.03.2017 20:06 # 0
последний раз когда трогал - NeXT гуи (Cocoa) во времена 10.3-10.5 - все также послушно использовали разделитель \r.
а когда начинается BSD - то там \n.
но даже и гуи файло/этц с \n читает правильно.
> в никсах только \n (если где-то встретится \r\n, то интерпретатор ругается на незнакомый ему символ \r)
да, это я как то и подзабыл. isblank('\r') != true; почему шелл и попытается \r как команду выполнить, потому что \r валидный символ имени файла.
barop 02.03.2017 00:17 # 0
Foundation это тоже часть кокоа, и кто скажет что NSObject или NSString это GUI тот пусть бросит в меня яблоко.
Dummy00001 02.03.2017 00:22 # 0
barop 02.03.2017 00:35 # 0
Гуй это AppKit (или UIKit в случае яблофонов)
>Cocoa Umbrella Framework
> Foundation (Foundation.framework). The classes of the Foundation framework (which resides in the Core Services layer) implement data management, file access, process notification, network communication, and other low-level features.
Foundation and Core Foundation provide basic data types and data management features, including the following:
Collections
https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/CocoaApplicationLayer/CocoaApplicationLayer.html
guest 07.03.2017 03:30 # 0
guest 07.03.2017 11:04 # 0
Horse3 27.02.2017 18:49 # +2
roman-kashitsyn 27.02.2017 17:27 # +2
>Thread.Sleep(120); // задержка, что бы второй поток успел скинуть данные
> while (saving) // ожидание флага из потока записи
> Thread.Sleep(100);
> waiting=false;
Лул, прямо-таки последнее слово синхронизации потоков, Brian Goetz лопнул от зависти, наблюдая такой анскилл многопоточного программирования.
kegdan 27.02.2017 17:30 # 0
roman-kashitsyn 27.02.2017 17:37 # +3
Жидкокристаллический?
kegdan 27.02.2017 17:38 # +1
CTEPTOP 27.02.2017 22:18 # +1
@@на коленке
Увидел блики экрана в растекающейся жидкости? Тоже мне - открытие...
Роман Кащицын пытался намекать.
barop 02.03.2017 04:01 # 0
+N = AskUser("Примерно оцените мощность вашего компьютера по шкале от 0 до 1")
+120*N
Dummy00001 28.02.2017 01:41 # +4
в добавок, прозрачная авто-коррекция всех возможных ошибок!
бонус: очень экономичный расход памяти!!!
guest 28.02.2017 01:49 # 0
CHayT 02.03.2017 09:39 # +1
barop 02.03.2017 17:58 # 0
он рендом потому что можно не последовательно читать
и что, без слипа с диска нельзя читать не последовательно?
barop 02.03.2017 18:06 # 0
CHayT 03.03.2017 13:44 # 0
Amayak_Akopyan 02.03.2017 23:14 # 0
Тем не менее, на высоком уровне создаётся ощущение, что "прочитать байт" можно: ОС читает сектор и складывает его в кэш, из которого потом можно достать следующие байты.
В общем, необходимая задержка зависит от устройства кэша.
barop 02.03.2017 23:29 # 0
Просто у диска пенальти больше. Потому все ФС старались выравнивать по границе блока (который был 512 байт до недавнего времени везде)
guest 02.03.2017 23:37 # 0
barop 02.03.2017 23:42 # 0
Он тоже любит попиздеть про всякую низкоуровневую хуиту.
Остальные тут или математики (как Рома) или джаваскриптеры, простихосподи
firefred 02.03.2017 23:53 # 0
roman-kashitsyn 03.03.2017 12:37 # 0
Я вообще ни разу не математик, просто математику люблю.
huesto 03.03.2017 13:09 # 0
cykablyad 03.03.2017 13:40 # +2
barop 03.03.2017 16:13 # 0
тебя забыл, правда
ты тоже годный
CHayT 03.03.2017 13:45 # 0
В интервью на ютубчике, емнип, Роман говорил, что математика программисту не нужна.
roman-kashitsyn 03.03.2017 14:14 # 0
Пошёл на ютубчик, пересмотрел. Вы всё врёти. Я сказал, что многие известные программисты шмогли без математики. Кому-то она нужна, кому-то не особо. Мне например, в последнее время, всё больше и больше нужна статистика и тервер.
huesto 03.03.2017 14:19 # 0
roman-kashitsyn 03.03.2017 14:38 # 0
Контроль качества данных. Есть массив данных (~10^9), надо оценить, насколько хороши или плохи различные его срезы. Многие вещи можно проверить только глазами людей, и хочется максимально эффективно использовать человеческий труд, результаты которого, в частности, потом используются для обучения машин.
На одном из предыдущих мест работы мне бы тоже статистика не помешала, но я тогда ещё об этом не знал.
barop 03.03.2017 16:13 # 0
это тебе не плагины к вордпрессу писать
guest 03.03.2017 13:47 # 0
Xamarin_girl 03.03.2017 16:22 # 0
barop 03.03.2017 16:24 # +1
Кегги у нас вроде самый активный дотнетчик.
Xamarin_girl 03.03.2017 16:25 # 0
dxd 03.03.2017 16:34 # +1
Xamarin_girl 03.03.2017 16:42 # 0
Постоянно новеньких как но называть?
А почему я не Борланд?
cykablyad 03.03.2017 16:46 # +1
Xamarin_girl 03.03.2017 16:47 # 0
barop 03.03.2017 17:42 # 0
кегги и борманд разные
вот ты вырастишь в борманда, это точно
Xamarin_girl 03.03.2017 17:47 # 0
CHayT 03.03.2017 19:16 # 0
barop 03.03.2017 19:27 # +1
Xamarin_girl 03.03.2017 19:45 # 0
Что вообще за Кегги?
CHayT 04.03.2017 10:48 # 0
Xamarin_girl 03.03.2017 19:45 # 0
kegdan 03.03.2017 19:51 # −1
Сдохнуть блядь не дадут, J им подавай.
1024-- 03.03.2017 19:56 # +1
kegdan 03.03.2017 20:06 # −1
Кегги не дотнетчик. Кегги - фулстек
barop 03.03.2017 20:12 # 0
guest 03.03.2017 20:25 # 0
cykablyad 03.03.2017 21:06 # 0
CHayT 04.03.2017 10:13 # 0
Я тоже так думал, пока один свой pet-проект в Safari не открыл.
kegdan 04.03.2017 02:11 # 0
Некорректный вопрос. Я с ним тупо не встречался. Bootstrap юзал.
>> И view ports знаешь что такое?
Видимые полигоны на конкретном фрейме? По работе не использовал
barop 04.03.2017 23:16 # 0
Признайся, ты просто загуглил фразу и процитировал вики
Я про https://www.w3schools.com/css/css_rwd_viewport.asp
kegdan 05.03.2017 04:12 # 0
dxd 03.03.2017 20:08 # +1
Xamarin_girl 04.03.2017 06:54 # +1
kegdan 04.03.2017 07:20 # −1
CHayT 04.03.2017 10:16 # +1
kegdan 05.03.2017 04:13 # −1
cykablyad 04.03.2017 10:30 # 0
guest 04.03.2017 13:02 # 0
guest8 12.09.2018 18:20 # −999
DOKTOPuHXO 12.09.2018 19:11 # 0
Его с головой выдаёт толстота и глубокие познания в C#.
cykablyad 03.03.2017 21:07 # 0
j123123 04.03.2017 12:55 # 0
https://github.com/roman-kashitsyn
https://github.com/zawodskoj
https://github.com/bormand
https://github.com/1024--
https://github.com/k32
https://github.com/j123123
https://github.com/NodnolStudio
https://github.com/Abbath
но наверно не полный
давайте палите гитхабы свои
cykablyad 04.03.2017 13:06 # 0
j123123 04.03.2017 13:08 # 0
cykablyad 04.03.2017 13:09 # 0
j123123 04.03.2017 13:09 # 0
cykablyad 04.03.2017 13:10 # 0
j123123 04.03.2017 13:11 # 0
j123123 04.03.2017 13:15 # 0
j123123 04.03.2017 13:18 # 0
barop 04.03.2017 23:28 # 0
@j123123 Update anal_x86_cs.c
хахах
j123123 04.03.2017 13:47 # 0
https://github.com/Kegdan
https://github.com/lure0xaos
guest 04.03.2017 13:48 # 0
roman-kashitsyn 04.03.2017 14:09 # 0
> Huffman.hs - Кодирование тескт с помощью арголитма Хаффмана
Вот так и складывается впечатление, что хачкелисты -- неграмотные школьники.
j123123 04.03.2017 14:18 # 0
barop 04.03.2017 23:17 # 0
roman-kashitsyn 05.03.2017 00:32 # 0
Ты действительно считаешь, что я имел в виду SPJ? Лол, уж он-то знает математику получше нас всех. Я читал многие его статьи (особенно мне доставила статья про алгебру финансовых контрактов, на этих результатах целая индустрия сейчас построена) и смотрел записи его докладов. Умеет, могёт.
Ну и он дело говорит: он не любит держать в памяти всякую ерунду и предпочитает просто использовать мозг, чтобы находить/выводить результаты. Зачем запоминать результаты, которые тривиально выводятся из общих принципов.
barop 05.03.2017 00:39 # 0
Ты правда думаешь что я не знаю кто такой SPJ, и считаю что чувак который пилит реализацию хаскеля не может в математику?
Tzar 05.03.2017 00:51 # +4
barop 05.03.2017 01:13 # +1
1024-- 05.03.2017 12:20 # 0
j123123 05.03.2017 12:29 # +1
А еще в JS нет 64-битных интов
1024-- 05.03.2017 13:45 # 0
j123123 05.03.2017 12:31 # 0
roman-kashitsyn 05.03.2017 00:53 # 0
Откуда мне знать? Я уверен, что примерно половина моих коллег на работе (а то и больше) о нём не слышали. Сам понимаешь, шансы у рандомного багора на ГК и того меньше.
1024-- 05.03.2017 12:25 # −1
> Ты действительно не умеешь в иронию?
> Ты правда думаешь что я не знаю кто такой JSP, и считаю что ...
Чтобы понимали иронию и оценивали уровень знаний, нужно писать с личной учётной записи.
dxd 05.03.2017 12:48 # +3
j123123 15.08.2017 17:13 # 0
Мемоизация потому что. Не будешь же ты каждый раз в уме считать 7*8, намного проще это запомнить
roman-kashitsyn 15.08.2017 17:27 # −1
Даже когда есть "запомненный" результат, неплохо бы уметь его быстро воспроизвести, чтобы проверить.
Я помню, что 7*8 это 56, но обычно всё равно проверяю себя примерно так:
7*8 == 7 * (10 - 2) = 70 - 7+7 = 56
Таблица умножения полезна, но знание простых хаков для быстрого умножения, кмк, полезней — область применения шире.
> намного проще это запомнить
Ну мне, например, настолько редко нужно считать производную отношения двух функций, что мне проще её вывести, когда нужно, хотя и выучить её, казалось бы, просто.
bormand 15.08.2017 18:44 # 0
Помнится, я даже на егэ выводил с нуля всю хрень в духе sin(a+b) = ... т.к. запоминать её было влом.
roman-kashitsyn 15.08.2017 18:50 # +2
Я вообще всю эту тригонометрическую ересь забыл почти сразу, как узнал о разложении тригонометрических функций в комплексные экспоненты.
CHayT 15.08.2017 18:51 # 0
Наконец появились пруфы, что борманда взломал сукаблядь. Все знают, что настоящему было >30.
defecate-plusplus 15.08.2017 19:01 # 0
subaru 15.08.2017 19:32 # 0
bormand 15.08.2017 19:46 # 0
ceil(31) = 40.
barop 04.03.2017 23:20 # 0
Хаскель он написать осилил, а LINQ изучить нет
guest 04.03.2017 15:09 # 0
CHayT 04.03.2017 17:01 # +1
Звучит внушительно. "Арго" (тайный язык) и "литм" (от гр. λίθος, камень?) Т.е. окаменевший мемчик?
solnze_dar 05.03.2017 12:31 # 0
CTEPTOP 05.03.2017 21:10 # 0
bayan 06.03.2017 19:05 # 0
kegdan 05.03.2017 04:16 # −1
Нахуя она мне?
cykablyad 03.03.2017 16:35 # 0
guest 03.03.2017 16:43 # 0
— Хватит прикалываться, Настенька!
1024-- 03.03.2017 19:46 # −1
1024-- 03.03.2017 19:48 # −1
:M3}|{q TYT ldM
!ld7-ld7-ld7 --
barop 03.03.2017 19:56 # 0
barop 03.03.2017 19:48 # 0
cykablyad 03.03.2017 21:05 # 0
barop 03.03.2017 21:16 # 0
я им читал MSIL
давно было дело
kegdan 04.03.2017 02:16 # 0
guest 04.03.2017 02:38 # 0
barop 04.03.2017 23:14 # 0
huesto 03.03.2017 13:08 # 0