Загрузка

DevLog

Заметки о веб-разработке, архитектуре, оптимизации и инструментах. Пишу о том с чем сталкиваюсь в реальных проектах.

67

статей

11

категорий

616

минут на чтение

Категории Все Битрикс24 (8) C++ (12) Joomla (2) DevOps (7) Kotlin (26) WordPress (3) MODX (2) Laravel (2) PHP (3) OpenCart (1) Плагины (1)

Kotlin + C++: реальный кейс — видеопроцессинг на сервере через JNI

Как мы построили сервер видеотранскодинга на Kotlin REST API + C++ FFmpeg через JNI. Прокачка JNI_OnLoad, передача фреймов через DirectByteBuffer, обработка ошибок и бенчмарки.

Kotlin C++ JNI FFmpeg Видеопроцессинг JNI_OnLoad

C++: потоки и потокобезопасность — мьютексы, atomics и deadlock-ы на практике

Разбираем многопоточность в C++ на реальных примерах из продакшена: мьютексы, lock_guard, unique_lock, std::atomic, deadlock-ы и как их избежать. Сравнение с корутинами Kotlin.

C++ Многопоточность std::thread Мьютексы Atomics Deadlock

eBPF: профилирование C++ и Kotlin сервисов в продакшене без оверхеда

Как мы внедрили eBPF для профилирования высоконагруженных C++ и Kotlin сервисов в продакшене без остановки и перекомпиляции. Реальные скрипты bpftrace, поиск утечек памяти и трейсинг JVM-системных вызовов.

eBPF C++ Kotlin Профилирование Linux Производительность

C++: memory-mapped I/O для обработки больших файлов — от 2 часов до 3 минут

Как мы ускорили обработку логов на 40x с помощью mmap. Практическое руководство с бенчмарками, подводными камнями и сравнением с std::ifstream.

C++ mmap Memory-Mapped I/O Производительность Файловый ввод-вывод Linux

C++17/20: structured bindings, concepts и ranges — что реально используется в продакшене

Честный разбор фич C++17 и C++20: что мы взяли в проект, что пропустили и почему. Before/after примеры и компромиссы миграции.

C++17 C++20 Structured Bindings Concepts Ranges Современный C++

C++: умные указатели и ownership — практическое руководство без академизма

Разбираю unique_ptr, shared_ptr и weak_ptr на реальных примерах из продакшена. Какие баги мы ловили из-за неправильного использования и как перестать путаться с ownership.

C++ Smart Pointers unique_ptr shared_ptr Memory Management Ownership

C++20 корутины vs Kotlin Coroutines — сравнение подходов

Реальный опыт использования корутин C++20 и Kotlin Coroutines в одном проекте. Разбираю механику работы, отличия в обработке ошибок и когда стоит брать сложность C++ корутин.

C++20 Корутины Kotlin Coroutines Асинхронность Сравнение co_await

C++ ↔ Kotlin: передача сложных структур через JNI без боли

Три подхода к передаче сложных данных через JNI: примитивное выравнивание, JSON-сериализация и ByteBuffer. Бенчмарки, код и рекомендации из продакшена.

JNI C++ Kotlin Сериализация Производительность Memory Management

CMake + Gradle: сборка C++ библиотеки для Kotlin/JNI проекта

Подробный разбор сборочной цепочки C++ библиотеки для Kotlin/JNI. Структура проекта, кросс-компиляция под Android, линковка сторонних библиотек и типичные ошибки сборки.

CMake Gradle Kotlin JNI C++ Сборка Android NDK

Kotlin Native / cinterop: когда JNI избыточен

Разбираю альтернативу JNI — Kotlin Native cinterop. Прямой вызов C-функций без JVM, бенчмарки против JNI и практические рекомендации, когда какой подход выбрать.

Kotlin Native C++ cinterop JNI Kotlin Multiplatform FFI

Kotlin/JNI: вызов C++ из Kotlin — от Hello World до продакшена

Практический гайд по вызову C++ кода из Kotlin через JNI. Разбираю настройку, передачу типов, управление памятью и реальные продакшен-паттерны на опыте бэкенд-разработчика.

Kotlin JNI C++ FFI Взаимодействие Android NDK