Найти в Дзене
Поддержите автораПеревод на любую сумму
Java Records: глубокое погружение и паттерны использования за пределами DTO
Java Records, дебютировавшие как preview в Java 14 и ставшие полноценной фичей в Java 16, произвели революцию в создании классов-носителей данных. Однако большинство разработчиков воспринимают Records лишь как лаконичную замену DTO с автоматическими геттерами, equals/hashCode и toString. Это упущение — настоящий потенциал Records значительно шире. За пределами тривиального использования скрываются возможности для построения типобезопасных конфигураций, реализации бизнес-логики через value objects, создания DSL и даже моделирования state-машин...
5 дней назад
CMake 4.0: что нового и как правильно собирать современные C++ проекты
Мы живем в удивительное время. C++26 уже здесь, привнося в язык рефлексию и долгожданные сетевые возможности, а инструменты сборки наконец-то догнали и перегнали потребности разработчиков. Долгие годы CMake был тем самым «необходимым злом» — могучим, но неповоротливым монстром, скрипты на котором было сложно читать, а ошибки конфигурации пугали новичков. Проблема прошлого: Отладка сложных сборок была похожа на шаманство. Нужно было запускать make, смотреть вывод, гадать, почему линковщик ругается...
2 месяца назад
Профилирование Python-приложений в production: инструменты и анализ узких мест
Это то, что нужно для production. Вместо того чтобы инструментировать каждую функцию, sampling-профайлер периодически (например, 100 раз в секунду) заглядывает в стек вызовов и смотрит, что там выполняется. Математика простая: если функция была в стеке в 30% сэмплов, значит она и потребляет примерно 30% ресурсов. # Запуск статистического профилирования скрипта python -m profiling.sampling run my_script.py # Запуск с кастомным интервалом (50 микросекунд) и длительностью 30 секунд python -m profiling.sampling run -i 50 -d 30 my_script.py # Профилирование уже запущенного процесса по PID python -m profiling...
2 месяца назад
Искусственный интеллект на C#: интеграция с OpenAI и локальные модели
Введение C# разработчики все чаще сталкиваются с необходимостью интеграции искусственного интеллекта в свои приложения, будь то чат-боты, анализ текста, генерация изображений или умные помощники. В то время как Python долгое время был доминирующим языком в сфере AI, экосистема .NET активно развивается, предлагая современные решения для работы с ИИ. Сегодня C# разработчики имеют два основных пути: использование облачных API (OpenAI, Azure AI) или развертывание локальных моделей с помощью библиотек вроде ML...
2 месяца назад
Контейнеризация Java-приложений: облегченные образы и Kubernetes в продакшене
Контейнеризация Java-приложений перешла от простой упаковки JAR-файлов в Docker к сложным оптимизациям, где каждый мегабайт и миллисекунда на счету. В 2024 году успешный деплой Java-приложения в Kubernetes требует не только знаний Docker, но и глубокого понимания JVM, сборщиков мусора, и особенностей работы в ограниченной среде контейнеров. Размер образа, скорость запуска и потребление памяти стали критически важными метриками, напрямую влияющими на стоимость инфраструктуры и отзывчивость приложения...
2 месяца назад
Работа с IoT на C++ и микроконтроллерах (актуальные инструменты 2026)
Введение К 2026 году IoT-экосистема пережила принципиальную трансформацию: от разрозненных «умных устройств» к единым, безопасным и самоорганизующимся edge-сетям, обрабатывающим терабайты данных без передачи в облако. В этой новой реальности C++ укрепил свои позиции как единственный язык, который одинаково эффективен на всех уровнях IoT-стека — от 8-битных микроконтроллеров до мощных edge-серверов. Современный embedded C++ — это не про «ограниченное подмножество языка», а про полноценное использование...
2 месяца назад
Современный PHP: статический анализ, типизация и фреймворки без ORM — как изменилась архитектура в 2026 году
Введение 2026 год ознаменовал конец эпохи «динамического хаоса» в PHP-экосистеме. Если в начале 2020-х статический анализ был опцией для энтузиастов, а типизация — компромиссом между строгостью и гибкостью, то сегодня это обязательные стандарты для production-кода. Перелом наступил, когда GitHub объявил о блокировке коммитов без прохождения статического анализа уровня 9 для всех PHP-репозиториев, а AWS начал применять скидки 20% на инфраструктуру для приложений с полным coverage типов. PHPStan эволюционировал...
2 месяца назад
Встраивание Python в C++ и C# приложения: лучшие практики 2026
Введение К 2026 году границы между языками программирования окончательно стерлись. Современные приложения представляют собой гетерогенные системы, где C++ обеспечивает производительность, C# — скорость разработки бизнес-логики, а Python — гибкость и доступ к экосистеме data science и AI. Встраивание Python перестало быть нишевой задачей для специалистов и превратилось в стандартную практику для enterprise-приложений, игровых движков, научного софта и даже embedded-систем. Однако новая реальность...
2 месяца назад
Оптимизация производительности Python-приложений: профайлеры и техники
Введение Python ценят за скорость разработки и читаемость, но его производительность иногда становится узким местом. Однако современный Python — это не медленный язык. С правильными инструментами анализа и оптимизации можно ускорить приложения в десятки раз. В этом посте мы разберем, как найти «узкие места» с помощью профайлеров и какие техники оптимизации действительно работают на практике. Прежде чем оптимизировать, нужно точно измерить. Профилирование покажет, какая часть кода отнимает больше всего времени или памяти...
2 месяца назад
Автоматизация DevOps на Python: скрипты для CI/CD и мониторинга
Введение Python, благодаря своей простоте, богатой экосистеме библиотек и кроссплатформенности, стал одним из основных языков для автоматизации DevOps-процессов. Он идеально подходит для написания скриптов, которые связывают различные этапы жизненного цикла разработки: от сборки и тестирования до развертывания и мониторинга. В этом посте мы рассмотрим практические примеры скриптов на Python для построения эффективного CI/CD-конвейера и создания простых, но мощных инструментов мониторинга. Такой скрипт можно запускать локально перед коммитом или использовать как этап в GitLab CI/GitHub Actions...
2 месяца назад
Асинхронное программирование в PHP: как Swoole 5.0, Native Fibers и ReactPHP 3.0 изменили правила игры в 2026 году
Введение В 2026 году асинхронность в PHP перестала быть нишевой технологией и превратилась в индустриальный стандарт. Если еще в 2023 году выбор между синхронным PHP-FPM и асинхронными решениями был компромиссом между простотой и производительностью, то сегодня это выбор между устаревшей и современной архитектурой. Переломный момент наступил, когда Cloudflare, AWS и Google Cloud объявили о нативной поддержке асинхронного PHP в своих edge-сетях, обеспечив глобальную задержку менее 10ms для 95% пользователей...
2 месяца назад
Безопасная обработка памяти в C++: умные указатели и санитайзеры
Введение К 2026 году парадигма безопасности памяти в C++ претерпела радикальные изменения: от ручного управления через new/delete язык эволюционировал к системе гарантий безопасности, конкурирующей с Rust по надежности, но сохраняющей обратную совместимость. 70% уязвимостей в софте по-прежнему связаны с проблемами памяти, и современный C++26 предлагает не просто инструменты для их обнаружения, а архитектурные подходы, исключающие целые классы ошибок на этапе компиляции. Безопасная работа с памятью...
3 месяца назад