разработка

A collection of 131 posts
алгоритм

Алгоритмы Краскала и Прима: поиск минимального остовного дерева в графах

Узнайте основы построения минимального остовного дерева с помощью классических алгоритмов Краскала и Прима. Мы разберем их временную сложность, ключевые структуры данных и сценарии выбора оптимального решения.
6 min read
тестирование

Сравнение инструментов нагрузочного тестирования k6 и Locust для SRE инженеров

Узнайте основные архитектурные различия между популярными инструментами нагрузочного тестирования k6 и Locust. Мы разберем особенности их моделей конкурентности, синтаксиса и способов масштабирования в CI/CD.
5 min read
реальное время

Сравнение технологий Long Polling, SSE и WebSockets для передачи данных

В статье рассматриваются три основных подхода к передаче данных в реальном времени: Long Polling, SSE и WebSockets. Мы сравним их производительность, сложность реализации и оптимальные сценарии использования.
5 min read
алгоритм

Разбор алгоритмов поиска кратчайшего пути в теории графов для разработчиков

Узнайте, как работают фундаментальные алгоритмы поиска кратчайших путей: Дейкстры, Беллмана-Форда и Флойда — Уоршалла. Статья разбирает их принципы, сложность и практическое применение в сетевой маршрутизации.
3 min read
Алгоритмы

Разбор алгоритмов поиска подстрок: от Кнута-Морриса-Прейса до суффиксных деревьев

В статье рассматриваются фундаментальные методы поиска подстрок, необходимые для обработки больших данных и системного мониторинга. Мы подробно разбираем алгоритмы Кнута-Морриса-Прейса, Рабина-Карпа и суффиксных деревьев.
1 min read
PHP

Основы и практическое применение Reflection API в языке PHP

Узнайте, как Reflection API позволяет программам анализировать собственную структуру во время выполнения. Разбираем основы метапрограммирования, работу с атрибутами и механизмы автоматического внедрения зависимостей.
1 min read
архитектура

Основы построения стратифицированной архитектуры в современных программных системах

Узнайте основные принципы построения стратифицированной архитектуры для сложных программных систем. Статья раскрывает методы декомпозиции кода, разделения ответственности и эффективного управления зависимостями между слоями.
5 min read
алгоритм

Основы двоичного поиска: от теории к практическому применению в программировании

Узнайте основы классического двоичного поиска, включая его временную сложность и принципы работы. Мы разберем типичные ошибки реализации и отличия между итеративным и рекурсивным подходами.
5 min read
архитектура

Разбор архитектурных паттернов CQRS и Event Sourcing для высоконагруженных систем

Узнайте, как разделение операций чтения и записи помогает масштабировать высоконагруженные системы. Мы разберем основы CQRS и Event Sourcing с примерами практического применения.
7 min read
PHP

Когда пора переходить от монолитной архитектуры к микросервисам на PHP

Узнайте ключевые признаки того, что ваш монолитный проект на PHP перестал справляться с нагрузкой и замедляет разработку. Разбираем стратегии декомпозиции, нюансы межсервисного взаимодействия и SRE-практики для перехода к микросервисам.
4 min read
архитектура

Монолит или микросервисы: как выбрать правильную архитектуру для вашего проекта

Разбираем, почему монолитная архитектура часто эффективнее микросервисов на этапе MVP. Узнайте, как избежать архитектурного долга и выбрать правильный путь развития продукта.
5 min read
архитектура

Основы Domain-Driven Design: от стратегического планирования до тактических инструментов

Узнайте основные принципы Domain-Driven Design для создания гибких и масштабируемых программных систем. Статья подробно разбирает стратегические подходы, такие как выделение границ контекстов и использование единого языка.
4 min read
IaC

Сравнение Terraform и Pulumi для управления современной облачной инфраструктурой

В статье рассматриваются ключевые различия между декларативным подходом HCL в Terraform и императивными языками программирования в Pulumi. Узнайте, какой инструмент лучше подходит для ваших задач автоматизации инфраструктуры в рамках SRE-культуры.
5 min read
PHP

Основные возможности и преимущества readonly классов в обновлении PHP 8.3

Узнайте, как readonly-классы в PHP 8.3 помогают создавать неизменяемые объекты и упрощать архитектуру приложений. Разбираем преимущества использования DTO и типизированных свойств для повышения надежности систем.
4 min read
алгоритм

Как распознать NP-полные задачи и эффективно решать их в продакшене

Узнайте, как выявлять NP-полные задачи на этапе проектирования архитектуры и избегать комбинаторного взрыва. Статья объясняет практические методы решения сложных вычислительных проблем в современных IT-системах.
6 min read
микросервис

Как перевести монолит на микросервисы с помощью паттерна Strangler Fig

Узнайте, как использовать паттерн Strangler Fig для постепенного превращения монолита в микросервисы без остановки бизнес-процессов. Статья разбирает методы анализа границ системы через DDD и критерии выбора модулей для миграции.
6 min read
алгоритм

Приоритетные очереди и кучи в высоконагруженных вычислительных системах

Разбираем основы работы бинарных куч и их роль в современных высоконагруженных системах. Узнайте о механизмах Bubble-up и Bubble-down, а также об особенностях реализации структур данных для задач с приоритетами.
7 min read