Kotlin — TechCave

Kotlin — статически типизированный язык программирования, работающий поверх JVM и разрабатываемый компанией JetBrains. Компилируется также в JavaScript и на другие платформы через инфраструктуру LLVM.

Kotlin — статически типизированный язык программирования, работающий поверх JVM и разрабатываемый компанией JetBrains. Компилируется также в JavaScript и на другие платформы через инфраструктуру LLVM. Язык назван в честь острова Котлин в Финском заливе, на котором расположен город Кронштадт.

Авторы ставили целью создать язык более лаконичный и типобезопасный, чем Java, и более простой, чем Scala. Следствием упрощения по сравнению со Scala стали также более быстрая компиляция и лучшая поддержка языка в IDE.

Стена группы

Загрузка...
2 дня назад
#

Знакомство с Kotlin. Особенности языка. Kotlin. Урок 1


Загрузка...
Den
6 дней назад
#

Подписываемся на Kafka по HTTP или как упростить себе Веб-хуки



Существует множество способов обработки сообщений из Pub-Sub систем: использование отдельного сервиса, выделение изолированного процесса, оркестрация пулом процессов/потоков, сложные IPC, Poll-over-Http и многие другие. Сегодня я хочу рассказать о том, как использовать Pub-Sub по HTTP и про свой сервис, написанный специально для этого.

Использование готового HTTP -бэкенда сервисов в некоторых случаях является идеальным решением для обработки очереди сообщений:

  1. Балансировка из коробки. Обычно, бэкенд и так стоит за балансировщиком и имеет готовую к нагрузкам инфраструктуру, что сильно упрощает работу с сообщениями.

  2. Использование обычного REST-контроллера (любой HTTP-ресурс). Потребление сообщений по HTTP сводит к минимуму затраты на реализацию консюмеров под разные языки, если бэкенд разношерстный.

  3. Упрощение использования Веб-хуков других сервисов. Сейчас почти каждый сервис (Jira, Gitlab, Mattermost, Slack…) так или иначе поддерживает Веб-хуки для взаимодействия с внешним миром. Можно облегчить жизнь, если научить очередь выполнять функции HTTP-диспатчера.



Этот подход имеет и минусы:

  1. Можно забыть о легковесности решения. HTTP тяжёлый протокол, а использование фреймворков на стороне консюмера мгновенно приведёт к увеличению задержки (latency) и нагрузки.

  2. Лишаемся сильных сторон Poll-подхода, получая слабые стороны Push.

  3. Обработка сообщений теми же инстансами сервиса, которые обрабатывают клиентов, может сказаться на отзывчивости. Это несущественно, так как лечится балансировкой и изоляцией.



Я реализовал идею в виде сервиса Queue-Over-Http, о котором и пойдёт речь далее. Проект написан на Kotlin с использованием Spring Boot 2.1. В качестве брокера сейчас доступна только Apache Kafka.

Источник
Загрузка...
6 дней назад
#

Навигация внутри Android приложения



Введение

При Андроид разработке мы используем разные архитектурные решения(паттерны). Например Mvp, Mvvm, Mvi и т.д… Каждый из этих паттернов решает несколько важных задач и поскольку они не идеальны они нам оставляют кое-какие нерешенные задачи. К примеру этих задач относятся навигация внутри приложения(routing), передача информации с экрана на экран(говоря экран я имею ввиду Activity, Fragment или View), Сохранение состояний приложения при смене конфигурации(configuration change).



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



Источник
Загрузка...
22 дня назад
#

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



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



Решил написать о некоторых вещах, которых, по моему мнению, стоит и не стоит избегать при использовании корутин Kotlin.



Источник
Загрузка...
29 дней назад
#

Переход на Kotlin в Android-проекте: Tips and Tricks





Автор: Сергей Ешин, Strong Junior Android Developer, DataArt

Уже более полутора лет прошло с тех пор, как Google объявил об официальной поддержке Kotlin в Android, а самые матерые разработчики начали экспериментировать с ним в своих боевых и не очень проектах больше трех лет назад.

Новый язык тепло приняли в Android-сообществе, и подавляющая часть новых проектов на Android стартует с Kotlin на борту. Важно и то, что Kotlin компилируется в JVM-байткод, следовательно, полностью совместим с Java. Значит, в существующих Android-проектах, написанных на Java, тоже есть возможность (более того — потребность) задействовать все фичи Kotlin, благодаря которым он и приобрел столько поклонников.

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

Источник
Загрузка...
1 месяц назад
#

Дмитрий Ермоленко: Kotlin 1.3 что новенького


В докладе речь пойдет про новые возможности Kotlin 1.3 и о том, как их можно использовать.



Кирилл Розов: История того как я “подсел” на Kotlin


Вот уже больше 2 лет я не пишу на Java под Android и только вспоминаю о Java как о отголосках былых времен в разработке. Хочу поделиться своим опытом использования, повышением производительности разработки, лучшими практиками в Kotlin на Android и почему Java не должно быть в ваших проектах.



Руслан Ибрагимов: R2DBC


Корутины уже перешли в разряд стабильных, и в целом у разработчиков есть все инструменты для написания асинхронных, неблокирующих приложений от начала до конца. Кроме JDBC. В докладе я расскажу про R2DBC его текущее состояние и отвечу на вопрос: “R2DBC это наше прекрасное будущее?”

Загрузка...
Den
1 месяц назад
#

Современная Android разработка на Kotlin. Часть 2



Привет, Хабр! Представляю вашему вниманию перевод статьи "
Modern Android development with Kotlin (Part 2)" автора Mladen Rakonjac.

Примечание. Данная статья является переводом циклов статей от Mladen Rakonjac, дата статьи: 23.09.2017. GitHub. Начав читать первую часть от SemperPeritus обнаружил, что остальные части почему-то не были переведены. Поэтому и предлагаю вашему вниманию вторую часть. Статья получилась объёмной.

image

«Очень сложно найти один проект, который охватывал бы всё новое в разработке под Android в Android Studio 3.0, поэтому я решил написать его.»

Источник
Загрузка...
Den
1 месяц назад
#

30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году



30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году



В течение лета 2018 года было разработано и обновлено множество отличных Android-библиотек и инструментов.



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



Надеюсь, вам понравится. Давайте начнём!



Источник
Загрузка...
1 месяц назад
#

Kotlin, IT в Эстонии и (внезапно) туннель между Таллином и Хельсинки: интервью с Антоном Кексом



Недавно у нас в блоге вышел весьма специфичный
пост про Котлин: не очень серьезный, довольно поверхностный и неожиданно бодрый. Но мы прекрасно понимаем, что критиковать технологию, потратив на её изучение несколько дней, — это моветон. И поэтому в этот раз мы решили поговорить о Котлине с человеком, который пишет на нем на проде с версии 1.0.



Сегодня названием Kotlin уже сложно кого-то удивить, особенно в Android-разработке. То ли дело в начале 2016-го: востребованность была на порядок ниже, об официальной поддержке Google ещё и речи не шло, и писать на Kotlin было уделом смелых духом. Одним из таких смельчаков стал
Антон Кекс, и впоследствии он тоже уделял Kotlin много внимания (например, дважды выступал на KotlinConf). Поэтому мы решили расспросить его о том, как жизнь Kotlin-разработчика менялась со временем.

А чтобы два раза не вставать, охватили и другую тему. Антон — сооснователь эстонской компании Codeborne, практикующей extreme programming, поэтому заодно узнали, что в Эстонии с IT и каково создавать там собственную компанию.

Источник
Загрузка...
1 месяц назад
#

Пробелы победили. Перевод документации Kotlin Coding Conventions от JetBrains



Привет, Хабр! Предлагаю вашему вниманию авторский перевод страницы документации Kotlin Coding Conventions от JetBrains.



Оригинал документации



Источник
Загрузка...
Den
1 месяц назад
#

Жадный гном: Как я писал аналитику рынка в Lineage 2



Вот и наступила осенне-зимняя пора. За окном дожди и желания проводить время на открытом воздухе все меньше и меньше. И вот приходит мне сообщение от товарища "А давай поиграем в Lineage 2?". И опять я, поддавшись ностальгии, согласился. Выбрали мы свеженький сервер на ру-офе и создали персонажей.





 
В отличии от World of Warcraft в Lineage 2 совершенно другая система добычи игровой валюты. Нужно круглыми сутками охотиться на монстров с целью получения наживы. Для меня было даже открытием, что для некоторых людей RMT (Real money trading) является чем то вроде работы. Также, в игре присутствует экономика, которую формируют игроки. Иными словами, можно заработать на купи-продай или же покупать дешевые ресурсы, из них делать вещи и продавать с наценкой. Так как для нас игра остается чем то вроде отдыха именно такой способ получения игровой валюты был выбран нами.



Чтобы покупать и продавать предметы игрок должен находиться online (Скриншот сверху). Соответсвенно, кто-то хочет побыстрее продать (дешевле) а кто-то побыстрее купить (дороже). А что если разница продать — купить положительная? Как раз этот пример и будет рассмотрен в статье как итог.



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



Spoiler:
В статье будут использованы следующие технологии
Docker, DigitalOcean, NodeJs, Ktor, Prometheus, Grafana, Telegram bot notification



Источник
Загрузка...
1 месяц назад
#

Kotlin: ищем Head of Marketing



Привет!



Снова пришло то время, когда нам пора поднимать маркетинг Котлина на новый уровень. Почему? Если коротко, мы очень выросли, и у нас очень большие амбиции.



Сегодня в маркетинге Котлина работает 2 (прописью: два) человека. Всем очевидно, что это очень мало. Результаты у них — заоблачные, но, во-первых, они зашиваются, во-вторых, один из них решил снова стать инженером и двигать вперед Machine Learning (на Котлине, разумеется). Теперь мы ищем не просто маркетолога, а человека, который сможет со временем собрать команду.



Вообще говоря, мы никогда не искали просто маркетолога. Нам нужен человек, который будет говорить с пользователями на одном языке. Это значит, что необходимо понимать девелоперов, их нужды и реалии. Нужно уметь шутить шутки для программистов, чувствовать ярость программистов и разделять их (нашу) радость. Нужно понимать, зачем люди, которые всю неделю пишут код на работе, по выходным и вечерами пишут код в хобби-проектах. Самый простой способ этого достичь: самой/самому писать код. Хотя бы какое-то время. Можно по будням smile Опыт в DevRel явно пригодится. Опыт выступлений и/или организации конференций, написания учебрных материалов, создания комьюнити разработчиков — тоже (а что, собственно, еще такое DevRel?). И очень пригодится опыт продвижения идей. Любых идей.



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



Источник
Загрузка...
Den
1 месяц назад
#

Декабрьские вебинары Kotlin 1.3



5 и 12 декабря JetBrains организует два вебинара, посвященных свежему релизу
Kotlin 1.3. На вебинарах Роман Елизаров и Николай Иготти расскажут о том, как начать использовать корутины, Kotlin/Native и Multiplatform Projects. Андрей Бреслав ответит на вопросы зрителей о Kotlin 1.3 и планах на будущее. Задайте ваши вопросы Андрею в Твиттере с хэштегом #kotlinask_13 уже сейчас или в YouTube-чате во время вебинара.

Оба мероприятия бесплатны для участия и будут транслироваться на
YouTube канале JetBrains TV. Вебинары и Q&A сессия пройдут на английском языке.
Зарегистрируйтесь, чтобы получить ссылку на трансляцию перед вебинаром.

image

Источник
Загрузка...
1 месяц назад
#

Строим систему реактивных компонентов с помощью Kotlin





Всем привет! Меня зовут Анатолий Варивончик, я Android-разработчик Badoo. Сегодня я поделюсь с вами переводом второй части статьи моего коллеги Zsolt Kocsi о реализации MVI, которую мы ежедневно используем в процессе разработки. Первая часть
здесь.

Чего мы хотим и как мы это сделаем

В первой части статьи мы познакомились с
Features, центральными элементами
MVICore, которые можно переиспользовать. Они могут обладать максимально простой структурой и включать всего один
Reducer, а могут стать полнофункциональным средством для управления асинхронными задачами, событиями и многим другим.

Каждая Feature отслеживаема — есть возможность подписаться на изменения её состояния и получать уведомления об этом. При этом Feature можно подписать на источник ввода. И в этом есть смысл, ведь с включением Rx в кодовую базу у нас и так появилось множество наблюдаемых объектов и подписок на самых разных уровнях.

Именно в связи с увеличением количества реактивных компонентов пришло время поразмышлять о том, что мы имеем и можно ли сделать систему ещё лучше.

Источник
Загрузка...
1 месяц назад
#

7 библиотек для Android разработки на Kotlin



7 библиотек для Android разработки на Kotlin



Недавно я начал изучать Kotlin для Android-разработки, и мне это очень понравилось. Kotlin по синтаксису очень похож на Swift, и это удобно. Я всего лишь новичок в Android-разработке, поэтому скорее всего есть ещё много полезных библиотек, которые у меня ещё не было возможности изучить, но этот список — это некоторые из тех, которые я уже успешно использовал или планирую сделать это в скором времени.



Источник
Загрузка...
2 3

Авторизация

Пользователи

Kumskov
Juan
Tutu
naikdij88
NewEXE
Георгiй Москвитинъ
Andpyxa Tutunnik
Andrey_fox
Jane linch

GeekBrains

Нетология