Pull to refresh
0
0
Денис Бондарь @denisbondar

Пользователь

Send message

Лучшие практики для надёжной работы с RabbitMQ

Level of difficultyEasy
Reading time13 min
Views19K

Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.

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

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

Следуй за белым кроликом
Total votes 58: ↑58.5 and ↓-0.5+59
Comments16

Архитектура высоконагруженных телеграм-ботов на Python

Level of difficultyMedium
Reading time22 min
Views23K


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

Мессенджеры стали нашими неотъемлемыми спутниками, а их потенциал не ограничивается простым обменом сообщениями. Боты обеспечивают автоматические решения задач, которые ранее требовали участия человека. Они работают как виртуальные ассистенты, способные отвечать на вопросы, предоставлять информацию, обрабатывать заказы, делать рекомендации и многое другое.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments13

Рендеринг на сервере и HTMX — это будущее

Level of difficultyMedium
Reading time14 min
Views38K

Современная ситуация с разработкой веб-приложений


Сегодня пользователи ожидают от веб-приложений плавной работы без перезагрузок страниц. К сожалению, эти ожидания обычно реализуются в виде одностраничных приложений (single-page application, SPA), использующих библиотеки и фреймворки наподобие React и Angular. Эти фреймворки очень специализированы и с ними может быть трудно работать.

Новый подход заключается в том, чтобы вернуть возможность реализации этого UX в руки инженеров, разрабатывавших веб-сайты до возникновения безумия SPA, используя готовые наборы инструментов и знания. HTMX — лучший пример такого подхода из тех, что я видел.
Читать дальше →
Total votes 81: ↑72 and ↓9+63
Comments146

Оптимизация OneToMany коллекций Doctrine

Reading time13 min
Views4.6K

В этой статье будет показан пример того, как уменьшить количество запросов к базе данных до одного при работе с коллекциями сущностей иерархической структуры в контексте PHP и Doctrine ORM. Полный пример решения вы можете посмотреть в специальном репозитории. Статья основана на решении проблемы из обсуждения на StackOverflow.

Поехали!
Total votes 12: ↑12 and ↓0+12
Comments9

Цвет: от шестнадцатеричных кодов до глаза

Reading time16 min
Views53K


Почему мы воспринимаем background-color: #9B51E0 как этот конкретный фиолетовый цвет?



Долгое время я думал, что знаю ответ на этот вопрос. Но хорошенько поразмыслив, осознал значительные пробелы в своих знаниях.
Читать дальше →
Total votes 104: ↑104 and ↓0+104
Comments27

Мультиван и маршрутизация на Mikrotik RouterOS

Reading time30 min
Views233K
Адаптировано под ROS6 и ROS7. Редакция от 28.12.2021

Введение


Статья ориентирована на начинающих администраторов Mikrotik RouterOS (далее ROS). В ней рассматривается маршрутизация с резервированием для нескольких не связанных multihomed AS каналов интернет, работающих по протоколу IPv4. Так же есть настройки для обеспечения базовой безопасности. «Автоматическая» балансировка исходящего трафика по каналам в данной статье не описана по причине того, что ее реализация на таких исходных данных — это череда компромиссов и ограничений, требующая отдельного рассмотрения. Инструментарий для «ручной» балансировки в статье содержится и приведенные настройки являются хорошей базой для добавления «автоматической» балансировки, как минимум полудюжиной способов.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments24

Применение биполярных транзисторов с микроконтроллерами

Level of difficultyMedium
Reading time10 min
Views45K

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

Читать далее
Total votes 100: ↑100 and ↓0+100
Comments77

Почему любой Android снимает видео хуже iPhone?

Reading time10 min
Views134K

Привет, камрады, киноделы и просто читатели! 

Некоторые из вас меня знают как разработчика Андроид-приложения mcpro24fps, предназначенного для профессиональной видеосъёмки на телефон. И сегодня я бы хотел обсудить такую тему: «Почему iPhone остается лидером в видеосъёмке?»

Читать далее
Total votes 259: ↑243 and ↓16+227
Comments716

Переход с iptables на nftables. Краткий справочник

Reading time18 min
Views107K
image

В Debian теперь нет iptables. Во всяком случае, по умолчанию.

Узнал я об этом, когда на Debian 11 ввёл команду iptables и получил “command not found”. Сильно удивился и стал читать документацию. Оказалось, теперь нужно использовать nftables.

Хорошие новости: одна утилита nft заменяет четыре прежних — iptables, ip6tables, ebtables и arptables.

Плохие новости: документация (man nft) содержит больше 3 тысяч строк.

Чтобы вам не пришлось всё это читать, я написал небольшое руководство по переходу с iptables на nftables. Точнее, краткое практическое пособие по основам nftables. Без углубления в теорию и сложные места. С примерами.
Читать дальше →
Total votes 126: ↑126 and ↓0+126
Comments46

Перехватываем цифровые радиопереговоры, или куда едут экипажи в 5 утра

Reading time9 min
Views102K

Шел апрель 2020 года, ковидная пандемия набирала обороты. Местные власти объявили "карантин", и от скуки сидения дома в один из дней мне пришла в голову мысль разобрать завалы хлама в старой квартире. В одной из коробок мне попался ноунеймовый USB DVB-тюнер на чипе RTL2832U с Алиэкспресса, и тут я призадумался. Вспомнилось, что много-много лет назад я игрался с ним и в эфире можно было услышать много интересного. "А почему бы не поиграться еще раз?" — возникла в голове мысль, которая и положила начало этой истории.

Читать далее
Total votes 146: ↑144 and ↓2+142
Comments77

Большой тест батареек CR2032

Reading time2 min
Views133K
Цены на разные литиевые батарейки CR2032 отличаются в десятки раз. Мне всегда было интересно выяснить, насколько дешёвые батарейки этого типа отличаются по ёмкости от дорогих и какие из них выгодней покупать.

Я протестировал 14 моделей и всё узнал.


Читать дальше →
Total votes 158: ↑158 and ↓0+158
Comments129

Мой MikroTik – моя цифровая крепость (часть 1)

Reading time10 min
Views115K
В статье рассмотрены различные подходы к организации практической безопасности сетей, построенных на оборудовании MikroTik, в том числе при помощи дополнительного открытого программного обеспечения, расширяющего имеющиеся штатные возможности, что в комплексе позволяет качественно администрировать сетевые средства, а также своевременно реагировать на различные угрозы информационной безопасности.
Читать дальше →
Total votes 91: ↑88 and ↓3+85
Comments101

Миниатюрный датчик качества воздуха на батарейке с e-ink экраном

Reading time6 min
Views27K
Приветствую всех читателей Habr! В своей сегодняшней статье, хочу рассказать вам о своем новом DIY беспроводном устройстве – датчике качества воздуха. Помимо оценки качества воздуха, датчик может оценивать уровень освещенности в помещении, температуру, влажность и атмосферное давление, на основе данных атмосферного давления, устройство может предсказывать прогноз погоды. Это полностью открытый проект.

Узнать подробности
Total votes 115: ↑106 and ↓9+97
Comments56

Защита от гнева богов. Устройства защиты от импульсных перенапряжений

Reading time17 min
Views50K
Продолжаем тему электроликбеза про устройства защиты, и этот пост — знакомство с устройствами защиты от импульсных перенапряжений (УЗИП). Это устройства для вашего электрощита, призванные бороться с кратковременными всплесками напряжения, например из-за грозы. Текст рассчитан для нетехнарей, так что добро пожаловать) Видеоверсия в конце.


Познакомиться с УЗИП
Total votes 87: ↑84 and ↓3+81
Comments64

Практическое руководство по анонимности в онлайне

Reading time9 min
Views182K

Направленная антенна для удалённого доступа к публичному Wi-Fi

Обеспечить собственную безопасность (анонимность) в онлайне — тяжкий труд, требующий массивного объёма знаний. Даже лучшие профессионалы не всегда справляются.

Но это возможно.

Предупреждение. Для усвоения информации в полном объёме требуется несколько недель.
Читать дальше →
Total votes 115: ↑106 and ↓9+97
Comments125

Как Unix-way убивает десктопный Linux

Reading time28 min
Views91K

Нет, конечно же, не убивает.
То, что мертво, умереть не может: доля линукса на десктопах колеблется около 2% уже много лет, и не имеет тенденций ни к росту, ни к падению, изменяясь на уровне статистической погрешности.

Как выглядит захват рынка конкурентоспособным продуктом, можно видеть на примере, например, Chrome: за 10 лет рост на 70%. Или Android: за 5 лет рост на 75%. А вот у Linux рост пол-процента в год, несмотря на то, что он, например, лучший из существующих вариантов для использования в качестве национальных/государственных ОС.

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

Причины этой ситуации, как ни странно, те же, что сыграли роль в популярности Linux на серверах: unix-way, "Философия Unix": "Пишите программы, которые делают что-то одно, и делают это хорошо, и имеют возможность получать и принимать данные через текстовый интерфейс (потому что он универсален)".

Там огромный лонгрид, я предупредил
Total votes 297: ↑253 and ↓44+209
Comments1859

Всё, о чём должен знать разработчик Телеграм-ботов

Reading time15 min
Views598K

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

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

Подробный гайд о том, как работать с ботами — под катом.

Читать далее
Total votes 127: ↑127 and ↓0+127
Comments73

Оптимизация запросов. Основы EXPLAIN в PostgreSQL

Reading time3 min
Views193K

Почему запрос выполняется так долго? Почему не используются индексы?
Наверное, все слышали об EXPLAIN в PostgreSQL. Но не так много тех, кто понимает, как его использовать. Сам длительное время не мог найти доступного для понимания учебника (плохо искал?).
Надеюсь, эта статья поможет желающим разобраться с этим замечательным инструментом.
Читать дальше →
Total votes 35: ↑24 and ↓11+13
Comments14

Декодируем сигнал метеоспутника NOAA в 50 строчек кода

Reading time5 min
Views20K
Привет, Хабр.

Продолжим тему декодирования различных видов радиосигналов. Одним из интересных форматов, разработанных еще в прошлом веке, является APT (Automatic Picture Transmission). Он используется для передачи изображений Земли из космоса, и что для нас гораздо более интересно и актуально, прием сигналов APT прост и доступен радиолюбителям.


Спутник NOAA © en.wikipedia.org/wiki/NOAA-15

Для тех, кому интересно, продолжение под катом.
Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments11

А что если перейти на Удобный Шестидневный календарь?

Reading time3 min
Views72K

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


Предложение по новому календарю


Примем, что в году 360 дней. В каждом месяце установим ровно по 30 дней. То есть 5 недель по 6 дней. Год начинается с понедельника, а каждый месяц будет начинается с понедельника и заканчивается субботой.


Оставшиеся 5 (в високосный год 6) дней находятся вне календаря. Назовём эту вневременную неделю "Предновогодней":


Число 360 имеет следующие простые делители 2 2 2 3 3 5, то есть очень удобно для вообще любых математических манипуляций, да и 360° всем известно.


Читать дальше →
Total votes 121: ↑104 and ↓17+87
Comments388

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity