Garik
10.10.2018
23:35:40
прост посмотрел что это такое. сравнил с тем что делал раньше на других яп. и если мы говорим о libuv имхо пока самая простая реализация которую я видел это каналы и в golang
Дмитрий
10.10.2018
23:37:11
Garik
10.10.2018
23:40:05
В flow можно, но ты должен понимать что. это паршивый приём
наоборот это хорошо что нельзя сменить тип. в golang есть типа сокращенная инициализации для простоты типа можешь написать var k int = 3 а можешь k := 3 типа "неявная" но суть что после того как ты инициализиовал переменную ты не можешь изменить ей тип - это ошибка. В js ты можешь изменить тип в любое время - большая вероятность выстрелить себе в ногу.
Alexandr
10.10.2018
23:40:45
Google
Дмитрий
10.10.2018
23:40:46
Не в любое
Garik
10.10.2018
23:41:03
угу над попробовать
а в golang по сравнению с си мне не понравилось что нельзя напрямую работать с памятью ) мооожно но ты должен снять отвественность с компилятора и юзать пакет unsafe ))
Дмитрий
10.10.2018
23:47:40
Размечай себе память в ArrayBuffer и управляй как хочешь)
Сергей
10.10.2018
23:49:00
Garik
10.10.2018
23:50:10
Сергей
10.10.2018
23:50:22
есть более адекватный язык с мощной системой номинальных типов, без гц и ручного управления памятью, и серьезными абстракциями
ну и если надо памятью управлять ты можешь
Dika
10.10.2018
23:50:50
Сергей
10.10.2018
23:51:01
конечно
Дмитрий
10.10.2018
23:52:21
Плюс при работе с бинарным протоколом тоже всё на подобных штуках
Сергей
10.10.2018
23:56:08
Дмитрий
10.10.2018
23:57:06
Google
Garik
10.10.2018
23:57:17
понятно. в бинарных протоколах тоже часто данные разной длины приходят. Единственное если заголовок пакета имеет определенный вид его удобно на си подобным образом ловить. "примеряя" струкутру на обалсть памяти. разница с данной реализацией колосальна. по сравнению со ссылкой там создается массив в него пхаются данные и так далее... а в Си ничего не создается просто переменной присвается другой адрес в памяти... 1 команда процессора
Дмитрий
10.10.2018
23:58:43
Сергей
11.10.2018
00:02:32
Garik
11.10.2018
00:02:36
кароче я к чему. подобными структурами удобно всякие заголовки ловить. определенной стркутуры уже заданной. ну типа id3 тег mp3 файла там например или заголовок пакета бинарного протокола. в других яп данные приходится "парсить" распихивая их по переменным производя операции копирования и выделения памяти... а в си - мы просто меняем адрес переменной в памяти - "парсится" всё автоматом без каких либо накладных расходов. Потому что стркутура по сути это карта смещений... ладно пойду спать )) загнул )) тут вообще про node.js конференция ))
Сергей
11.10.2018
00:03:47
Garik
11.10.2018
00:04:46
а есть где-то правила?
нашел
Сергей
11.10.2018
00:05:11
Garik
11.10.2018
00:05:26
нет правила поведения в конфе я про это
Сергей
11.10.2018
00:05:47
Дмитрий
11.10.2018
00:06:49
насколько эффективно?
В итоге решил, что проще начать с имплементации дерева, который будет этим владеть, а там глянуть что лучше
Garik
11.10.2018
00:08:12
какие уж тут ноу-хау если мы говорим при си ) великий породитель компухтеров )
технологии древних )
Дмитрий
11.10.2018
00:08:59
Мать эниака, предвосхититель кобола и машины бэббиджа
Josh
11.10.2018
00:09:29
все равно структуры валидировать, особенно в тех задачах, что на ноде
Garik
11.10.2018
00:10:10
Прост это интересно, но в практике когда сталкиваешься с учечками памяти вешаешься. поэтому имхо си не для продакшена )
Dika
11.10.2018
00:11:10
Дмитрий
11.10.2018
00:11:28
Google
Josh
11.10.2018
00:12:19
Дмитрий
11.10.2018
00:12:21
Конкретно мою схему любой желающий может взломать за 200к$ награды
Пока, почему-то, желающих не нашлось)
Josh
11.10.2018
00:14:29
может ты наебсик ?♂️ или тихо оповестил
Дмитрий
11.10.2018
00:15:11
Максимально тихо
https://core.telegram.org/contest300K#objectives
Ссылка подсказывает, что прайс увеличен
Да, мы взяли mtproto в качестве протокола ?♂️ Сурово но эффективно
Garik
11.10.2018
00:18:20
прекольно не знал что это всё открыто
Дмитрий
11.10.2018
00:18:35
НУ КАК ТЕБЕ СКАЗАТЬ
Josh
11.10.2018
00:18:36
ваще ес честно и 301 мало для москоу
Дмитрий
11.10.2018
00:20:01
Формально открыто, да ? Проблема в том, что кроме пояснения "а вот щас мы выравниваем всё по байту" нужно ещё понимание мотивации такого действия и вот тут уже тяжелее
Josh
11.10.2018
00:20:24
много фейка приходит небось
Дмитрий
11.10.2018
00:20:48
Josh
11.10.2018
00:21:10
Дмитрий
11.10.2018
00:22:05
Хз, я ж не в самом телеграме
Google
Дмитрий
11.10.2018
00:22:41
Но думаю это не проблема по сравнению с тем когда они слили реальные телефоны всей команды вплоть до дурова)
Garik
11.10.2018
00:23:10
Прикольный чатик тут... днем Саня не знал что такое хеш функцию ночью мужи обсуждают бинарный крипто протокол ))
Дмитрий
11.10.2018
00:23:45
Город засыпает просыпается криптомафия ?
Garik
11.10.2018
00:27:44
самая большая дырка в безопасности это человек ) знакомый просил провести аудит в его конторе. нет wifi все по кабелю любое физическое подключение к сети с другим mac сечется у админа чуть ли не смс-кой по телефону. сервера закрыты шифрование... Пришел на проходную сказал что от Василия василича надо проверить сеть...пустили... подохжу к пустому компу он включен и пользователь там залогинен уже... сижу брожу по файловым шарам копирую доки на флешку... подходит тетя - а вы кто такой и почему заняли мое место. - а я от провайдера интернет проверяю... а вы долго? нет уже всё садитесь пожалуйста...
Дмитрий
11.10.2018
00:29:08
Классека))
Dika
11.10.2018
00:30:55
А, так это asm.js и есть ? wasm иной же
Этот код работает именно с васмом, но, как я понимаю, разницы с asm.js нет. Emscripten компилит как в васм, так и в asm.js, и работа из жса с этим должна быть одинаковая.
Дмитрий
11.10.2018
00:35:12
Dika
11.10.2018
00:35:21
Дмитрий
11.10.2018
00:35:31
а ок
Sergey
11.10.2018
03:33:58
Привет, может кто сталкивался, почему вот так не работает ?
let a = '../../site/main/index'
require(a)(app, mainWindow, result)
а так работает
require('../../site/main/index')(app, mainWindow, result)
shut up
11.10.2018
04:59:54
Sergey
11.10.2018
05:02:54
Artyom
11.10.2018
05:42:29
Всем привет.
Кто-нибудь сталкивался с модулем, позволяющим определить является ли полученное слово именем или фамилией?
Антон
11.10.2018
06:14:01
А перед grunt сборкой нужно юзать babel?
Yevhenii
11.10.2018
06:18:37
Sergey
11.10.2018
06:30:59
Artyom
11.10.2018
06:40:13
Спасибо
Dima
11.10.2018
08:31:25
подскажите плз, ставлю глобально пакет для версий ноды n => sudo npm install -g n
потом когда пишу n, то пишет что команда не найдена
я так понимаю с путями в линуксе чет не то, как решить?
Dmytro
11.10.2018
08:35:35
попробуй переоткрыть терминал
Sheldhur
11.10.2018
08:35:54
Google
Sheldhur
11.10.2018
08:35:55
не
используй
SUDO
Dima
11.10.2018
08:36:19
при установке n пишет следующее
/opt/node-v7.4.0-linux-x64/bin/n -> /opt/node-v7.4.0-linux-x64/lib/node_modules/
Sheldhur
11.10.2018
08:36:37
никогда
не
используй
SUDO
Dima
11.10.2018
08:36:48
без sudo нельзя
Sheldhur
11.10.2018
08:36:55
и ноду удали
поставь через nvm
Dima
11.10.2018
08:37:54
ноду первую я ставил через apt
сейчас ставить хочу пакет n и когда на нем поставлю новую ноду старую удалю, что не так?
Максим
11.10.2018
08:38:50
Dima
11.10.2018
08:40:58
у n 10к звезд, у nvs 500, не уверен что такого ответа я ждал) есть знатоки линукса как порешать мой вопрос?)
Kool
11.10.2018
08:42:44
не использовать глобальные пакеты
Dima
11.10.2018
08:43:28
ставить пакет версий ноды локально? серьезно?) ох)
Kool
11.10.2018
08:43:44
запускать через npm скрипты
Vitaliy
11.10.2018
08:48:00
Зочем n или nvm если есть npx
Максим
11.10.2018
08:48:29
Dima
11.10.2018
08:49:20
npm nps npx n wtf с этим миром))))
Kool
11.10.2018
08:49:26