Kotlin
2.18K subscribers
288 photos
125 videos
18 files
415 links
Подборки полезного материала по Kotlin. По всем вопросам @evgenycarter
Download Telegram
👩‍💻Исследуем компиляцию Kotlin (native)

Недавно я разбирался с проблемой времени сборки в Kotlin/Native и подумал: «Хм, а что на самом деле делает задача linkReleaseFrameworkIosArm64? Почему она так долго выполняется?» Хотя я понимаю, как работает компиляция на Android, я вдруг осознал, что совершенно не разбираюсь в нативном мире.
Работает ли задача линковки только с моим кодом или ещё и с зависимостями? А что насчёт задачи compileKotlinIosArm64? Что именно она делает? Честно говоря… не знаю. Понятия не имею, но мне определённо хочется разобраться. И я воспользуюсь тобой 🫵, читатель, как мотивацией для исследования и написания этой статьи. Так что спасибо, что остаёшься рядом.

➡️ Читать далее

✍️ @kotlin_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👎1
📱System Design в мобильной разработке — это про архитектуру, которая выходит за рамки экранов и навигации.

Чтобы приложения масштабировались, выдерживали нагрузку и не ломались при росте — нужен системный подход.

Как выстроить его на практике? Подробно обсудим это на Podlodka Android Crew, 15-19 сентября.

В программе:

🧩 Бинарная совместимость: где с ней сталкиваются мобильные разработчики и какие ошибки чаще всего приводят к проблемам. (Абакар Магомедов, Альфа-Банк)

🏗️ Мобильный архитектор: какие решения он принимает и почему без этой роли сложно развивать сложные приложения. (Эдуард Некрутов, Blink)

⚙️ Dependency Injection в KMP: обзор фреймворков и разбор, как выбрать подходящее решение под проект. (Александр Власюк, РайффайзенБанк)

⚡️BDUI в Android: опыт от DivKit, Beduin и Duit. Как перестать хардкодить экраны и ускорить эксперименты, чтобы быстрее проверять гипотезы.

🔗 Подключайся — будет полезно

По промокоду для подписчиков скидка 500 р: android_crew_14_d9Uzfo
Когда Kotlin-объект перестаёт быть синглтоном

object в Kotlin - это стандартный способ объявления синглтона: единственного, глобально доступного экземпляра, который создаётся один раз на JVM.

На уровне языка это действительно гарантируется. Но в реальных проектах эта гарантия может быть нарушена - без ошибок компиляции и каких-либо заметных предупреждений.

Одна из распространённых причин - сериализация. Некоторые библиотеки во время десериализации создают новый экземпляр, нарушая равенство по ссылке и ломая общий разделяемый стейт.

В этой статье разбирается, когда Kotlin-синглтоны перестают быть настоящими синглтонами - и как этого избежать на практике.

https://proandroiddev.com/when-kotlin-object-stops-being-a-singleton-604a3354e4ec

✍️ @kotlin_lib
👍3
🚀 Подборка Telegram каналов для программистов

Системное администрирование, DevOps 📌

https://t.me/bash_srv Bash Советы
https://t.me/win_sysadmin Системный Администратор Windows
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux

1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/DevLab1C 1С:Предприятие 8
https://t.me/razrab_1C 1C Разработчик
https://t.me/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://t.me/rabota1C_rus Вакансии для программистов 1С

Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.me/pythonofff Python академия.
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Big Data, Machine Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
https://t.me/lifeproger Жизнь программиста. Авторский канал.

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_2 Хакер Free

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров

Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/matgeoru Математика | Геометрия | Логика

Excel лайфхак📌
https://t.me/Excel_lifehack

https://t.me/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Как Android-разработчик в iOS погружался: мой опыт внедрения Kotlin Multiplatform

Продукт создавали нативно на каждую платформу, без пересечения кода.

В начале года у нас ушло несколько iOS-разработчиков, из-за чего замедлилась поставка новых функций на обеих платформах. Мы решили, что это повод внедрить наконец кроссплатформенную разработку и выровнять поставку фич на обеих платформах.

В этом материале расскажу, почему мы остановились на KMP, как погружались в iOS c опытом в Android и как прошло внедрение этого фреймворка. Спойлер: быстрее и проще, чем мы думали.

https://habr.com/ru/companies/ru_mts/articles/923366/

✍️ @kotlin_lib
👍1
Media is too big
VIEW IN TELEGRAM
Разбор кода: пиксельная погода на Kotlin

Третий выпуск спецпроекта, в котором опытные разработчики Яндекса продолжают разбирать код стажёров и джунов и объяснять, что в нём сделано хорошо, а что ещё можно улучшить.

Сегодня под микроскоп попадает WeatherApp — приложение прогноза погоды с ретровизуалом. Арсений Носов, Android-разработчик в команде Алисы и Умных устройств, тщательно разбирает код и делится полезными советами по работе с ним.

Ссылка на код: https://github.com/ArkhamDm/WeatherApp

Readme кода на Kotlin: https://github.com/ArkhamDm/WeatherApp

✍️ @kotlin_lib
👍1
Model Context Protocol in Kotlin
Alexander Sysoev

MCP is an open protocol that standardizes how applications provide context to LLMs. We've created a Kotlin library that allows you to use this protocol and connect AI models to tooling, like IDEs. Now we will see how it works in practice.

https://www.youtube.com/watch?v=D3hCBrxJHLo

✍️ @kotlin_lib
👍4