Статті
Android — Компоненти та View
Життєві цикли Activity, Fragment, View та Service, будова Context, Intent, WorkManager, RecyclerView і різниця між MVP, MVVM, MVC та MVI.
Android Paging 3 та Paging in AdapterDelegates
Пагінація в Android на Paging 3: PagingSource, PagingDataAdapter, адаптер станів завантаження та підключення до AdapterDelegates.
Android Push Provisioning API
Підключення Android Push Provisioning API: налаштування tapAndPay SDK, whitelist застосунку, вимоги Google Pay до UI та передача картки через OPC.
Cursor IDE — Best Practices
Практики роботи з Cursor IDE: Rules для проєкту та папок, режим Auto, MCP-сервери, декомпозиція задач і перевірка змін перед commit.
Google Guava у прикладах
Можливості Google Guava у прикладах на Kotlin: Multimap, BiMap, Table, кеш, робота з рядками, хешування, IO та конкурентність.
gRPC — Як це працює
Як працює gRPC поверх HTTP/2 і Protocol Buffers, чим він виграє в REST для внутрішніх сервісів і як зібрати сервер та клієнт на Kotlin.
Java / Kotlin Core — Багатопотоковість
Багатопоточність у Java та Kotlin: volatile і synchronized, ReentrantLock, корутини та Channels, оператори RxJava і стратегії backpressure.
Java / Kotlin Core — Теоретичні питання
Складність операцій з колекціями, патерни проєктування, SOLID, успадкування проти композиції та функції вищого порядку в Java і Kotlin.
Java Core — Основні питання
Відповіді на питання з Java Core: типи даних, колекції та HashMap, дженерики, рефлексія, будова пам'яті JVM і робота Garbage Collector.
Java Spring — Cloud
Хмарні сервіси AWS, Google Cloud та Azure для Java-застосунків: зіставлення аналогів, оптимізація витрат, serverless, Git LFS і субмодулі.
Java Spring — Анотації Spring
Довідник анотацій Spring з прикладами на Kotlin: @Component, @Bean, @Transactional, мапінг запитів, JPA та різниця між @Component і @Bean.
Java Spring — Зберігання даних
Зберігання даних у Spring: ACID і рівні ізоляції, @Transactional, JPA проти JDBC, Spring Data, кешування в Redis, Flyway та індекси.
Java Spring — Компоненти Spring
Налаштування application.properties, WebSocket, GraphQL, OAuth 2.0, Spring Security, Actuator, WebFlux і Batch з прикладами коду та конфігурації.
Java Spring — Концепції
Saga і Rollback, SOLID, Clean Architecture, REST і RPC, IoC та DI, Spring MVC, Project Reactor, сервлети й CSRF — розбір концепцій з прикладами на Kotlin.
Java Spring — Мікросервіси
Взаємодія мікросервісів на Spring: REST і WebClient, Kafka та RabbitMQ, Docker і Kubernetes, Eureka, Cloud Gateway і трасування запитів.
Java Spring — Перелік питань
Покажчик питань для співбесіди Java-розробника: Java Core, Kotlin, багатопотоковість, анотації та компоненти Spring, мікросервіси й бази даних SQL.
Kotlin 2.0 — основні нововведення в синтаксисі
Що змінилося в синтаксисі Kotlin 2.0: context receivers, value classes, sealed interface, деструктуризація у for і pattern matching у when.
Kotlin Core — Основні питання
Як влаштовані корутини та suspend, чим launch відрізняється від async, як працюють scope functions, делегати, extension і companion object у Kotlin.
Kubernetes — Як це працює
Будова Kubernetes: архітектура control plane, namespace, балансування навантаження, команди kubectl, Dashboard і моніторинг через Prometheus.
LLama.cpp AI LLM Engine — Як це працює
Як влаштований інференс у llama.cpp: завантаження GGUF, токенізація, побудова обчислювального графа, KV-cache та семплінг токенів.
LoRA — Донавчання AI LLM моделей
Донавчання LLM за допомогою LoRA: чим підхід відрізняється від RAG, як навчити адаптери для gemma-3-4b на unsloth і peft та зібрати GGUF.
Mock відповідей сервера в Android розробці за допомогою Interceptor
Як підміняти відповіді сервера в Android власним OkHttp Interceptor: модель MockResponse, map за url і підключення до OkHttpClient.
Offline AI Launcher — запуск AI LLM нейромереж на смартфоні
Застосунок Offline AI Launcher: як запускати LLM Gemma, DeepSeek, Llama і Qwen просто на Android із моделей .gguf, без інтернету та підписки.
RAG (Retrieval-Augmented Generation), Function / Tools Calling, CAG (Cache-Augmented Generation) для LLM моделей
RAG, Function Calling і CAG для локальних LLM: як працює векторна база та приклади на Kotlin, Dspy, LangChain, LangChain4j і llama.cpp.
Безпека мікросервісів і вебзастосунків
Мікросервіс авторизації, API Gateway, mTLS і сертифікати: як безпечно зберігати паролі, захищатися від brute-force і які алгоритми шифрування обрати.
Векторні бази даних
Векторні бази на практиці: чим відрізняються Milvus, Qdrant і Weaviate, як рахуються ембединги, працюють індекси HNSW та пошук за схожістю.
Вступ до Ktor та Exposed
Серверний застосунок на Kotlin з Ktor: база через Exposed і JDBI, впровадження залежностей Koin, тести на Mockk і Testcontainers, міграції Flyway.
Вступ до Project Loom
Віртуальні потоки Project Loom у Java: як JVM планує їх на carrier threads, чим вони відрізняються від Kotlin Coroutines і як увімкнути їх у Spring.
Динамічна генерація UI в Android застосунку за допомогою RecyclerView та AdapterDelegates
Як зібрати динамічний UI на RecyclerView з бібліотекою AdapterDelegates: делегати, перевикористання елементів списку та порівняння через DiffEquals.
Логування роботи Android застосунку в txt файли
Логер LogUtil для Android: запис debug- та error-логів і мережевих запитів OkHttp в окремі txt-файли у папці Документи на телефоні.
Налаштування кастомних параметрів запуску IntelliJ IDEA / Android Studio
Що робить кожен прапорець у Edit Custom VM Options: розміри heap, вибір Garbage Collector, кеш коду та налаштування пам'яті в Android Studio.
Невеликий мануал з MapStruct
Практичні прийоми MapStruct у Kotlin: мапінг полів із різними іменами, @Named, перевикористання логіки та обхід типових помилок компіляції.
Нейромережі простими словами
Як влаштована LLM: токенізація, embedding, attention у трансформері, квантування та семплери, які визначають вибір наступного токена.
Реляційні SQL бази даних
Синтаксис SQL, VIEW та індекси, JOIN і CTE, блокування при конкурентному доступі та читання плану запиту в PostgreSQL, MySQL і Oracle.
Техніки промпт-інжинірингу для великих мовних моделей
Роздільники, XML-теги, few-shot, псевдокод та ієрархія правил: як форматувати промпти для ChatGPT, Claude і Gemini заради передбачуваної відповіді.