Рубрика «api» - 100

Всем привет!
Продолжаю перевод книги John Torjo «Boost.Asio C++ Network Programming».

Содержание:

В этой главе мы реализуем небольшое клиент/серверное приложение, которое, вероятно, будет самым простым клиент/серверным приложением. Это приложение эхо-сервер, который возвращает клиенту то, что тот ему написал, а затем закрывает соединение клиента. Сервер может работать с любым числом клиентов. Когда подключается новый клиент, он шлет сообщение. Сервер получает сообщение целиком и посылает его обратно. После этого он закрывает соединение.
Таким образом, каждый эхо-клиент подключается к серверу, посылает сообщение и читает то, что ответил сервер, убедившись, что это то же сообщение, которое он послал, заканчивает общение с сервером.
Сначала мы будем реализовывать синхронное приложение, а затем асинхронное, так что вы можете легко их сравнить:

«Boost.Asio C++ Network Programming». Глава 3: Эхо сервер/клиент

Здесь будет приводиться не весь код целиком, а только его части, весь код можно посмотреть по ссылке в конце статьи.
Читать полностью »

Всем привет!
Продолжаю перевод книги John Torjo «Boost.Asio C++ Network Programming». В этой части второй главы мы поговорим про асинхронное программирование.

Содержание:

  • Глава 1: Приступая к работе с Boost.Asio
  • Глава 2: Основы Boost.Asio
  • Глава 3: Echo Сервер/Клиент
  • Глава 4: Клиент и Сервер
  • Глава 5: Синхронное против асинхронного
  • Глава 6: Boost.Asio – другие особенности
  • Глава 7: Boost.Asio – дополнительные темы

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

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

Impress: многоцелевой сервер приложений для Node.jsНе смотря на заметные успехи, Node.js все еще остается специализированной технологией, которой преимущественно закрывают узкие места в системах, написанных в другом стеке технологий. Причина такого положения кроется в том, что сама по себе нода не имеет многих библиотек, к которым мы привыкли на других языках и которые обеспечивают быструю разработку именно прикладного ПО. Например, для того, чтобы разделить в коде обработчики разных URL, отдавать статические файлы, организовывать сессии, запускать нескольких потоков, иметь доступа к БД, кешировать данные в памяти, разграничивать права пользователей, иметь логи и ротировать их, создавать сетевое API, рендерить шаблоны, настраивать URL-реврайтинг, обеспечивать быструю доставку событий с сервера на клиенты, для всего этого, и многих других задач, используются отдельные библиотеки (модули). Разные модули написаны разными разработчиками, сложно стыкуются, конфликтуют. В общем, мы решили, весь этот набор обязательного функционала, необходимого практически в каждом веб-приложении, объединить в один сервер приложений и повысить, таким образом, связанность кода, сделать ядро сервера приложений монолитным и более согласованным, чем решения, собранные из отдельных библиотек. Проект Impress уже анонсировался как прототип, а сейчас предоставляет весь необходимый арсенал для быстрой разработки приложений, что протестировано на десятке живых проектов. Impress значительно отличается от другой широко распространенной платформы так же, как импрессионизм отличается от экспрессионизма, то есть, производит целостное, хорошо продуманное эстетическое впечатление, в противоположность внезапному выбросу эмоций. Но мы, не вовлекаясь в критику чужого кода, перейдем к демонстрации конструктивных особенностей Impress.
Читать полностью »

До настоящего времени инфраструктура Feedly работала примерно с 50 RSS-приложениями, но теперь компания снимает всякие ограничения и открывает API для всех разработчиков.

Feedly открыл API для всех RSS клиентов

Любой RSS-ридер или мобильное приложение может использовать бэкенд Feedly для доступа к миллионам фидов и синхронизации через Cloud API.
Читать полностью »

Сегодня, в день релиза нового jQuery плагина для сервиса КЛАДР в облаке, я хочу показать как можно быстро сделать форму для ввода адреса с автодополнением и валидацией.

Делаем форму для ввода адреса
Читать полностью »

Негласным лозунгом 2ГИС можно сделать «От забора и до обеда». Он очень точно отражает то, что у нас есть — вся полезная информация о городе. Для одних пользователей это могут быть заборы, для других — точное время работы, для третьих — что-то ещё.

За то, что мы актуальны, точны и знаем практически всё о компаниях, нас и любят. К сожалению, не у всех эта любовь является искренней. Есть пользователи, которые решили, что 2ГИС можно использовать в своих корыстных целях и во вред другим. Нас это не устраивает, поэтому мы решили если не покончить с этим, то сделать жизнь таких пользователей максимально сложной.

Речь, конечно же, о спамерах. Под катом небольшая история про исчезновение адресов e-mail в онлайн-версии, API и то, что будет дальше.
2ГИС — отдельно, спамеры — отдельно
Читать полностью »

Я, будучи разработчиком мобильных приложений, часто нуждаюсь в backend-сервисах для хранения пользовательских данных, авторизации и прочего. Конечно, для подобных задач можно использовать BaaS (Parse, Backendless, etc…). Но свое решение — это всегда более удобно и практично.

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

В данной статье будет рассмотрено построение REST API для мобильного приложения на Node.js с использованием фреймворка Express.js и модуля Mongoose.js для работы с MongoDB. Для контроля доступа прибегнем к технологии OAuth 2.0 с помощью модулей OAuth2orize и Passport.js.

Пишу с позиции абсолютного новичка. Рад любым отзывам и поправкам по коду и логике!

Содержание

  1. Node.js + Express.js, простой web-сервер
  2. Error handling
  3. RESTful API endpoints, CRUD
  4. MongoDB & Mongoose.js
  5. Access control — OAuth 2.0, Passport.js

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

Автор: Дэвид Фишман

Хотите зарабатывать деньги с OpenStack? Поздравляем и добро пожаловать в клуб.

“Как вы продаете продукты и услуги в рыночной нише, которую занимает OpenStack?” — этот вопрос нам задают очень часто. Поэтому в этой статье я зафиксировал некоторые факты – чтобы помочь вам начать работу, а также возможно дать удачный маркетинговый ход, если вы уже работаете.Читать полностью »

Всем привет!
Продолжаю перевод книги John Torjo «Boost.Asio C++ Network Programming». Вторая глава получилась большая, поэтому разобью ее на две части. В этой части мы поговорим именно про основы Boost.Asio, а во второй части речь пойдет про асинхронное программирование.

Содержание:

  • Глава 1: Приступая к работе с Boost.Asio
  • Глава 2: Основы Boost.Asio
    • Часть 1: Основы Boost.Asio
    • Часть 2: Асинхронное программирование
  • Глава 3: Echo Сервер/Клиент
  • Глава 4: Клиент и Сервер
  • Глава 5: Синхронное против асинхронного
  • Глава 6: Boost.Asio – другие особенности
  • Глава 7: Boost.Asio – дополнительные темы

В этой главе мы рассмотрим то, что вам обязательно знать, используя Boost.Asio. Мы углубимся в асинхронное программирование, которое намного сложнее, чем синхронное и гораздо более интересное.

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

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

Речь пойдет о самых основных API, без которых нашим клиентам пришлось бы учить китайский (и английский), и подбирать товары не в едином удобном интерфейсе, а оформлять заказы «кидая ссылки на товары», как это реализовано на некоторых других площадках.
API сервисы Mangomag.ru
Список API, о которых и пойдет речь:

1) Сервис перевода с китайского и английского на русский;
2) API Ebay;
3) API Amazon;
4) API Taobao;
5) API Aliexpress;
6) Сервис отслеживания посылок.
Читать полностью »


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