В данной статье находится лабораторная работа, направленная на создание приложения калькулятора с базовыми функциями в android studio.

Kotlin *
Статически типизированный язык программирования
Как распараллелить тесты с базой данных

Представьте проект, в котором уже написано несколько сотен тестов. Каждый тест настраивает базу под себя: добавляет данные, вызывает truncate
по окончанию. Хочется запускать тесты параллельно, чтобы ускориться, но если два теста запустить одновременно, они почти наверняка друг другу помешают.
В данной статье поделюсь подходом, который позволил решить проблему без рефакторинга.
Хроники пикирующего бота или как важно не пропускать стадию QA в проектах

Эта статья должна была рассказать вам о проекте простого телеграм-бота, который заточен на одно простое действие: мониторинг доступности сайтов. Но, опубликовав MVP и представив проект на публику, мы заранее не провели полный объем необходимых тестов, в самый ответственный момент не смогли быстро всё исправить и вместо восторженных отзывов аудитории получили порцию хейта. Поэтому мы решили не делать из статьи пиар-акцию, а просто ещё раз напомнить всем стартапам, да и вообще программистам, отделам и командам о важности каждого этапа разработки.
Следование style guide для .proto файлов с помощью protolint в GitHub Actions

В этом посте я расскажу, как настроить protolint для проверки .proto файлов на соответствие официальному style guide в GitHub Actions и поделюсь практическим опытом его использования.
Мигрируем Java Spring Boot приложение на Kotlin

Доброе время!
Немного статистики по Kotlin: по недавней выборке на hh.ru в вакансиях "программист, разработчик" по слову Java и Kotlin почти треть вакансий (а в некоторых регионах больше) требуют владения Kotlin. А по последнему отпросу от AZUL 2023 47% организаций используют Kotlin. Таким образом освоив Kotlin и добавив в резюме репозиторий с проектом на нем вы получите на 30% больше возможностей!
Как известно, лучший способ выучить новый язык программирования - это пройти курсы сделать на нем проект. Для Java программистов на мой взгляд самый простой и эффективный способ - взять собственный небольшой Spring Boot REST API проект и сделать его миграцию.
В рамках наших курсов "Из Middle в Senior" (см. предыдущий пост по курсу «Работа с документами в Java») я выпустил новый курс Spring Boot REST API приложение на Kotlin и хочу поделиться здесь особенностями миграции и полезными ссылками для тех, кто захочет это сделать самостоятельно. Статья в помощь тем, кто решил мигрировать на Кotlin свой Java проект, НЕ для изучения основ Kotlin.
Обеспечение обратной совместимости gRPC API с помощью protolock в GitHub Actions

В этом посте я поделюсь с вами подробной инструкцией по настройке автоматической проверки обратной совместимости gRPC API с помощью protolock в GitHub Actions.
Android. Принять себя или Cookie?

Печенья, кеки, кукисы, ку-ку, кексы… нет, куки!
– Cookie — это что?
– Почему их не нужно принимать?
– Безопасно ли это?
– CookieJar, CookieManager, CookieStore… WebView?
А также истории про то, как жить с cookie в большом приложении, и сколько эмоций вы испытаете, если в вашем приложении есть WebView.
Эффективное создание и деплой gRPC API с помощью GitHub Actions и Packages для проекта на Kotlin и React

В этом посте я покажу, как с помощью GitHub Actions легко реализовать генерацию и публикацию gRPC API пакетов в GitHub Packages, в реестрах Apache Maven и npm. Если вы хотите освоить GitHub Packages для своих проектов и научиться генерировать gRPC API для сервисов на Kotlin/Java и gRPC-web клиентов — добро пожаловать под кат.
Обзор актуальных инструментов шифрования в Android

Привет, Хабр! Меня зовут Артур Илькаев, я работаю в департаменте экосистемных продуктов, мы разрабатываем VK ID SDK и все что связано с авторизацией и сессиями, в частности — мультиаккаунт.
Секретные данные требуют особого внимания при хранении и передаче. Инструменты для шифрования могут варьироваться по степени сложности, надёжности и производительности. В этом обзоре мы рассмотрим несколько таких инструментов, опишем их эффективность и расскажем о распространённых ошибках при их использовании. Статья написана по мотивам разработки мультиаккаунта, который подвёл нас к исследованию оптимального и безопасного способа хранения сессий.
Kotlin Multiplatform в мобильной разработке. Рецепты общего кода для Android и iOS

Kotlin Multiplatform — технология, которая позволяет использовать общую кодовую базу для бизнес-логики приложений разных платформ и писать платформенный код только там, где это необходимо. Хотя последнее время о ней много и часто говорят, найти информацию о нюансах внедрения KMP в проекты довольно сложно. В этом мы убедились лично, когда пытались разобраться, что и как именно можно безболезненно выносить в common-модуль.
Kotlin под капотом: inline функции

Многие разработчики не понимают в чем профит от использования inline функций и в каких случаях их нужно использовать. Для чего нужен crossinline и как работает reified. Разбираемся как это работает на уровне байткода, в котором хорошо видно всю суть inline функций kotlin.
Микросервисы на основе событий с Kafka Streams и Spring Boot

Всем привет! Это моя первая статья на Habr, так что не судите строго за стиль, а вот по содержанию буду рад любой конструктивной критике.
Статья основана на публикациях Confluent о том, как можно реализовать микросервисную архитектуру на основе событий с помощью Kafka Streams и KSQL.
API vs ABI: разницу видят не только лишь все

Привет, дорогой читатель! Думаю, ты точно знаешь, что такое API и как сделать, чтобы твои изменения были API-совместимыми. На самом деле я сам никогда не задумывался, что существует ABI-совместимость, до момента, пока не столкнулся с разработкой библиотеки.
У нас в компании есть библиотеки, которые используются несколькими проектами. При разработке этих библиотек мы всегда думали об API-совместимости, но не задумывались о вопросе ABI-совместимости, а это довольно важный вопрос. В статье расскажу, почему этот тема стоит вашего внимания.
Ближайшие события
Kotlin под капотом: нюансы использования аннотаций

Котлин очень лаконичный язык, но когда его код компилируется в Java bytecode, то изящные конструкции kotlin распадаются на развесистые и монструозные конструкции Java. При этом применение аннотаций может сыграть с вами злую шутку.
Пишем Kotlin DSL для графов навигации в домашних условиях

Всем привет! Я Тимур, лид одной из android-команд. Больше трех лет работаю в Тинькофф, все это время был в привлечении и занимался флоу получения разных банковских продуктов.
Расскажу, как мы сделали свой DSL для того, чтобы строить логику навигации в наших флоу.
Статический анализатор Ktlint для Kotlin в Android

Kotlin — это статически типизированный язык программирования на основе JVM, разработанный компанией JetBrains. Он был представлен Google в первую очередь для создания мобильных приложений на платформе Android. Используя Kotlin, разработчики могут писать код быстрее и более качественно. Тем не менее, как и в случае с любым другим языком программирования, важно соблюдать набор правил, чтобы обеспечить высокую производительность и читаемость кода.
Подходит ли data class для JPA entity?

Использовать data class для JPA Entity оправдано, если id записи генерится на стороне приложения и избыточно, если id генерится на стороне базы данных, так как придется переопределять методы equals и hashcode.
JUnit 5 Extensions — практическое руководство (часть 1)

Привет. В Рунете материала по JUnit 5 Extensions сегодня немного, и довольно часто он ограничивается переводом документации (в редких случаях - постов с зарубежный ресурсов). Поэтому было решено исправить сей недостаток.
В небольшом цикле статей я расскажу о практических аспектах применения расширений JUnit 5, которые позволяют довольно элегантно решать многие задачи в проектах без использования дополнительных библиотек.
В качестве языка программирования я выберу Kotlin...
Kotlin Multiplatform перешёл в stable. Что это значит?

Привет! Меня зовут Максим, я руководитель мобильной разработки в KTS.
1 ноября состоялся релиза Kotlin 1.9.20, beta компилятора k2.
Но для нас интереснее глобальное изменение статуса KMP. Мы используем эту технологию в мобильной разработке и написали про неё несколько статей.
В статье подробнее рассмотрим, что изменилось в технологии с переходом в релиз.
Можно ли обойтись без нативных языков, разрабатывая на Flutter и RN?

Привет! Меня зовут Дима, я разрабатываю мобильные приложения на Flutter в Пиробайт. Все чаще мне приходится сталкиваться с задачами, в которых требуется обращение к нативному API устройства.
Пакетов на pub.dev для решения этих задач мне всегда хватает. Но бывают моменты, когда пакет работает не так, как надо, либо требует сложной настройки для работы. Поэтому я стал заглядываться на изучение нативных языков, дабы уметь внедрять их в проект и не зависеть от других пользователей, которые пишут пакеты на Flutter (или хотя бы знать, как исправлять за ними ошибки в коде).
Передо мной встала дилемма — будет ли время, затраченное на изучение нативки, стоить того, чтобы избавиться от некоторых недостатков кроссплатформенной разработки? Или можно обойтись без этого? Ниже я расскажу, к какому выводу пришел за время своей работы.
Вклад авторов
spring_aio 818.3olegchir 322.0glaschenko 258.0nerumb 250.8phillennium 247.9fillpackart 245.0dmitriizolotov 196.0moscas 168.0linreal 162.0