Модульная запутанность. Как распарсить одну модель в разных модулях
Меня зовут Константин и я лид мобильной команды в финтех компании PeterPartner.
Хочу поделиться тем как распарсить одну модель с бекенда в разных Impl модулях. И немного о многомодульных приложениях в целом.
Читать статью
Меня зовут Константин и я лид мобильной команды в финтех компании PeterPartner.
Хочу поделиться тем как распарсить одну модель с бекенда в разных Impl модулях. И немного о многомодульных приложениях в целом.
Читать статью
Teletype
Модульная запутанность. Как распарсить одну модель в разных модулях
Всем привет! Это один из первых моих постов, поэтому не судите строго. Сегодня хочу поделиться тем как мы думали, что многомодульность...
Kotlin под капотом: как избавиться от рекурсии
Различные способы оптимизации рекурсии и какой эффект они дают в плане производительности. Является ли рекурсия абсолютным злом и всегда ли нужно ее оптимизировать.
Читать статью
Различные способы оптимизации рекурсии и какой эффект они дают в плане производительности. Является ли рекурсия абсолютным злом и всегда ли нужно ее оптимизировать.
Читать статью
Teletype
Kotlin под капотом: как избавиться от рекурсии
Недавно я прочитал статью об оптимизации хвостовой рекурсии в kotlin через ключевое слово tailrec. Мне стало интересно, как это...
Когда официальные гайды не такие и полезные или WebSocket на ktor
Привет! Меня зовут Константин и я лид мобильной команды в финтех компании PeterPartner.
В этой статье расскажу о том как мы добавляли поддержку одностороннего сокета в наше мобильное приложение на Kotlin Multiplatform с использованием ktor
Читать статью
Привет! Меня зовут Константин и я лид мобильной команды в финтех компании PeterPartner.
В этой статье расскажу о том как мы добавляли поддержку одностороннего сокета в наше мобильное приложение на Kotlin Multiplatform с использованием ktor
Читать статью
Teletype
Когда официальные гайды не такие и полезные или WebSocket на ktor
Всем привет! Это один из первых моих постов, поэтому не судите строго. Сегодня хочу поделиться тем как мы добавляли поддержку сокета...
Простой вопрос по Android Core, на который даже сеньоры отвечают неправильно
Мне кажется, я придумал очень простой вопрос по Android, но жаль, что не все поймут в чём же дело.
Хочешь проверить свои знания? Тогда заходи.
Читать статью
Мне кажется, я придумал очень простой вопрос по Android, но жаль, что не все поймут в чём же дело.
Хочешь проверить свои знания? Тогда заходи.
Читать статью
Teletype
Простой вопрос по Android Core, на который даже сеньоры отвечают неправильно
Мне кажется, я придумал очень простой вопрос, который можно задать любому андроид-разработчику, при этом ответ будет либо совсем...
Заводим Яндекс Карты в Compose Multiplatform
Привет! Я мобильный разработчик (таковым себя считаю) с опытом работы около года. В этой статье будет рассмотрено возможное решение проблемы, с которой вы можете столкнуться в процессе освоения Compose Multiplatform. Статья не претендует на истину в последней инстанции и тем более не является прямой инструкцией к выполнению. Вы всегда можете придумать свое, более эффективное и красивое решение, я лишь делюсь собственным опытом разработки.
Читать статью
Привет! Я мобильный разработчик (таковым себя считаю) с опытом работы около года. В этой статье будет рассмотрено возможное решение проблемы, с которой вы можете столкнуться в процессе освоения Compose Multiplatform. Статья не претендует на истину в последней инстанции и тем более не является прямой инструкцией к выполнению. Вы всегда можете придумать свое, более эффективное и красивое решение, я лишь делюсь собственным опытом разработки.
Читать статью
Teletype
Заводим Яндекс Карты в Compose Multiplatform
Привет! Это мой первый пост на Хабре, буду рад услышать профессиональное и не очень мнение по поводу этой статьи. Я мобильный...
DataMaps. Рассказ о нашей ORM на Kotlin
Уже несколько лет мы с командой трудимся над платформой, которая официально называется БФТ.Платформа, а менее официально - Ice. В основном наша платформа используется в органах власти и государственных учреждениях.
Сегодня хотелось бы рассказать не обо всей платформе, а только об одном из ее компонентов - ORM (object-relational mapping) - фреймворке DataMaps.
Данная статья не инструкция или справка. Это достаточно поверхностный обзор, цель которого — получить первичную обратную связь: интересен ли наш фреймворк сообществу?
Внутри БФТ-Холдинга Datamaps зарекомендовали с одной стороны, как легкий, наглядный и понятный для разработчиков фреймворк, с другой стороны, мощный по своим возможностям.
Читать статью
Уже несколько лет мы с командой трудимся над платформой, которая официально называется БФТ.Платформа, а менее официально - Ice. В основном наша платформа используется в органах власти и государственных учреждениях.
Сегодня хотелось бы рассказать не обо всей платформе, а только об одном из ее компонентов - ORM (object-relational mapping) - фреймворке DataMaps.
Данная статья не инструкция или справка. Это достаточно поверхностный обзор, цель которого — получить первичную обратную связь: интересен ли наш фреймворк сообществу?
Внутри БФТ-Холдинга Datamaps зарекомендовали с одной стороны, как легкий, наглядный и понятный для разработчиков фреймворк, с другой стороны, мощный по своим возможностям.
Читать статью
Teletype
DataMaps. Рассказ о нашей ORM на Kotlin
Всем привет!
Kotlin изнутри: как работают inline-функции
Часто проводя технические собеседования, я пришел к выводу, что многие разработчики не понимают, в чем польза inline-функций, зачем нужен crossinline и как работает reified. Причина распространенных заблуждений насчет inline-функций отчасти заключается в неточном их описании, ранее опубликованном на сайте kotlinlang.org. Хочу развенчать эти заблуждения и наглядно показать, как работают inline-функции (встраиваемые) и в чем преимущество их использования.
Читать статью
Часто проводя технические собеседования, я пришел к выводу, что многие разработчики не понимают, в чем польза inline-функций, зачем нужен crossinline и как работает reified. Причина распространенных заблуждений насчет inline-функций отчасти заключается в неточном их описании, ранее опубликованном на сайте kotlinlang.org. Хочу развенчать эти заблуждения и наглядно показать, как работают inline-функции (встраиваемые) и в чем преимущество их использования.
Читать статью
Teletype
Kotlin изнутри: как работают inline-функции
Часто проводя технические собеседования, я пришел к выводу, что многие разработчики не понимают, в чем польза inline-функций, зачем...
Как я приложение на Compose писал
Далеко не новость, что в мобильной разработке под Android развивается новый подход к построению UI. Он же Compose. Он же плейбой, филантроп и просто классная функционалочка, которая колоссально упрощает жизнь в процессе верстки пользовательского интерфейса.
В статье будет рассказана небольшая история создания приложения под Android полностью на Compose и о том, на сколько сильно применение Compose на продуктиве упрощает и ускоряет разработку. Личный опыт автора, которым он (то бишь я) хочет с вами поделиться.
Читать статью
Далеко не новость, что в мобильной разработке под Android развивается новый подход к построению UI. Он же Compose. Он же плейбой, филантроп и просто классная функционалочка, которая колоссально упрощает жизнь в процессе верстки пользовательского интерфейса.
В статье будет рассказана небольшая история создания приложения под Android полностью на Compose и о том, на сколько сильно применение Compose на продуктиве упрощает и ускоряет разработку. Личный опыт автора, которым он (то бишь я) хочет с вами поделиться.
Читать статью
Teletype
Как я приложение на Compose писал
С чего все началось. Как и любой уважающий себя разработчик, я периодически слежу за новыми решениями и подходами по платформе, но...
Просто об архитектуре в Android
В нашем скромном мире разработки Android есть общепринятый подход к проектированию приложений - Clean Architecture, который рекомендуется Google. Несмотря на множество статей, посвященных этому стандарту, вопросы и споры вокруг того, как "правильно готовить" Clean Architecture, остаются актуальными.
Меня зовут Артем, я Android developer BSL. В данной статье я рассмотрю один из возможных путей - простота и гармоничность на основе Clean Architecture. Важно понимать, что это всего лишь один из вариантов, который основан на моем личном видении. В мире разнообразных подходов не существует идеала, и, возможно, именно в этом заключается привлекательность процесса разработки - в бесконечных спорах и поиске оптимального решения.
Читать статью
В нашем скромном мире разработки Android есть общепринятый подход к проектированию приложений - Clean Architecture, который рекомендуется Google. Несмотря на множество статей, посвященных этому стандарту, вопросы и споры вокруг того, как "правильно готовить" Clean Architecture, остаются актуальными.
Меня зовут Артем, я Android developer BSL. В данной статье я рассмотрю один из возможных путей - простота и гармоничность на основе Clean Architecture. Важно понимать, что это всего лишь один из вариантов, который основан на моем личном видении. В мире разнообразных подходов не существует идеала, и, возможно, именно в этом заключается привлекательность процесса разработки - в бесконечных спорах и поиске оптимального решения.
Читать статью
Teletype
Просто об архитектуре в Android
В современном мире разработки выбор подходящей архитектуры - сложная задача. Все разработчики стремятся к тому, чтобы их код был чистым...
Уровни изолированности транзакций для самых маленьких
В этой статье обсудим уровни изолированности транзакций и как их можно использовать на своих проектах. Среди прочего эту тему часто поднимают на собеседованиях, поэтому в том или ином виде с ней знакомы многие. Но здесь мы разберем некоторые нюансы.
Читать статью
В этой статье обсудим уровни изолированности транзакций и как их можно использовать на своих проектах. Среди прочего эту тему часто поднимают на собеседованиях, поэтому в том или ином виде с ней знакомы многие. Но здесь мы разберем некоторые нюансы.
Читать статью
Teletype
Уровни изолированности транзакций для самых маленьких
В этой статье обсудим уровни изолированности транзакций и как их можно использовать на своих проектах. Среди прочего эту тему часто...
Рыночные данные в кармане: как получать их быстро и просто с помощью Java/Kotlin и Spring Boot + TinkoffApi
Если вы хотите написать проект, связанный с рыночными данными или торговлей на бирже, и вы знакомы с Java или Kotlin и слышали про Spring Boot, то эта статья для вас
Читать статью
Если вы хотите написать проект, связанный с рыночными данными или торговлей на бирже, и вы знакомы с Java или Kotlin и слышали про Spring Boot, то эта статья для вас
Читать статью
Teletype
Рыночные данные в кармане: как получать их быстро и просто с помощью Java/Kotlin и Spring Boot + TinkoffApi
Я являюсь автором Spring Boot стартера с помощью которого можно легко интегрировать TinkoffInvestApi в свои Spring Boot приложения...
Ни одно задание не будет провалено: Spring Boot и Quartz в режиме cluster
Туториал по настройке библиотеки Quartz в режиме кластера в Spring Boot приложении с возможностью отслеживания и управления жизненным циклом задания, в том числе переносом задания в случае необходимости.
Читать статью
Туториал по настройке библиотеки Quartz в режиме кластера в Spring Boot приложении с возможностью отслеживания и управления жизненным циклом задания, в том числе переносом задания в случае необходимости.
Читать статью
Teletype
Ни одно задание не будет провалено: Spring Boot и Quartz в режиме cluster
Ниже будет краткий обзор настройки приложения, написанного на Kotlin + Spring Boot, которое развернуто в кластере в нескольких...
Kotlin Object Multiplatform Mapper
Складывается такое впечатление, что дописать свою приложение для Android мне суждено не скоро. Каждый раз начиная писать новую версию (так как старая была написана не до конца, использовалась только мной, а через пару-тройку лет простоя - проще написать заново) своего приложения задуманного еще в 2012 году, я сталкиваюсь с ситуацией, что мне не хватает какого-то функционала и начинаю писать свои библиотеки для этого. В первую попытку это был свой ORM (UcaOrm 1, 2, 3). Во вторую KCron - KMP библиотека, реализующая Cron. И вот, начав следующую итерацию, я вновь в таком же положении. Но обо всем по порядку!
Читать статью
Складывается такое впечатление, что дописать свою приложение для Android мне суждено не скоро. Каждый раз начиная писать новую версию (так как старая была написана не до конца, использовалась только мной, а через пару-тройку лет простоя - проще написать заново) своего приложения задуманного еще в 2012 году, я сталкиваюсь с ситуацией, что мне не хватает какого-то функционала и начинаю писать свои библиотеки для этого. В первую попытку это был свой ORM (UcaOrm 1, 2, 3). Во вторую KCron - KMP библиотека, реализующая Cron. И вот, начав следующую итерацию, я вновь в таком же положении. Но обо всем по порядку!
Читать статью
Teletype
Kotlin Object Multiplatform Mapper
Как AI видит Object Mapping
Kotlin Object Multiplatform Mapper: сопоставляем коллекции правильно
После публикации первой статьи я получил несколько отзывов и предложений, некоторые из которых взял в разработку. Первый доработкой стал автоматический маппинг коллекций.
Читать статью
После публикации первой статьи я получил несколько отзывов и предложений, некоторые из которых взял в разработку. Первый доработкой стал автоматический маппинг коллекций.
Читать статью
Teletype
Kotlin Object Multiplatform Mapper: сопоставляем коллекции правильно
Map\'им List\'ы в AI генераторе изображений
Управление контейнерами из Kotlin-тестов
Нередко для выполнения тестов требуется запуск вспомогательных сервисов (баз данных, брокеров очередей и др.) и стандартной практикой в подходах DevOps является запуск тестов внутри управляемого окружения, где сначала создается контейнер с JVM, после чего внутри конвейера CI/CD запускаются вспомогательные контейнеры и сборка Kotlin-приложения с точкой входа для запуска тестов. Однако есть и альтернативное решение - запускать вспомогательные тестовые контейнеры непосредственно внутри JUnit-теста. В этой статье мы обсудим несколько различных подходов к управлению контейнерами из тестов для Kotlin-приложений.
Читать статью
Нередко для выполнения тестов требуется запуск вспомогательных сервисов (баз данных, брокеров очередей и др.) и стандартной практикой в подходах DevOps является запуск тестов внутри управляемого окружения, где сначала создается контейнер с JVM, после чего внутри конвейера CI/CD запускаются вспомогательные контейнеры и сборка Kotlin-приложения с точкой входа для запуска тестов. Однако есть и альтернативное решение - запускать вспомогательные тестовые контейнеры непосредственно внутри JUnit-теста. В этой статье мы обсудим несколько различных подходов к управлению контейнерами из тестов для Kotlin-приложений.
Читать статью
Teletype
Управление контейнерами из Kotlin-тестов
Нередко для выполнения тестов требуется запуск вспомогательных сервисов (баз данных, брокеров очередей и др.) и стандартной практикой...
AndroidFoodRecipesGuideTutorial
В данной статье мы создадим простое приложение для отображения списков блюд на платформе Android с использованием языка программирования Kotlin.
Мы погрузимся в увлекательный мир мобильной разработки и научимся использовать различные технологии, включая RecyclerView для отображения списков, фрагменты для организации интерфейса, и многое другое. Наше приложение будет не только функциональным, но и простым в создании благодаря мощным инструментам, которые предоставляет нам Kotlin и Android SDK.
Давайте вместе разберемся, как создать этот простой, но полезный инструмент, который может быть использован в различных контекстах, будь то кулинарное приложение, список покупок или что-то еще. Погнали!
Читать статью
В данной статье мы создадим простое приложение для отображения списков блюд на платформе Android с использованием языка программирования Kotlin.
Мы погрузимся в увлекательный мир мобильной разработки и научимся использовать различные технологии, включая RecyclerView для отображения списков, фрагменты для организации интерфейса, и многое другое. Наше приложение будет не только функциональным, но и простым в создании благодаря мощным инструментам, которые предоставляет нам Kotlin и Android SDK.
Давайте вместе разберемся, как создать этот простой, но полезный инструмент, который может быть использован в различных контекстах, будь то кулинарное приложение, список покупок или что-то еще. Погнали!
Читать статью
Teletype
AndroidFoodRecipesGuideTutorial
В данной статье мы создадим простое приложение для отображения списков блюд на платформе Android с использованием языка программирования...
Делаю навигацию в приложении на Compose
В статье затрагивается тема межмодульной навигации в приложении написанном с применением Jetpack Compose, Compose Navigation и самописного модуля навигации. Задачи, которые преследуются — это сделать максимально независимые между собой модули фичей, которые могут смело переиспользоваться на разных проектах без постоянных доработок по навигации внутри фичей.
Статья является продолжением серии статей про то, как я писал приложение полностью на Compose и применял различные практики, чтобы сделать его максимально похожим на конструктор, части которого можно легко использовать для сборки других приложений.
Читать статью
В статье затрагивается тема межмодульной навигации в приложении написанном с применением Jetpack Compose, Compose Navigation и самописного модуля навигации. Задачи, которые преследуются — это сделать максимально независимые между собой модули фичей, которые могут смело переиспользоваться на разных проектах без постоянных доработок по навигации внутри фичей.
Статья является продолжением серии статей про то, как я писал приложение полностью на Compose и применял различные практики, чтобы сделать его максимально похожим на конструктор, части которого можно легко использовать для сборки других приложений.
Читать статью
Teletype
Делаю навигацию в приложении на Compose
То, о чем пойдет речь ниже, назвать инновацией нельзя. Это, скорее, мое личное видение по навигации между фичевыми модулями, которое...
Deep dive into delegated properties: разбираемся с делегатами в котлин
Не так давно решил поглубже изучить официальную документацию котлина, как человек изучивший его, как и многое другое через видосики и практику, решил почитать ее с первой до последней строчки.
Остановил свое внимание на делегатах, так как нашел несколько особенностей применения, которые почти ни где не упоминаются, а что то и вовсе забыли описать в оф. документации.
Читать статью
Не так давно решил поглубже изучить официальную документацию котлина, как человек изучивший его, как и многое другое через видосики и практику, решил почитать ее с первой до последней строчки.
Остановил свое внимание на делегатах, так как нашел несколько особенностей применения, которые почти ни где не упоминаются, а что то и вовсе забыли описать в оф. документации.
Читать статью
Teletype
Deep dive into delegated properties: разбираемся с делегатами в котлин
Не так давно решил изучить официальную документацию котлина. В свое время изучал его, как и многие другие, через видосики и практику...
Решение проблемы N+1 при работе с Kotlin Exposed
К написанию этой статьи я подошёл после продолжительного использования Kotlin Exposed в рабочих, а также персональных проектах, когда я начал анализировать генерируемые SQL запросы. В тот момент я познакомился с проблемой N+1)
Читать статью
К написанию этой статьи я подошёл после продолжительного использования Kotlin Exposed в рабочих, а также персональных проектах, когда я начал анализировать генерируемые SQL запросы. В тот момент я познакомился с проблемой N+1)
Читать статью
Teletype
Решение проблемы N+1 при работе с Kotlin Exposed
К написанию этой статьи я подошёл после продолжительного использования Kotlin Exposed в рабочих, а также персональных проектах, когда...
Использование resilience4j со Spring Boot
resilience4j библиотека, предоставляющая набор инструментов для повышения надежности и отказоустойчивости java приложений прежде всего в микросервисной архитектуре
Рассмотрим какие в ней есть инструменты, как их использовать в Spring Boot приложении с помощью аннотаций, как настраивать и есть ли в них подводные камни
Читать статью
resilience4j библиотека, предоставляющая набор инструментов для повышения надежности и отказоустойчивости java приложений прежде всего в микросервисной архитектуре
Рассмотрим какие в ней есть инструменты, как их использовать в Spring Boot приложении с помощью аннотаций, как настраивать и есть ли в них подводные камни
Читать статью
Teletype
Использование resilience4j со Spring Boot
resilience4j - библиотека, предоставляющая набор инструментов для повышения надежности и отказоустойчивости java приложений прежде всего...