|
|
rss_habr
Как мы ускоряли сборку Android-приложения из двух миллионов строк кодаСреда, 27 Июля 2022 г. 12:18 (ссылка)
Всем привет! Наверняка каждый Android-разработчик хоть раз сталкивался с проблемой скорости сборки своего проекта. После нехороших слов в адрес кодогенерации, покупок более мощного железа и многочисленных попыток распилить проект на небольшие параллельно собираемые модули и прохождений всех стадий торга мы продолжаем искать решение этой проблемы. К счастью, за годы развития и в Gradle, и Android Gradle Plugin (AGP) появилось много полезных штук для ускорения сборки, о которых я расскажу дальше. Несмотря на шутку в адрес многомодульности, это действительно полезный подход, но для большого проекта с богатой историей модуляризация может быть очень сложным процессом. Поэтому пока давайте посмотрим, что можно сделать без больших болей на уровне Gradle и AGP. Я расскажу на примере мобильного Яндекс Браузера. У нас было ~150 Gradle-модулей, ~2 млн LoC на Java/Kotlin, десяток Gradle-плагинов, тысячи строк кода в buildSrc и лёгкая дрожь от вопроса, сколько ещё может переварить билд-система. Не скажу, что это всё было категорически необходимо, но к написанным строчкам кода надо проявлять уважение. Читать дальше →https://habr.com/ru/post/678786/?utm_source=habrahabr&utm_medium=rss&utm_campaign=678786
rss_habr
Telegram Bot на Kotlin: КомандуемВоскресенье, 24 Июля 2022 г. 17:53 (ссылка)
Это промежуточная часть туториала о том, как можно создавать телеграм ботов на базе plagubot фреймворка и tgbotapi библиотеки. Конкретно в данной получасти речь пойдет про достаточно простой (по меркам будущих частей) плагин для регистрации команд на старте и их установке/очистке далее в рантайме Читать далееhttps://habr.com/ru/post/677624/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677624
rss_habr
Telegram Bot на Kotlin: КомандуемВоскресенье, 24 Июля 2022 г. 17:53 (ссылка)
Это промежуточная часть туториала о том, как можно создавать телеграм ботов на базе plagubot фреймворка и tgbotapi библиотеки. Конкретно в данной получасти речь пойдет про достаточно простой (по меркам будущих частей) плагин для регистрации команд на старте и их установке/очистке далее в рантайме Читать далееhttps://habr.com/ru/post/677624/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677624
rss_habr
Как войти в блокчейн-разработку через Java и Kotlin: представляем JVM SDK смарт-контрактовЧетверг, 21 Июля 2022 г. 12:01 (ссылка)
Всем привет! Меня зовут Степан Кашинцев, я руководитель группы разработки в Waves Enterprise, а конкретно — подразделения, отвечающего за создание децентрализованных приложений, реализующих процессы реального бизнеса на базе нашего блокчейна. В этом посте я хочу рассказать о нашем SDK для JVM-языков программирования, с помощью которого каждый Java/Kotlin-разработчик сможет попробовать себя в создании блокчейн-приложений. Читать далееhttps://habr.com/ru/post/678062/?utm_source=habrahabr&utm_medium=rss&utm_campaign=678062
rss_habr
Получение generic-типа в runtimeВоскресенье, 17 Июля 2022 г. 11:17 (ссылка)
и spring в него заинжектит все объекты контекста, которые реализуют интерфейс BeanPostProcessor. Можно написать и так:
Можно написать даже так: Читать дальше → https://habr.com/ru/post/588252/?utm_source=habrahabr&utm_medium=rss&utm_campaign=588252
rss_habr
[Перевод] Подробно о мониторинге и профилировании JVMПятница, 15 Июля 2022 г. 17:28 (ссылка)
Управление доступными ресурсами в облачной среде по запросу – тема, которая бывает очень непростой. Но эта работа стоит того, поскольку вы сможете использовать ресурсы гораздо эффективнее. Поэтому многие компании и проекты решаются мигрировать на облачные платформы, в частности, на Azul, AWS, Google Cloud или другие. С точки зрения программиста, есть одна истина, которая сохраняется и в облаке: рекомендуется понимать поведение и ограничения того JVM-приложения, что вы развернули (или не приложений, а подов, минимальных развертываемых единиц в Kubernetes). Платформа Java является многопоточной, и, даже если вы не собираетесь использовать какие-либо доступные для этого API, платформа все равно порождает множество потоков-демонов, работающих в фоновом режиме. Такие потоки нужны не только для очистки и подхватывания неиспользуемой памяти. Они относятся к платформе, а что насчет фреймворков? Фреймворки Java пытаются обслуживать большие эксплуатационные мощности; следовательно, инициируется работа множества вспомогательных потоков. Ниже мы немного заглянем под капот. В этой статье будет подробнее рассмотрено, как устроены популярные фреймворки Quarkus и Spring-Boot, сколько потоков они инициируют, чтобы обслужить все результаты. Давайте вместе пробежимся по примерам и для начала разберемся, какова разница между мониторингом и профилированием. Читать далееhttps://habr.com/ru/post/677212/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677212
rss_habr
Мой первый бот для Сервисдеска: умещается в кармане, расширяется как ВселеннаяЧетверг, 14 Июля 2022 г. 17:54 (ссылка)
Привет, меня зовут Юрий, и я фулстек-разработчик в DataLine. В компании занимаюсь созданием и развитием внутренних и внешних ИТ-сервисов: Сервисдеска, мастер-справочников, учета оборудования. Но, как говорится, каждый разработчик в жизни должен сделать 3 вещи: развернуть дерево, распарсить DOM и вырастить своего чат-бота. О последнем и поговорим: расскажу, как делал своего первого чат-бота для нашего Сервисдеска, какие задачи и как решал, с какими трудностями и способами преодоления столкнулся. Читать далееhttps://habr.com/ru/post/677022/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677022
rss_habr
[recovery mode] Чемпионат или викторина? Сколково разыграет 2,5 месячных оклада Java-разработчикаВторник, 12 Июля 2022 г. 15:17 (ссылка)
Фонд «Сколково» и IT_One организуют чемпионат среди Java-специалистов на платформе All Cups. Участникам предлагают побороться за призовой фонд в 700 000 рублей, что в среднем по рынку соответствует 2,5-3 окладам разработчиков уровня middle и выше. Прием заявок для участия в онлайн-чемпионате открыт до 10 августа. Понять дотягивает ли ваш уровень компетенций до борьбы с топовыми специалистами по Java вы сможете в рамках квалификационного раунда. За 5 дней участникам потребуется создать собственный сервис на заданном API. Тест квалификационных работ пройдет автоматически. Победители, занявшие в финале чемпионата с 1 по 5 места, получат денежные призы от 80 до 250 тысяч рублей. Участники с наибольшим количеством баллов по итогам двух раундов и авторы лучших решений также получат возможность присоединиться к команде IT_One. Павел Новиков, директор центра инноваций в финансовом секторе Фонда «Сколково» уверен, что чемпионаты – отличная возможность для компаний побороться за крутых специалистов: «Игроки рынка IT ведут активную борьбу за талантливых java-разработчиков. Хакатоны и соревнования — это один из самых востребованных и успешных инструментов для популяризации бренда компании, позволяет представить реальные рабочие задачи для потенциальных сотрудников и лучших привлечь в команду». Вопрос: Какой должна быть ваша мотивация, чтобы вы приняли участие в подобном турнире? Читать далееhttps://habr.com/ru/post/676520/?utm_source=habrahabr&utm_medium=rss&utm_campaign=676520
rss_habr
Kotlin — ещё меньше копипасты с делегатами локальных переменныхЧетверг, 07 Июля 2022 г. 12:45 (ссылка)
TLDR: используем имя переменной при инициализации ее значения Читать далееhttps://habr.com/ru/post/675552/?utm_source=habrahabr&utm_medium=rss&utm_campaign=675552
rss_habr
Kotlin — ещё меньше копипасты с делегатами локальных переменныхЧетверг, 07 Июля 2022 г. 12:45 (ссылка)
TLDR: используем имя переменной при инициализации ее значения Читать далееhttps://habr.com/ru/post/675552/?utm_source=habrahabr&utm_medium=rss&utm_campaign=675552
rss_habr
14 задач по Kotlin lists, которые заставят вас подуматьЧетверг, 30 Июня 2022 г. 15:40 (ссылка)
Привет Хабр! Меня зовут Леонид Иванькин, я ведущий Android-разработчик в МТС Digital, работаю над приложением Мой МТС. В этой статье – сложные и не очень задачи, чтобы проверить, насколько хорошо вы разбираетесь в операторах для списков. Готовы испытать свои скиллы? Тогда переходите под кат! Пройти испытанияhttps://habr.com/ru/post/674040/?utm_source=habrahabr&utm_medium=rss&utm_campaign=674040
rss_habr
14 задач по Kotlin lists, которые заставят вас подуматьЧетверг, 30 Июня 2022 г. 15:40 (ссылка)
Привет Хабр! Меня зовут Леонид Иванькин, я ведущий Android-разработчик в МТС Digital, работаю над приложением Мой МТС. В этой статье – сложные и не очень задачи, чтобы проверить, насколько хорошо вы разбираетесь в операторах для списков. Готовы испытать свои скиллы? Тогда переходите под кат! Пройти испытанияhttps://habr.com/ru/post/674040/?utm_source=habrahabr&utm_medium=rss&utm_campaign=674040
rss_habr
Re2j вместо стандартного regEx в Java: в каких случаях и как использоватьСреда, 29 Июня 2022 г. 19:35 (ссылка)
Всем привет! Я Даниил, java разработчик в Just AI, и в этой статье я расскажу, как мы столкнулись с проблемой backtracking’а в регулярных выражениях и как ее решили с помощью библиотеки re2j. Читать далееhttps://habr.com/ru/post/674178/?utm_source=habrahabr&utm_medium=rss&utm_campaign=674178
rss_habr
We need to go deeper: диплинки и кодогенерацияВторник, 28 Июня 2022 г. 14:49 (ссылка)
Привет! Мы написали свою систему диплинков на основе кодогенерации. В этой статье поговорим, как мы упростили работу с диплинками и смогли отловить устаревшие, добавили мониторинг и как собрали все диплинки в одной статье в конфлюенсе. Диплинк — это uri на конкретный ресурс в приложении. Они нужны бизнесу, чтобы упрощать пользовательский опыт. Так вместо нескольких переходов внутри приложения диплинки позволяют направить пользователя на определённый экран в один клик (польза для пользователя) и снимать статистику (пользах для бизнеса). Например: на внешней площадке компания разместила баннер, в котором предлагается заказать виртуальную карту, пользователь может кликнуть по баннеру и сразу попасть на экран заказа карты, а бизнес сможет оценить, какая из площадок более эффективна. Самая большая проблема — это проблема безопасности. Объясню на примере активити, которая открывает веб-страницы. Активити открывается по диплинку, в нём указывается URL в качестве параметра. Один из вариантов атаки — когда злоумышленник может заставить пользователя пройти по диплинку с URL на вредоносный сайт и таким образом провести атаку. Ещё одна из возможных проблем — на некоторых экранах нам нужно валидировать параметры, а это иногда занимает значительную часть активити. Было бы хорошо вынести валидацию в отдельное место. Ещё у нас бывали случаи, когда маркетинг запускал промо-кампании либо с диплинками, в которых содержались ошибки, либо с устаревшими диплинками, которые уже не поддерживались, и мы могли об этом даже и не узнать. А при заведении новой кампании маркетинг обращался к разработчиками за диплинками и поиск занимал некоторое время. Если разработчик помнил название экрана и диплинк без параметров, то его можно было быстро найти, а если название экрана сразу не вспомнилось, то алгоритм поиска примерно такой: сбилдить проект -> пройти на нужный экран -> посмотреть в логах, какая активити открылась -> пойти в манифест для получения диплинка -> открыть исходных код активити для сбора входных параметров. Посмотрев на это, мы поняли, что нам нужна единая точка обработки, анализа, мониторинга, и решили выбрать инструмент аннотаций и кодогенерации. Сейчас объявление диплинка у нас выглядит следующим образом. Читать далееhttps://habr.com/ru/post/673850/?utm_source=habrahabr&utm_medium=rss&utm_campaign=673850
|
LiveInternet.Ru |
Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат О проекте: помощь|контакты|разместить рекламу|версия для pda |