Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «асинхронная»
[Из песочницы] Моя любимая особенность генераторов 2014-07-02 19:58:36
... что для каждой асинхронной функции, которую мы ... которую мы передаём асинхронным функциям как callBack ...
+ развернуть текст сохранённая копия
Уже ни раз на хабре писали о том, как работают новые генераторы и я даже не буду первым, кто напишет о их возможности приостанавливать своё выполнение инструкцией yield.
После прочтения статьи «Генераторы в node.js (новый способ борьбы с лапшой)» меня не покидала мысль о том, что можно обойтись без лапши-callBack'ов, но я никак не мог смириться с тем, что для каждой асинхронной функции, которую мы хотим вызвать, нужно писать функцию-обёртку.
И тут родилась идея! Очень простая, а суть её в том, что внутри генератора имеется ссылка на функцию n, которую мы передаём асинхронным функциям как callBack, приостанавливаем генератор при помощи yield, а затем наша функция n продолжает выполнение генератора, передавая в него массив, сформированный из аргументов, с которыми она была вызвана.
Заинтересованных прошу под кат.
Читать дальше →
Тэги: javascript, node.js, асинхронное, веб-разработка, лапша, программирование
Документация Mojolicious: Потерянные Главы 2014-06-30 15:45:35
...
Асинхронность: синхронизируем с помощью ... обеспечивающий для асинхронно выполняющихся ...
+ развернуть текст сохранённая копия
Это продолжение серии статей о веб-фреймворке для Perl — Mojolicious: первая часть.
Этот цикл статей предполагает, что читатель уже поверхностно знаком с фреймворком, и у него возникла потребность разобраться в деталях, которые либо не описаны в документации, либо описаны недостаточно подробно и понятно. Для начального ознакомления идеально подходит официальная документация (на английском).
Асинхронность: синхронизируем с помощью Mojo::IOLoop::Delay
Mojo::IOLoop::Delay предоставляет механизм, обеспечивающий для асинхронно выполняющихся callback-ов:
- описание последовательно выполняющихся операций без «лапши» callback-ов
- передачу результатов из callback-а(ов) текущего шага на следующий
- общие данные для callback-ов, объединённых в одну задачу
- синхронизацию групп callback-ов
- перехват и обработку исключений в callback-ах
Используемые термины:
- (асинхронная) операция — обычно это вызов асинхронной функции вроде таймера или выкачивания url, которой необходимо передать callback
- шаг — callback, который анализирует данные полученные с предыдущего шага (если это не первый шаг), и запускает одну или несколько новых операций, либо возвращает финальный результат (если это последний шаг)
- задача — список шагов, которые должны выполняться последовательно (т.е. следующий шаг вызывается только после того, как все операции запущенные на предыдущем шаге завершаются)
Альтернатива Promises
Это альтернативный подход к проблеме, обычно решаемой с помощью Promise/Deferred или Future. Вот приблизительное сравнение со спецификацией Promises/A+: Читать дальше →
Тэги: cheatsheet, mojo, mojolicious, perl, promises, web-разработка, асинхронное, веб-разработка, документация, программирование
[Перевод] Обработка ошибок в Node.js 2014-05-14 15:39:49
+ развернуть текст сохранённая копия
Данный пост содержит перевод статьи «Error Handling in Node.js», которую подготовили сотрудники компании Joyent. Статья была опубликована 28 марта 2014 года на сайте компании. Dave Pacheco поясняет, что статья призвана устранить неурядицу среди разработчиков, касаемо лучших практик работы с ошибками в Node.js, а так же ответить на вопросы, которые часто возникают у начинающих разработчиков.
Читать дальше →
Тэги: assert, best, domain, error, javascript, joyent, node.js, practices, try/catch, verror, асинхронная, веб-разработка, обработка, ошибок
uid.me — сервис личных страниц (технические детали inside) 2013-12-06 13:56:10
Добрый день, Хабр!
Мы хотим сделать обзорный пост, посвящённый ...
+ развернуть текст сохранённая копия
Добрый день, Хабр!
Мы хотим сделать обзорный пост, посвящённый нашему новому проекту. Обзор затронет как функционал, так и техническую часть, надеемся, это сделает статью интересной как профессиональным разработчикам, так и тем, кто читает Хабр с целью держать руку на пульсе Технологии.
Тем, кому интересна только техническая сторона проекта — рекомендуем сразу перейти ко второй части.
ЧАСТЬ 1. Лирическая
Мы — это команда разработки сервиса личных страниц uid.me.
Личная страница — это, например, вот так:
Читать дальше →
Тэги: javascript, mojolicious, mongodb, nosql, perl, sharding, ucoz, асинхронное, блог, веб-разработка, компании, программирование, сети, сообщества, социальные
Архитектура высоконагруженных приложений. Масштабирование распределенных систем. Часть вторая 2013-07-04 18:09:27
... ul>
— асинхронные задачи в распределенных ... подходы организации асинхронных задач используются в ...
+ развернуть текст сохранённая копия
На этой неделе мы выкладывали первую часть расшифрованного подкаста. Сейчас подготовили вторую часть.
О чем мы говорим во второй части подкаста:
- Горизонтальное масштабирование проекта
— когда стоит использовать облачные сервисы, а когда физический хостинг;
— «красивость решения» против «грязного, но производительного» кода. ORM и всякие подобные штуки;
— мультиязычность и мультизонность проекта, проблемы и решения.
- Асинхронные задачи. Очереди.
— асинхронные задачи в распределенных системах;
— когда они приходят на помощь, какие технологии существуют и активно развиваются сейчас;
— какие подходы организации асинхронных задач используются в Badoo;
— c какими проблемами приходилось и приходится сталкиваться при работе с очередями;
— полезные книги и интересные конференции;
— интересные кейсы с собеседований.
Читать расшифровку подкаста
Тэги: badoo, highload, mysql, orm, php, scribe, асинхронный, баду, блог, веб-разработка, деплой, задача, компания, мультиязычность, программирование
Главная / Главные темы / Тэг «асинхронная»
|
Взлеты Топ 5
Падения Топ 5
|