Рубрика «kotlin» - 17

Всё, кроме Kotlin: Андрей Бреслав о гендерном балансе в IT, эмоциях и не только - 1

Андрей Бреслав (abreslav) известен прежде всего как человек, возглавляющий работу над языком Kotlin. Но в последнее время он стал выступать с докладами совсем о другом: весной говорил о важности эмоций при работе в IT, а в августе на TechTrain представит доклад «Это выгодно: почему нам нужно больше женщин-программисток?»

И мы взяли соответствующее интервью: не о Kotlin, а о социальном и эмоциональном. Что волнует Андрея помимо разработки языка? Бывает ли у него синдром самозванца? Чем его доклад о женщинах-программистках будет отличаться от большинства других рассуждений о гендерном перекосе в IT? Почему можешь ощущать себя плохо, когда твой проект собирается публично поддержать Google?

Название Kotlin в тексте встречается, но не в контексте «когда появится тернарный оператор», а в контексте «эмоции Андрея по Kotlin-поводам». О языках программирования есть уже очень много текстов. А вот о том, что ощущают их создатели — кажется, очень мало.
Читать полностью »

Java REPL вам не ScriptEngine - 1

Привет! Меня зовут Дима, я разработчик в команде “Архитектура” в hh.ru. Среди прочего, я занимаюсь тем, что делаю разработку проще для коллег. Выполнение кода в продакшене является типовой задачей. Поэтому когда я услышал, что с этим есть проблемы, я решил заняться их устранением.

Не всегда изменения данных можно сделать простым UPDATE/INSERT — иногда нужно задействовать валидацию, шины событий и прочее. В таких случаях самым оптимальным решением является выполнение произвольного кода прямо в приложении. У нас Java, поэтому когда появился JEP-222, я сразу подумал, что JShell, возможно, сможет снова сделать написание скриптов удобным. Чуда не произошло, а потому под катом вы найдете не очень глубокое сравнение самых известных интерпретаторов Java (и «около-Java») для jvm с примерами. Всех интересующихся приглашаю под кат.
Читать полностью »

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

Читать полностью »

Выпускаем Predator — предкомпилированные Data-репозитории - 1

Сегодня, команда Micronaut в Object Computing Inc (OCI) представила Predator, новый проект с открытым исходным кодом, цель которого — значительно улучшить время выполнения и производительность (по памяти) доступа к данным для микросервисов и serverless-приложений, при этом не потеряв в продуктивности по сравнению с такими инструментами, как GORM и Spring Data.

Читать полностью »

Многие современные языки поддерживают сопоставление с образцом (pattern matching) на уровне языка. Java в данный момент не поддерживает pattern matching, но есть надежды что в будущем все может измениться.

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

Используя возможности Java 8, можно реализовать некоторые возможности pattern matching в виде библиотеки. При этом можно использовать как утверждение так и выражения.

Constant pattern позволяет проверить на равность с константами. В Java switch позволяет проверить на равность числа, перечисления и строки. Но иногда хочется проверить на равность константы объектов используя метод equals().

switch (data) {
      case new Person("man")    -> System.out.println("man");
      case new Person("woman")  -> System.out.println("woman");
      case new Person("child")  -> System.out.println("child");        
      case null                 -> System.out.println("Null value ");
      default                   -> System.out.println("Default value: " + data);
};

В данный момент библиотека поддерживает возможность проверять значения переменной с 6 константами.

import org.kl.state.Else;
import org.kl.state.Null;
import static org.kl.pattern.ConstantPattern.matches;

matches(data,
      new Person("man"),    () ->  System.out.println("man");
      new Person("woman"),  () ->  System.out.println("woman");
      new Person("child"),  () ->  System.out.println("child");        
      Null.class,           () ->  System.out.println("Null value "),
      Else.class,           () ->  System.out.println("Default value: " + data)
);

Читать полностью »

Kotlin - Everywhere — Showcase practice: 31 июля - 1
Приглашаем 31 июля в московский офис Mail.ru Group на Kotlin / Everywhere митап. В программе мероприятия доклады про опыт использования Coroutines, DSL в Kotlin и тестирование.

Описание докладов, ссылка на регистрацию и детали по митап под катом. Регистрируйтесь сами и приглашайте коллег!
Читать полностью »

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

Дайджест интересных материалов для мобильного разработчика #306 (8 — 14 июля) - 1Читать полностью »

Справочник по источникам событий в Rx - 1

RxJava используется в большом количестве android-приложений, но при этом многие не знают других источников событий, кроме Observable и, может быть, Flowable. Они забывают о специализированных классах Single, Maybe и Completable, которые зачастую способны добавить больше ясности в код.
Под катом вас ждёт шпаргалка по источникам событий, которые существуют в RxJava.
Читать полностью »

Очередной дайджест для мобильных разработчиков — в нем мобильная экстрасенсорика, новый порос Developer Economics, знакомство с HealthKit, онлайн-квест для разработчиков, Bixby Marketplace и много других интересных материалов.

Дайджест интересных материалов для мобильного разработчика #305 (1 — 7 июля) - 1Читать полностью »

Summer Droid Meetup - 1

Привет! Приглашаем android-разработчиков на наш Summer Droid Meetup. 3-е августа, Сад Эрмитаж, Каретный ряд, д 3, стр 6, «Веранда 32.05». Начало в 12:00.

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

«Сбор и анализ неординарных данных Android-приложения», Дмитрий Васильев, FunCorp

О докладе

Доклад про аналитику технических показателей приложения.

Цель — рассказать об инструментах сбора и анализа данных для мобильных приложений (и не только), которые мы используем. А также о том, какие технические характеристики приложения нуждаются в сборе и как их анализировать.

Поговорим о том:

  1. Как и куда мы осуществляем сбор данных по iFunny
  2. Какие технические данные собирать
  3. Как и где их анализировать

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js