Pull to refresh

Comments 25

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

ps: Ждём построение волны на asp.net и perl :)
pss: вообще молодец, видно, старался!
Да… Про 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
UFO just landed and posted this here
Честно говоря, в последнее время js смахивает на python (не по синтаксису, а по новым возможностям типа генераторов).
Насколько я понимаю, это особенность функциональных языков программирования. Хотя Питон явно влияет.
Имхо, это впонле неплохо
UFO just landed and posted this here
UFO just landed and posted this here
Автор это понимает.
Тут есть одна тонкость — по умолчанию считанные байты переводятся в 10 систему, что создаёт дополнительные неудобства


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

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

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

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

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

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

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

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

P.S. Каюсь, сам не всегда могу сформулировать свои мысли.
Sign up to leave a comment.

Articles