Pull to refresh
38
0
Борис Николаев @devmark

Backend developer

Send message

RabbitMQ. Часть 3. Разбираемся с Queues и Bindings

Reading time8 min
Views157K

Queue (очередь) — структура данных на диске или в оперативной памяти, которая хранит ссылки на сообщения и отдает их копии consumers (потребителям). Queue представляет собой Erlang-процесс с состоянием (где могут кэшироваться и сами сообщения). 1 тысяча очередей может занимать порядка 80Mb.


Binding (привязка) — правило, которое сообщает обменнику в какую из очередей должны попадать сообщения.

Читать дальше →

RabbitMQ. Часть 1. Introduction. Erlang, AMQP

Reading time4 min
Views249K

Добрый день, Хабр! Хочу поделиться учебником-справочником знаний, которые мне удалось собрать по RabbitMQ и сжать в короткие рекомендации и выводы.

Читать дальше →

RabbitMQ. Часть 2. Разбираемся с Exchanges

Reading time7 min
Views203K

Exchange — обменник или точка обмена. В него отправляются сообщения. Exchange распределяет сообщение в одну или несколько очередей. Он маршрутизирует сообщения в очередь на основе созданных связей (bindings) между ним и очередью.


Exchange не является Erlang-процессом. Из соображений масштабируемости exchange — это строка (ссылка на модуль с кодом, где лежит логика маршрутизации) во встроенной базе данных mnesia. 1 тысяч обменников будут потреблять всего 1МБ памяти.

Читать дальше →

Как сделать Telegram-бота умнее: пошаговый гайд на Spring AI и Kotlin

Level of difficultyEasy
Reading time11 min
Views7.4K

Перед вами ещё один гайд о том, как написать свой telegram-бот, который взаимодействует с нейросетью. Мы напишем его таким образом, чтобы с нейросетью можно было вести диалог, т.е. рассмотрим, как сохранять контекст между сообщениями. Но таких гайдов, особенно для Python, уже написано немало. Поэтому напишем его на новом фреймворке Spring AI из эксосистемы Spring. А чтобы совсем было интересно - писать будем на Kotlin)

Читать далее

Как я случайно превратила свой сокращатель ссылок в приманку для мошенников

Level of difficultyMedium
Reading time7 min
Views62K

Пару месяцев назад я запустила сервис y.gy, навороченный сокращатель URL. Вызвано это было личной нуждой: в другом моём проекте, getwaitlist.com, используется множество реферальных ссылок, а доступные сервисы сокращения url не внушали мне доверия. В итоге я решила создать собственный инструмент, который наверняка окажется полезен не только мне.

Я разработала лучший в своём роде сокращатель со всеми возможными примочками, начиная с обширной кастомизации и заканчивая хорошей аналитикой трафика. Это всё, что мне было нужно. По аналогии со многими аналогичными инструментами я разместила интерфейс «Shorten Link» по центру домашней страницы. Регистрация для использования сервиса не требуется. Я сделала доступ бесплатным и неограниченным, опираясь на принцип: «бесплатность – лучшая маркетинговая стратегия». Закончив с настройкой, я без громких заявлений сделала релиз и начала потихоньку продвигать свой проект.
Читать дальше →

Хроники пикирующего бота или как важно не пропускать стадию QA в проектах

Level of difficultyEasy
Reading time4 min
Views2.1K

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

Читать далее

Python — серьезный язык для разработки backend

Reading time13 min
Views77K

Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчиков и обсудить все основные претензии, которые очень давно следуют за языком по пятам.

Читать далее

Как начать программировать в парах

Reading time6 min
Views10K
Привет. Меня зовут Дима Вдовин. В предыдущей статье я излагал теорию о парном программировании и говорил о том, какие плюсы вижу в этом подходе. Сегодня я бы хотел продолжить эту тему и поговорить о том, как начать практиковать парное программирование у себя в команде. Полный перечень всех плюсов есть в предыдущей статье, а тут мы просто тезисно вспомним, что нам дает парное программирование.

  • Обучение и онбординг новичков.
  • Шеринг кода/процессов и обмен опытом.
  • Пара решает проблему быстрее и реже обращаются за помощью.
  • Повышение производительности.
  • Сплочение коллектива.
  • Увеличение скорости ревью.

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


Но давайте начнем с грустного и поговорим о том, что может помешать начать внедрять парное программирование в своей команде.
Читать дальше →
2

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity