Pull to refresh
-20
0

User

Send message

Как компании используют RabbitMQ

Reading time6 min
Views7.7K

RabbitMQ — распределённый горизонтально масштабируемый брокер сообщений. Он разграничивает права доступа, поддерживает шифрование, сохранение сообщений на диск и работу в кластерах. Кроме того, он написан на Erlang, а значит, совместим с большинством популярных ОС. На примере кейсов Adidas и Laika разберём, как крупные компании используют RabbitMQ. 

Читать далее
Total votes 17: ↑12 and ↓5+8
Comments10

Проектируем интерфейс корзины в интернет-магазине: 138 гайдлайнов

Reading time16 min
Views7.7K

Вы часто встречаете интернет-магазины, в которых нет корзины? Наверное, нет – корзина есть практически у всех, и через нее проходит практически весь трафик.

Разбираем 138 гайдлайнов в этой статье.

Как сделать работу с корзиной максимально удобной для клиента?

Читать далее
Total votes 8: ↑6 and ↓2+6
Comments2

Проектируем фильтры в листинге товаров интернет-магазина: 155 гайдлайнов

Reading time17 min
Views10K

Почти всегда фильтры – неотъемлемая часть листинга товаров. Без них мы просто заблудились бы в большинстве интернет-магазинов. И от того, насколько хорошо они спроектированы, сильно зависят конверсия и удовлетворенность клиентов.

Сегодня поговорим о проектировании функционала фильтрации – как всегда, детально и со множеством примеров.

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments0

Пишем приложение на Mi Band 7 с сервисной частью

Level of difficultyMedium
Reading time6 min
Views34K

Недавно я купил себе Mi band 7, по началу хотел купить 6-ую версию, пока не узнал, что на 7-ой обновилась операционная система и теперь она поддерживает установку приложений. Да, официально они об этом не заявили, но умельцы уже сделали множество приложений. Они ставят их как циферблаты, и это вполне обычные приложения. Но все эти приложения работают только локально на самом MiBand 7, не имея возможности взаимодействовать ни с телефоном, ни с интернетом. Я углубился в байткод приложения и документации по ZeppOS чтобы найти способ создавать приложения, взаимодействующие с интернетом, в этой статье я опишу свой путь. В итоге у меня получилось сделать запрос в интернет с часов и даже запустить мост для отладки приложений. 

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

Автоматизация бизнес-процессов своими руками

Reading time3 min
Views4.4K

У нас было: N различных систем, которые обращались друг к другу напрямую; M маркетологов, которые генерировали идеи, хотели проводить разные тесты и часто предлагали подключить какой-нибудь новый сервис; и K менеджеров по продажам, у которых было много рутинной работы.

Все это порождало проблемы по поддержке и ошибки человека.

Решение: автоматизация и инкапсуляция бизнес-процессов. Разработать систему, которая снимет с людей рутину и уменьшит количество ошибок, ускорит работу, которую будет просто поддерживать и масштабировать.

Узнать технические подробности
Total votes 5: ↑3 and ↓2+2
Comments4

Как понять, что вашими отчетами в Metabase пользуются?

Reading time4 min
Views3.7K

Разработка отчета, как и обычная разработка, стоит времени программиста. Информация о количестве просмотров отчетов, количестве активных пользователей и многих других метрик, связанных с BI, может повысить эффективность вашей команды аналитики и помочь правильно отслеживать КПД вашей аналитики. Такие метрики каждая команда определяет для себя сама. Чаще всего они связанны с использованием отчетов и пользователями, которые их просматривают. Метрики, которые используются в нашей команде, и как реализовать отчет с ними в Metabase, рассмотрим в этой статье.

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

Расширенное использование SSH

Reading time10 min
Views13K

Протокол SSH v.2 является важной составляющей безопасных компьютерных сетей. Он криптографически надёжен, быстр, универсален и широко распространён. Многие крупные облачные провайдеры даже не пытаются заменить его каким-либо альтернативным, собственным решением, что подчёркивает его силу. 

В этой статье я хочу продемонстрировать некоторые интересные и универсальные возможности протокола SSH и его реализации OpenSSH. 

Читать далее
Total votes 23: ↑20 and ↓3+20
Comments6

Мониторинг Raspberry Pi с помощью Zabbix

Reading time11 min
Views8.3K

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

К сожалению, с Raspberry Pi, как и с любым другим подобным устройством, могут возникать различные проблемы, от снижения производительности из-за перегрева до полного выхода из строя. В учебных или развлекательных проектах это не приведет к ощутимым последствиям. Но если Raspberry Pi установлен в системах, требующих надежной работы, необходим контроль работоспособности микрокомпьютера.

Для каких применений будет желателен мониторинг работоспособности Raspberry Pi?

Например, если на базе Raspberry Pi создан Web-сервер, который должен быть доступен круглосуточно, роутер, система видеонаблюдения, система умного дома, система контроля какого-либо  оборудования или параметров, полученных от внешних устройств. Одно из подобных применений в сервисе SAAS интернет-магазинов — недорогой сервер управления онлайн-кассами, расположенный в офисах продаж.

В этой статье мы расскажем, как с помощью Zabbix можно организовать мониторинг работоспособности и производительности узла Raspberry Pi, контроль его напряжения питания и температуры. Также мы опишем простейшую систему обнаружения протечек воды, созданную с применением датчика MH-RD с контроллером YL-38, подключенного к шине GPIO Raspberry Pi, и сервера Zabbix.

Читать далее
Total votes 8: ↑6 and ↓2+7
Comments6

Подключаем алфавитно-цифровой экран к VGA

Reading time5 min
Views16K

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

Ларчик просто открывается, всё дело в том, что в интерфейсе VGA (а также в других видеоинтерфейсах) присутствует ещё одна шина данных I²C, которая доступна для использования и её легко можно применить в своих самоделках.
Читать дальше →
Total votes 91: ↑89 and ↓2+125
Comments46

Анализ трафика телеметрической информации Android смартфона

Reading time4 min
Views20K

Сбор телеметрических данных о пользователях и их действиях в вебе и приложениях — плата за пользование «бесплатными» сервисами в Интернете. Пользователи расплачиваются своим вниманием и временем, проведёнными в данных сервисах и приложениях. Поэтому производители мобильных платформ, ИТ-компании, социальные сети заинтересованы в получении максимального объёма данных с устройств.

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

В данной статье рассматривается вопрос о том, какую конкретно информацию смартфон передает на серверы вендоров.

Интересненько
Total votes 60: ↑60 and ↓0+60
Comments33

Проверяем уровень защищённости Linux с помощью утилиты Lynis

Reading time8 min
Views44K
Разбираемся, как использовать одну из самых мощных свободно распространяемых утилит для аудита Linux-систем.


Вы когда-нибудь задумывались о том, насколько безопасна ваша Linux-система? Существует множество дистрибутивов Linux (каждый со своими настройками по умолчанию), на которых вы запускаете десятки программных пакетов с разными номерами версий. Кроме того, на вашей ОС в фоновом режиме работает множество сервисов, о которых вы порой не знаете или не думаете.

Чтобы получить информацию о системе, то есть проверить общее состояние программного обеспечения, сети и служб, работающих на вашем компьютере с установленной ОС Linux, достаточно выполнить несколько команд. Но что теперь делать с полученной информацией? Как в ней разобраться? Ведь объём данных, которые вам нужно проанализировать, огромен.
Читать дальше →
Total votes 45: ↑45 and ↓0+45
Comments5

Алгоритмы для веб-разработчиков простыми словами (часть 2)

Reading time8 min
Views47K

Здравствуйте, друзья!

Мы продолжаем разбирать максимально простым языком алгоритмы и структуры данных на JavaScript. И сегодня мы поговорим о, пожалуй, самом знаменитом алгоритме, про который слышал каждый разработчик — а именно о сортировке пузырьком (Bubble Sort).

Если вы еще не читали нашу первую статью (про алгоритмы поиска и Big O нотацию), то можете найти ее вот здесь.

А сейчас давайте перейдем к теме статьи.

Читать далее
Total votes 23: ↑9 and ↓14+1
Comments11

Реализация Интернета вещей для промышленного оборудования простыми методами

Reading time8 min
Views5.7K

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

Эту идею реализовал в работе, связанной с "умными" очистителями воздуха для помещений.

Читать далее
Total votes 8: ↑7 and ↓1+9
Comments11

Фасад для python библиотеки

Reading time7 min
Views8.5K

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

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

На мой взгляд, неплохим выходом из ситуации служит использование объектно-ориентированного подхода, а именно написание некого класса "обвязки" с более простыми методами, инкапсулирующими в себе сложную логику обращения к оригинальной библиотеке.

Читать далее
Total votes 7: ↑6 and ↓1+7
Comments7

Как мы решаем проблемы со склонением слов для задач seo-оптимизации с помощью phpMorphy

Reading time9 min
Views8.1K

Как мы решаем проблемы со склонением для задач SEO-оптимизации с помощью phpMorphy.

Делимся решением!

Читать далее
Total votes 19: ↑17 and ↓2+21
Comments6

Как мы обложились запросами и ускорили ElasticSearch: чиним товарный каталог СберМегаМаркет

Reading time13 min
Views9.4K

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

Здравствуй, Хабр! Меня зовут Никита Вахрамеев, я работаю ведущим разработчиком в команде, которая занимается бэкендом витрины СберМегаМаркет. Основные направления нашей работы — листинги (каталоги товаров) и карточки товаров. В этом посте мы проведем небольшое расследование, погрузимся в нюансы шардирования и кэширования в ElasticSearch и исправим проблемы в каталоге на 16 миллионов товаров.

Внимание спойлер: индексы, во всем виноваты индексы!

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

Сказ об ООП, пиве, чае и дружбе

Reading time13 min
Views14K

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

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

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

Программировать нужно осознанно.

Читать далее
Total votes 11: ↑8 and ↓3+6
Comments8

REST API на основе Snake (Python, Mamba, Hydra и Fast API)

Reading time7 min
Views9.7K

Сегодня я хочу попробовать что-то новое и начну исследовать мир Python. В этой статье представлен пошаговый туториал по реализации простого REST API при помощи Python, Fast API, Hydra и Mamba. Более того, я вкратце опишу, как упаковать всех этих змей в один образ Docker и заставить их работать вместе. Весь код выложен на моём GitHub.

Давайте начнём с кратного объяснения того, почему я решил выбрать эту тему.
Читать дальше →
Total votes 19: ↑17 and ↓2+25
Comments2

Модульный PHP монолит: рецепт приготовления

Reading time10 min
Views21K

Статья написана по мотивам моего доклада на митапе. В нем я рассказываю историю того, как мы взяли и не распилили монолит на микросервисы, и что сделали вместо этого.

На тот момент наша команда работала над приложением, начало которому было положено еще в 2009 году не искушенными в архитектуре студентами. К 2018 это уже был типичный big ball of mud (большой ком грязи), или, этакий «монолит-копролит», как выразился один наш коллега. Думаю, многим знакомо.

Читать далее
Total votes 19: ↑18 and ↓1+25
Comments13

Information

Rating
Does not participate
Location
Казахстан
Registered
Activity