The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от opennews (?), 30-Окт-18, 20:50 
Доступна (http://mailman.nginx.org/pipermail/nginx/2018-October/057065...) новая версия njs 0.2.5 (http://nginx.org/en/docs/njs/), интерпретатора языка JavaScript для веб-сервера nginx. Интерпретатор njs реализует стандарты ECMAScript (http://nginx.org/ru/docs/njs/compatibility.html) и позволяет расширять (http://nginx.org/ru/docs/njs/) возможности nginx по обработке запросов с помощью скриптов (http://nginx.org/ru/docs/njs/examples.html) в конфигурации.
Скрипты могут использоваться в файле конфигурации для определения расширенной логики обработки запросов, формирования конфигурации, динамической генерации ответа, модификации запроса/ответа или быстрого создания заглушек с решением проблем в web-приложениях.


В новом выпуске улучшена поддержка спецификации ECMAScript 5.1,
исправлено более 13 ошибок, улучшена обработка различных значений в функции Array.prototype.slice(), реализована поддержка  дробей без целочисленной части, добавлена поддержка объекта "arguments (https://developer.mozilla.org/ru/docs/Web/JavaScript/Referen...)" для обработки в функциях произвольного числа аргументов и переопределения встроенных функций.


URL: http://mailman.nginx.org/pipermail/nginx/2018-October/057065...
Новость: https://www.opennet.dev/opennews/art.shtml?num=49524

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +12 +/
Сообщение от Он самый (?), 30-Окт-18, 20:50 
и сюда js прокрался, ну почему...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +2 +/
Сообщение от Аноним (2), 30-Окт-18, 20:52 
Ну, если люди кодят на js, то почему бы и не появиться
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

61. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +3 +/
Сообщение от Maxim (??), 31-Окт-18, 18:30 
Может потому что тех, кто кодит на JS лучше не пускать туда, где нужен nginx?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

77. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Ананизмус (?), 03-Ноя-18, 20:22 
JS везде, соответственно и те кто на нем кодит везде. По твоему получается что?
Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

78. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Maxim (??), 03-Ноя-18, 20:49 
> JS везде, соответственно и те кто на нем кодит везде. По твоему
> получается что?

JS только в браузере, потому что так исторически сложилось.
А вот любить JS и поэтому воткнуть его везде - нужно быть редким извращенцем.
Таких отбитых к нормальному коду - не пускать.

Ответить | Правка | ^ к родителю #77 | Наверх | Cообщить модератору

4. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –11 +/
Сообщение от Сверчок (?), 30-Окт-18, 20:55 
JS настолько хорош, что подходит почти для любой сферы, от веба до embedded, вот только с научными расчётами проблема.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

18. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –3 +/
Сообщение от Весельчак У (?), 30-Окт-18, 21:54 
Ну почему проблемы. Недавно в js появилась поддержка BigInt. Это факт может дать новый толчёк, например, машинному обучению. Конечно, никто не говорит о производительности таких научных расчётов, суть в быстром прототипировании. Да и вообще, на худой случай можно использовать webassembly.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

24. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +4 +/
Сообщение от Аноним (24), 30-Окт-18, 22:38 
>толчёк

Ясно.

>Да и вообще, на худой случай можно использовать webassembly.

Почему на "худой"?

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

37. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Онаним (?), 31-Окт-18, 06:02 
> Недавно в js появилась поддержка BigInt

Лучше бы поддержка BigDecimal появилась.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

47. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от ляликс (?), 31-Окт-18, 11:37 
для прототопирования тот же питон чем не устраивает?
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

59. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от J.L. (?), 31-Окт-18, 15:51 
> для прототопирования тот же питон чем не устраивает?

а чем питон лучше js??

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

73. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от абв (?), 01-Ноя-18, 21:09 
Ничем. Те же яйца, как руби и остальные перлы.
Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору

71. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Аноним (71), 01-Ноя-18, 13:28 
Очевидно, потому что он хуже плюсов.
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

23. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +2 +/
Сообщение от Аноним (23), 30-Окт-18, 22:37 
> JS настолько хорош, что подходит почти для любой сферы, от веба до
> embedded, вот только с научными расчётами проблема.

Что, на самом деле и моторчиком гироскутера в реальном времени поуправлять может? Да еще и так, чтобы хипстеру не пришлось каждую минуту тренироваться в низких бреющих полетах и торможении об асфальт носом? Ух ты!

Или на нем дрова c системным софтом пишут?
А может браузер или JIT-компилеры-самого-себя?
Или не-хелловрот-вебсервера (замшелым нжинксам или хотя бы апачам не сильно уступающие) ваяют?

Или "автомобиль может быть любого цвета, если этот цвет черный!"?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

43. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от funny.falcon (?), 31-Окт-18, 08:38 
Насчёт вебсерверов, это вы мимо :-) На ноде чего только не пишут. Я встречал сервер раздачи видео, например.
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

52. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –4 +/
Сообщение от Анонн (?), 31-Окт-18, 13:47 
> Насчёт вебсерверов, это вы мимо :-) На ноде чего только не пишут.

А нода разве на JS?

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

30. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Хм (?), 31-Окт-18, 00:19 
у js полно своих проблем тож он не на столько хорош
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

45. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +1 +/
Сообщение от nelson (??), 31-Окт-18, 10:54 
эмбеддинг? на"жиэс" ?? дно, походу, достигнуто  
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

49. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от pfg21email (ok), 31-Окт-18, 12:22 
если есть хороший интерпретатор и хардовая библиотека обработки низкоуровневых операций,  то почему бы и нет :)
с помощью баш-скриптов управляют же крутыми и мощщщщными серверами. а чем ентот скриптовый язык хужее.
драйвер видюхи конечнож не напишешъ, но жс-писателей к такому и не допускають.
Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

60. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Аноним (60), 31-Окт-18, 17:51 
> если есть хороший интерпретатор и хардовая библиотека обработки низкоуровневых операций,  то почему бы и нет :)

Посмотреть бы, как вы ответите на этот «риторический» вопрос рядом с механизмом, от которого зависит ваша безопасность и в контроллере которого требования реального времени борются со сборщиком мусора. Подозреваю, что в библиотеку обработки низкоуровневых операций вы после этого захотите перенести примерно всё.

Каждое поколение пытается взгромоздить на самоходную газонокосилку язык дня: Java, Scheme, Python, — теперь JavaScript. Гранты осваивают, диссеры защищают…

Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

63. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Щщ (?), 31-Окт-18, 18:47 
Вот только программировать это всё будет махровый индус и последнее, что бы вы хотели - это чтобы он лез в эту библиотеку низкоуровневых операций. А это суровая реальность.

Все эти языки и изоляции нужны чтобы максимально защитить вас от результата работы не слишком гениальных программистов (99%).

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

66. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +1 +/
Сообщение от draw1 (?), 31-Окт-18, 23:12 
> Подозреваю, что в библиотеку обработки низкоуровневых операций вы после этого захотите перенести примерно всё.

Ну оно примерно так всё и обстоит когда делают адекватные опытные люди. Ввод/вывод, обработка всего критичного (да и не только) основного функционала делает то, что в вашей терминологии - "библиотека обработки низкоуровневых операций". А для всякого сервисного, технологического и иногда "высокоуровневой" логики работы (не сильно критичной по времени и кастрированной ровно настолько чтоб минимальный функционал/безопасность обеспечивались даже если скрипты вообще "упадут" на первой же строке и навсегда), то почему бы и нет. Выбирается движок не по достоинствам скриптового языка, а по легкости встраивания, прожорливости и приемлемости/знакомости для участников. Делается не ради понтов, а чтобы часть работы могли делать менее квалифицированные товарищи (обычно "не из нашего района") так чтобы без шансов сломать что-либо важное. И чтобы им же было проще вносить хренилион мелких исправлений по мелким замечаниям типа "вот тут должно мигать чуть побыстрее", "при нажатии кнопки должно пищать 3 раза, а не 2" - не трогая ни нормальный код, ни нормальных разработчиков. Ну и вопрос ответственности (это же не "мы", а "мы вместе с вами" разрабатывали!)

Мне не очень нравится термин "библиотека обработки низкоуровневых операций" - он как бы намекает, что это набор каких-то разрозненных данных/функций, а тут всем рулит Скрипт (или даже СКРИПТ) и он лишь дергает какие-то низкоуровневые функции для мелкой черновой работы (хотя для поднятия самооценки пишуших такие скрипты - пусть так и считают).  По факту, это обычной embedded проект, где помимо обычного функционирования, в одном или нескольких потоках запускаются VM/интерпретаторы, им скармливается часть данных/событий и они чего-то дергают/возвращают/генерируют, что передается потом обратно основной программе.

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

74. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от qwerty123 (??), 03-Ноя-18, 09:26 
>и в контроллере которого требования реального времени борются со сборщиком мусора.

какая-то каша.

в первых, для микроконтролеров применяются максимум embedded RTOS (классический представитель которого FreeRTOS - "я есть шедулер и все"), и вообще pure C. И обработка событий от периферии на прерываниях и main loop.

засунуть в 128Kb флеша и еще столько же памяти интрпрепретатор (которых 50-100 разных из только ходовых) c хуками к голым аппаратным прерываниям и регистарам управления - ну нужно постараться.
В общем-то, никто и не старается.

Но если таки будет - микроконтролеры таки все больше по ресурсам, то это будет нечто другое, и вполне адекватное по времени реакции.

Классический, хоть и не самый лучший, пример на каждый день - интерпретаторы Postscript, который внезапно язык программирования, на платах принтеров.

А JS, если выжать до основ, это тот же LISP-like, который внезапно уже лет как 30-40 редким мелким бисером  вшивают в микропрограммное обеспечение.

Нет, не в варианте-идеологии V8, даже если MCU с ресурсами ARMv8+ - хрен бы там с выделением памяти, это уже  вылизано за десятки лет, там событийная машина самый цимес подрыва детерминизма.

Но и то опят же, при  сниженных требованиях к latency, ... ну дофига что делают на базе V8+Node.js

во вторых, с тем же cамом pure C и c FreeRTOS дурак с клавиатурой, не понимающий смысла прерывания и атомарности процесса, и вообще гирлянды state machines ... лучше скажите мне перед демонстрацией.

Но проблема в том, что вы и не узнаете.

Ответить | Правка | ^ к родителю #60 | Наверх | Cообщить модератору

8. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –5 +/
Сообщение от Аноним (8), 30-Окт-18, 21:03 
все лучше чем lua
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

12. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Аноним (12), 30-Окт-18, 21:18 
Например, в чём лучше? Тем что позволяет выстрелить себе в ногу 100500 способами? Тем что позволяет переопределить object.prototype?
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

13. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +2 +/
Сообщение от Qwerty (??), 30-Окт-18, 21:21 
Имея один JS, можно переопределяться всё, кроме этого JS. Имея два JS, можно переопределяться абсолютно всё.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –1 +/
Сообщение от Qwerty (??), 30-Окт-18, 21:22 
Сравняли автозамена!
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

26. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +1 +/
Сообщение от Аноним (26), 30-Окт-18, 23:13 
> Например, в чём лучше? Тем что позволяет выстрелить себе в ногу 100500
> способами? Тем что позволяет переопределить object.prototype?

Как будто в этом что-то плохое.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

28. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –4 +/
Сообщение от Anonymoussemail (?), 31-Окт-18, 00:08 
Да хотя бы [-1,-2,3,4].sort() чудесно
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

31. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от User_03 (??), 31-Окт-18, 00:24 
Подобное можно делать даже в плюсах, так что нет, не впечатляет
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

53. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +2 +/
Сообщение от Аноним84701 (ok), 31-Окт-18, 13:54 
> Подобное можно делать даже в плюсах, так что нет, не впечатляет

Я конечно не специалист в плюсах, но чтобы там получить именно ТАКОЙ результат сортировки:


[-1,-2,3,4].sort()
Array(4) [ -1, -2, 3, 4 ]

придется все же  "пошаманить" ;)
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

32. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Бутират (?), 31-Окт-18, 03:11 
А вот с reverse() не фортануло. Брендон Айк подбрасывал кубик чтобы решать чистая будет функция или нет
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

51. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Аноним (51), 31-Окт-18, 12:26 
Потому что документацию надо читать:
Если функция сравнения compareFunction не предоставляется, элементы сортируются путём преобразования их в строки и сравнения строк в порядке следования кодовых точек Unicode.


[-2,-1,3,4].sort((a,b)=>a-b);

>>> [-2, -1, 3, 4]

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

54. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +2 +/
Сообщение от Анонн (?), 31-Окт-18, 13:57 
> Потому что документацию надо читать:
> Если функция сравнения compareFunction не предоставляется, элементы
> [-2,-1,3,4].sort((a,b)=>a-b);
>>>> [-2, -1, 3, 4]

Удобство и предсказуемость, че -- главное, почаще повторять и постараться забыть, что сам ЯП был сваян за десяток дней.

Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

64. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Аноним (51), 31-Окт-18, 19:01 
Главное - постараться понять предназначение языка. Яваскрипт со строками работает гораздо чаще, чем с математикой. А если у вас таки много математики, то вам к расширениям языка типа asm.js и WebAssembly...
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

67. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –1 +/
Сообщение от Иваныч (??), 31-Окт-18, 23:32 
В Lua хотя бы есть строгое и прозрачное различение между глобальными переменными и их не объявишь по ошибке. Да и массивы начинают индекс с 1-цы, а не как в модном JS с 0-ля. Очевидно что на Lua легче писать большое приложение и его поддерживать.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

79. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от irinat (ok), 04-Ноя-18, 22:15 
В Lua нет массивов, там только таблицы. Поэтому начинать нумерацию можно с чего угодно, хоть с -2.
Ответить | Правка | ^ к родителю #67 | Наверх | Cообщить модератору

3. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –1 +/
Сообщение от Сверчок (?), 30-Окт-18, 20:52 
Зачем плодить сущности, когда можно было взять года готовый движок? Благо выбор есть: V8, Spidemonkey, Duktape тот же.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +3 +/
Сообщение от Дмитрий (??), 30-Окт-18, 21:02 
Тут разработчики объясняют почему V8, SpiderMonkey и Duktape неподходят
https://youtu.be/Jc_L6UffFOs?t=645
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

10. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +6 +/
Сообщение от A.Stahl (ok), 30-Окт-18, 21:15 
И что там вкратце? Неужели ты думаешь что кто-то пойдёт смотреть какое-то кино с Ютюба?
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

25. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +4 +/
Сообщение от Дмитрий (??), 30-Окт-18, 22:45 
1) V8 и Spidermonkey сделаны в первую очередь для браузеров где совершенно иной сценарий использования (пару десятков вкладок, в каждой вкладке разный код). Тогда как на сервере для данного location код всегда одинаковый. Его можно скомпилировать и вообще выкинуть из движка все что не нужно на стороне сервера. Эти движки очень тяжелые для nginx (впилить можно, но получится недо node.js, который уже есть). nginx легковесный и быстрый и ему нужен легковесный и быстрый движок (пусть и менее навороченный, но который позволяет решать практические задачи на стороне прокси).

2) у Duktape другие цели, в первую очередь они таргетят memory footprint, а не performance.

3) Свой движок можно кастомайзить под nginx.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

55. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от адблок (?), 31-Окт-18, 14:19 
Узнал что правильно говорить энжинэкс. А не нжинкс.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

17. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Аноним (17), 30-Окт-18, 21:35 
Сысоев о проблемах V8 в контексте nginx писал ещё 8 лет назад: http://sysoev.ru/prog/v8.html - с тех пор мало что изменилось.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Аноним (5), 30-Окт-18, 20:57 
Интересно, а "более 13" это сколько?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +5 +/
Сообщение от Аноним (27), 30-Окт-18, 23:59 
Чуть меньше чем 15
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –1 +/
Сообщение от Аноним (8), 30-Окт-18, 21:02 
> добавлена поддержка объекта "arguments"

А разве его не выпилили в ES6?, есть же spread

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Дмитрий (??), 30-Окт-18, 21:11 
Не выпилили https://www.ecma-international.org/ecma-262/6.0/#sec-argumen...

rest parameters syntax (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...) в процессе.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

21. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –1 +/
Сообщение от Аноним (21), 30-Окт-18, 22:15 
njs вообще реализует новые стандарты или хотя бы какой-то стандарт?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

22. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Дмитрий (??), 30-Окт-18, 22:35 
http://nginx.org/en/docs/njs/index.html

njs is a subset of the JavaScript language that allows extending nginx functionality. njs is created in compliance with ECMAScript 5.1 (strict mode) with some ECMAScript 6 and later extensions. The compliance is still evolving.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

16. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от th3m3 (ok), 30-Окт-18, 21:27 
Nginx пилит свою ноду?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +2 +/
Сообщение от linvinus (?), 30-Окт-18, 22:03 
похоже хотят сделать аналог openresty только вместо lua javascript

идея интересная и подход правильный, из минусов только то что для lua есть куча модулей а с урезанным javascript без модулей непонятно что делать.

хоть они и говорят что это не application сервер, но аппетит приходит во время еды, есть множество сценариев когда ещё не application но уже и не просто навороченный конфиг и делает реально что то полезное.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

70. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от 1 (??), 01-Ноя-18, 07:39 
>с урезанным javascript без модулей непонятно что делать.

Берется rollup и полетели!

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

34. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –2 +/
Сообщение от Наноним (?), 31-Окт-18, 04:25 
Непонятно, зачем именно js. Если так уж хочется js-подобный язык можно было сделать какую-нибудь облагороженную версию типа typescript или свой вариант.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

68. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +1 +/
Сообщение от Иваныч (??), 01-Ноя-18, 01:36 
Могли бы лучше поддержку CoffeeScript или хоть LiveScript сделать. Так нет - везде этот JS тащат!
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

35. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –2 +/
Сообщение от jOKer (ok), 31-Окт-18, 04:30 
Странный выбор. Почему не луа, с его минимализмом потребления ресурсов, или не питон (питон-хэйтеры, расслабьтесь, - я имел ввиду что-то вроде Cython, но заточенного под продукт)?

И вообще, если посмотреть на траекторию развития nginx в целом, то приходит на ум вопрос: зачем было гордо отказываться от динамических модулей, коли теперь приходится бизнес-логику расширять с помощью скриптов? Уж лучше было бы плагины-сошники "на лету" подключать, - они по крайней мере бинарные, со статической типизацией, что многие проблемы решает.

Короче, я в недоумении по поводу такой архитектуры. Лично мне она не кажется очевидной. Но возможно я чего-то не до конца понимаю.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

39. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +1 +/
Сообщение от Онаним (?), 31-Окт-18, 06:15 
Маркетинг. JavaScript - новый PHP, миллиарды неосиляторов теперь пишут на нём под любую задачу, "кадры" можно найти в любой подворотне.
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

46. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +1 +/
Сообщение от Аноним (46), 31-Окт-18, 11:29 
Ну почему же неосиляторов. На нём просто приятно писать, а, когда за плечами много лет опыта C++, прелести современного JS осознаешь сильнее
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

62. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Maxim (??), 31-Окт-18, 18:35 
Я бы лучше веб на плюсах писал.
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

65. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Аноним (65), 31-Окт-18, 19:23 
WebAssembly и транслятор asm.js уже готов.
Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

72. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –1 +/
Сообщение от Maxim (??), 01-Ноя-18, 17:07 
> WebAssembly и транслятор asm.js уже готов.

А зачем мне asm.js если есть Bridge.Net?
Все-таки на шарпе по-приятнее.

А из веб ассембли нет доступа к DOM. Или что-то поменялось?

Собственно мы на C# под веб и пишем (транспайл).
TypeScript - очередная затычка от мелкософта.

Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору

75. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от qwerty123 (??), 03-Ноя-18, 09:31 
>Я бы лучше веб на плюсах писал.

Да-да, расскажи инвестору, что проект займет полгода вместо 2 месяцев.

Где вас таких изготавливают?

Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

76. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Maxim (??), 03-Ноя-18, 16:50 
>>Я бы лучше веб на плюсах писал.
> Да-да, расскажи инвестору, что проект займет полгода вместо 2 месяцев.
> Где вас таких изготавливают?

Да-да расскажи инвестору, что ты запилишь очередную дичт, которую потом надо будет переписывать.
В итоге 2 месяца JS, 2 месяца фиксов этого JS. Потом выкидывание велосипеда и переписываение большей части кода.

У меня на типизированных языках разработка идет кстати быстрее.
Так что это все из области неосиляторов.
А вариантов овердокуя: Java (GWT), C#, Kotlin.

Так что таких как ты я бы близко к коду не пускал. Жаль у вас на лбу не написано: "веб-макака".

Ответить | Правка | ^ к родителю #75 | Наверх | Cообщить модератору

48. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  –1 +/
Сообщение от jOKer (ok), 31-Окт-18, 11:49 
К сожалению (а может и к счастью?), кадры работающие с nginx профессионально (админы) не особенно близки с js. Я например, плохо представляю себе системного администратора яростно изучающего js. А вот админа знающего питон, я, напротив, представить очень даже могу, поскольку питон админу может для решения многих задач пригодится. Могу представить даже админа знающего lua... с некоторым напрягом, правда, но могу. А вот админа использующего для администрирования js ни как не получается представить. И однако, разрабы nginx выбирают именно js и это очень странный выбор.

В общем, приходится делать вывод, что целевая аудитория nginx перестала быть ориентированной на администраторов и стала ориентироваться на веб-программистов. Печально коли так.

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

50. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Аноним (50), 31-Окт-18, 12:23 
Девелоперы часто становятся DevOps'ами. Хоть как-то js знают бекендщики, в корпоративном секторе такое часто. А вот python... только если стек на python, а так инфраструктура держится на bash + основной язык из стека (java, c#, go...). Девелоперы занимаются не только разарботкой но и механизмом развертывания их творения. Админы рулят уже зоопарком серверов и контейнеров, управляют ресурсами, поддерживают корпоративную сеть (месенджеры, почта...), еще ездят в датацентры обслуживать арендованные стойки. Но да, nginx часто получается в пересечении этих двух "миров" :)
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

56. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Valentin V. Bartenev (?), 31-Окт-18, 15:03 
Тут с 8:57 рассказано почему JavaScript:
https://youtu.be/Jc_L6UffFOs?t=537

1. Это современный лингва франка, о нём знают все и если не программировали на JavaScript, то хотя бы видели и сталкивались.

2. Использует С-подобный синтаксис, который неплохо знаком разработчикам и DevOps-инженерам (на которых эта функциональность и ориентирована). Также благодаря этому он хорошо вписывается в формат конфигурационных файлов nginx, который тоже использует фигурные скобки для обозначения блоков кода.

3. Был написан для браузеров под событийно-ориентированную парадигму программирования. И это хорошо ложиться на nginx, поскольку он тоже работает в этой парадигме и построен на обратных вызовах (callback-ах).

Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

40. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Аноним (40), 31-Окт-18, 06:24 
> зачем было гордо отказываться от динамических модулей,

nginx динамические модули умеет уже много лет.

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

57. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от asdf (?), 31-Окт-18, 15:23 
Почему не lua, потому что, быть может, большинство из сферы Web знает JavaScript? У всех ассоциация "Web? JavaScript!". Во FreeBSD, например, уходят от Forth в пользу lua. Зачем? Потому что молодое поколение не хочет идти в страшный Forth, а lua выглядит куда более дружественное и порог вхождения куда меньше, чем в Forth - так прямо и написали в рассылке.
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

58. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Анонн (?), 31-Окт-18, 15:30 
> Во FreeBSD, например, уходят от
> Forth в пользу lua. Зачем? Потому что молодое поколение не хочет
> идти в страшный Forth, а lua выглядит куда более дружественное и
> порог вхождения куда меньше, чем в Forth - так прямо и
> написали в рассылке.

Вы бы еще пояснили, что речь идет о загрузчике:
>  A LUA boot loader is 60k larger than a FORTH one, which is
> 80k larger than a no-interpreter one. Subtle changes in size
> may tip things past some subtle limit (the binary is ~430k now
> when built with LUA). A future version may offer coexistance.
>

Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

82. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от пох (?), 23-Мрт-19, 16:15 
так lua - давно, это уже пройденый этап. (интересно, он по сей день намертво лочит воркер?)

У него есть два недостатка - уродливый синтаксис (требующий много лишнего колошматенья по клавиатуре) и то что он не js - поэтому мартышки его не знают, а учить им некогда, смузи ж скиснет.

> зачем было гордо отказываться от динамических модулей

чтобы не плодить лишний код и лишние проблемы (прикинь как классно подключается этот модуль при многотредовой схеме).
А бизнес-логику при помощи скриптов пишут _конечные_пользователи_, они тебе сошки писать все равно не будут, не обучены.

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

69. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Анонимный Аноним (?), 01-Ноя-18, 02:54 
Ура! можно писать конфиги для nginx на JSF**c!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

80. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Аноним (80), 07-Ноя-18, 10:43 
По производительности смотрел кто-то данное изделие? Можно его использовать в своих разработках?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

81. "Релиз njs 0.2.5, интерпретатора JavaScript от NGINX"  +/
Сообщение от Andrey Mitrofanov (?), 07-Ноя-18, 12:59 
> По производительности смотрел кто-то данное изделие? Можно его использовать в своих разработках?

Точн!  Может ли оно притормозить обработку запросов nginx до уровня апача или не сдюжит.  Аудитория затаила.

Если надо высокопроизводительной математики на "кластарах", то у интерпретируемого самописного языка конфигов "будут для тебя плохие новости"ТМ.

Ответить | Правка | ^ к родителю #80 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру