Как стать автором
Обновить

Комментарии 25

>> Обычный JavaScript, к которому все привыкли, не даёт средств работы ни с файловой системой…
dev.w3.org/2006/webapi/FileAPI/

ps: Ждём построение волны на asp.net и perl :)
pss: вообще молодец, видно, старался!
а как же brainfuck?!
Да… Про FileAPI забыл. Надо будет попробовать.
Это не «обычный JavaScript» во многих смыслах :)
Хочется внести поправочку, вернее узнать про неточность: Compression code — 2 байта. Значит диапазон значений будет от 0 до 65535. Но в коде есть строка case 65536:compression = 'Experimental';break; И вот теперь вопрос, каким это образом в этой ячейки получится записать данное число? Если непосредственно записать туда 65536 то запишется 0, который распознается как 'Unknown'. Тогда выходит 3 варианта: либо число для Experimental = 65535, либо там не 2 байта, или это значение — отсебятина.
О. Как гласит MSDN, то #define WAVE_FORMAT_DEVELOPMENT (0xFFFF)
что говорит о том, что экспериментальное значение = 65535
НЛО прилетело и опубликовало эту надпись здесь
Честно говоря, в последнее время js смахивает на python (не по синтаксису, а по новым возможностям типа генераторов).
Насколько я понимаю, это особенность функциональных языков программирования. Хотя Питон явно влияет.
Имхо, это впонле неплохо
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Согласен.
Автор это понимает.
Тут есть одна тонкость — по умолчанию считанные байты переводятся в 10 систему, что создаёт дополнительные неудобства


Это взорвало мой мозг. Все числа в JS хранятся в двоичном виде. Вы наверное что-то другое имеете в виду.

И не поленитесь – прогоните код через jsbeautifier.org/ например, форматирование ужасно, а исправить автоматом – 2 минуты.
в десятичную систему переводятся при попытке их вывести, либо как то работать с ними.
Но тут коненчно виноват сам, так считывать нужно было кусками, а не побайтово. Мало пока знаком с нодой.

За сервис спасибо
В десятичную систему переводится только при преобразовании в строку. Все, больше нет других вариантов.

Почитал еще код. Не учите людей так работать с битами, ну пожалуйста. Преобразовывать в строки – извращение, есть ведь побитовые операции – javascript.ru/bitwise-operators

> За сервис спасибо

Может воспользуетесь им все-таки, а? :)
Воспользовался) Побитовые операции — изучу.
Хм, интересно автор понимает что в ноде.жс по сути кооперативная многозадачность, и это означает что если отрисовка картинки занимает 1 секунду то все остальные конекты, даже ели оно отдаются за 1 микросекунду, будут отложены на 1 секунду, а если пройдет 10 таких запросов то на все 10?
Понимает. Делал бы реальный сервис отрисовывал бы в отдельном процессе, но тут цель была просто посмотреть результат.
Молодец тогда :) Что то мне подсказывает что ваша карма только что увеличилась…
И упёрлись бы в имеющиеся N ядер? Честно говоря, никогда не понимал таких комментариев, как у KAndy.
Разве количество процессов как то зависит от количества ядер? Понятно, что как только их станет больше чем ядер. То они будут забирать друг у друга процессорное время, но ведь по крайней мере не будут блокировать ноду.

Или я что то не понимаю?
Блокировать не будут, но пользователю же всё равно придётся ждать пока будет генерироваться картинка. что первому, что последующим, которые пошлют запрос в эти 10 секунд.

Кроме того парсинг можно разбить на части (сделать потоковым на событиях) и тем самым не делать его блокирующим. Можно и отрисовку разбить на кусочки или делать по ходу выполнения парсинга.
ну по крайней мере все ядра будут загружены и ждать надо будет в N раз меньше?
Да, конечно. Мне не нравится не сама мысль о рабочих потоках, а то, как её часто выражают.

P.S. Каюсь, сам не всегда могу сформулировать свои мысли.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории