исходник: http://pastebin.com/uemz3cJV — 43 строчки, в которые входит реализация веб-сервера, html-темплейты и логика приложения. единственное что берётся снаружи — css и сама программа vnstat, выдающая все эти отчёты
отмечу, что в отличии от rails и т.п. node.js — это полноценный высокопроизводительный веб-сервер, способный на обычном железе обслуживать 7 тысяч запросов В СЕКУНДУ, работать со статикой, формами, куками, сессиями и всем остальным. в общем, аналогично nginx. с другой стороны, это полноценный сервер приложений, не требующий fcgi, под который созданы тысячи библиотек (одних только templating solutions я насчитал под сотню)
т.е. чтобы получить высокопроизводительный веб-сайт с поддержкой темплейтов, достаточно установить node.js+zappa (или express, или coffee-script, если хотите более отработанные решения), после чего можно описать весь свой сайт с темплейтами хоть в одном скрипте, положить в другие файлы контент, запустить node app.js и всё
Здравствуйте, BulatZiganshin, Вы писали:
BZ>т.е. чтобы получить высокопроизводительный веб-сайт с поддержкой темплейтов, достаточно установить node.js+zappa (или express, или coffee-script, если хотите более отработанные решения), после чего можно описать весь свой сайт с темплейтами хоть в одном скрипте, положить в другие файлы контент, запустить node app.js и всё
Для чего это все? В качестве спортивного интереса?
Здравствуйте, BulatZiganshin, Вы писали:
BZ>т.е. чтобы получить высокопроизводительный веб-сайт с поддержкой темплейтов, достаточно установить node.js+zappa (или express, или coffee-script, если хотите более отработанные решения), после чего можно описать весь свой сайт с темплейтами хоть в одном скрипте, положить в другие файлы контент, запустить node app.js и всё
Я как бы не очень в этом всем разбираюсь, но гламп это проблемы с производительностью, масштабированием, читабельностью кода, разработкой и отладкой. Связка C++ и V8 как бы способна решить первые три, не знаю что у них с четвертой.
Здравствуйте, grosborn, Вы писали:
G>Я как бы не очень в этом всем разбираюсь, но гламп это проблемы с производительностью, масштабированием, читабельностью кода, разработкой и отладкой. Связка C++ и V8 как бы способна решить первые три, не знаю что у них с четвертой.
Не хотелось бы устраивать холивар, но у меня строго противоположенное мнение — С++ это как раз и есть
проблемы с производительностью, масштабированием, читабельностью кода, разработкой и отладкой.
Особенно последние четыре пункта Попробуй пописать вебсервисы или там сайт какой на плюсах — поржем вместе
Здравствуйте, BulatZiganshin, Вы писали:
BZ>исходник: http://pastebin.com/uemz3cJV — 43 строчки, в которые входит реализация веб-сервера, html-темплейты и логика приложения. единственное что берётся снаружи — css и сама программа vnstat, выдающая все эти отчёты
Здравствуйте, grosborn, Вы писали:
G>Я как бы не очень в этом всем разбираюсь, но гламп это проблемы с производительностью, масштабированием, читабельностью кода, разработкой и отладкой. Связка C++ и V8 как бы способна решить первые три, не знаю что у них с четвертой.
C++ как средства разработки в node.js нет никаким боком
Здравствуйте, BulatZiganshin, Вы писали:
BZ>Здравствуйте, BulatZiganshin, Вы писали:
BZ>>исходник: http://pastebin.com/uemz3cJV — 43 строчки, в которые входит реализация веб-сервера, html-темплейты и логика приложения. единственное что берётся снаружи — css и сама программа vnstat, выдающая все эти отчёты
BZ>то же с нормальной подсветкой: BZ>
А что это за технологии и как ими пользоваться?
Попробовал поискать, но ничего особо внятного не нашел, только о node.js нашел краткое описание
Здравствуйте, Marty, Вы писали:
M>А что это за технологии и как ими пользоваться? M>Попробовал поискать, но ничего особо внятного не нашел, только о node.js нашел краткое описание
Здравствуйте, Marty, Вы писали:
M>Здравствуйте, BulatZiganshin, Вы писали:
BZ>>Здравствуйте, BulatZiganshin, Вы писали:
BZ>>>исходник: http://pastebin.com/uemz3cJV — 43 строчки, в которые входит реализация веб-сервера, html-темплейты и логика приложения. единственное что берётся снаружи — css и сама программа vnstat, выдающая все эти отчёты
BZ>>то же с нормальной подсветкой: BZ>>
M>А что это за технологии и как ими пользоваться? M>Попробовал поискать, но ничего особо внятного не нашел, только о node.js нашел краткое описание
Хмм, там же вроде бы прямые ссылки даны. По ссылыкам можно примеры посмотреть. По некоторым даже видео есть.
Здравствуйте, BulatZiganshin, Вы писали:
M>>А что это за технологии и как ими пользоваться? M>>Попробовал поискать, но ничего особо внятного не нашел, только о node.js нашел краткое описание
BZ>а по ссылкам в первом посте уже всё прочёл?
По ссылкам сходил, но ничего не понял. Понял только то, что node.js — http-сервер на JavaScripte движка V8 от гугл. Что за звери остальные, не понял. Вообще, имхо, человеку далекому от js так сразу все не осознать.
Здравствуйте, icezone, Вы писали:
BZ>>т.е. чтобы получить высокопроизводительный веб-сайт с поддержкой темплейтов, достаточно установить node.js+zappa (или express, или coffee-script, если хотите более отработанные решения), после чего можно описать весь свой сайт с темплейтами хоть в одном скрипте, положить в другие файлы контент, запустить node app.js и всё
I>А в чем профит? По сравнению с обычным LAMP?
в preforked режиме у апача ужасающая производительность, хотя в threaded режиме при правильной настройке она должна быть приемлема. его конфиг-файлы — это гавно мамонта. настройка сервера в нём не программируется. php мне не нравится, для использования других языков нужны fcgi сервера
вообще сейчас популярны асхинхронные веб-сервера — такие где крутится всего один или несколько OS threads, каждый из которых может одновременно обрабатывать тысячи входящих соединений. наиболее производительным и популярным из них является nginx, есть даже сборка с LuaJit. конфиг-файлы у него поприятней, но как и в апаче, они не программируются. бибилиотека функций, доступных в Lua, невелика, а внешних библиотек нет вообще
и наконец node.js: это полноценный веб-сервер приложений, на нём в программной форме создаётся веб-сервер, диспетчеры запросов, middleware (это функции, которые могут обрабатывать и изменять каждый приходящий запрос, скажем logger, gzip, cache, jsMinify и т.д.). что это даёт: во-первых, настройки не раскиданы принудительно по разным файлам и технологиям, я могу логически разбить их по файлам так, как сам считаю нужным. во-вторых, поскольку это обычные программы, к ним применим весь спектр технологий программирования (я имею в виду циклы, if'ы, подпрограммы, даже смену ЯП), как это и демонстрирует zappa
в общем, это one-stop solution для того, кому нужно создать сайт с нуля. вместо изучения LAMP/asp.net достаточно пролистать вышеприведённый материал и можно начинать творить. высокая производительность гарантирована
если же ты уже давно освоил и настроил LAMP, то интересным может быть разве что добавление динамики сайту (хотя вероятно и это в php есть — всякие websockets)
Здравствуйте, Marty, Вы писали:
M>>>А что это за технологии и как ими пользоваться? M>По ссылкам сходил, но ничего не понял. Понял только то, что node.js — http-сервер на JavaScripte движка V8 от гугл. Что за звери остальные, не понял. Вообще, имхо, человеку далекому от js так сразу все не осознать.
ты не поверишь, но node.js я тоже изучаю всего несколько дней, а js/cs не знаю вообще — вчера написал первую программу на js, сегодня — первую на cs, поминутно заглядывая в справочник и пытаясь перебором найти нужный синтаксис
что изучал я — быстренько просмотрел доку по nodejs, увидел наличие fs/http/timers и понял, что на этом можно написать веб-сервер с частичной генерацией контента на лету — что мне собственно и нужно. затем залез в список рекомендуемых модулей и начал изучать их. в доке по connect увидел, что он реализует всю базовую функциональность, необходимую веб-серверу. в описании express увидел, что с его помощью этот веб-сервер очень удобно конфигурируется, плюс есть шаблонизаторы страниц (views). затем стал изучать список модулей по категориям, просто чтобы составить общее впечатление, плюс на сайте npm изучил что делают наиболее популярные модули. вышел на этот модуль zappa, поставил его вместе с coffee-script и дешаблонизатором:
npm install zappa coffee-script htmlkup -g
вытащил из zappa crash course простенькое приложение на zappa:
затем попробовал превратить странички своего сайта в cs-шаблоны: htmlkup <index.htm >index.cs и поэкспериментировал с их динамической генерацией. ну и наконец, изучая список пакетов, набрёл на vnstat.js, написанный на чистом node.js api, и попробовал переписать его с помощью zappa. результат мне так понравился, что я захотел им поделиться
Здравствуйте, BulatZiganshin, Вы писали:
BZ>если же ты уже давно освоил и настроил LAMP, то интересным может быть разве что добавление динамики сайту (хотя вероятно и это в php есть — всякие websockets)
Прикручиваем на фронтенд nginx и в бой. Не нравится мне вся эта истерия с использованием javascript где попало.