Как стать автором
Обновить
108.78

Kotlin *

Статически типизированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Anvil Utils: Assisted injection в многомодульных Android проектах без боли

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров347

Привет, Android разработчики!

Хотел бы рассказать вам про мою библиотеку (Anvil Utils) - кодогенератор позволяющий слегка уменьшить количество боилерплейта в многомодульных проектах использующих Dagger 2 и Anvil.

Читать далее
Всего голосов 7: ↑9 и ↓-2+11
Комментарии0

Новости

Когда переключаются потоки в Spring WebFlux

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.5K

Работа с библиотекой WebFlux вызывает затруднения у многих Java/Kotlin разработчиков

Код выглядит непривычно, непонятно в каких потоках выполняется логика и как этим управлять

Сегодня я попытаюсь объяснить простым языком такой важный аспект, как момент переключения потоков в WebFlux, это поможет вам допускать меньше ошибок и писать более производительный код

Также другие материалы от меня вы сможете найти в моем телеграм блоге

Читать далее
Всего голосов 8: ↑7.5 и ↓0.5+7
Комментарии1

Kotlin + Maven toolchain

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров723

Главная идея статьи - это показать как заставить ЭТО (kotlin & maven toolchain) работать вместе. Детального описания Maven toolchain здесь не будет, но есть краткое описание новых улучшений.

Решение нестандартное, попахивает немного хаком.

Вкратце о Maven toolchain.

Эта фича позволяет подключать нужную версию jdk (или других инструментов) автоматически. До апреля 2024 года maven toolchain плагин был довольно слабенький (по сравнению с gradle toolchains).

Но вот недавно (в апреле 2024) подъехала новая версия, которая поддерживает новые фишки, как в gradle.

...

Похакаем maven ))
Всего голосов 3: ↑5 и ↓-2+7
Комментарии1

Telegram Bot на Kotlin: Шпаргалка

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.2K

Эта статья должна была являться эдаким эпилогом серии статей про ботостроение на базе ktgbotapi и plagubot, но я случайно запилил шаблон для ботов на соответствующих технологиях и, как я считаю, имеет смысл объяснить, как им пользоваться. Потенциально это может сильно сэкономить вам время, если вы будете создавать новые проекты

Подглядеть
Всего голосов 2: ↑3 и ↓-1+4
Комментарии2

Истории

Новые коллекции в Android

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.5K

В 2018 году в androidx появился новый пакет collection, который содержал несколько специфичных структур данных, переписанных на Kotlin, таких как LongSparseArray, SimpleArrayMap и SparseArrayCompat.

На тот период Kotlin только начинал набирать обороты в Android разработке и добавление новых более эффективных коллекций, полностью написанных на нём было одним из шагов по внедрению языка.

С тех пор прошло более 6 лет и в январе текущего года был выпущен новый релиз с мощной заменой HashMap, о которой я расскажу чуть позже...

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии7

Как не свихнуться с кучей модулей в проекте

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.4K

На данный момент я работаю с весьма ветвистыми проектами (один из них состоит из почти 120 градл модулей) и уже достаточно давно разные факторы подталкивали меня написать статью о том, как я организую свои проекты: стажеры и коллеги, чтение различных статей и книг. Понятное дело, что не существует серебряной пули, но я надеюсь, что эта статья поможет кому-то в понимании, как можно организовывать проекты. Добро пожаловать в комментарии для обмена опытом :)

Добро пожаловать :)
Всего голосов 7: ↑7.5 и ↓-0.5+8
Комментарии10

Где мне это пригодится в жизни или применение Nothing в Kotlin на примере

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4K

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

Читать далее
Всего голосов 21: ↑24.5 и ↓-3.5+28
Комментарии10

Android и iOS, Flutter и Kotlin: что обо всём этом расскажут на Mobius

Время на прочтение13 мин
Количество просмотров1.5K

До конференции Mobius остался месяц, мы представляем Хабру её программу. И её вечно непросто поделить на блоки.

Понятно, что доклады «про iOS» и «про Android» интересны разным разработчикам, поэтому хабрапост хочется разделить пополам. Но как правильнее поступить с докладами по Flutter? А про Kotlin, когда есть KMP? А с теми, которые не привязаны к платформе?

В общем, не уделяйте слишком много внимания тому, как всё разделено на части — лучше смотрите, о чём будут сами доклады.

Программа Mobius 2024 Spring
Всего голосов 4: ↑7 и ↓-3+10
Комментарии0

Тестирование UI в Compose Multiplatform

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.6K

Собираясь писать UI-тесты для приложения на Compose Multiplatform, я столкнулась с дефицитом туториалов и документации по этой теме. Из полезного были только пара статей (https://habr.com/ru/articles/674112/) и выступлений на недавних конференциях, а примеры в основном сводились к щелчку по кнопке и проверке результата. Пришлось писать почти наугад, запуская код и изучая результат. Хочу поделиться с Хабром получившимися наработками.

Читать далее
Всего голосов 5: ↑6 и ↓-1+7
Комментарии2

Найти отличия, или внедряем Snapshot-тесты для web. Опыт Звука

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.4K

Всем привет! На связи Наталья Данилина и Иван Чечиков из Звука. В этой статье мы хотим поделиться опытом внедрения snapshot-тестов для web-приложения — расскажем, что это такое и для каких задач применяется.

Подробности – под катом.

Читать далее
Всего голосов 13: ↑15 и ↓-2+17
Комментарии2

ViewModels в Android: «за» и «против»

Время на прочтение7 мин
Количество просмотров2.8K

В этой серии статей мы рассмотрим лучшие практики использования ViewModels в Android с акцентом на основных принципах повышения качества кода. Рассмотрим роль ViewModels в управлении состоянием пользовательского интерфейса и бизнес-логикой, стратегии для ленивого внедрения зависимостей и важность реактивного программирования. Кроме того, обсудим общие подводные камни, которых следует избегать, такие как неправильная инициализация состояния и обнародование изменяемых состояний.

Читать далее
Всего голосов 13: ↑14 и ↓-1+15
Комментарии1

Создание реактивных сервисов Micronaut и Kotlin

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2K

В данной статье обсудим создание REST-сервиса в “реактивном” исполнении. Приведу примеры кода на Kotlin в двух вариантах: Reactor и coroutines

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии16

Как я написал клиент электронного дневника своей области

Время на прочтение5 мин
Количество просмотров11K

Сейчас я учусь в 8 классе. Где-то с октября (сейчас апрель) я изучаю разработку мобильных приложения для андроид. И как это бывает у каждого - я столкнулся с проблемой: а какое приложение мне сделать? И мне крайне повезло. Я не стал делать какой-нибудь фейковый магазин, калькулятор, блокнот, туду лист и всякую подобную заезженную тему.

Читать далее
Всего голосов 97: ↑105.5 и ↓-8.5+114
Комментарии29

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург

Заставляем дружить OpenGL c JVM на macOS

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1K

Исторически так сложилось, что macOS сильно отличается от других операционных систем, когда дело доходит до нативной работы с окнами и графикой. И нельзя сказать, что это определенно плохо или хорошо. В этом плане Apple решили пойти своей любимой дорогой: "мы лучше знаем что тебе нужно, поэтому сделали все за тебя". Как же это проявляется?

Читать далее
Всего голосов 5: ↑5.5 и ↓-0.5+6
Комментарии2

Конструкторы-самозванцы в Kotlin

Время на прочтение7 мин
Количество просмотров9.3K

Сегодня я хочу поговорить про интересные моменты в Kotlin, связанные с вызовами конструкторов классов. Или не совсем конструкторов? Или же совсем не конструкторов? Давайте разбираться.

Это техническая статья для любителей языковых интересностей, не лишённая практического смысла.

Читать далее
Всего голосов 46: ↑49 и ↓-3+52
Комментарии11

Электронная подпись, шифрование данных с помощью RSA, AES. Реализация на Kotlin, Micronaut, bouncycastle

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.3K

Электронная подпись, шифрование данных с помощью RSA, AES. Реализация на Kotlin, Micronaut, bouncycastle.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии5

Kotlin (не) против Java: особенности компиляции в байткод

Время на прочтение6 мин
Количество просмотров6.1K

В 1995 году Sun Microsystems представили Java — объектно-ориентированный язык программирования, основное кредо которого можно сформулировать так: «Написано один раз, работает всегда». В 2011 году как улучшенную альтернативу Java компания JetBrains представила Kotlin — язык с той же философией, но иной реализацией. С тех пор в сообществе программистов между адептами Java и Kotlin ведется непримиримая вражда…

Всем привет! Меня зовут Артем Панасюк, я ведущий backend-разработчик на Java/Kotlin в «Леруа Мерлен». В этом тексте я постараюсь залезть к этим языкам «под капот» и посмотреть, правда ли они такие разные — и в чем преимущества каждого из них.

Читать далее
Всего голосов 16: ↑13.5 и ↓2.5+11
Комментарии21

Опять транзакции…

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров13K

Всем привет. На своем последнем месте работы я выполнял обязанности Java разработчика в одной из команд сервиса, чье приложение установлено в смартфоне большинства жителей РФ. Использовался стандартный стек технологий: Java, Spring(web, jdbc, core), PostgreSQL, Kafka. Обычное синхронное API по работе с данными, без всякой реактивщины, с нагрузкой более миллиона пользователей в день. Я столкнулся с тем что сервисы по работе с БД были обильно «усыпаны» Spring аннотациями @Transactional. Даже одиночные запросы на чтение данных использовали аннотацию с параметром readOnly=true. Я пытался писать комментарии к мердж‑реквестам с вопросом: «зачем вы это делаете?». Но получал ответы из разряда: «для перфоманса», «у нас так принято, чтобы случайно не упустить случай когда транзакция будет действительна нужна», «раньше у нас была какая‑то проблема с коннектами (какая именно никто так и не вспомнил сколько я не пытал), мы везде добавили аннотации и все заработало». Если интересно чем в итоге закончилась эта дискуссия, то подробности далее.

Читать далее
Всего голосов 34: ↑32 и ↓2+30
Комментарии44

Простой вопрос по Kotlin Coroutines или как не потеряться в измерениях

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.1K

Простой вопрос по Kotlin Coroutines для начинающих!

Проверь свои знания в этой небольшой статье.

Если у тебя есть свои интересные вопросы, буду рад увидеть их в комментариях :)

Читать далее
Всего голосов 14: ↑8 и ↓6+2
Комментарии10

Telegram Desktop и Compose Multiplatform

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.6K

Всем привет! В своей прошлой статье я рассказывал как можно запустить Telegram клиент в качестве backend‑сервиса. В описываемой там библиотеке с тех пор были внесены некоторые оптимизации, и в целом, я остался доволен возможностями, которые получил. После чего возникло желание добавить визуальную часть к имеющемуся бэкенду и заодно изучить что‑то новое для себя. Выбор пал на фреймворк Compose Multiplatform. Давайте сделаем десктопную версию Telegram!

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии0
1
23 ...