Kotlin
история за 3 дняобновляется раз в неделюПодборки полезного материала по Kotlin.
Покупал рекламу в…
30 дней · обнаруженные размещения
Размещений не найдено
Это не означает, что рекламы не было.
Включая размещения без erid. Оплата не подтверждена. Как определяем
Продавал рекламу…
30 дней · обнаруженные размещения
Размещений не найдено
Это не означает, что рекламы не было.
Включая размещения без erid. Оплата не подтверждена. Как определяем
Динамика и события
Маркеры: «@» — упоминание в другом канале, «Р» — рекламный пост с erid
| Дата | Подписчики |
|---|---|
| 19.10.2026 | 547 |
| 20.10.2026 | 547 |
| 21.10.2026 | — |
| 22.10.2026 | — |
| 23.10.2026 | 547 |
| 24.10.2026 | — |
| 25.10.2026 | — |
| 26.10.2026 | — |
Последние посты
🚧 Ваш Mutex тормозит корутины. Как перестать лочить и начать жить Вы пишете многопоточный код. У вас есть общий ресурс (например, in-memory кэш сессий). Вы знаете, что synchronized в корутинах - это зло (блокирует системный поток). Вы берете Mutex и оборачиваете код в mutex.withLock { ... }. Поздравляю, вы сделали лучше. Но под большим contention (высокой конкуренцией) ваш код всё равно будет страдать. В чем проблема Mutex? Да, он не блокирует поток. Но withLock - это suspend функция. Когда 100 корутин ломятся в один лок, 1 получает доступ, а 99 - саспендятся. Саспенд - это не бесплатно. Э…
Открыть в MAX- Просмотры
- 107
- ER
- 0,9%
- Реакции
- 1
🛑 Как задушить свое приложение, используя Dispatchers.IO Мы привыкли думать, что Dispatchers.IO - это бездонная бочка. Закинул туда сетевой запрос или чтение файла, и корутины сами всё разрулят. Но у Dispatchers.IO есть жесткий лимит - 64 потока (или количество ядер процессора, если их больше). Сценарий катастрофы: Вам нужно скачать 100 картинок или сделать батч-запросы к очень мееееедленному стороннему API. Вы запускаете 100 корутин на IO. Первые 64 запроса занимают все доступные потоки пула и зависают в ожидании ответа от сервера (I/O block). В этот момент пользователь нажимает кнопку "…
Открыть в MAX- Просмотры
- 90
- ER
- 1,1%
- Реакции
- 1
🔮 Убийца бойлерплейта: Встречайте Context Parameters (Kotlin 2.x) Мы так привыкли к Dependency Injection (Dagger/Hilt/Koin), что перестали замечать, как он раздувает наш код. Сценарий из жизни: вам нужно залогировать событие глубоко в слое бизнес-логики. Вы берете интерфейс Logger и прокидываете его через конструкторы пяти промежуточных классов, хотя он нужен только в одном методе на самом дне. В Kotlin 2.1+ (KEEP-367) активно допиливают киллер-фичу, которая меняет правила игры - Context Parameters. Историческая справка: Если вы помните экспериментальные Context Receivers (синтаксис contex…
Открыть в MAX- Просмотры
- 74
- ER
- —
- Реакции
- —
🌪 Ваша дата в опасности: flatMapConcat vs Merge vs Latest Вам нужно взять поток ID-шников и для каждого скачать детали из сети. Задача банальная: val detailsFlow = idsFlow.flatMap??? { id -> repository.fetchDetailsAsFlow(id) } IDE услужливо подсказывает три варианта: Concat, Merge, Latest. И вот тут кроется разница между "работает как часы", "тормозит" и "тихо теряет данные". Давайте разберем на пальцах. 1. flatMapConcat (Очередь в поликлинику) • Как работает: Строго последовательно. Ждет, пока полностью завершится внутренний Flow для первого ID, и только потом переходит ко второму.…
Открыть в MAX- Просмотры
- 69
- ER
- 1,4%
- Реакции
- 1
Показано 4
Данные: публичные посты и страницы канала в MAX. Метрики версии v1, пересчитаны 23.10.2026, подписчики замерены 20.10.2026. Как мы считаем.