Метка «asynchronous»

Привет всем!

В данной статье я хотел бы поделиться с вами соображениями о том, как на практике можно использовать механизм работы с асинхронными процессами, предоставляемый библиотекой jQuery с версии 1.5 под названием deferred, «отложенный» (jQuery.Deferred), а также со связанными объектами и методами.

Разумеется, уже написан не один десяток статей на тему работы с парой deferred/promise. Своей же я задался целью предоставить такой набор знаний, который дал бы новичку, во-первых, возможность забыть о своих страхах перед непонятным и сложным и, во-вторых, сделать еще один шаг к написанию понятного и хорошо структурированного кода, работающего с асинхронными процессами. Я бы хотел сосредоточить свое и ваше внимание на проблемах, которые легко разрешаются ипользованием deferred, на предпосылках и типовых схемах использования этого объекта.
Читать полностью »

Centrifuge — так просто, как возможно, но не проще этого
Привет!

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

Суть отдельностоящих серверов рассылки сообщений в реальном времени такова, что клиенты из браузера должны подключиться к серверу, подписаться на нужные каналы и ждать сообщений из этих каналов.
Читать полностью »

Centrifuge набирает обороты Привет!

Пару месяцев назад я опубликовал на Хабре статью, посвященную описанию open-source проекта Centrifuge. Напомню, что это сервер рассылки сообщений подключенным клиентам (в основном из веб-браузера) в реальном времени. Написан на Python.

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

Читать полностью »

Доброе время суток! Я занимаюсь разработкой MMORPG. В игре асинхронной загрузкой файлов занимается файловая система встроенная в движок, остальная логика обрабатывалась в основном потоке. Но помимо загрузки файлов есть и другие тяжеловесные операции, например инициализация персонажа, которая включает в себя распарсивание XML данных, композиция текстур и т.д. И я столкнулся с необходимостью разгрузить основной поток игры для повышения fps.
Вооружившись гуглом и прочитав несколько последних статей на Хабре о потоках, решил попробовать свои силы и написать свой велосипед ThreadPool. Основной моей целью было написать простой в использовании и расширяемый пул потоков, с возможностью асинхронного вызова функций с любым количеством аргументов и получения возвращаемого значения. Предлагаемые на Хабре решения меня не устроили в силу многих проблем, от которых я постарался избавиться в своем решении – использовать минимум шаблонной магии и отказаться от абстрактных классов и наследования. Я хочу поделиться своим опытом с вами.

Читать полностью »

Привет!

В статье я опишу свой небольшой open-source проект — Centrifuge (далее Центрифуга). Это сервер на Python, задача которого — рассылка (broadcast) сообщений в реальном времени подключенным (в основном из браузера) клиентам.

Это будет история, наполненная как личными эмоциями, так и описанием используемых технологий, но без примеров кода. Если вам близка тема — не проходите мимо, будет любопытно.

Для начала, посмотрите, пожалуйста, скринкаст (не забудьте включить субтитры), если после просмотра интерес не пропадет, смело читайте дальше!


Читать полностью »

Те, кому приходилось разрабатывать более-менее большие web-проекты на node.js, наверняка сталкивались с проблемой обработки ошибок, произошедших внутри асинхронных вызовов. Эта проблема обычно всплывает далеко не сразу, а когда у вас уже есть много написанного кода, который делает нечто большее, чем выводит «Hello, World!».

Суть проблемы

Читать полностью »

image

В этой публикации я поставил перед собой несколько целей:

  • Сравнить разные стили программирования работы с БД Firebird в NodeJS;
  • Найти наиболее производительный вариант;
  • Получить в результате руководство к действию тем, кто начинает использовать Firebird в NodeJS.

Дальше много кода…
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js