PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): [1] 2 3 »   

> Без описания
_Dark_
Отправлено: 15 Апреля, 2013 - 20:06:57
Post Id


Частый гость


Покинул форум
Сообщений всего: 235
Дата рег-ции: Окт. 2011  


Помог: 5 раз(а)

[+]


Друзья, кто работал с Node.Js?
В данный момент есть некоторые идеи для создания определенного проекта, временем я не ограничен, задался выбором языка программирования.
Выбор казалось бы очевиден, я PHP достаточно хорошо знаю, но видимо как-то он поднадоел уже, захотелось чего-то нового, что называется, того, что «в тренде».

Внимание пало на Ruby и Node.Js.
Первый после беглого осмотра отбросил, понял, что будет несколько сложно, т.к. язык не очень похож на остальные, с которыми я работал.

Node.Js привлек внимание из-за JavaScript, а так же из-за своей парадигмы, я некоторое время занимался скриптовым программированием для игр (на Lua), так что идея переноса скриптового JS на сервер мне понравилась.

В данный момент разбираюсь с фреймворком Express и шаблонизатором Jade, в общем-то, все неплохо. Мне для изучения языка достаточно документации и примеров, так что с самим изучением проблем, думаю, не будет.

Меня что интересует: есть ли среди пользователей форума кто-либо, кто работал с Node.Js? Ваше мнение о платформе? Стоит ли оно того (изучение) или нет? Возможно, мне только сейчас кажется, что все просто и понятно, а в дальнейшем возникнут проблемы? В общем, просто поделитесь мнениями касательно разработки.
Спасибо.
 
 Top
OrmaJever
Отправлено: 15 Апреля, 2013 - 20:38:40
Post Id



Активный участник


Покинул форум
Сообщений всего: 7524
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 298 раз(а)




Насколько я знаю у Node.js и php различаются задачи, и заменить php node.js'ом не получится.
(Добавление)
А вобще учить стоит, в этой професии чем больше знаешь тем лучше. Можно не учить все нюансы, а хотябы просмотреть синтаксис, применение, некоторые особености.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
vanicon
Отправлено: 15 Апреля, 2013 - 20:43:23
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Сам не использую nodeJs, но по различным статьям в интернете, у него плохо с чтением файлов, и сложными вычислениями.
Поэтому его в основном и используют в чатах (общение в реальном времени) и т.п...
(Добавление)
OrmaJever пишет:
Можно не учить все нюансы, а хотябы просмотреть синтаксис, применение, некоторые особености.

Ну синтаксис там такой же как и в js))


-----
Так было, так есть и так будет
 
 Top
caballero
Отправлено: 15 Апреля, 2013 - 21:20:54
Post Id


Активный участник


Покинул форум
Сообщений всего: 5979
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Node.js используетсся для мелких выборок в больших количествах типа чатов, вывод сообщений на стену в соц сетях и т.д. То есть там где можно выводить данные одном потоком.
для серьезный сайтов он непригоден, как бы гугл его не пиарил.


-----
Open Source учетная система http://zippy[dot]com[dot]ua/
 
 Top
OrmaJever
Отправлено: 15 Апреля, 2013 - 22:00:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 7524
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 298 раз(а)




caballero пишет:
для серьезный сайтов он непригоден, как бы гугл его не пиарил.

он от гугла? А?!


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
caballero
Отправлено: 15 Апреля, 2013 - 22:09:58
Post Id


Активный участник


Покинул форум
Сообщений всего: 5979
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




скажем так - за ним торчат гугловские уши.


-----
Open Source учетная система http://zippy[dot]com[dot]ua/
 
 Top
_Dark_
Отправлено: 15 Апреля, 2013 - 22:43:58
Post Id


Частый гость


Покинул форум
Сообщений всего: 235
Дата рег-ции: Окт. 2011  


Помог: 5 раз(а)

[+]


OrmaJever пишет:
Насколько я знаю у Node.js и php различаются задачи, и заменить php node.js'ом не получится.

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

caballero пишет:
для серьезный сайтов он непригоден

Почему?
 
 Top
caballero
Отправлено: 15 Апреля, 2013 - 22:45:09
Post Id


Активный участник


Покинул форум
Сообщений всего: 5979
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Почему?

Потому что ляжет на первом же серьезном запросе к БД.


-----
Open Source учетная система http://zippy[dot]com[dot]ua/
 
 Top
OrmaJever
Отправлено: 16 Апреля, 2013 - 00:26:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 7524
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 298 раз(а)




caballero пишет:
Потому что ляжет на первом же серьезном запросе к БД.

А разве запросы обрабатывает сам node.js? "Отправил -> Подождал -> Забрал" Растерялся


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
caballero
Отправлено: 16 Апреля, 2013 - 00:42:03
Post Id


Активный участник


Покинул форум
Сообщений всего: 5979
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




а что по твоему делает node?
суть node не том что там по неведомой причине яваскрипт хотя мог быть и PHP (то же php deamon) и что угодно.

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

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

поэтому дергать ноду аяксом и подтягивать мессаджи, как на стене в соцсетях, - это одно а формировать страницу - совсем другое и смысла ноды тут никакго нет.


-----
Open Source учетная система http://zippy[dot]com[dot]ua/
 
 Top
_Dark_
Отправлено: 16 Апреля, 2013 - 06:27:25
Post Id


Частый гость


Покинул форум
Сообщений всего: 235
Дата рег-ции: Окт. 2011  


Помог: 5 раз(а)

[+]


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

Как так? Запросы к БД асинхронные, прямо противоположную информацию читал. Некоторые люди наоборот их синхронными хотят сделать, ломая в корне всю концепцию Node.Js.
MongoDB, которая является де-факто для Node.Js, асинхронно выполняет запросы. Для MySQL есть драйвера, которые предоставляют ту же возможность.
Разве нет?

(Отредактировано автором: 16 Апреля, 2013 - 06:33:44)

 
 Top
OrmaJever
Отправлено: 16 Апреля, 2013 - 10:14:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 7524
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 298 раз(а)




caballero пишет:
суть в том что для запросов от браузера не создаются отдельные процессы как в PHP, запросы ставятся в очередь обрабатываются и отправляются в одном потоке.

Ну если это так то понятно. Помоему если он однопоточный то даже для простых вычислений он не годится Растерялся


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Zuldek
Отправлено: 16 Апреля, 2013 - 10:55:47
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2123
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Работал. От гугла не ушки а ядро js в виде машины v8, разработанной гуглем и лежащей в основе обработки js в webkitе.
Ставить вопрос стоит использовать зависит от ваших задач.
CODE (htmlphp):
скопировать код в буфер обмена
  1. Насколько я знаю у Node.js и php различаются задачи, и заменить php node.js'ом не получится.

Это неверное утверждение. Node.js может отдавать что угодно с любого порта по любому протоколу, включая ваши. Вы сами описываете сервер, обработку запросов и проч. Что у них разные задачи, можно сказать только если мы говорим так применительно к "голым" php и node.js и говоря с позиции "что делать проще на конкретной технологии".
Цитата:
для серьезный сайтов он непригоден

Это неверное утверждение.
На node.js работают мгновенные сообщения Вконтакте.
Цитата:
но большой тяжелый запрос к БД, или чтение файла заблокирует выполнение всех запросов включая мелкие.
Асинхронность не означает беспорядочность. Всю логику и порядок обработки запросов и отправки их в СУБД вам никто не помешает описать.
Разница в том что код будет исполняться асинхронно и без лишнего оверхеда как в PHP. А пыха не имеет встроенных средств поддержки асинхронности и очередей.
Тем не менее на пыхе ряд задач решается банально проще в несколько раз. Потому что перейти на асинхронный серверный код после PHP не так-то просто. Когда вы знаете что в пыхе он будет выполняться последовательно. Встроенных средств в пыхе, чтобы делать
"onсomplete: dosome", нет, но сделать обертку для этого никто не мешает. Опять же есть pcntl, который может распараллелить задачи и разнести на процессы, сделать очереди и т. д. в node.js все это встроено.
node.js хорошо себя показывает, когда стоит задача приема и обработки большого количества одновременных запросов (например, порядка 2000 запросов в секунду с разных клиентов), что применяется в чатах, играх, и проч. сферах, в которых его использование целесообразно. Его не целесообразно использовать для получения или сложной обрабкотки больших массивов данных не потому, что он что-то там повесит или забьет запросами бд, а потому что под node.js банально мало расширений и готовых библиотек и описывать то, что на пыхе вы сделаете в пару строк на node.js можно очень долго.
Суть затеи в том, что фактически используя node.js вы работаете с "монолитным сервером (прием-отдача) и интерпритатором (логика)". Задачи в которых его использовать целесообразно - указал выше. Можно перейти на данную технлогию, к примеру для веб-сервисов, когда пыха даже со всеми оптимизациями не дает требуемой производительности.
(Добавление)
OrmaJever пишет:

Ну если это так то понятно. Помоему если он однопоточный то даже для простых вычислений он не годится Растерялся

Это не так... . Нужно помнить что идет разбивка на неограниченно число потоков, отрабатывающих разные запросы. Тов. caballero неверно интерпретировал принципы написания асинхронного кода в node.js (и возможно имеет место путаница понятий процессов и потоков). Логику распараллеливания обработки запросов node.js вы также можете описывать.
Логика организации обработки ресурсоемких запросов в node.js хорошо объясняется тут http://habrahabr.ru/post/112742/

(Отредактировано автором: 16 Апреля, 2013 - 11:21:50)

 
 Top
caballero
Отправлено: 16 Апреля, 2013 - 11:45:16
Post Id


Активный участник


Покинул форум
Сообщений всего: 5979
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Это неверное утверждение.
На node.js работают мгновенные сообщения Вконтакте.

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

Цитата:
Нужно помнить что идет разбивка на неограниченно число потоков, отрабатывающих разные запросы.

тогда чем от отличается от PHP который точно так же работает в разных потоках.

Цитата:
Логику распараллеливания обработки запросов node.js вы также можете описывать.

распаралеливание имет смысл если это реальное распаралеливание на реальных потоках процесора и не имитация.
конечно можно выстроить очередь так что бы мелкие запросы имели приоритет. Но зачем тогда вообще эти танцы с бубном.
Имхо после распространения нормалных вебсокетов и их поддержки в PHP всякие костыли начиная от кометов и заканчивая нодой будут не у дел.


-----
Open Source учетная система http://zippy[dot]com[dot]ua/
 
 Top
Zuldek
Отправлено: 16 Апреля, 2013 - 12:14:41
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2123
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Цитата:
Имхо после распространения нормалных вебсокетов и их поддержки в PHP всякие костыли начиная от кометов и заканчивая нодой будут не у дел.

Об том и речь, что сравнению можно подвергать только голые PHP и node.js, но кто из нас использует их без расширений?
Та же библиотека libev реализущая цикл событий в node.js доступна для PHP. Разница в том, что она в него интегрирована изначально.
На данный же момент выше были указаны типы задач в которых node.js показывают большую производительность чем традиционные реализации на php. Ключ в выборе технологии здесь - конкретная задача (прим. месседжер для крупного портала или сс), для которой, к примеру php после всех оптимизаций не показывает должной производительности и вместо подключения ещё нескольких расширений целесообразнее реализовать весь конкретный сервис на одном языке, к примеру серверном javascript в виде node.js.

(Отредактировано автором: 16 Апреля, 2013 - 12:19:46)

 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Другие языки программирования »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB