LINUX.ORG.RU
ФорумTalks

[вещества][вебдваноль] Серверный джаваскрипт

 


0

0

http://habrahabr.ru/blogs/nginx/82511/

Суть для Ъ

В качестве основного веб-сервера было решено использовать nginx, в качестве «движка» javascript — TraceMonkey (javascript-движок из Mozilla Firefox, бывший SpiderMonkey), и написать модуль для nginx, который бы их «склеил». Ничего сложного, на первый взгляд, но очень хотелось иметь определенную функциональность (и это получилось!), чтобы можно было нормально работать дальше. Большинство идей заимствованы, кстати, из PHP.

Сабж подарил мне две минуты веселого настроения.

Ответ на: комментарий от linux4ever

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

linuxfan
() автор топика

Правильно, если сам в своей жизни ни разу не написал и строчки полезного кода надо обосрать тех, кто что-то делает.

Линуксоид-дармоед дэтэктэд.

Fredrik
()
Ответ на: комментарий от Fredrik

Не поверишь, но написал. И это было явно полезнее серверного жабаскрипта.

Такое в голову может прийти только безграмотным вебдваноль-быдлокодерам, которые кроме JS ничего толком не знают и не умеют.

И мне кажется, что соли шутки никто не понял: не самую быструю клиентскую библиотеку не самого быстрого языка пытаются приспособить к выполнению серверных задач. Это очень смешно. Я как подумаю, так меня сразу на «ха-ха» пробирает.

linuxfan
() автор топика
Ответ на: комментарий от linuxfan

> не самую быструю клиентскую библиотеку не самого быстрого языка пытаются приспособить к выполнению серверных задач. Это очень смешно. Я как подумаю, так меня сразу на «ха-ха» пробирает.

Серверный JS - это трендово. Стив Йегге так сказал.

tailgunner ★★★★★
()

А вещества все крепчали

>Если 10 клиентов одновременно запрашивают страницу со скриптом sleep(1), то один из них обязательно увидит страницу после 10 секунд. Почему так — я не очень понял (в API nginx не до конца разобрался пока что, поэтому тестировал «по-колхозному»). Но основной обработчик запрограммирован не так, как в perl-модуле, без глобальной блокировки.

Определенно я ухожу спать в отличном настроении!

linuxfan
() автор топика
Ответ на: комментарий от NightmareZ

>Поясни пожалуйста, что в твоём понимании значит «быстрый язык»?

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

Ну и «быстрый язык», само собой, должен быть компилируемым.

linuxfan
() автор топика
Ответ на: комментарий от linuxfan

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

Если я правильно тебя понял, то, например, php стоит в той же скоростной категории. Но тем не менее он пользуется популярностью. Ты сторонник разработки веб-проектов на языке ассемблера?

NightmareZ
()

Великолепный проект, слежу за ним еще с тех пор, когда кроме своего блога автор его нигде не пиарил. Уже тогда восхищался. До этого я собирался сам лепить подобный велосипед

Такое в голову может прийти только безграмотным вебдваноль-быдлокодерам, которые кроме JS ничего толком не знают и не умеют.

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

И мне кажется, что соли шутки никто не понял: не самую быструю клиентскую библиотеку не самого быстрого языка пытаются приспособить к выполнению серверных задач. Это очень смешно. Я как подумаю, так меня сразу на «ха-ха» пробирает.

А ты еще бенчмарки почитай, да задумайся...

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

Пиши на асме, быстрее некуд

simple_best_world_web_master
()

>© 2010 Sergey N Frolov

Это не тот чувак который написал с пятак книг «[это] глазами хакера» ?

Design — A. Lebedev


Ну и здесь «Татьянович» засветился :)

gh0stwizard ★★★★★
()
Ответ на: комментарий от gh0stwizard

> Это не тот чувак который написал с пятак книг «[это] глазами хакера» ?

У того фамилия Флёнов.

NightmareZ
()

Ммм. А разве в ASP не-.net не было серверного яваскрипта?

svr4
()

Видал я это дело... но для меня блее удобным кажется nodejs

SV0L0CH
()
Ответ на: комментарий от NightmareZ

>Ты сторонник разработки веб-проектов на языке ассемблера?

Не вижу в этом ничего плохого.

php стоит в той же скоростной категории. Но тем не менее он пользуется популярностью.

Это каким-то образом говорит о его качестве? Или это говорит о том, что бесплатных хостингов больше всего на LAMP?

linuxfan
() автор топика
Ответ на: комментарий от simple_best_world_web_master

>Боюсь, у меня для тебя плохие новости.

А у меня — для тебя. Ты — вебдваноль <и далее по тексту>

Пиши на асме, быстрее некуд

Еще раз повторюсь: не вижу в асме ничего плохого.

linuxfan
() автор топика
Ответ на: комментарий от linuxfan

>Такое в голову может прийти только безграмотным вебдваноль-быдлокодерам, которые кроме JS ничего толком не знают и не умеют.

А шо, ты таки хорошо знаешь JavaScript? Тогда почёт тебе и уважение, таких людей не так много.

Wizard_ ★★★★★
()
Ответ на: комментарий от Wizard_

>А шо, ты таки хорошо знаешь JavaScript? Тогда почёт тебе и уважение, таких людей не так много.

А чего там надо знать такого?

SV0L0CH
()

На расстрел! Меня просто уже бесит то что HTML-язык используют не по назначению. Вебдваноль уже начал это. На расстрел бы их всех за такие идиотские мысли... И ещё кто-то поддержал это. Серверный JS ведь тоже поддерживают.
О боги о боги...

tia
()
Ответ на: комментарий от SV0L0CH

Недавно ссылка проскакивала: http://www.hunlock.com/blogs/Functional_Javascript

Да и хотя бы просто посмотри исходный (непожатый) код той же jQuery или ExtJS.

Ещё библиотечку нашёл, позволяющую использовать функции высоких порядков, всяческие map и reduce: http://osteele.com/sources/javascript/functional/

Wizard_ ★★★★★
()
Ответ на: комментарий от Wizard_

>А шо, ты таки хорошо знаешь JavaScript?

«Вебдвануль-мостера» ошибочно понимают под «знанием джаваскрипта» знание подводных камней при взаимодействии с различными браузерами. Сам по себе язык необычайно беден и убог. Зато объекты там выглядят «не как в C++», а значит это автоматически круто, модно, прогрессивно и надо пихать во все щели.

linuxfan
() автор топика
Ответ на: комментарий от linuxfan

>«Вебдвануль-мостера» ошибочно понимают под «знанием джаваскрипта» знание подводных камней при взаимодействии с различными браузерами.

Ну, не надо. Ты просто не в курсе, наверное. «Вебдвануль-мостера» используют jQuery и MooTools, в которых различия между браузерами нивелируются. Правильно делают, кстати. Для подобных задач использование таких фреймворков является оптимальным решением.

Единственная претензия к подобным деятелям у меня одна: ООП головного мозга. Хабр подобными существами кишмя кишит. Вот лично я этого не понимаю.

Сам по себе язык необычайно беден и убог.

Ты какие-то неправильные слова подбираешь. LISP тоже, можно сказать, беден и убог. Однако, он очень гибок. JavaScript тоже гибок. И из-за этого мощен. Ты почитай ссылки выше.

Wizard_ ★★★★★
()

херня какято, я еще понимаю в жабу встроить rhino

но сексуальные утехи вантузоидов мне право, непонятны

wfrr ★★☆
()
Ответ на: комментарий от linuxfan

Сам по себе язык необычайно беден и убог.

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

wfrr ★★☆
()
Ответ на: комментарий от SV0L0CH

Да, всё ок всё ок всё ок всё ок всё ок. //_-
Хз что делать... Хоть маску бетмена одевай и убивай этих быдлокодеров.

tia
()
Ответ на: комментарий от linuxfan

>«Вебдвануль-мостера» ошибочно понимают под «знанием джаваскрипта» знание подводных камней при взаимодействии с различными браузерами.

На самом деле человек ВНЕЗАПНО узнал что JS является ФЯП. Сам этот факт контрастирует с тем что в распостранённой литературе об этом не упоминается, а описываются способы создания кросбраузерных костылей.

Сам по себе язык необычайно беден и убог. Зато объекты там выглядят «не как в C++», а значит это автоматически круто, модно, прогрессивно и надо пихать во все щели.

Всё почти как про лиспы. Только синтаксис близок к C/C++ развечто.

SV0L0CH
()
Ответ на: комментарий от Wizard_

>>Сам по себе язык необычайно беден и убог.

Ты какие-то неправильные слова подбираешь. LISP тоже, можно сказать, беден и убог. Однако, он очень гибок. JavaScript тоже гибок. И из-за этого мощен. Ты почитай ссылки выше.

Тут есчё надо сказать, что JS прекрасно обходится без макросов в отличии от лиспов.

SV0L0CH
()
Ответ на: комментарий от Wizard_

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

vahvarh ★★★
()
Ответ на: комментарий от tia

>Хоть маску бетмена одевай и убивай этих быдлокодеров.

<very_fat> начни с себя </very_fat>

SV0L0CH
()

Язык достаточно простой и понятный, современные реализации быстрее питона с рубями чуть ли не на порядок, используется для «событийной» модели приложений больше десятка лет, памяти жрет минимум в том числе за счет прототипной модели оо и дешевизны объектов.

Так чего ж ты пердишь?

Таки пост на хабре велосипед, node.js или хоть какой-нибудь rhino - это по-человечески.

Жаль что ngxv8 медленно развивается. Ждем.

volh ★★
()
Ответ на: комментарий от tia

> Меня просто уже бесит то что HTML-язык используют не по назначению.

Какой-какой? Лол.

TirNaNOg
()
Ответ на: комментарий от SV0L0CH

про это я в курсе. имелось в виду изкоробки. так-то эмулировать можно чего угодно, и никакого MOP не нужно.

volh ★★
()
Ответ на: комментарий от linuxfan

>Баш умер лет пять назад, но в прошлом году я наконец-то нашел ему замену: ЛОР
fxd

xorik ★★★★★
()
Ответ на: комментарий от volh

Зачем тащить в коробку всё что не попадя? Пусть лучше так.

SV0L0CH
()
Ответ на: комментарий от linuxfan

> Сам по себе язык необычайно беден и убог.

Карринг, анонимные ф-ии, замыкания, 1st-class функции это «необычайно беден и убог»?

Ты сторонник разработки веб-проектов на языке ассемблера?

Не вижу в этом ничего плохого.

а... всё понятно, в биореактор. С этого и стоило начать тред.

TirNaNOg
()
Ответ на: комментарий от volh

ну с емулируй подемшивание в жабке или с++, да и пхепе это будет кучеряво хоть и попроще чем на сях 8)

wfrr ★★☆
()
Ответ на: комментарий от vahvarh

>не понимаю тех кто хает яваскрипт

Ну да, трудно понять тех, кто хает то единственное, что ты знаешь.

linuxfan
() автор топика
Ответ на: комментарий от volh

>Язык достаточно простой и понятный

Я смотрю на жквери и думаю, что ты лжешь.

современные реализации быстрее питона с рубями чуть ли не на порядок

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

В роли серверной части живут только нативный код на це/це-крест-крест(как самый быстрый), похапе (самые дешевые быдлокодеры) и жабы/дотнеты как компромисс между первыми двумя пунктами.

linuxfan
() автор топика
Ответ на: комментарий от TirNaNOg

>Карринг, анонимные ф-ии, замыкания, 1st-class функции это «необычайно беден и убог»?

Где целочисленные типы? Какова их размерность? Где вещественные типы? Какова их гарантированная точность? Где стандартная библиотека для ввода-вывода? Где биндинги к mysql/memcache?

linuxfan
() автор топика

Использую серверный JS на основе spidermonkey уже лет 6. Очень удобно, не нужно забивать себе голову кучей языков. Когда нужна супер-пупер производительность - пишется функция на C, правда такое бывает нечасто. Не вижу чем ситуация отличается от питона, пхп и руби, и что так развеселило топикстартера.

vga ★★
()
Ответ на: комментарий от linuxfan

>>Язык достаточно простой и понятный

Я смотрю на жквери и думаю, что ты лжешь.

Молодец, продолжай думать :)

SV0L0CH
()
Ответ на: комментарий от linuxfan

>Где целочисленные типы? Какова их размерность? Где вещественные типы? Какова их гарантированная точность?

Вроде всё есть в объекте Math.

Где стандартная библиотека для ввода-вывода?

ВНЕЗАПНО нигде... см ECMAScript262

Где биндинги к mysql/memcache?

Кому надо, тот их напишет.

SV0L0CH
()
Ответ на: комментарий от SV0L0CH

>>Где биндинги к mysql/memcache?

Кому надо, тот их напишет.

+1. В гном3 выбрали JS как раз из-за отсутствия биндингов и стандартной библиотеки, чтобы не путать стандартные библиотеки языка и glib/gobject. Питон пролетел по причине навороченной стандартной библиотеки.

vga ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.