25 Jul 2026, 11:10 UTC192 views5 reactionsread 7 August 2026 🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
https://max…
💩4😁1
1 Jul 2026, 19:56 UTC453 views9 reactionsread 7 August 2026 🌪 Ваша дата в опасности: flatMapConcat vs Merge vs Latest
Вам нужно взять поток ID-шников и для каждого скачать детали из сети. Задача банальная:
val detailsFlow = idsFlow.flatMap??? { id ->
repository.fetchDetailsAsFlow(id)
}
IDE услужливо подсказывает три варианта: Concat, Merge, Latest. И вот тут кроется разница между "работает как часы", "тормозит" и "тихо теряет данные".
Давайте разберем на пальцах.
…
👍8❤1
24 Jun 2026, 07:48 UTC535 viewsread 7 August 2026 Photo
🤖 Android-приложение — это не только красивый экран. За ним стоят работа с внешним API, загрузка данных, разделение логики по слоям и архитектура, которую можно поддерживать без хаоса в коде.
🗓 2 июля в 20:00 МСК приглашаем вас на открытый урок в преддверии старта курса «Android-разработчик. Базовый уровень». На занятии разберём путь данных в Android-приложении: от запроса к серверу до отображения информации на экра…
23 Jun 2026, 17:56 UTC575 views6 reactionsread 7 August 2026 🔮 Убийца бойлерплейта: Встречайте Context Parameters (Kotlin 2.x)
Мы так привыкли к Dependency Injection (Dagger/Hilt/Koin), что перестали замечать, как он раздувает наш код.
Сценарий из жизни: вам нужно залогировать событие глубоко в слое бизнес-логики. Вы берете интерфейс Logger и прокидываете его через конструкторы пяти промежуточных классов, хотя он нужен только в одном методе на самом дне.
В Kotlin 2.1+ (KEEP-…
👍4🔥2
3 Jun 2026, 14:00 UTC663 views5 reactionsread 7 August 2026 Advertisementerid CQH36pWzJqE1dR7Fy5i31HWFWpqcyU2J253e98WwVuXaBEPhoto
Яндекс обновил Yandex Mobile Ads SDK для монетизации мобильных приложений — и это интересно
Во-первых, Yandex Mobile Ads SDK 8 поддерживает Kotlin Coroutines и Swift async/await. А значит, рекламу можно загружать линейно и предсказуемо.
Во-вторых, в новой версии появился скрипт для автогенерации идентификаторов SKAdNetwork в Info.plist. Данные о конверсиях в установку теперь точнее для iOS-приложений.
В-третьих, п…
❤3👍1🔥1
3 Jun 2026, 13:13 UTC592 views1 reactionsread 7 August 2026 Photo
ktorgen - Kotlin + KSP + Ktor Client Code Generator
Легкий процессор Kotlin KSP для генерации клиентского кода Ktor с аннотациями
https://github.com/kingg22/ktorgen
✍️ @kotlin_lib
👍1
19 May 2026, 11:55 UTC748 views3 reactionsread 7 August 2026 Photo
🧩 Kotlin учится деструктурировать не по позиции, а по имени
В Kotlin 2.3.20 появилась экспериментальная фича name-based destructuring.
Раньше деструктуризация работала через componentN() и зависела от порядка полей:
data class User(
val firstName: String,
val lastName: String
)
val user = User("Alice", "Husseini")
val (lastName, firstName) = user
И всё: переменные названы красиво, но значения уже пер…
👍3
12 May 2026, 19:33 UTC802 views6 reactionsread 7 August 2026 🛑 Как задушить свое приложение, используя Dispatchers.IO
Мы привыкли думать, что Dispatchers.IO - это бездонная бочка. Закинул туда сетевой запрос или чтение файла, и корутины сами всё разрулят.
Но у Dispatchers.IO есть жесткий лимит - 64 потока (или количество ядер процессора, если их больше).
Сценарий катастрофы:
Вам нужно скачать 100 картинок или сделать батч-запросы к очень мееееедленному стороннему API. Вы за…
👍6
18 Apr 2026, 09:16 UTC776 views9 reactionsread 7 August 2026 🧨 SharedFlow для Side Effects - это ошибка. Разбираем официально лучший подход
В MVI/MVVM есть вечная проблема: разовые события (Side Effects). Показать Snackbar, перейти на другой экран, проиграть звук. Это не стейт, это событие, которое должно произойти ровно один раз.
Долгое время комьюнити пыталось решить это через SharedFlow.
Выглядело это так:
private val _effects = MutableSharedFlow<Effect>()
val effects =…
👍9
16 Mar 2026, 05:57 UTC≈1,110 views3 reactionsread 7 August 2026 Photo
Освой Kotlin и Android за 60 часов
Этот обширный курс по Kotlin и Android проведёт вас от основ до продвинутых концепций с практическими заданиями. В ходе курса для начинающих научит вас создавать несколько реальных приложений, включая впечатляющий клон Uber, демонстрирующий профессиональные приёмы разработки.
Курс охватывает Firestore, SQLite, MVVM, Retrofit, Navigation Component, Jetpack Compose и многое другое.
…
👍2🔥1
11 Mar 2026, 10:18 UTC993 views7 reactionsread 7 August 2026 🐘 Ловушка MVI: Как мы превратили ViewModel в God-object
Все мы читали туториалы по MVI (Unidirectional Data Flow). Идея звучит безупречно: у вас есть один Intent (событие от юзера), один Reducer и один State (дата-класс, описывающий весь экран).
На экране авторизации это выглядит как поэзия. Но потом вы приходите на реальный прод.
Вам дают Главный Экран приложения: здесь лента постов, фильтры, баннеры, статус сети…
👍7
6 Mar 2026, 09:03 UTC755 views1 reactionsread 7 August 2026 Video
👨💻 Вы пишете тесты, потому что «так надо»
Покрываете несколько функций, проверяете очевидные кейсы, ставите галочку. Тесты проходят, но чувствуете, что это формальность. Они не помогают находить баги, не улучшают код, не дают уверенности в изменениях.
Проблема не в тестах. Проблема в том, как вы их пишете.
🗓 12 марта в 20:00 — открытый урок «Профессиональные Unit-тесты (модульные тесты) в Android: как тесты улучша…
❤1
Showing the 12 most recent of 18 posts we hold for @kotlin_lib. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.