Привет, Хабр. В этом дайджесте — лучшие статьи в нашем блоге за уходящий месяц. Это материалы, которые заинтересовали хабровчан больше всего: от эффективного управления техническим долгом и безопасности контейнеров до DIY-проектов и полезных советов для разработчиков. Читайте, внедряйте лучшие практики и совершенствуйте свои навыки с актуальными и востребованными темами!
Wazuh и Docker: следим за безопасностью контейнеров
В этой статье поговорим о Docker в качестве среды контейнеризации и о Wazuh в качестве средства мониторинга событий ИБ. Перейти к статье
GitLab CI для Docker-образов
Узнаем, как настроить CI/CD пайплайн для Docker‑образов: от сборки (с docker buildx и buildah) до пуша с версионированием и автоматической очистки через GitLab API. Читать далее
Микросервисы без контейнеров
Можно ли управлять микросервисами на Windows без Docker и Kubernetes? Можно — с Nomad и кастомным IIS-драйвером. Взглянуть на оркестрацию под другим углом.
slots в Python
В этой статье рассмотрим замечательный механизм в Python — slots. Они помогают бороться с утечками памяти и тормозами в системах, где создается миллион объектов. Читать далее
3 вопроса на собеседовании о многопоточности в Java
Разберём несколько вопросов, которые могут возникнуть на собеседованиях для разработчиков, связанных с многозадачностью и потокобезопасностью в Java. Продолжение
DWH: История поиска альтернативы PostgreSQL и Snowflake. Часть 1
Как выбрать облачное DWH, если PostgreSQL и Snowflake больше не справляются? Agritask провели масштабное исследование и делятся выводами. Заглянуть в реальный кейс выбора DWH под триллионы строк.
Портируем графическую библиотеку U8G2 на STM32
Как подружить STM32 с U8G2 и заставить работать OLED-дисплеи через SPI, I2C и даже программный 9-битный интерфейс? Полный гайд с примерами.
Как работает ptrace в Linux и зачем он тебе
ptrace в Linux — мощный, но недооценённый инструмент: подключайся к процессам, перехватывай syscalls и меняй регистры. Разбор с примерами и подводными камнями.
Как бросить исключение без throws в Java: технический разбор с примерами
Можно ли бросить checked-исключение в Java без throws? Да — через Unsafe. throwException () или generics-хак. Подробности, примеры и риски для JDK 17+.
Как livenessProbe может убить ваш Pod
Неправильно настроенный livenessProbe может зациклить перезапуски живого пода. Разбираем причины, примеры фейлов и как защититься через startupProbe. Не дай Kubernetes убить свой сервис зря.
Эффективная передача данных: используем Protocol Buffers для коммуникации между ESP32 и QT/QML
Как объединить ESP32 и Qt/QML в одном проекте? В статье рассматривается использование Protocol Buffers для эффективной коммуникации между микроконтроллером и приложением, включая настройку Nanopb и интеграцию в Qt. Как реализовать двустороннюю связь между устройствами с помощью Protobuf.
defineExpose() в Vue 3
Как передать методы наружу из <script setup>
в Vue 3? Разбираем defineExpose()
— мощный способ раскрыть публичный API компонента и работать с ним через ref
. Открой компонент — но только там, где нужно.
SQL-пайплайны для A/B тестов: коротко
Как собирать чистую и достоверную статистику по A/B тестам в SQL? Разбираем дедупликацию, фильтрацию фрода и агрегацию событий. Постройте свой SQL-пайплайн правильно.
Популярные API для работы с искусственным интеллектом
Изучите обзор популярных API для работы с ИИ: от OpenAI и Anthropic до Google Vertex AI и AWS Bedrock. Оцените функциональность, стоимость и возможности интеграции для ваших проектов. Выбрать лучший API для своего проекта
Почему == и .Equals() — не одно и то же (и как это вас подставит)
Сравнение объектов в C# с помощью оператора ==
и метода .Equals()
может привести к неожиданным результатам, особенно при перегрузке оператора или в работе с внешними библиотеками. Обсудим, как избежать ошибок.
JDBC: Как Java научилась дружить с Базами Данных
JDBC — это универсальный мост между Java и базами данных. Узнайте, как с помощью драйверов, запросов и транзакций можно эффективно работать с любыми СУБД, от PostgreSQL до MySQL.
Аутентификация на основе cookies с помощью Laravel Sanctum
Настройка аутентификации с помощью Laravel Sanctum и cookies: подробное руководство, как избежать ошибок с CORS, CSRF и правильно настроить взаимодействие между фронтендом и бэкендом. Начать безопасно работать с cookies в Laravel.
Практическое руководство по выбору брокера сообщений
Руководство по выбору брокера сообщений: подробное сравнение Apache Kafka и Amazon SQS, их характеристик и соответствия различным шаблонам обмена сообщениями. Узнать, как выбрать лучший брокер для вашего приложения.
ref, out, in: как понять, кто из них тебе нужен
Ref, out и in в C# — это три метода передачи параметров по ссылке, каждый из которых имеет свои особенности. Out используется для инициализации переменной внутри метода, ref — для изменения уже инициализированного значения, а in — для передачи больших структур по ссылке без возможности изменения их значений. Разберитесь, когда и какой механизм лучше выбрать для вашего кода.
Когортный анализ, LTV и RFM в SQL: коротко для новичков
В этом руководстве по SQL разбираются основы когортного анализа, вычисление LTV и RFM-сегментации с использованием данных о заказах. На примере рассмотрим, как группировать пользователей по когортам, отслеживать удержание и строить аналитические отчёты. Начать строить аналитику на SQL сегодня.
Как снять трафик, когда нельзя, но очень хочется
Мониторинг сетевого трафика — ключевая задача для специалистов по безопасности и пентестеров. В статье рассматриваются методы снятия копий трафика, от стандартных SPAN до хакерских способов с использованием TAP и крокодилов.
Рекомендательная система для вашего каталога научных работ (и не только!)
Создание рекомендательной системы для научных работ с использованием обработки естественного языка и теории графов. Узнаем, как сравнивать файлы разных типов и вычислять сходства между ними для предоставления точных рекомендаций.
«Бермудский треугольник» в микросервисной архитектуре
Микросервисы — это гибкость и масштабируемость, но управлять ими можно только с правильной архитектурой. Рассмотрим баланс между изоляцией сервисов, согласованностью данных и организационным порядком.
F(), Func() и никаких циклов: как Django думает в SQL
Использование F() и Func() в Django позволяет переносить логику обработки данных на сторону базы, улучшая производительность и обеспечивая атомарность операций. Узнайте, как эффективно обновлять данные без циклов и гонок.
Обработка паник в горутинах
Паники в горутинах Go могут привести к сбою всего приложения. Используйте обёртку SafeGo для безопасного запуска, логирования с контекстом и интеграции с Sentry. Все ошибки — под контролем.
Golang: когда make, когда new
Разбираем, когда и зачем использовать make
и new
в Go. Узнай, как правильно инициализировать объекты и структуры для эффективного кода. Разобраться в нюансах.
Делаем адресные 7-сегментные дисплеи своими руками
DIY-проект по созданию адресных 7-сегментных дисплеев с Arduino. Используем чип WS2811 для управления несколькими дисплеями через одну линию данных, упрощая подключение и расширение проекта. Подробная инструкция с пайкой SMD-компонентов.
Руководство по принципам SOLID для технических лидеров
Принципы SOLID — основа устойчивого и масштабируемого кода. Рассмотрим, как они помогают формировать архитектуру, которая поддерживает изменения, улучшает тестируемость и снижает технический долг.
«Как я работаю с техническим долгом»: опыт сеньор-разработчика
Технический долг — не враг, а инструмент для ускорения разработки. В статье опыт сеньор-разработчика о том, как правильно управлять долгом: признание, приоритеты и лучшие практики для эффективной работы. Читайте, чтобы узнать, как использовать долг на пользу проекту.
QA Lead и что он делает
Рассмотрим ключевые обязанности и навыки, необходимые для эффективного управления командой тестировщиков, такие как нестандартное мышление, взаимодействие с клиентами и разработчиками, умение работать с проектными менеджерами, принятие ответственности и многозадачность. Читать полностью
37 навыков, свойственных выдающимся продакт-менеджерам
Поговорим о навыках, которые должны развивать продакт-менеджеры для успешного карьерного роста: навыки лидерства, коммуникации, командной работы, управления продуктом и применения различных методов в контексте разработки продуктов. Перейти к статье
BPMN на практике: примеры и ошибки
Ошибки моделирования в BPMN стоят времени и понимания. Разбор живых кейсов: от сигналов и циклов до разделения бизнес-правил и процессов. Перейти к статье
Актуальное расписание открытых уроков уже в календаре мероприятий. Выбирайте темы, которые вам интересны, и подключайтесь онлайн.