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

Kotlin *

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

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

JetBrains Open Day Moscow: итоги и видео

Время на прочтение1 мин
Количество просмотров4.1K
19 апреля мы впервые провели Open Day в Москве.


Наташа Числер, HR директор JetBrains и главный организатор мероприятия:
Читать дальше →

«Стартуем! Я сказала: стартуем!», или как мы реализовывали работу с faststart-видео под Android

Время на прочтение7 мин
Количество просмотров8.8K
Большинство владельцев смартфонов, планшетов и других гаджетов ежедневно потребляют огромное количество цифровой информации, включая медиа: изображения, музыку и, конечно же, видео. На последнем остановимся поподробнее. Очень важно не заставлять пользователей ждать контент, особенно когда приложением ежедневно пользуются миллионы людей. В приложении iFunny, над которым мы работаем, очень много видеоконтента, и мы подумали, что скачивать видео целиком — долго, неинтересно и не масштабируемо. А что, если в ближайшем будущем потребуется загрузить видео длительностью не в 30-60 секунд, а в 5-10 минут? Заставлять пользователя ждать полминуты, пока видео скачается? А если соединение плохое? Так и интерес к приложению потерять недолго. Поэтому мы решили сделать faststart-видео. Подробности под катом.


Стартуем

Вычисление логических выражений в строке внутри Java/Scala/Kotlin кода

Время на прочтение3 мин
Количество просмотров10K
Мне нужно было в рантайме вычислять истинность выражений типа

a>10 && b<c+5 && (a+b)<c*4

находящихся в строке Скалы.

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

Я оценивал разные библиотеки на то 1) могу ли они сделать то, что надо 2) скорость исполнения

Были проверены

  • интерполяция строк
  • Js Engine
  • javaluator
  • exp4j
  • evalEx
  • mxparser
  • MathEval
  • Groovy
  • Jexl

Результаты


Время пробега в мс для 1000 выражений (вернее одно и тоже выражение для 1000 разных набoров 3х переменных):

js 239 ms
mxParser 56713 ms
evalex 35 ms
groovy 118 ms
Jexl 62 ms

Остальные способы/библиотеки не сработали.

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

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

Kotlin Playground

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

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


Совсем недавно мы выпустили 1.4.0 версию Kotlin Playground, о которой писал в нашем блог посте PMM Kotlin Рома Белов.


стоп… стоп...
Что еще за Kotlin Playground?


Kotlin Playground — полноценный редактор кода, написанного на Kotlin, который можно интегрировать на Вашу веб-страницу.


Как же это сделать?


Все до невозможности просто, стоит добавить одну script-строчку в header:


<script src="https://unpkg.com/kotlin-playground@1" data-selector="code"></script>

Аттрибут data-selector говорит нам о том, что все блоки code магически превратятся в исполняемый Kotlin код.


Давайте попробуем другие способы, например:


<script src="https://unpkg.com/kotlin-playground@1"></script>

<script>
document.addEventListener('DOMContentLoaded', function() {
  KotlinPlayground('.code-blocks-selector');
});
</script>>
Читать дальше →

Характер Kotlin

Время на прочтение10 мин
Количество просмотров15K
Привет, Хабр! Надеемся в обозримом будущем и до Kotlin добраться. Мимо этой статьи (февральская) пройти не смогли.

Читаем и комментируем!
Читать дальше →

Конференция SMARTRHINO-2018

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

26 апреля в НОЦ ИБ МГТУ им.Баумана пройдет конференция для студентов SMARTRHINO-2018. Конференция будет посвящена 4 направлениям:


— Kotlin
— Реверс-инжиниринг
— Best Practices
— Machine Learning


Спикеры конференции — ведущие сотрудники Компании ИНФОРИОН. Активные участники получат ценные призы.


Подробная информация о спикарах и программе конференции представлена на сайте. Актуальная информация — в группе Telegram.


image

[Видео] Доклады с митапа Android Paranoid

Время на прочтение8 мин
Количество просмотров9K
Android почти исполнилось десять лет.

Мы решили отметить это праздничным чаепитием со всеми, кто пришел в питерский офис Яндекса на второй митап Android Paranoid. Сказано — сделано. К нашему сожалению, маршмеллоу, шоколадное печенье и желейные бобы закончились еще 28 марта.



Вместо них — доклады, записанные на видео, и короткая выжимка полезной информации для Android-разработчиков. Под катом о том,

  • что происходит после нажатия на иконку приложения;
  • как перевести приложение на Kotlin и уместиться в 300 строк кода;
  • как менялись инструменты фоновой работы в Android;
  • как быстро получить анимации в RecyclerView.

JPoint 2018: разбор полётов

Время на прочтение6 мин
Количество просмотров5.7K
6-7 апреля 2018 года в Москве проводилась Java-конференция JPoint 2018. Далее представлен «разбор полётов» конференции, прошедшей при активной поддержке и участии популярного подкаста Разбор полётов: информация и впечатления о докладах, организации мероприятия, проиллюстрированные большим количеством фотографий.


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

Рустам Мехмандаров и Александр Тарасов — семантические чудеса и автоматизация экспериментов на jug.msk.ru

Время на прочтение2 мин
Количество просмотров2.3K
5 апреля 2018 года, как раз накануне конференции JPoint 2018, прошла очередная встреча московского сообщества Java-разработчиков jug.msk.ru. Рустам Мехмандаров рассказал об опыте решения задач с использованием Apache Jena. Александр Тарасов поведал про использование DSL на основе языка Kotlin для автоматизации экспериментов.


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

Из Балтийского моря в Индийский океан

Время на прочтение5 мин
Количество просмотров5.9K
Рассказ пойдет о том, как началось мое путешествие с острова Котлин на остров Джаву.

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

На мою долю выпало деcктопное приложение по тестированию основного софта. Оно написано на многообещающем языке Kotlin (на время работы была версия 1.1.), но унификация есть унификация. В связи с этим хочу поделиться парой моментов, с которыми столкнулся в ходе работы, а также впечатлениями, которые на меня произвел Kotlin, так как я с ним работал впервые. Стоит отметить, что информации по данному языку довольно много, как и различных его сравнений с Java, я лишь хочу поделиться своими впечатлениями.
Читать дальше →

Программирование согласно контракту на JVM

Время на прочтение4 мин
Количество просмотров7.3K
Привет, Хабр! Представляю вашему вниманию перевод статьи "Programming by contract on the JVM" автора Nicolas Fränkel.
Читать дальше →

Ещё раз о JetBrains Open Day в Москве

Время на прочтение1 мин
Количество просмотров4.8K
Привет! Мы очень рады, что событие вызвало большой интерес. Зарегистрировалось очень много участников: в офис столько не поместится. Поэтому мы решили арендовать зал и провести мероприятие в один день: 19 апреля.

Итак: Банкетный зал Crystal Ballroom в Москва-Сити, 1-й красногвардейский проезд, дом 21 строение 2. Четвертый этаж.

Программа:
Читать дальше →

Текущая разработка Kotlin

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


На прошлой неделе при поддержке Redmadrobot SPB в рамках SPB Kotlin User Group прошла встреча со Станиславом Ерохиным, разработчиком из JetBrains. На встрече он поделился информацией о разрабатываемых возможностях следующей мажорной версии Котлина (под номером 1.3).


В этой статье мы подытожим полученный материал, расскажем о планах.

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

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

JetBrains Open Day в Москве

Время на прочтение1 мин
Количество просмотров5.4K
Привет, друзья! 19-20 апреля мы устраиваем Open Day в Москве. Оказалось, ещё не все знают, что в столице у JetBrains тоже есть офис. Недавно он увеличился в три раза, и теперь там много места не только для митапов, но и для новых сотрудников.

Вы узнаете, как у нас всё устроено и что мы делаем нового прямо сейчас. Помимо технических докладов, расскажем, как нам удается оставаться компанией, успех которой — это не результат скучных процессов, а сумма личных достижений.
Читать дальше →

Автотесты, балансировка, терминал и не только – о чем мы будем говорить уже в этот четверг

Время на прочтение1 мин
Количество просмотров1.5K
Привет, Хабр! Напоминаем, что осталось всего три дня, чтобы успеть записаться на QIWI SERVER PARTY 2.0, который мы проведем в четверг, 15 марта.

Адрес тот же – г. Москва, Ул. Ленинская Слобода, 26с11 Loft#3, начинаем в 17.00 (спикеры выступают с 18 до 21).

Бесплатная регистрация доступна по ссылке, а под катом мы расскажем немного подробнее о том, какие доклады ждут вас в четверг.
Читать дальше →

Swift vs. Kotlin. Отличия важны

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

Этот пост является вольным переводом статьи Swift vs. Kotlin — the differences that matter by Krzysztof Turek


Вы наверняка видели это сравнение Swift и Kotlin: http://nilhcem.com/swift-is-like-kotlin/. Довольно интересное, правда? Я согласен, что в этих языках много схожего, но в этой статье я обращу внимание на некоторые аспекты, которые их все-таки разнят.


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

15 марта QIWI соберёт back-end разработчиков на QIWI SERVER PARTY 2.0

Время на прочтение1 мин
Количество просмотров1.8K
Неформальный митап для back-end разработчиков, которым важно быть в теме.



Приходи и ты узнаешь:

• Про отказоустойчивую и высоконагруженную балансировку
• Горизонтальный рост разработчика
• Автотесты на Kotlin
• Teamcity DSL (Kotlin)
• Оптимизацию навыков работы в терминале


Программа митапа:

17.00–18.00 — cбор гостей и регистрация
18.00–19.00 — выступления спикеров
19.00–19.20 — перекур
19.20–21.00 — выступления спикеров
21.00–22.00 — свободное общение и выступление музыкальной группы.
Читать дальше →

Опыт использования библиотеки Puniverse Quasar для акторов

Время на прочтение7 мин
Количество просмотров3.3K
В прошедшем, 2017 году, был небольшой проект, который почти идеально ложился на идеологию акторов, решили поэкспериментировать и попробовать использовать их реализацию от Parallel Universe. От самих акторов особо много не требовалось — знай себе храни состояние да общайся с другими, иногда изменяйся по таймеру и не падай.

Библиотека вроде достаточно зрелая, почти 3 тысячи звезд на гитхабе, больше 300 форков, пара рекомендаций на Хабре… Почему бы и нет? Наш проект стартовал в феврале 2017, писали на Kotlin.


Казалось бы, что могло пойти не так?

«Dagger-Android & AAC» или «впихнуть невпихиваемое»

Время на прочтение3 мин
Количество просмотров4.9K
image


Сегодня хотелось бы поговорить о Dagger 2, в частности о dagger-android, Android Architecture Components, а так же о проблеме, с которой я столкнулся при их использовании. Наверное, пост не столько познавательный, сколько философский, сразу прошу не кидаться тапками, потому как причины создания поста есть (как минимум субъективные), о них расскажу под катом.

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

Измеряем скорость кода Java правильно (используя JMH)

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

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


Это вводная статья про то, как следует делать тесты производительности на JVM языках (java, kotlin, scala и тд.). Она полезна для случая, когда требуется в цифрах показать изменение производительности от использования определенного алгоритма.


Все примеры приведены на языке kotlin и для системы сборки gradle. Исходный код проекта доступен на github.


КДВП

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