Как стать автором
Поиск
Написать публикацию
Обновить
59.29

Kotlin *

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

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

Concurrency в Spring Boot приложениях: как сделать правильный выбор

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

Команда Spring АйО перевела и адаптировала доклад «Concurrency in Spring Boot Applications: Making the Right Choice» Андрея Шакирина с последнего Devoxx Belgium. 

В докладе автор рассказал про различные подходы по работе с concurrency в целом, а также именно в Spring Boot приложения.

Читать далее

Mark–Scavenge: ждем, пока мусор выбросит себя сам

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

Исследователи из Oracle и Уппсальского университета представила новый алгоритм сборки мусора — Mark–Scavenge. Он решает проблему избыточной работы, которая возникает при использовании доступности объекта как прокси для оценки его "живучести".

Команда Spring АйО перевела статью, в которой можно подробнее ознакомиться с подробностями работы нового алгоритма.

Читать далее

Что нового в IntelliJ IDEA 2024.3

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

Недавно вышла новая версия IntelliJ IDEA 2024.3, в которой появилось довольно много новых фич. Команда Amplicode подготовила обзор основных возможностей IDE.

Читать далее

Что нового в Amplicode 2024.3

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

С радостью сообщаем, что успешно состоялся третий мажорный релиз Amplicode в 2024 году. Этот релиз включает множество улучшений, исправлений и новых фич. Вот основные из них:

* Поддержка Spring Data JDBC 

* Рекомендательная система плагинов 

* HTTP Client 

Читать далее

Как жить без IntelliJ IDEA? Часть №3. HTTP Client

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

В предыдущей статье "Как жить без IntelliJ IDEA" мы разбирали, какие есть альтернативы Ultimate в части поддержки Spring.

В этой части команда Spring АйО исследует, чем можно заменить встроенный HTTP-клиент JetBrains, за что его так любят разработчики и какие инструменты могут стать достойной альтернативой.

Читать далее

От Kotlin до машинного кода

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

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

Читать далее

Что нового в Spring Boot 3.4: Spring Security

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

Команда Spring АйО перевела статью об улучшениях Spring Security 6.4.1 в новом релизе.

В новой версии поддержаны современные методы аутентификации, такие как Passkeys и одноразовые OTTs токены. Josh Long называет этот релиз doozie - что-то сильно потрясающее. Действительно ли это так?

Читать далее

Что нового в Spring Framework 6.2, Spring Boot 3.4 и каковы планы на будущее?

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

Команда Spring АйО перевела статью InfoQ, посвящённую новым версиям Spring Framework и Spring Boot. В статье обсуждаются улучшения последних релизов, анонс следующего поколения Spring, запланированного на 2025 год, а также ответы на вопросы редакции InfoQ от руководителя проекта Spring Framework Юргена Хёллера и контрибьютера Spring Framework core Себастьяна Делюза.

Читать далее

Что нового в Spring Boot 3.4

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

Недавно состоялся релиз Spring Framework 6.2, вслед за ним последовал релиз Spring Boot 3.4.

Команда Spring АйО подготовила перевод статьи Josh Long об основных изменениях и улучшениях, которые вошли в последний релиз.

Читать далее

Compose Web здорового человека

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

Рассказываю про то, про что нельзя говорить (по мнению JB) — Compose HTML. О том, как эта библиотека была Compose Web, как стала Compose HTML, что и как там можно делать и про основные проблемы — всё по‑возможности кратко (надеюсь :) )

Ну-ка, что там?

Пишем Android приложение для фильтрации спам-звонков

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

Всем привет! Меня зовут Иван Чечиков. В этой статье я расскажу о своем пет-проекте - Android приложении, которое может идентифицировать нежелательные входящие звонки.

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

Читать далее

От кода к смыслу: улучшенная панель Structure в IntelliJ IDEA 2024.3

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

Совсем недавно вышла IntelliJ IDEA 2024.3 – последний мажорный релиз IDE в этом году. И одним из самых важных нововведений этой версии стала улучшенная панель Structure. 

Команда Spring АйО перевела статью Siva Katamreddy (Developer Advocate в JetBrains), в которой Siva рассказывает, как улучшенная панель помогает решать задачи, и делится историей создания этой функциональности.

Читать далее

Гайд по реализации паттерна Composite в Kotlin с sealed-классами и корутинами

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

Привет, Хабр! Сегодня рассмотрим, как реализовать паттерн Composite в Kotlin с помощью sealed-классов и корутин. Если у вас есть сложная система с кучей объектов — простых и составных — и вы хотите управлять ими, не теряя асинхронности, то этот гайд для вас.

Читать далее

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

Версионирование эндпоинтов — это просто

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

Команда Spring АйО перевела и адаптировала доклад "Endpoint versioning made simple" Бауке Найхаус (Bouke Nijhuis) с последнего Devoxx Belgium. 

В докладе автор объясняет, зачем нужно версионировать API, и подробно сравнивает различные подходы к реализации этой задачи.

Читать далее

Паттерны проектирования на языке Kotlin (часть 2)

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

Паттерны проектирования на языке Kotlin

Это вторая часть статьи. Первая её часть здесь.

Поведенческие паттерны

Читать далее

Избавляемся от Android в api-модулях

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

Небольшой туториал на тему «Как уменьшить количество Android-модулей в проекте при помощи оберток над Android-классами»

На решение, которое будет описано ниже, меня натолкнула статья Оптимизация Gradle: избавляемся от Android-модулей. В ней приведен синтетический бенчмарк, из которого видно, что количество gradle-модулей с Android-плагином негативно влияет на скорость конфигурации проекта, а также на количество необходимой памяти. Мы, как инженеры, должны воспользоваться каждой возможностью ускорить сборку проекта. Однако в статье приведено несколько недостатков описанного подхода, и на момент написания статьи они были критичными и не давали возможности использовать его в нашем проекте. 

Итак, теперь сначала..

Читать далее

Работа с CoordinatorLayout: шапочный разбор

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

Приветствую тебя, уважаемый читатель! Меня зовут Пятаков Никита, я Android-инженер в команде MT&S Авито. Здесь я делюсь опытом реализации двух версий шапки на главном экране приложения Avito. Эта статья будет особенно полезна разработчикам, которые хотят познакомиться с CoordinatorLayout и научиться делать похожие задачки с нетривиальным взаимодействием view между собой. 

Читать далее

Готовим лоб к пробитию стен: как Android-разработчику найти первую работу в 2025-м

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

Привет, друзья!

Я Илья Попов, действующий senior android разработчик, ментор начинающих андроид-разработчиков и автор телеграм-канала Android Dev Notes.

Итак, вы приняли решение стать андроид-разработчиком. Как найти дорогу в этом океане неизвестного впереди?

Раз наша цель – работа в андроид-разработке, то первое, что нужно сделать – изучить рынок вакансий и понять, а что от вас вообще нужно работодателям?

Идём на основные сайты для поиска работы (hh, superjob, career.habr, geekjob, getmatch и тд) и анализируем пару десятков вакансий джуниоров и то, какие требования в них фигурируют чаще всего. Составляем себе список навыков, библиотек, фреймворков, инструментов для освоения.

Следующее, с чем надо определиться: к какому из пунктов приступать первым? Здесь два варианта:

– самостоятельно изучаем программы существующих курсов в интернете и на этой основе пытаемся понять, в какой последовательности что обычно учат

– просим помощи в составлении программы у компетентного разработчика, который занимается обучением начинающих

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

Читать далее

Кроссплатформенная архитектура ядра приложения. Простая. Линейная. Масштабируемая

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

Другие статьи из серии:
1. Почему MVx архитектуры всегда получаются плохо
2. Как поправить 3 проблемы MVx архитектур
3. Кроссплатформенная архитектура ядра приложения. Простая. Линейная. Масштабируемая
4. Т-функция: подключаем логику к UI как к БД


Описание проблемы


Задача


Я — андроид разработчик. Обычно ко мне приходят с фразой вроде “вот мы тут придумали фичу, сделаешь?” и с макетом дизайна, вроде такого.



Я смотрю на это всё и вижу: вот экраны, эти данные на них — статические, а вот эти динамические, значит их надо откуда-то взять; вот тут интерактивные компоненты: при взаимодействии с ними надо что-то сделать. Иногда просто открыть другой экран или виджет, иногда выполнить логику. Исходя из этого я проектирую то, как будет выглядеть логика фичи. Описываю ее в компонентах архитектуры, разбиваю на задачи, узнаю где и как взаимодействовать с сервером, и прочее.


Скрытые кейсы


Но потом я обнаруживаю, что далеко не все переходы такие простые, как нарисовано на дизайне, например, как в случае с авторизацией. Не все явно присутствуют, как, например, переходы назад. А в некоторых случаях не хватает всевозможных экранов ожидания, экранов “пустых” состояний и экранов ошибок.


Знакомо?

Читать дальше →

Паттерны проектирования на языке Kotlin (часть 1)

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

Паттерны проектирования - проверенные временем решения общих задач в программировании. Они разделяются на три категории:

Читать далее