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

Привет! Хочу поделиться своими мыслями по, казалось бы, простой теме — типизации. В частности, поговорить о тайпчекинге в JavaScript.

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

Это не типичная статья из серии «Изучаем TypeScript», а, как мне кажется, фундаментальная история. Мы начнем с основ, поговорим о данных, о способе их хранения, а затем перейдем к типизации и посмотрим, как она влияет на работу программы.

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

Недавно появилась новость о том, что JCenter скоро будет закрыт и как нам дальше жить там не сказано надо бы переезжать куда-то ещё. Лично для меня главным кандидатом стал MavenCentral, поскольку я уже давно там публикуюсь, хотя последний год привык делать это через Bintray. В этой заметке будет краткая информация о подводных, с которыми я встретился и как пришлось поменять свои скрипты публикации.

В ЭТОЙ СТАТЬЕ НЕТ ИНФОРМАЦИИ О ПУБЛИКАЦИИ НАТИВНЫХ ТАРГЕТОВ. И тем не менее, надеюсь, информация в статье будет вам полезна.

Наверно, уже писали

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

Введение

Сам по себе Kotlin очень мощный инструмент, но многие часто используют его не на полную мощность, превращая его в какую-то... Java 6. Попробую рассказать почему так делать не надо и как использовать функциональные фичи языка на полную.

Функции высшего порядка

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

То, что функции в Котлине могут получать и возвращать другие функции для нас должно означать то, что мы можем записать их в переменную. Выглядеть это будет как-то так:

Читать полностью »
Чаты на вебсокетах, когда на бэкенде WAMP. Теперь про Android - 1

Мой коллега уже писалЧитать полностью »

Привет! Меня зовут Лев, и я инженер в новосибирской команде интеграционных сервисов ДомКлик. Мы разрабатываем (микро)сервисы, которые связывают между собой множество разрозненных систем, а также делают многие процессы быстрыми и прозрачными для конечного пользователя. 

Мы используем ставший уже стандартным стек: Kotlin, Spring Boot, Hibernate, Liquibase и т. д. И нам для наших сервисов (на тот момент пока ещё одного) потребовался механизм исполнения бизнес-процесса. Требования к нему были следующие:

  • каждое действие как отдельный независимый модуль;

  • stateless-движок -> stateful-задача;

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

Не баян: ищем дубликаты изображений на основе Milvus с индексом FAISS внутри - 1

В user-generated проектах часто приходится бороться с дубликатами, а для нас это особенно актуально, так как основной контент мобильного приложения iFunny — это изображения, которые постятся десятками тысяч ежедневно. Для поиска повторов мы написали отдельную систему, чтобы облегчить процесс и сэкономить море времени.

Под катом рассмотрим используемые инструменты, а потом перейдём к примеру реализации.
Читать полностью »

Только что, c 25 по 28 ноября 2020 года, прошла Java-конференция Joker 2020. Это уже второй сезон конференций, проводимых JUG Ru Group в формате онлайн.

В онлайн-формате конференция стала лучше или хуже? Что нового организаторами было придумано? Кого из спикеров с какими докладами можно было увидеть и услышать? Что полезного и интересного было в докладах? Имеет ли смысл посещать конференцию в следующем году?

Joker 2020: продолжение сезона онлайн-конференций - 1
Читать полностью »

На презентации новых макбуков обратил внимание на картинку процессора:

Как сделать цветные тени в Android с градиентом и анимацией - 1

Переливающиеся цветные тени на темном фоне, выглядит классно.

Вот дошли руки, решил попробовать нарисовать на андроиде так же. Вот что получилось:

Читать полностью »
Корутины и синхронизация. Лучше не смешивать - 1

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

В мире Java одним из стандартных решений является добавление ключевого слова synchronized к сигнатуре метода. В Kotlin для получения того же эффекта используется аннотация @Synchronized

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

Четырнадцатого октября прошёл прямой эфир с главным евангелистом mental health в нашей IT-тусовке — создатель языка Kotlin и основатель стартапа Alter Андреем Бреславом.
Делимся с вами расшифровкой и записью интервью

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


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