Блог Makeomatic: разработка сайтов и мобильных приложений

Node.js

Работа с потоками в node.js

| Категории: Node.js, Javascript
Andrey Afoninsky

Работа с потоками в node.js

Данный документ является вольным переводом stream-handbook и охватывает основы создания node.js приложений с использованием потоков. По сравнению с источником - обновлены некоторые главы с учетом 2016 года, добавлено объяснение различий между разными версиями API, убраны устаревшие модули и добавлены новые, изменена структура повествования.

Социальная сеть для путешественников — новый формат

Часть 1

| Категории: Node.js, AngularJS, ElasticSearch
Eleonora Pavlova

f4f

До наступления 2016 года остаются считанные дни — самое время подвести итоги. Для нас в Makeomatic уходящий год был продуктивным. Не нарушая сложившейся традиции, в сентябре мы всей командой посетили конференцию NodeConf, проходившую в замке Уотерфорд в Ирландии (было здорово, но роботов в этот раз не хватало).

10 типичных ошибок Node.js разработчиков (Часть 2)

Часть 2

| Категории: Node.js, Javascript
Eleonora Pavlova


10 mistakes Node.js2


ОШИБКА #6 Отлавливание ошибок внутри колбэков

Как и в большинстве традиционных языков программирования (C++, Java), Javascript поддерживает обработку исключений и отлавливает их с помощью блока «try – catch»:

10 типичных ошибок Node.js разработчиков

Часть 1

| Категории: Node.js, Javascript
Eleonora Pavlova


Иллюстрация блокнота


С момента выхода Node.js, многие разработчики удостаивали его высоких похвал, многие жёстко критиковали. Подобные «холивары», вероятно, не прекратятся никогда. Важно в этих спорах то, что любую платформу и любой язык программирования критикуют за определённые слабые места, которые всегда обусловлены тем, как мы используем данный инструмент.

Elasticsearch - наш ответ бюрократическим проволочкам в международной доставке!

Решение, способное эффективно искать товар среди тысяч таможенных норм и правил. Десятилетия проблем мы превратили в ничтожные секунды поиска необходимой информации.

| Категории: Node.js, AngularJS, ElasticSearch, ItProjects
Anna Amineva

Иллюстрация блокнота

Решать проблемы, с которыми ежедневно сталкиваются люди и компании, независимо от их сложности, стало обыденной практикой для нас в Makeomatic. Но когда к нам за помощью обратился клиент, с более чем 15-ти летним опытом в оказании услуг международной доставки, мы оказались в тупике. У нас не было даже представления о том, насколько сложным, запутанным и обманчивым может стать процесс отправки чего-либо за рубеж.
Потребовалось значительное время, чтобы подробно изучить эту область и предложить клиенту решение. Мы решили положится на высокие технологии, такие как Elasticsearch, Angular.js и Node.js. В результате нам удалось получить простую систему поиска кодов системы описания и кодирования товаров.

Доставка за границу - лучше, чем когда-либо!

Сервис международной доставки без головных болей

| Категории: Node.js, AngularJS, ElasticSearch, ItProjects
Анна Аминева

Иллюстрация блокнота

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

Nodeconfeu 2013

Путешествие компании Makeomatic

| Категории: Node.js, Жизнь компании
Виталий Аминев

Высадка на остров Nodeland

В прошлом году, когда нашей компании было чуть больше года от роду, мы приняли решение
поощрять наших лучших сотрудников поездками на профильные конференции. Первой
конференцией в нашем списке стала nodeconfeu.com.

Почему Ирландия?

Во-первых, отличный состав спикеров и увлекательные доклады на повестке. Чего только стоит послушать Айзека (Isaac Schlueter), Шо (Daniel Shaw) и Тревора (Trevor Norris).

Во-вторых, мы никогда не были в Ирландии.

Итак, визы получены, чемоданы запакованы. Небольшой перелет с пересадкой в Нидерландах и мы на месте.
Смотрите как это было.

Совместное использование модулей между NodeJS и AngularJS

| Категории: Node.js, AngularJS
Анна Аминева

Иллюстрация блокнота
Gist: https://gist.github.com/sevcsik/9207267

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

RabbitMQ: Простая и эффективная очередь сообщений

что такое RabbitMQ и его применение

| Категории: Node.js, RabbitMQ
Дмитрий Горбунов

В этой статье рассмотрим, как работает RabbitMQ, а также как и для чего её можно использовать в проектах на Node.js

Очереди сообщений

Что такое очередь сообщений (message queue)? Это некая структура данных, которая обеспечивает хранение и передачу двоичных данных (blobs) между различными участниками системы. Очереди сообщений практически всегда используются в крупных системах, благодаря важным преимуществам.

  • Независимость компонентов системы друг от друга. Благодаря использованию очереди, компоненты взаимодействуют через некий общий интерфейс, но ничего не знают о существовании друг друга.
  • Экономия ресурсов достигается вследствие возможности разумно распределять информацию, поступающую в очередь от одних процессов, между другими процессами, осуществляющими её обработку. Кроме того, благодаря тому, что нет необходимости промежуточного хранения необработанных данных, достигается дополнительная экономия ресурсов.
  • Надежность очередей достигается благодаря возможности накапливать сообщения, амортизируя недостаток вычислительных возможностей системы, а также благодаря независимости компонентов. Помимо этого очередь может аккомодировать сбои отдельных компонентов, осуществляя доставку «опоздавших» сообщений после восстановления.
  • И, наконец, гарантия последовательной обработки, позволяющая точно контролировать потоки данных в системе и запускать асинхронную обработку там, где это необходимо, не беспокоясь, что одна операция выполнится раньше другой, от результата которой она зависит.

Учитывая огромную важность очередей для надёжных и гибких систем обработки данных, была даже разработана спецификация протокола — AMQP, на основе которой разрабатывается несколько приложений, выполняющих функцию очереди — так называемых «брокеров». Аналогия с биржевыми процессами будет прослеживаться и в дальнейшем. Мы рассмотрим брокер RabbitMQ, авторами которого и создан протокол AMQP.