Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > Общие вопросы Web
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 27.01.2016, 19:11   #21
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

Цитата:
Сообщение от Romeo4755 Посмотреть сообщение
Спасибо за информацию, то есть код требует компиляции, не очень-то это ЯС. И в каком он виде после компиляции? Уже не скрипт - исполняемый файл какого формата?
Он не компилируется, а интерпретируется. Постараюсь сейчас чуть-чуть описать.

Вот был у нас браузер, был в нем javascript, тут чел подумал и решил что почему-бы нам всю красоту и гибкость javascript не заставить работать на сервере. Собственно, в виду того, что javascript должен исполняться в какой-то среде, в нашем случае браузер, надо это как-то заставить работать и на сервере, но без свистоперделок браузера. Собственно выпилил v8, вот ему и среда, по-этому он и интерпретируется. Как тот же php например (это если грубо)
CodeNOT вне форума Ответить с цитированием
Старый 27.01.2016, 19:12   #22
Romeo4755
Пользователь
 
Регистрация: 27.01.2016
Сообщений: 15
По умолчанию

Цитата:
Сообщение от CodeNOT Посмотреть сообщение
сама суть асинхронности для php разработчиков сложна в понимании потому что не привыкли что сервер может что-то отправить без запроса от клиента.
Тут как раз ничего сложного, особенно если возникает потребность поступления информации в браузере без участия юзера, наоборот, автор сайта ищет возможности для появившейся задачи. Особенно при знакомстве с объектным программированием. Только асинхронность и принятие информации без запроса - разные вещи. Асинхронность - это, практически выражаясь, многозадачность (контроль последовательности), а отправка запроса сервером - вопрос инициации контакта.

Так виртуальные сервинги бывают и бесплатные?
Romeo4755 вне форума Ответить с цитированием
Старый 27.01.2016, 19:19   #23
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

Цитата:
Сообщение от Romeo4755 Посмотреть сообщение
Тут как раз ничего сложного, особенно если возникает потребность поступления информации в браузере без участия юзера, наоборот, автор сайта ищет возможности для появившейся задачи. Особенно при знакомстве с объектным программированием. Только асинхронность и принятие информации без запроса - разные вещи. Асинхронность - это, практически выражаясь, многозадачность (контроль последовательности), а отправка запроса сервером - вопрос инициации контакта.
я конечно может что-то путаю но разве асинхронность не подразумевает под собой рассинхронизацию? Стандартная модель нам говорит о том, что запрос пришел, мы его сразу обрабатываем. Асинхрон говорит, что запрос пришел, а мы его обработает когда обработаем и отдадим ответ. Но я не понимаю под этим термином многозадачность. Может я не прав, тогда требую пояснения
CodeNOT вне форума Ответить с цитированием
Старый 27.01.2016, 20:17   #24
Romeo4755
Пользователь
 
Регистрация: 27.01.2016
Сообщений: 15
По умолчанию

Цитата:
Сообщение от CodeNOT Посмотреть сообщение
я конечно может что-то путаю но разве асинхронность не подразумевает под собой рассинхронизацию? Стандартная модель нам говорит о том, что запрос пришел, мы его сразу обрабатываем. Асинхрон говорит, что запрос пришел, а мы его обработает когда обработаем и отдадим ответ. Но я не понимаю под этим термином многозадачность. Может я не прав, тогда требую пояснения
Нет, минуточку, асинхронные запросы у нас были давно реализованы Аяксом, разве не так? Ajax может принимать задание клиента, не дожидаясь пока выполнит предыдущий (т.е. может иметь в работе несколько запросов) - у него А в названии значит "асинхронный".
Плохо написала - АяксЫ могут принимать запросы. Не одна функция на сервере обрабатывает несколько запросов, в а принятый от клиента запрос (HttpRequest) не мешает отправке других запросов.
При этом обеспечить инициацию запросов сервером Аякс не может - из-за чего весь сыр-бор про Сокеты, Ноды, шмоды, Экспрессы и бог чего еще. Аякс работает только на запросах, отправленных клиентом.
То есть, если клиент ввел "Меня зовут Маша" и нажал на кнопочку (или даже не нажал - скажем, событием было onchange в окошке ввода) - сервер через н миллисекунд может ответить "А меня Саша". А если юзер ничего не нажимал - сервер ничего ему сказать не может. Например, примеры про красивое перетаскивание элементов с помощью Аякса - они все включают нажатие книпки "Обновить" в браузере. Голосование - нажатие на кнопку "Голосовать" и пр.

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

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

Последний раз редактировалось Romeo4755; 27.01.2016 в 20:36.
Romeo4755 вне форума Ответить с цитированием
Старый 27.01.2016, 20:51   #25
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

Цитата:
Сообщение от Romeo4755 Посмотреть сообщение
Нет, минуточку, асинхронные запросы у нас были давно реализованы Аяксом, разве не так? Ajax может принимать задание клиента, не дожидаясь пока выполнит предыдущий (т.е. может иметь в работе несколько запросов) - у него А в названии значит "асинхронный".
Плохо написала - АяксЫ могут принимать запросы. Не одна функция на сервере обрабатывает несколько запросов, в а принятый от клиента запрос (HttpRequest) не мешает отправке других запросов.
При этом обеспечить инициацию запросов сервером Аякс не может - из-за чего весь сыр-бор про Сокеты, Ноды, шмоды, Экспрессы и бог чего еще. Аякс работает только на запросах, отправленных клиентом.
То есть, если клиент ввел "Меня зовут Маша" и нажал на кнопочку (или даже не нажал - скажем, событием было onchange в окошке ввода) - сервер через н миллисекунд может ответить "А меня Саша". А если юзер ничего не нажимал - сервер ничего ему сказать не может. Например, примеры про красивое перетаскивание элементов с помощью Аякса - они все включают нажатие книпки "Обновить" в браузере. Голосование - нажатие на кнопку "Голосовать" и пр.

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

дак мы сейчас говорим не про браузер и frontend (если говорит на то, то временами в сети нахожу сайты где даже iframe запросы слали(генерили их прямо на странице) на сервер, без использования ajax. А то что я в callback могу засунуть что угодно (и даже небо) это всем известно) а про backend.

Если описывать грубо и на пальцах, возьмем за пример php (побоюсь говорить про другие, так как с ними знаком поверхностно). Потоков нет, ответ от сервака в любом случае должен придти.
Вот только после того как я сказал слово потоки. не надо мне в пример приводить fpm, так один фиг стартует процесс, это костыль.
И что мы делали до этого, делали очереди, и кроновые задачи в которых обрабатывали эту очередь. Т.е. костыль на костыле.

Нода же нам говорит вот что, от чувака пришел запрос, мы ему в ответ бросаем callback и мол дальше выполняем что нам надо (мол подождите пару минут и так далее).

Плохо что я на человеческий язык перевести не могу как это воркает, по-этому думаю путаницу тут устроил. Прошу прощения
CodeNOT вне форума Ответить с цитированием
Старый 27.01.2016, 21:13   #26
Romeo4755
Пользователь
 
Регистрация: 27.01.2016
Сообщений: 15
По умолчанию

Цитата:
Сообщение от CodeNOT Посмотреть сообщение
Нода же нам говорит вот что, от чувака пришел запрос, мы ему в ответ бросаем callback и мол дальше выполняем что нам надо (мол подождите пару минут и так далее).
А разве коллбэки в данном случае - это не тот же запрос браузера только в профиль? Т.е. отсутствие инициативы со стороны сервера, а просто извращения на тему уже полученного от пользователя запроса?
Я рассматривала Node.js как способ обновлять информацию на странице, если, например, сервер ПОРОЖДАЕТ некоторые данные (или прет их с какого-то источника) и желает передать клиенту. Коллбэки - это же часть стандартного ПХП, нет?
Но что-то уже мне кажется лучше кометом справляться, я не профи, просто нужно сайт подправить..
Romeo4755 вне форума Ответить с цитированием
Старый 27.01.2016, 22:30   #27
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 3,469
По умолчанию

2 CodeNOT - да не скажи, если б разница была только в том что сервер инициировать может.... там глубже все... блокирующие и неблокирующие запросы... а понятие асинхронности - да - оно тут к серверу применяется а не к браузеру. Причем асинхронность - не многопоточность однозначно
ADSoft вне форума Ответить с цитированием
Старый 28.01.2016, 12:52   #28
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
2 CodeNOT - да не скажи, если б разница была только в том что сервер инициировать может.... там глубже все... блокирующие и неблокирующие запросы... а понятие асинхронности - да - оно тут к серверу применяется а не к браузеру. Причем асинхронность - не многопоточность однозначно
ну я понимать, что тут локи и всякие прелести, я описал лично свой профит от ноды, почему сейчас использую именно ее и я, если так можно сказать - рад.
CodeNOT вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Начало работы в Oracle XE 11 Dvoishnik Помощь студентам 0 16.11.2011 14:05
Начало работы с реестром! asdfads Windows 1 23.05.2011 09:55
AVR, начало работы wanes101 Микроконтроллеры, робототехника, схемотехника, 3D принтеры 6 09.01.2011 17:34
начало работы... zetrix PHP 1 29.10.2006 21:11