Node.js
От: BulatZiganshin  
Дата: 11.12.11 17:24
Оценка: 2 (1)
хочу поделиться своей небольшой демонстрацией этой технологии: http://freearc.org:1338/

исходник: http://pastebin.com/uemz3cJV — 43 строчки, в которые входит реализация веб-сервера, html-темплейты и логика приложения. единственное что берётся снаружи — css и сама программа vnstat, выдающая все эти отчёты

используемые технологии: zappa, express, connect, node.js

отмечу, что в отличии от rails и т.п. node.js — это полноценный высокопроизводительный веб-сервер, способный на обычном железе обслуживать 7 тысяч запросов В СЕКУНДУ, работать со статикой, формами, куками, сессиями и всем остальным. в общем, аналогично nginx. с другой стороны, это полноценный сервер приложений, не требующий fcgi, под который созданы тысячи библиотек (одних только templating solutions я насчитал под сотню)

т.е. чтобы получить высокопроизводительный веб-сайт с поддержкой темплейтов, достаточно установить node.js+zappa (или express, или coffee-script, если хотите более отработанные решения), после чего можно описать весь свой сайт с темплейтами хоть в одном скрипте, положить в другие файлы контент, запустить node app.js и всё
Люди, я люблю вас! Будьте бдительны!!!
Re: Node.js
От: lozzy  
Дата: 11.12.11 17:41
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>т.е. чтобы получить высокопроизводительный веб-сайт с поддержкой темплейтов, достаточно установить node.js+zappa (или express, или coffee-script, если хотите более отработанные решения), после чего можно описать весь свой сайт с темплейтами хоть в одном скрипте, положить в другие файлы контент, запустить node app.js и всё


Для чего это все? В качестве спортивного интереса?
Re: Node.js
От: icezone  
Дата: 11.12.11 18:23
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>т.е. чтобы получить высокопроизводительный веб-сайт с поддержкой темплейтов, достаточно установить node.js+zappa (или express, или coffee-script, если хотите более отработанные решения), после чего можно описать весь свой сайт с темплейтами хоть в одном скрипте, положить в другие файлы контент, запустить node app.js и всё


А в чем профит? По сравнению с обычным LAMP?
Re[2]: Node.js
От: grosborn  
Дата: 11.12.11 18:54
Оценка:
> А в чем профит? По сравнению с обычным LAMP?

Я как бы не очень в этом всем разбираюсь, но гламп это проблемы с производительностью, масштабированием, читабельностью кода, разработкой и отладкой. Связка C++ и V8 как бы способна решить первые три, не знаю что у них с четвертой.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[3]: Node.js
От: lozzy  
Дата: 11.12.11 19:03
Оценка:
Здравствуйте, grosborn, Вы писали:

G>Я как бы не очень в этом всем разбираюсь, но гламп это проблемы с производительностью, масштабированием, читабельностью кода, разработкой и отладкой. Связка C++ и V8 как бы способна решить первые три, не знаю что у них с четвертой.


Не хотелось бы устраивать холивар, но у меня строго противоположенное мнение — С++ это как раз и есть

проблемы с производительностью, масштабированием, читабельностью кода, разработкой и отладкой.


Особенно последние четыре пункта Попробуй пописать вебсервисы или там сайт какой на плюсах — поржем вместе
Re[4]: Node.js
От: grosborn  
Дата: 11.12.11 19:12
Оценка:
> Особенно последние четыре пункта Попробуй пописать вебсервисы или там сайт какой на плюсах — поржем вместе

Не, на C++ там низкоуровневые библиотеки, для кодирования сайта Java.
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[4]: Node.js
От: grosborn  
Дата: 11.12.11 19:14
Оценка:
V8 это ява, если ты не в курсе
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re: Node.js
От: BulatZiganshin  
Дата: 11.12.11 19:19
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>исходник: http://pastebin.com/uemz3cJV — 43 строчки, в которые входит реализация веб-сервера, html-темплейты и логика приложения. единственное что берётся снаружи — css и сама программа vnstat, выдающая все эти отчёты


то же с нормальной подсветкой:
Люди, я люблю вас! Будьте бдительны!!!
Re[3]: Node.js
От: BulatZiganshin  
Дата: 11.12.11 19:20
Оценка:
Здравствуйте, grosborn, Вы писали:

G>Я как бы не очень в этом всем разбираюсь, но гламп это проблемы с производительностью, масштабированием, читабельностью кода, разработкой и отладкой. Связка C++ и V8 как бы способна решить первые три, не знаю что у них с четвертой.


C++ как средства разработки в node.js нет никаким боком
Люди, я люблю вас! Будьте бдительны!!!
Re[4]: Node.js
От: grosborn  
Дата: 11.12.11 19:23
Оценка:
> C++ как средства разработки в node.js нет никаким боком

Спасибо, капитан
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[2]: Node.js
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 11.12.11 19:36
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>Здравствуйте, BulatZiganshin, Вы писали:


BZ>>исходник: http://pastebin.com/uemz3cJV — 43 строчки, в которые входит реализация веб-сервера, html-темплейты и логика приложения. единственное что берётся снаружи — css и сама программа vnstat, выдающая все эти отчёты


BZ>то же с нормальной подсветкой:

BZ>

А что это за технологии и как ими пользоваться?
Попробовал поискать, но ничего особо внятного не нашел, только о node.js нашел краткое описание
Маньяк Робокряк колесит по городу
Re[3]: Node.js
От: BulatZiganshin  
Дата: 11.12.11 19:48
Оценка:
Здравствуйте, Marty, Вы писали:

M>А что это за технологии и как ими пользоваться?

M>Попробовал поискать, но ничего особо внятного не нашел, только о node.js нашел краткое описание

а по ссылкам в первом посте уже всё прочёл?
Люди, я люблю вас! Будьте бдительны!!!
Re[3]: Node.js
От: Alex912  
Дата: 11.12.11 19:51
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, BulatZiganshin, Вы писали:


BZ>>Здравствуйте, BulatZiganshin, Вы писали:


BZ>>>исходник: http://pastebin.com/uemz3cJV — 43 строчки, в которые входит реализация веб-сервера, html-темплейты и логика приложения. единственное что берётся снаружи — css и сама программа vnstat, выдающая все эти отчёты


BZ>>то же с нормальной подсветкой:

BZ>>

M>А что это за технологии и как ими пользоваться?

M>Попробовал поискать, но ничего особо внятного не нашел, только о node.js нашел краткое описание

Хмм, там же вроде бы прямые ссылки даны. По ссылыкам можно примеры посмотреть. По некоторым даже видео есть.
Re[5]: Node.js
От: _Oleg_ Украина  
Дата: 11.12.11 19:59
Оценка:
Здравствуйте, grosborn, Вы писали:

G>V8 это ява, если ты не в курсе


V8 is written in C++ and is used in Google Chrome, the open source browser from Google.
http://code.google.com/p/v8/

Подразумевается читабельность кода JavaScript.
И вообще на Node.js исходники действительно красивые получаются.
Re[4]: Node.js
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 11.12.11 20:01
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

M>>А что это за технологии и как ими пользоваться?

M>>Попробовал поискать, но ничего особо внятного не нашел, только о node.js нашел краткое описание

BZ>а по ссылкам в первом посте уже всё прочёл?

По ссылкам сходил, но ничего не понял. Понял только то, что node.js — http-сервер на JavaScripte движка V8 от гугл. Что за звери остальные, не понял. Вообще, имхо, человеку далекому от js так сразу все не осознать.
Маньяк Робокряк колесит по городу
Re[5]: Node.js
От: mymuss  
Дата: 11.12.11 20:02
Оценка:
Здравствуйте, grosborn, Вы писали:

G>V8 это ява, если ты не в курсе


Это что-то новое. V8 движок написан на С++.
http://code.google.com/apis/v8/
Re[6]: Node.js
От: grosborn  
Дата: 11.12.11 20:07
Оценка:
> G>V8 это ява, если ты не в курсе
>
> Это что-то новое. V8 движок написан на С++.
> http://code.google.com/apis/v8/

Спасибо, капитаны
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[2]: Node.js
От: BulatZiganshin  
Дата: 11.12.11 21:51
Оценка: 6 (1)
Здравствуйте, 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)
Люди, я люблю вас! Будьте бдительны!!!
Re[5]: Node.js
От: BulatZiganshin  
Дата: 11.12.11 22:16
Оценка: 6 (1)
Здравствуйте, 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:
{@app} = require('zappa') ->
  @enable 'default layout'
  @use 'static'

  @get '/': ->
    @render index: {foo: 'bar'}

  @view index: ->
    @title = 'Node.js site'
    h1 @title
    p @foo


и запустил его: coffee zappa.coffee

затем попробовал превратить странички своего сайта в cs-шаблоны: htmlkup <index.htm >index.cs и поэкспериментировал с их динамической генерацией. ну и наконец, изучая список пакетов, набрёл на vnstat.js, написанный на чистом node.js api, и попробовал переписать его с помощью zappa. результат мне так понравился, что я захотел им поделиться
Люди, я люблю вас! Будьте бдительны!!!
Re[3]: Node.js
От: icezone  
Дата: 11.12.11 22:35
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>если же ты уже давно освоил и настроил LAMP, то интересным может быть разве что добавление динамики сайту (хотя вероятно и это в php есть — всякие websockets)


Прикручиваем на фронтенд nginx и в бой. Не нравится мне вся эта истерия с использованием javascript где попало.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.