
Alex Фэils?︙
17.03.2017
12:38:49
Чот много

Дмитрий
17.03.2017
12:58:09
bluebird

Google

Rafael
17.03.2017
13:02:29

Дмитрий
17.03.2017
13:03:16
Понятное дело что он имеет ввиду несколько другое, после крестов
Но сразу после крестов на js идти ето вообще недюжинная отвага так то

Каїн
17.03.2017
13:08:45
асинк не сможет - рефактор поможет

Дмитрий
17.03.2017
13:09:01
Я тоже так думал лол
Потому что вызов yield генератора занимает больше времени, выраженного в тиках event loop
Я пока смог сформулировать причину этой проблемы думал в дурку уеду нафиг
Потому что у меня в голове транспилирование всегда было +- тождественным преобразованием ?
https://github.com/zerobias/telegram-mtproto/blob/master/src/service/authorizer/index.js
В этом файле есть много мест, где хочется впилить async await, я попробовал 5 разных реализаций (вы вообще знали, что для бабеля есть 5 разных реализаций await?Я тоже нет), результат одинаковый — npm test начинает выдавать 404
Что означает, что одни запросы обгоняют другие

Google

Вишневый чай
17.03.2017
13:18:51

andretshurotshka?❄️кде
17.03.2017
13:28:17
лол

Maxim
17.03.2017
15:56:56
Чат, подскажите. Мутил тут со всякими темами эксперименты, в итоге вернулся на Soda Dark, но от старых тем остался вот такой значок папок, как его убрать?

Шарьяр
17.03.2017
16:19:17

no
17.03.2017
17:47:50
Может yield течет просто

Дмитрий
17.03.2017
17:51:28
Может yield течет просто
Не, не засекал, в принципе это несложно замерять. А при чём тут утечка? Памяти достаточно, там по времени кто-то не успевает
Просто там специфичное место модуля, в котором производятся невероятно крупные вычисления, и для снижения нагрузки вызовы функций часто откладываются на следующий tick event loop'а

no
17.03.2017
17:52:45
просто если будешь бенчмарк делать надо почекать что б не текло, иначе гц будет влиять

Дмитрий
17.03.2017
17:53:03
Ну это можно засекать
Я кстати периодически делаю разные бенчи)
https://jsperf.com/instanceof-vs-property-lookup-es6
Если стереть -es6 то можно увидеть оригинальный тест, в котором результаты кейсов различаются в десятки раз, причём в неправильную сторону ?

Anton
17.03.2017
18:13:41
можно ли как-то в консоли через nodejs закрепить строку, чтобы она всегда была сверху, даже при. скроллинге? вот как сейчас сверху сообщение закреплено, но чтобы это в cli было

Алексей
17.03.2017
18:37:44

Дмитрий
17.03.2017
18:38:13
В прошлый раз была другая часть кода ;)

Алексей
17.03.2017
18:41:18

Дмитрий
17.03.2017
18:42:01
Сказать очень легко)

Google

Дмитрий
17.03.2017
18:43:16
А вот сделать — уже не очень
Навтыкать флагов пока что недостаточно
Проблема в том, что частей кода, из-за взаимной комбинации которых может быть баг не много, а очень много
Потому что из-за асинхронных запросов процесс выполнения дробится по функциям и частей становится даже ещё больше, чем есть сейчас
А так же, вероятно, может играть роль взаимное расположение различных частей во времени
И вот тут уже флаги вообще не помогут

Алексей
17.03.2017
18:48:11
Не должно влиять

Дмитрий
17.03.2017
18:48:18
Телепатия?

Алексей
17.03.2017
18:48:31
Если влияет, то это ошибка

Дмитрий
17.03.2017
18:48:34
Лол

Алексей
17.03.2017
18:48:41
Точнее плохой код

Дмитрий
17.03.2017
18:48:53
Спасибо, кэп

Дмитрий
17.03.2017
18:49:29
Что если я скажу, что криптографический алгоритм сам по себе завязан на точное значение timestamp и поэтому "не должно влиять" — это ошибка?
"Тогда надо передавать везде правильный tmestamp" — можно не писать, я это и так понимаю

Алексей
17.03.2017
18:50:18
Если действие А должно выполняться после действия Б, то нужно не полагаться на время выполнения А и Б, а нужно синхронизировать эти вещи

Дмитрий
17.03.2017
18:50:49
А если оно не должно выполняться после Б?

Алексей
17.03.2017
18:51:01
Значит вводить коррективы в timestamp

Дмитрий
17.03.2017
18:51:05
Если именно что в примерно тот же timestamp?

Алексей
17.03.2017
18:51:45

Google

Дмитрий
17.03.2017
18:52:06
Суши вёсла, да
А я как то умудряюсь жить с этим и даже фиксить эти баги)
То есть что тот фрагмент, что этот — это тонна легаси жуткого качества, который я умудряюсь как-то привести в пристойный и понятный вид
Потому что переписать с нуля практически нереально из-за крайне специфичных знаний по криптографии, заложенных в базу
То есть я работаю с чёрным ящиком душераздирающего качества и стараюсь производить тождественные преобразования так, чтобы с этим можно было работать

Алексей
17.03.2017
18:55:06

Admin
ERROR: S client not available

Дмитрий
17.03.2017
18:55:17
Я уже говорил
Криптография завязана на timestamp
Фрагменты кода могут реально не обязательно идти друг за другом (более того, подозреваю, что в этом и есть проблема), а получать ключ примерно в одно и то же время

Алексей
17.03.2017
18:56:10
Это какая-то очень спецефическая криптография

Дмитрий
17.03.2017
18:56:24
Более чем
Если того, что я выше описал ещё не достаточно, то добавлю, что там AES IGE юзается ?

Алексей
17.03.2017
18:56:57
Разные ключи или одинаковые?

Дмитрий
17.03.2017
18:57:10
Вероятно, разные

Алексей
17.03.2017
18:59:16
Могу посоветовать лишь написать код так, чтобы ключи всегда получались синхронно в один и тот же тик времени.

Дмитрий
17.03.2017
19:00:22
Я уже героически снизил число уровней вложенности с 7 до трёх ? В общем, примерно этим и занимаюсь)

Алексей
17.03.2017
19:00:49
Криптография там хоть синхронная?

Дмитрий
17.03.2017
19:00:56
))
Не совсем

Google

Алексей
17.03.2017
19:01:45
Наркоманы видимо какие-то код писали.

Дмитрий
17.03.2017
19:01:53
?
Да))
Сейчас там всё более-менее устаканилось и я могу об этом хотяб шутить
До этого хотелось в окно выйти
Периодически

Алексей
17.03.2017
19:03:10
Это я надеюсь работа, а не хобби?

Дмитрий
17.03.2017
19:03:16
?
По работе у меня проще всё ?
Просто глубина проблем открывалась по мере погружения
Как в опыте с лягушкой в кипятке

Алексей
17.03.2017
19:04:06
Тогда вообще зачем этим заниматься?

Дмитрий
17.03.2017
19:05:02
Почти всё время проблема выглядит действительно как "сейчас я воткну там один флаг и всё заработает")
Потом с проблемой на один уровень глубже та же история. Ну вроде и правда, ща через день починю всё. Потом ещё раз. Потом вжух — и у тебя уже комплес репозиториев с тысячами строчек кода ?
Ну и признаться, за исключением наркомании, это реально интересно)) Например этот код — один из немногих, который реально стоит переписывать на asm.js/wasm прям сейчас. Рассчёты в воркерах и т.д.
Где сейчас такое найти)

Алексей
17.03.2017
19:11:26
Тогда нужно ковырять C++ реализации, не уверен, что можно JS скопировать в нормальный wasm.
Мне как-то доводилось ковырять протокол WhatsApp. Там они тоже использовали довольно экзотические решения.