Как стать автором
Обновить
37.35
Рейтинг

Kotlin *

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

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

Новости

Как работать с деньгами, или денежные суммы в бэкенд-разработке

Блог компании Газпромбанк Java *Kotlin *

Наша команда периодически пополняется новыми людьми, которые «приносят с собой» новые ошибки. Поэтому мы регулярно проводим семинары с их разбором. Это хороший повод напомнить всем о правилах работы с суммами, объяснить новичкам зачем они нужны и, возможно, пополнить наш чек-лист с помощью которого мы проверяем код на типовые ошибки. Вот один из примеров, который на таком семинаре разобрал Сергей Богданов — рукводитель разработки сервисной цифровой платформы Газпромбанка.

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 3.5K
Комментарии 6

Как большинство Java проектов выглядят изнутри

Java *Kotlin *

Меня зовут Аксёнов Вячеслав, я бэкенд разработчик и в последние годы пишу веб приложения на java/kotlin. Основная идея этой статьи описать основные технические задачи, которые ставятся перед современными веб приложениями, а также перечислить те библиотеки, которые чаще всего используются для решения этих задач.

Таким образом новички, которые не знаю чего им ждать от корпоративной разработке или в каком фреймворке подтягивать свои навыки, смогут увидеть картину мира чуть шире и сделать правильный выбор.

Читать далее
Всего голосов 24: ↑13 и ↓11 +2
Просмотры 9.5K
Комментарии 44

Интеграционное тестирование микросервисов Spring Boot в монорепозитории

Блог компании Домклик Java *Kotlin *Микросервисы *

Привет, Хабр! С ростом количества микросервисов и их взаимосвязей может возникнуть потребность комплексной проверки работоспособности системы. Со временем API сервисов и их поведение может дорабатываться и изменяться, при этом хочется иметь уверенность, что система микросервисов в совокупности ведёт себя согласно ожиданиям. Мы разберём простой пример написания интеграционных тестов, которые в дальнейшем можно встроить в CI/CD-процесс для решения подобной проблемы.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 1.8K
Комментарии 4

Easy android application for encryption/decryption

Open source *Разработка под Android *Хакатоны Kotlin *
Из песочницы

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

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.1K
Комментарии 4

Security микросервисов с помощью Spring, OAuth2, JWT и Service Account

Информационная безопасность *Java *Kotlin *Микросервисы *
Из песочницы

Не так давно я начинал свой первый проект с микросервисами и не знал как реализовать security. Сейчас информации по этому вопросу уже больше однако она не всегда актуальна и, как правило, не раскрывает проблему security межсервисного взаимодействия. Поэтому я решил написать как бы я решал эту задачу на сегодняшний день.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 3.2K
Комментарии 5

Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM)

Блог компании QIWI Разработка мобильных приложений *Разработка под Android *Swift *Kotlin *

Привет, Хабр!

Меня зовут Кирилл Васильев, и я хотел бы рассказать, как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM). 

КММ — это технология кроссплатформенной разработки, позволяющая писать общий код под основные платформы за исключением UI-слоя. Все продукты со временем накапливают очень большой технологический контекст; КММ, в свою очередь, позволяет его облегчить, делая компоненты технологического стека общими для команд и платформ. Такие технологии дают неоспоримые преимущества — возможность использовать ресурс каждого разработчика при создании новых фич, единый набор тестов, улучшение инженерных практик в командах и прочее.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 2.8K
Комментарии 2

Как сохранять историю процессов в Camunda без вреда для них

Блог компании TINKOFF Проектирование и рефакторинг *Kotlin *
Из песочницы

Меня зовут Павел Плетнев, я разработчик в команде кредитных карт в Тинькофф. Хочу поделиться, как можно заранее оптимизировать работу с историей в Camunda или решить проблемы, если вдруг они появились.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 1.5K
Комментарии 0

OAuth в мобильных приложениях

Блог компании KTS Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Kotlin *

Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.

Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используются открытые API, где для авторизации используется OAuth.

Поэтому разработчикам мобильных приложений приходится работать с OAuth. В сети по этой теме есть разрозненные материалы. 

Этой статьей я попробую закрыть нюансы OAuth в мобильных приложениях: на какие моменты стоит обратить внимание, какие способы реализации выбрать. А также поделюсь опытом настройки OAuth в Android-приложении с использованием библиотеки AppAuth.

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

Java One day offer от Почтатеха

Блог компании Почтатех Java *Kotlin *

Всем привет! Мы — Почтовые Технологии или просто Почтатех. Разрабатываем сложные цифровые продукты Почты России. Помогаем ей стать удобнее, быстрее, качественнее и технологичнее для вас. 

9 апреля приглашаем middle/senior-разработчиков, пишущих на Java/Kotlin, на One Day Offer — приходите и получите оффер от Почтатеха за день! Он пройдет онлайн с 10:00 до 20:00 по московскому времени.

Читать далее
Всего голосов 29: ↑26 и ↓3 +23
Просмотры 3.7K
Комментарии 5

Jetpack Compose в проектах на React Native: плюсы, минусы и интеграция

Блог компании СберМаркет Разработка мобильных приложений *Разработка под Android *Kotlin *

Привет! Меня зовут Сергей Курочкин, я руковожу Android-разработкой в СберМаркете. Сегодня я расскажу, зачем нужен Jetpack Compose в проектах React Native, и поделюсь опытом интеграции фреймворка в наши приложения. В конце на примере простого компонента разберем весь процесс разработки на Jetpack Compose.

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 1.6K
Комментарии 0

По колено в JVM куче, или на пороге потери данных

Java *Анализ и проектирование систем *Разработка игр *Kotlin *
Tutorial

Смоделируем ситуацию: у вас есть приложение на JVM (без разница, будь то Kotlin, Java или Scala), а еще у вас есть уверенность в себе и немного не хватает ответственности.

В пачке с приложением, а именно сервером, идет несколько стандартных штук - база данных, небольшой http слой, в общем, все стандартно.

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

Мне кажется, любой уважающий себя программист на +- хобби проекте захочет навернуть нереально крутое самописное решение, чем, собственно говоря, я и занялся.

Была ли это хорошая идея?
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 4.2K
Комментарии 0

Удаленный доступ к IP камерам. Часть 2. Мобильное приложение

Разработка под Android *Kotlin *


В предыдущей статье я рассказывал о простом сервере для работы с камерами видеонаблюдения, но для оперативного просмотра RTSP потоков использовал мобильное приложение VLC, которое меня не вполне устраивало по нескольким причинам. Под катом вы найдете описание и листинги простого мобильного приложения под андроид, написанного специально для охранных камер. Исходники приложения можно взять на github. Для тех, кто не хочет собирать apk самостоятельно, вот ссылка на готовые файлы.


Возможно, нам всем сейчас немного не до камер, но Хабр ведь не для политики, верно?


UPD: Похоже, в связи с последними событиями в Google Play, тема импотрозамещения становится еще актуальней.

Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 5.6K
Комментарии 10

Пишем свой плагин для IDEA для поддержки нового языка (часть 2)

Java *Kotlin *

Продолжение статьи о создании языкового плагина для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin. Начало

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

Пишем свой плагин для IDEA для поддержки нового языка (часть 1)

Java *Kotlin *

В статье рассмотрено как создается языковой плагин для IDEA на примере учебного языка Monkey. Приведены примеры из других плагинов. Пишем на Java и Kotlin.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 2.3K
Комментарии 2

Android Studio. Kotlin. Кастомный навигатор нижнего меню. Keep state navigator

Разработка под Android *Kotlin *
Tutorial

В моем приложении пользователь добавляет клиентов, консультации и расходы. Для всех трех типов данных в нем свой фрагмент, список RecyclerView и нижнее меню для перехода между ними. Я решил сделать так, чтобы при смене фрагмента состояние каждого из них сохранялось, и пользователь смог бы вернуться к той строке списка, на которой он был после перехода с другого фрагмента. Сделать это оказалось возможным (поправьте меня в комментариях, если это не так) только, если написать свой кастомный навигатор нижнего меню, который при переключении между фрагментами будет сохранять состояние каждого из них. В этой статье описываю то, как я это сделал.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.5K
Комментарии 8

Создаем и тестируем свой plugin для Gradle 7.0+

Блог компании OTUS Тестирование IT-систем *Kotlin *Gradle *

Система сборки проектов Gradle стала значительной вехой в эволюции инструментов подготовки артефактов и заменила во многих проектах ранее популярный Maven (который ранее стал заменой для make и ant). Де-факто Gradle является стандартом для сборки проектов для Android, но в действительности он может использоваться и для других целевых платформ и технологий разработки, отличных от JVM. Подобно maven в gradle используются устанавливаемые дополнения, которые могут добавлять свои цели и элементы конфигурации, а также встраиваться в существующие цели и добавлять операции как и исходными текстами (например, форматирование), так и с вспомогательными объектами (как пример можно привести кодогенерацию), а также вызов внешних команд или объектов классов (например, компилятора kotlin или инструментов сборки ресурсов для android).

В этой статье мы пошагово создадим и протестируем простой plugin трансформации текстовых файлов для gradle (при разработке будем в основном использовать API, который поддерживается версиями 6.0+, но отдельно отметим, какие функции поддерживаются только в Gradle 7.0 и более новых).

Сначала начнем с определения контекста. Сборка любого проекта состоит из последовательности действий (actions), которые в конечном счете приводят к появлению целевого состояния (task). Конфигурация сборки описывается в виде gradle-сценария, который может взаимодействовать с методами, импортированными из plugin'ов или входящих в gradle-core, либо с версии Gradle 4.0 с использованием Kotlin Scripting (.kts) с возможностью использования объектов стандартной библиотеки Kotlin и импортируемых библиотек.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 1.3K
Комментарии 0

Hexagon — гексогональная архитектура для Kotlin Backend

Блог компании OTUS Анализ и проектирование систем *API *Kotlin *Микросервисы *

В математике идеальной фигурой является шар. В мире микросервисов близкой к идеальной можно считать шестиугольник. Сегодня мы поговорим о преимуществах и недостатках гексагональной архитектуры, и относительно новой, но перспективной библиотеке Hexagon для Kotlin, предоставляющей базовую функциональность для создания веб-приложений и API, разрабатываемых с использованием гексагональной архитектуры. В результате мы разработаем общую архитектуру и несколько компонентов некоторого идеального приложения для ведения домашней бухгалтерии и автоматизации оплаты счетов и налогов.

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 4.4K
Комментарии 2

Сравниваем кривые линии по форме

Разработка игр *Алгоритмы *Разработка под Android *Kotlin *

Привет, Хабр!

Не так давно писал гиперказуальную игру с примитивной механикой, а именно: максимально быстро и точно повторить кривую линию. Идея максимально простая, но задача сравнения двух кривых оказалась довольно интересной. В этой статье я опишу разные идеи, которые рассматривал (в основном провальные) и конечный вариант, к которому я пришел.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 2.4K
Комментарии 3

Публикуем проект с помощью Gradle и Sonatype в Maven Central без рук

Java *Kotlin *Gradle *
Из песочницы

Это такое приятное чувство, когда ты закончил какую-то задачу. А особенно когда твой проект уже готов к релизу. Остался лишь последний шаг.

Публикация проекта в Maven Central, имеено об этом я расскажу в этой статье. Как настроить Gradle, чтобы потом без труда настроить CI.

Читать далее ->
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 1.8K
Комментарии 5

Вклад авторов