@JSlang

Страница 1238 из 2237
Andrey
30.08.2017
09:20:22
Как в питоне

Дмитрий
30.08.2017
09:20:31
Ну просто выглядит как что-то среднее между co и сагами, правда с другим смыслом

Andrey
30.08.2017
09:20:33
На уровне метаинформации.

Дмитрий
30.08.2017
09:20:46
Как в питоне
Спасибо, как в питоне точно не надо

Google
Andrey
30.08.2017
09:20:52
?

Вячеслав
30.08.2017
09:21:12
Какая разница сколько записей?
если бесконечная память, то никакой

Дмитрий
30.08.2017
09:22:10
если бесконечная память, то никакой
В node.js io стримы в самом ядре, это ко всему прочему её сильная сторона, какая память вообще))

?
Нафига нужна динамическая типизация, когда нужно наоборот всё по максимуму выносить из рантайма?)

Rafael
30.08.2017
09:23:43
Генераторы в 2017 стоит использовать по их прямому назначению
и какое у них прямое название? не сорить в память?

Andrey
30.08.2017
09:24:02
Просто есть одна малюсенькая проблема: обратная совместимость.

Дмитрий
30.08.2017
09:24:48
Долго думал, но не понял что ты имеешь ввиду.
Система типов как в питоне даром не нужна и метаинформации текущая архитектура языка никак не мешает)

Andrey
30.08.2017
09:25:12
С чем?
Со старым кодом.

Вячеслав
30.08.2017
09:25:39
В node.js io стримы в самом ядре, это ко всему прочему её сильная сторона, какая память вообще))
В ноде такого опыта нет, использовал генераторы в PHP, рассказал опыт оттуда, нода не кладет в память переменные?

Andrey
30.08.2017
09:26:13
Система типов как в питоне даром не нужна и метаинформации текущая архитектура языка никак не мешает)
систему типов с питона, а про то, что можно метаинформацию в js код добавлять. Типа как во flow. Только чтобы это стандартом было.

Дмитрий
30.08.2017
09:26:16
В ноде такого опыта нет, использовал генераторы в PHP, рассказал опыт оттуда, нода не кладет в память переменные?
Когда последние запросы будут отправлены, результаты первых уже могут быть давно перемещены в архив

Google
Talgat
30.08.2017
09:26:23
https://jsfiddle.net/ayhh31r2/

Talgat
30.08.2017
09:26:30
чекните код плиз

Вячеслав
30.08.2017
09:26:31
Andrey
30.08.2017
09:26:39
Дмитрий
30.08.2017
09:26:56
Более того, питон, который распополамило так что до сих пор собрать не могут в этом плане в подмётки не годится

Talgat
30.08.2017
09:27:02
добавляю динамически элементы и на них не работает обработчик событий

Хотя ошибок никаких нет

и ДОМ подружен

Andrey
30.08.2017
09:27:27
Дмитрий
30.08.2017
09:27:51
Это их проблемы

В жс нашли решение, которое позволило сохранить совместимость с MooTools из 2006 года

Причём когда потребовалось использовать вообще то же самое поле

Andrey
30.08.2017
09:28:34
Не в курсе этого. Можешь описать?

Дмитрий
30.08.2017
09:28:52
И это не единичный костыль, а принятое в языке архитектурное решение)

Вячеслав
30.08.2017
09:30:40
Давай еще раз объясню свой юз кейс есть таблица, в ней берем неизвестное количество записей за какую-то дату . Надо пройтись по всем и собрать какую-то стату. По мне так все это проще обернуть в генератор, которому можно указать сколько максимум забирать/хранить в памяти строк и при этом продолжать с ним работать как с обычным массивом

Дмитрий
30.08.2017
09:32:31
Не в курсе этого. Можешь описать?
Мета инфа добавляется с помощью символьных полей, которых по определению может быть сколько угодно. Наличие поля Symbol.iterator означает что объект можно итерировать, Symbol.isConcatSpreadable — то, как он будет вести себя при .concat в массивах. Symbol.unscopable позволил спрятать от старых библиотек новый метод array.keys() не поломав при этом ни одного сайта из миллиардов в сети

Google
Кирилл
30.08.2017
09:33:32
А можно написать нормально и читаемо)
я про память, речь шла что тут есть какая то экономия

Andrey
30.08.2017
09:34:01
Stream
И зачем?

Sergey
30.08.2017
09:34:09
Мне очч не хватает вот такой штуки из питона (x**2 for x in xrange(1,11))

Andrey
30.08.2017
09:34:48
А range свой на генераторах можешь построить.

Кирилл
30.08.2017
09:34:53
с твоим кейсом нет, а с кейсом когда ты забираешь из базы сразу все есть
ну это очевидно, что если заберешь больше из базы - нужно больше памяти лол. Но реализация чанков бывает и без генераторов

Sergey
30.08.2017
09:35:38
Это что, вкратце?
коротка запись создания генератора для прохода по списку

[].map(...)
Как его остановить?

Andrey
30.08.2017
09:36:12
Вячеслав
30.08.2017
09:37:03
ну это очевидно, что если заберешь больше из базы - нужно больше памяти лол. Но реализация чанков бывает и без генераторов
А я разве говорил что нельзя решить по другому? Можно еще через while написать, можно через goto. Но если писать через генератор, то можно не задумываться об этом и работать с данными как с обычным массивом, а потом при необходимости просто убрать этот генератор, заменив на обычный массив. Edited: Про goto шутка конечно же ;)

Sergey
30.08.2017
09:37:30
Всмысле?
В смысле что ты в середине мапа понял что ты не хочешь идти дальше

Andrey
30.08.2017
09:37:47
Это же пример.

+ я думаю, что в каком-нибудь лодаше есть такая хрень.

Google
Вишневый чай
30.08.2017
09:38:49
Спасибо, как в питоне точно не надо
Зря вы так, никогда проблем небыло с ней в пите

Sergey
30.08.2017
09:39:10
Напиши свой map.
[10000000 ids].map((id)=> select from db => if result true => break) - псевдокод

Дмитрий
30.08.2017
09:39:10
Зря вы так, никогда проблем небыло с ней в пите
Если проблем не видно, то это не значит, что их нет

Вячеслав
30.08.2017
09:39:55
целиком согласен, просто посыл был что генераторы как конструкция экономят память, что и непонятно было
Наверное не правильно выразился, имел ввиду что с их помощью решил проблему с памятью, можно было и по другому)

Вишневый чай
30.08.2017
09:40:06
Если проблем не видно, то это не значит, что их нет
Нет, есть проблемы которые касаются менее 0.01% пользователей, тогда это уже не проблемы а проблемки

Дмитрий
30.08.2017
09:40:57
Нет, есть проблемы которые касаются менее 0.01% пользователей, тогда это уже не проблемы а проблемки
Я говорю про врождённую порочную архитектуру которая тащит типы в рантайме

Admin
ERROR: S client not available

Дмитрий
30.08.2017
09:41:11
Тем самым компенсируя отсутствие нормального статического вывода типов

Sergey
30.08.2017
09:41:27
Напиши свой map.
Я к тому что мап конечно охуенен но всех проблем не решает )

Andrey
30.08.2017
09:41:51
Я к тому что мап конечно охуенен но всех проблем не решает )
Ну это понятно. Просто сторонними либами можно решить и эту проблему)

Вишневый чай
30.08.2017
09:42:20
Я говорю про врождённую порочную архитектуру которая тащит типы в рантайме
Неканон, но к каким проблемам серьёзным это приводит?

Дмитрий
30.08.2017
09:42:58
Ресурсоёмкость и бессмысленность такого решения просто ограничивает язык

Вишневый чай
30.08.2017
09:43:38
Sergey
30.08.2017
09:43:39
Ну это понятно. Просто сторонними либами можно решить и эту проблему)
Конечно. Но в питоне - одна строка создание генератора и дальше в цикле делай что хочешь ) На js это тоже решается и довольно легко (например с помошью co) , мне просто сама запись очень нравиться )

Дмитрий
30.08.2017
09:44:11
Не хочу обидеть но звучит как товтология
Я не обиделся, я же не пишу на нём

Artyom
30.08.2017
10:02:34
Не хватает такого синтаксиса store ...= { k: v }

Дмитрий
30.08.2017
10:03:10
Вут?)

Nikita
30.08.2017
10:03:23
Жесть)

А у кого-нибудь есть в закладках годные статьи о том, как браузер рендерит\обновляет страницу. Про рефлоу, репеинт - вот это все

Google
Evgeniy
30.08.2017
10:08:59
4 иранша

за месяц

транша

подойдет?

Alexey
30.08.2017
10:16:59
https://developers.google.com/web/fundamentals/performance/

Nikolay добряш
30.08.2017
12:43:18
гайз может кто нить сталкивался? ошибка только в хроме "WebSocket connection to 'ws://192.168.0.126:5060/' failed: Connection closed before receiving a handshake response"

Konstantins
30.08.2017
13:11:45
Sviat
30.08.2017
13:12:21
Народ, вопрос по js: если я задам массив var a = [{..obj1..}, {..obj2..}] потом задам переменной a = [] что случится с obj1 и obj2? Они будут висеть в ОЗУ? или очистятся автоматически?

Konstantins
30.08.2017
13:12:30
может твой сервер не поддерживает вебсокет, поэтому сразу закрыл сокет после http запроса?

Sviat
30.08.2017
13:14:07
Очистятся, когда до них дойдет GC
т.е. беспокоиться о переполнении памяти в данном случае не стоит?

Artyom
30.08.2017
13:15:21
Где-то читал, что delete лучше не юзать и GC с этим справится лучше. Но это не точно. Беспокоится в стандартном кейс конечно не стоит. Но если ты генеришь тысячами такие случае - что-то у тебя не так

Sviat
30.08.2017
13:16:40
не тысячами, а по 10, и только по запросу пользователя (отображение 10 едениц на одной странице)

Nikolay добряш
30.08.2017
13:25:37
ну что непонятно? сокет закрылся до того, как произошел хендшейк
Почему такая хеоня исключительно в хроме вылетает?

В других потестил норм

Причем в хроме 26 все норм:)

Andrew
30.08.2017
13:31:45
народ такое дело надо сделать деление массива байт на массив байт без знаковое и без точки например [24] / [4] = 6; 0; [23] / [4] = 5; 3; мб кто направит?

Страница 1238 из 2237