RabbitMQ — распределённый горизонтально масштабируемый брокер сообщений. Он разграничивает права доступа, поддерживает шифрование, сохранение сообщений на диск и работу в кластерах. Кроме того, он написан на Erlang, а значит, совместим с большинством популярных ОС. На примере кейсов Adidas и Laika разберём, как крупные компании используют RabbitMQ.
User
Проектируем интерфейс корзины в интернет-магазине: 138 гайдлайнов
Вы часто встречаете интернет-магазины, в которых нет корзины? Наверное, нет – корзина есть практически у всех, и через нее проходит практически весь трафик.
Разбираем 138 гайдлайнов в этой статье.
Как сделать работу с корзиной максимально удобной для клиента?
Проектируем фильтры в листинге товаров интернет-магазина: 155 гайдлайнов
Почти всегда фильтры – неотъемлемая часть листинга товаров. Без них мы просто заблудились бы в большинстве интернет-магазинов. И от того, насколько хорошо они спроектированы, сильно зависят конверсия и удовлетворенность клиентов.
Сегодня поговорим о проектировании функционала фильтрации – как всегда, детально и со множеством примеров.
Пишем приложение на Mi Band 7 с сервисной частью
Недавно я купил себе Mi band 7, по началу хотел купить 6-ую версию, пока не узнал, что на 7-ой обновилась операционная система и теперь она поддерживает установку приложений. Да, официально они об этом не заявили, но умельцы уже сделали множество приложений. Они ставят их как циферблаты, и это вполне обычные приложения. Но все эти приложения работают только локально на самом MiBand 7, не имея возможности взаимодействовать ни с телефоном, ни с интернетом. Я углубился в байткод приложения и документации по ZeppOS чтобы найти способ создавать приложения, взаимодействующие с интернетом, в этой статье я опишу свой путь. В итоге у меня получилось сделать запрос в интернет с часов и даже запустить мост для отладки приложений.
Автоматизация бизнес-процессов своими руками
У нас было: N различных систем, которые обращались друг к другу напрямую; M маркетологов, которые генерировали идеи, хотели проводить разные тесты и часто предлагали подключить какой-нибудь новый сервис; и K менеджеров по продажам, у которых было много рутинной работы.
Все это порождало проблемы по поддержке и ошибки человека.
Решение: автоматизация и инкапсуляция бизнес-процессов. Разработать систему, которая снимет с людей рутину и уменьшит количество ошибок, ускорит работу, которую будет просто поддерживать и масштабировать.
Как понять, что вашими отчетами в Metabase пользуются?
Разработка отчета, как и обычная разработка, стоит времени программиста. Информация о количестве просмотров отчетов, количестве активных пользователей и многих других метрик, связанных с BI, может повысить эффективность вашей команды аналитики и помочь правильно отслеживать КПД вашей аналитики. Такие метрики каждая команда определяет для себя сама. Чаще всего они связанны с использованием отчетов и пользователями, которые их просматривают. Метрики, которые используются в нашей команде, и как реализовать отчет с ними в Metabase, рассмотрим в этой статье.
Расширенное использование SSH
Протокол SSH v.2 является важной составляющей безопасных компьютерных сетей. Он криптографически надёжен, быстр, универсален и широко распространён. Многие крупные облачные провайдеры даже не пытаются заменить его каким-либо альтернативным, собственным решением, что подчёркивает его силу.
В этой статье я хочу продемонстрировать некоторые интересные и универсальные возможности протокола SSH и его реализации OpenSSH.
Мониторинг Raspberry Pi с помощью Zabbix
Благодаря доступности, небольшим размерам и энергопотреблению, а также возможности подключения различных периферийных устройств микрокомпьютер Raspberry Pi широко используется как для творчества, так и для серьезных применений.
К сожалению, с Raspberry Pi, как и с любым другим подобным устройством, могут возникать различные проблемы, от снижения производительности из-за перегрева до полного выхода из строя. В учебных или развлекательных проектах это не приведет к ощутимым последствиям. Но если Raspberry Pi установлен в системах, требующих надежной работы, необходим контроль работоспособности микрокомпьютера.
Для каких применений будет желателен мониторинг работоспособности Raspberry Pi?
Например, если на базе Raspberry Pi создан Web-сервер, который должен быть доступен круглосуточно, роутер, система видеонаблюдения, система умного дома, система контроля какого-либо оборудования или параметров, полученных от внешних устройств. Одно из подобных применений в сервисе SAAS интернет-магазинов — недорогой сервер управления онлайн-кассами, расположенный в офисах продаж.
В этой статье мы расскажем, как с помощью Zabbix можно организовать мониторинг работоспособности и производительности узла Raspberry Pi, контроль его напряжения питания и температуры. Также мы опишем простейшую систему обнаружения протечек воды, созданную с применением датчика MH-RD с контроллером YL-38, подключенного к шине GPIO Raspberry Pi, и сервера Zabbix.
Подключаем алфавитно-цифровой экран к VGA
Нет, это не шутка. В действительности к VGA, DVI, HDMI можно подключать различные устройства, и даже питать их. И это очень удобный способ работы с различными устройствами и нестандартное использование обычного интерфейса.
Ларчик просто открывается, всё дело в том, что в интерфейсе VGA (а также в других видеоинтерфейсах) присутствует ещё одна шина данных I²C, которая доступна для использования и её легко можно применить в своих самоделках.
Анализ трафика телеметрической информации Android смартфона
Сбор телеметрических данных о пользователях и их действиях в вебе и приложениях — плата за пользование «бесплатными» сервисами в Интернете. Пользователи расплачиваются своим вниманием и временем, проведёнными в данных сервисах и приложениях. Поэтому производители мобильных платформ, ИТ-компании, социальные сети заинтересованы в получении максимального объёма данных с устройств.
Если по отдельности данные телеметрии не представляют угрозы конкретному человеку, то их совокупность может дать очень много информации о человеке, его интересах, семье, работе. В то же время постоянная связь устройств с инфраструктурой ИТ-гигантов создаёт потенциальную угрозу утечек конфиденциальной информации или изучения окружения при помощи микрофонов и камер смартфонов.
В данной статье рассматривается вопрос о том, какую конкретно информацию смартфон передает на серверы вендоров.
Проверяем уровень защищённости Linux с помощью утилиты Lynis
Вы когда-нибудь задумывались о том, насколько безопасна ваша Linux-система? Существует множество дистрибутивов Linux (каждый со своими настройками по умолчанию), на которых вы запускаете десятки программных пакетов с разными номерами версий. Кроме того, на вашей ОС в фоновом режиме работает множество сервисов, о которых вы порой не знаете или не думаете.
Чтобы получить информацию о системе, то есть проверить общее состояние программного обеспечения, сети и служб, работающих на вашем компьютере с установленной ОС Linux, достаточно выполнить несколько команд. Но что теперь делать с полученной информацией? Как в ней разобраться? Ведь объём данных, которые вам нужно проанализировать, огромен.
Сравнение синтаксисов Vue JS
Сравнение разных синтаксисов Vue JS:
• Options API
• Composition API
• Class API
• Class API + vue-property-decorator (npm)
Алгоритмы для веб-разработчиков простыми словами (часть 2)
Здравствуйте, друзья!
Мы продолжаем разбирать максимально простым языком алгоритмы и структуры данных на JavaScript. И сегодня мы поговорим о, пожалуй, самом знаменитом алгоритме, про который слышал каждый разработчик — а именно о сортировке пузырьком (Bubble Sort).
Если вы еще не читали нашу первую статью (про алгоритмы поиска и Big O нотацию), то можете найти ее вот здесь.
А сейчас давайте перейдем к теме статьи.
Реализация Интернета вещей для промышленного оборудования простыми методами
На основе полученного опыта и личных предпочтений, хотелось реализовать проект в минимально необходимой конфигурации, без излишеств и легко развертываемый на любом сервере с Debian. При этом без экзотики, на основе MQTT и прочая. Так как обычно приходится осуществлять поддержку своих разработок, хотелось понадежнее и попроще.
Эту идею реализовал в работе, связанной с "умными" очистителями воздуха для помещений.
Фасад для python библиотеки
Для python существует множество различных библиотек, но часто бывает, что для конкретного проекта функционал какого-либо пакета - избыточен. В большинстве случаев необходимо вызывать лишь несколько постоянно повторяющихся методов, да и часть их аргументов не меняется от вызова к вызову.
В относительно простом приложении проблему константных аргументов можно решить при помощи functools.partial или вообще поместить повторяющийся код в отдельную функцию, но что, если даже в этом случае код со временем становится все более запутанным и сложным для читаемости?
На мой взгляд, неплохим выходом из ситуации служит использование объектно-ориентированного подхода, а именно написание некого класса "обвязки" с более простыми методами, инкапсулирующими в себе сложную логику обращения к оригинальной библиотеке.
Как мы решаем проблемы со склонением слов для задач seo-оптимизации с помощью phpMorphy
Как мы решаем проблемы со склонением для задач SEO-оптимизации с помощью phpMorphy.
Делимся решением!
Как мы обложились запросами и ускорили ElasticSearch: чиним товарный каталог СберМегаМаркет
Косметика в разделе с гаджетами, садовые лопаты в зоотоварах и непредсказуемо меняющиеся цены. Эти баги портили жизнь покупателям и сводили с ума разработчиков, ведь с ними ничего нельзя было поделать, но только до определенного момента.
Здравствуй, Хабр! Меня зовут Никита Вахрамеев, я работаю ведущим разработчиком в команде, которая занимается бэкендом витрины СберМегаМаркет. Основные направления нашей работы — листинги (каталоги товаров) и карточки товаров. В этом посте мы проведем небольшое расследование, погрузимся в нюансы шардирования и кэширования в ElasticSearch и исправим проблемы в каталоге на 16 миллионов товаров.
Внимание спойлер: индексы, во всем виноваты индексы!
Сказ об ООП, пиве, чае и дружбе
В статье присутствуют материалы, о которых обучающимся программированию рассказывают в самом начале. Когда я преподавал в GeekBrains, первый месяц курса по PHP был посвящен синтаксису, а вот второй как раз тем темам, о которых я буду говорить здесь. К сожалению, не помню, когда мне их преподавали в институте во время моего обучения на программиста, но, наверное, тоже где-то на первых курсах.
Во время подготовки этой статьи я опирался на свой опыт и на отрывки запомнившихся статей и книг. Здесь я выражаю только лишь свое мнение, с которым, конечно же, вы вправе не соглашаться. Любая критика, особенно конструктивная, приветствуется.
Цель статьи: напомнить нам, разработчикам, об основах и мотивировать нас уделять больше времени базовым, академическим знаниям и опыту наших предшественников. Они действительно помогают писать код лучше. Вовремя прочитанная книжка может сэкономить несколько лет неосознанных повторений своих же решений.
Программировать нужно осознанно.
REST API на основе Snake (Python, Mamba, Hydra и Fast API)
Сегодня я хочу попробовать что-то новое и начну исследовать мир Python. В этой статье представлен пошаговый туториал по реализации простого REST API при помощи Python, Fast API, Hydra и Mamba. Более того, я вкратце опишу, как упаковать всех этих змей в один образ Docker и заставить их работать вместе. Весь код выложен на моём GitHub.
Давайте начнём с кратного объяснения того, почему я решил выбрать эту тему.
Модульный PHP монолит: рецепт приготовления
Статья написана по мотивам моего доклада на митапе. В нем я рассказываю историю того, как мы взяли и не распилили монолит на микросервисы, и что сделали вместо этого.
На тот момент наша команда работала над приложением, начало которому было положено еще в 2009 году не искушенными в архитектуре студентами. К 2018 это уже был типичный big ball of mud (большой ком грязи), или, этакий «монолит-копролит», как выразился один наш коллега. Думаю, многим знакомо.
Information
- Rating
- Does not participate
- Location
- Казахстан
- Registered
- Activity