Баги в OpenJDK 1.8
Как-то при небольшой загрузке задачами тимлид дал нам интересную задачу на развитие: прочитать основные классы java core + collections. А тому, кто найдёт ошибку в HashMap, обещал штуку рублей, что придало хороший азартный блеск нашим глазам😏
Вызов принят, и кроме искомой ошибки в HashMap, я нашел ещё несколько...
---
Баги JDK, микрооптимизации, Inline методов в JVM, BitSet'ы, идиосинкразия Java, etc...
#java #jdk #jvm #погружение
Как-то при небольшой загрузке задачами тимлид дал нам интересную задачу на развитие: прочитать основные классы java core + collections. А тому, кто найдёт ошибку в HashMap, обещал штуку рублей, что придало хороший азартный блеск нашим глазам😏
Вызов принят, и кроме искомой ошибки в HashMap, я нашел ещё несколько...
---
Баги JDK, микрооптимизации, Inline методов в JVM, BitSet'ы, идиосинкразия Java, etc...
#java #jdk #jvm #погружение
Типичные проблемы новичка в AWS
Только начиная учиться работе с Amazon Web Services, я натолкнулся на несколько проблем, типичных для многих и разных задач — они достаточно просты и понятны, но в начале пути сжирают кучу времени.
- Проверь, что есть все нужные права в IAM
- Проверь Security Group
- Проверь, что EC2 instance запустился корректно
#aws #лайфхаки
Только начиная учиться работе с Amazon Web Services, я натолкнулся на несколько проблем, типичных для многих и разных задач — они достаточно просты и понятны, но в начале пути сжирают кучу времени.
- Проверь, что есть все нужные права в IAM
- Проверь Security Group
- Проверь, что EC2 instance запустился корректно
#aws #лайфхаки
Companion objects vs nested objects и зачем вообще нужны компаньоны
- Почему от static отказались в Kotlin
- Чем companion отличается от nested object?
- Что-то типа множественного наследования за счёт компаньонов в kotlin
#kotlin #погружение
- Почему от static отказались в Kotlin
- Чем companion отличается от nested object?
- Что-то типа множественного наследования за счёт компаньонов в kotlin
#kotlin #погружение
LLVM vs JVM vs GraalVM
Kotlin Native - компиляция Kotlin кода в бинарники под конкретные платформы.
Основан на LLVM — Low Level Virtual Machine (опять vm?).
Что такое LLVM? Чем отличается от JVM? А GraalVM тогда что и чем похож на остальные?
---
Стековые и регистровые ВМ, биткод и байткод.. крупица знаний об огромном мире виртуальных машин
#concept #jvm #погружение
Kotlin Native - компиляция Kotlin кода в бинарники под конкретные платформы.
Основан на LLVM — Low Level Virtual Machine (опять vm?).
Что такое LLVM? Чем отличается от JVM? А GraalVM тогда что и чем похож на остальные?
---
Стековые и регистровые ВМ, биткод и байткод.. крупица знаний об огромном мире виртуальных машин
#concept #jvm #погружение
alse-code
LLVM vs JVM vs GraalVM |A| alse-code
В Kotlin есть отличная возможность - Kotlin Native. Она позволяет компилировать Kotlin код в бинарники под конкретные платформы - которые способны запускаться без виртуальной машины. Эта технология основана на LLVM - Low Level Virtual Machine. Что? Снова…
Kotlin to Java in IntelliJ IDEA
Для глубокого изучения Котлина очень полезно просматривать Java код, аналогичный написанному на Котлине. Делается это просто:
Tools→Kotlin → Show Kotlin Bytecode → Decompile
---
В статье гифка с нужными кнопками и ещё один способ
#kotlin #лайфхаки
Для глубокого изучения Котлина очень полезно просматривать Java код, аналогичный написанному на Котлине. Делается это просто:
Tools→Kotlin → Show Kotlin Bytecode → Decompile
---
В статье гифка с нужными кнопками и ещё один способ
#kotlin #лайфхаки
alse-code
Kotlin to Java in IntelliJ IDEA |A| alse-code
Для глубокого изучения Котлина очень полезно просматривать Java код, аналогичный написанному на Котлине. Делается это просто: Tools→Kotlin → Show Kotlin Bytecode → Decompile Или же второй способ, чуть посложнее: Билдим проект →Находим нужный клас в build…
Computer Vision & Kotlin
Обычно всяческие CV, ML, AI проекты делаются на Python или C++, но есть возможность работать с этим из Java и, соответственно, Kotlin. Рассмотрим использование OpenCV из Kotlin на примере matchTemplate — операции поиска объекта по шаблону.
---
Найдём ли нужную кошку в толпе кошек?
#bytedeco #ComputerVision #kotlin #OpenCV #быстрыйСтарт
Обычно всяческие CV, ML, AI проекты делаются на Python или C++, но есть возможность работать с этим из Java и, соответственно, Kotlin. Рассмотрим использование OpenCV из Kotlin на примере matchTemplate — операции поиска объекта по шаблону.
---
Найдём ли нужную кошку в толпе кошек?
#bytedeco #ComputerVision #kotlin #OpenCV #быстрыйСтарт
alse-code
Computer Vision & Kotlin |A| alse-code
Обычно всяческие CV, ML, AI проекты делаются на Python или C++, но есть возможность работать с этим и из Java и, соответственно, Kotlin. Рассмотрим использование OpenCV из Kotlin на примере matchTemplate - операции поиска объекта по шаблону. OpenCV - открытый…
Опыт установки GitLab + Runners
Временно у меня появилось пару серверов для экспериментов. Самое время попробовать установить GitLab EE, GitLab Runner и настроить CI через него.
---
Насколько сложен GitLab dev&ops для разработчика? Куда копать и что смотреть?
#devops #gitlab #быстрыйСтарт
Временно у меня появилось пару серверов для экспериментов. Самое время попробовать установить GitLab EE, GitLab Runner и настроить CI через него.
---
Насколько сложен GitLab dev&ops для разработчика? Куда копать и что смотреть?
#devops #gitlab #быстрыйСтарт
alse-code
Опыт установки GitLab + Runners |A| alse-code
Временно у меня появилось пару серверов для экспериментов. Самое время попробовать установить GitLab EE, GitLab Runner и настроить CI через него. для тех, кто в танке: GitLab Runner это сервисы, которые ставятся отдельно и подключаются к гитлабу. Они служат…
Что можно сделать с GitLab API
Gitlab предоставляет достаточно мощное REST API, с помощью которого можно делать множество рутинных действий. Расскажу о его подключении и нескольких типичных задачах, которые им можно решить, с примерами.
---
Как настроить, какие доки смотреть, примеры задач, исходник решения
#gitlab #kotlin #быстрыйСтарт
Gitlab предоставляет достаточно мощное REST API, с помощью которого можно делать множество рутинных действий. Расскажу о его подключении и нескольких типичных задачах, которые им можно решить, с примерами.
---
Как настроить, какие доки смотреть, примеры задач, исходник решения
#gitlab #kotlin #быстрыйСтарт
alse-code
Что можно сделать с GitLab API |A| alse-code
Gitlab предоставляет достаточно мощное REST API, с помощью которого можно делать множество рутинных действий. Расскажу о его подключении и нескольких типичных задачах, которые им можно решить, с примерами. Документация здесь. Подключаем к Gradle библиотечку…
Gitlab CI основы
Замечательная штука, чтобы настроить свои CI/CD процессы. Думаю, по популярности идёт на втором месте, сразу после Jenkins’а и постепенно вытесняет его.
gitlab-ci.yaml - сгруппированный по стадиям набор задач, запускающий скрипты в докер контейнере. Если кратко, то это и есть вся суть
---
Примерчик для быстрого старта, со скриншотами где че тыкать. И обязательно погружение - куда копать дальше, где доки, где примеры, где че искать
#devops #gitlab #быстрыйСтарт
Замечательная штука, чтобы настроить свои CI/CD процессы. Думаю, по популярности идёт на втором месте, сразу после Jenkins’а и постепенно вытесняет его.
gitlab-ci.yaml - сгруппированный по стадиям набор задач, запускающий скрипты в докер контейнере. Если кратко, то это и есть вся суть
---
Примерчик для быстрого старта, со скриншотами где че тыкать. И обязательно погружение - куда копать дальше, где доки, где примеры, где че искать
#devops #gitlab #быстрыйСтарт
alse-code
Gitlab CI основы |A| alse-code
Замечательная штука, чтобы настроить свои CI/CD процессы. Думаю, по популярности идёт на втором месте, сразу после Jenkins'а и постепенно вытесняет его. Итак, чтобы собрать свой pipeline в gitlab'е, нужно завести в нём репу, куда в корень просто добавляем…
Gitlab Pages: публикуем статик-сайты через CI
Хостинг статических сайтов (аналогичный GitHub pages), который собирается через Gitlab CI по исходникам в репозитории
---
#devops #gitlab #быстрыйСтарт
Хостинг статических сайтов (аналогичный GitHub pages), который собирается через Gitlab CI по исходникам в репозитории
---
#devops #gitlab #быстрыйСтарт
alse-code
Gitlab Pages: публикуем статик-сайты через CI |A| alse-code
Аналогично Github Pages в гитлабе существует собственный: Gitlab Pages. Это хостинг статических сайтов, который собирается через Gitlab CI по исходникам в репозитории. О Gitlab CI уже писал, так что за подробностями туда. Хотя и здесь постараюсь описать понятно…
Kotlin JS React. Парочка нюансов. HOC
Ох и запарился же я, когда пытался заюзать HOC (higher order component) компонент из react либы.
---
Пример использования React HOC из Kotlin/JS и конечно погружение с подробным объяснением, почему так
#kotlin #react #kotlinJs
Ох и запарился же я, когда пытался заюзать HOC (higher order component) компонент из react либы.
---
Пример использования React HOC из Kotlin/JS и конечно погружение с подробным объяснением, почему так
#kotlin #react #kotlinJs
alse-code
Kotlin JS React. Парочка нюансов. HOC |A| alse-code
Ох и запарился же я, когда пытался заюзать HOC (higher order component) компонент из react либы. Задача: В react-yandex-maps для использования api карт предлагается использовать HOC компонент withYMaps. Решение: определяем типизацию: @file:JsModule("react…
Синьор: Откуда ты взял этот код?
Джуниор: На Stack Overflow
Синьор: Из ответа или из вопроса?
Джуниор: На Stack Overflow
Синьор: Из ответа или из вопроса?
Микросервисы. Послевкусие
- устали от темы микросервисов? Посмотрим на них с непопулярной стороны
- сбиваем спесь и разгребаем последствия одного из мощнейших хайпов десятилетия
- относятся ли плюсы микросервисов действительно к микросервисам?
- может не надо или когда-нибудь может и надо и что происходит? монорепы, модули, soa, unix-пайпы, FaaS? Спокойствие, только спокойствие
---
Запись с конференции
Ссылки из презентации:
Мартин Фаулер 1 2
Сэм Ньюмен. Создание микросервисов
Microservices - Not a free lunch!
Остановитесь! Вам не нужны микросервисы
Модули вместо микросервисов
Микросервисы. Закат хайпа?
#concept #погружение #микросервисы
- устали от темы микросервисов? Посмотрим на них с непопулярной стороны
- сбиваем спесь и разгребаем последствия одного из мощнейших хайпов десятилетия
- относятся ли плюсы микросервисов действительно к микросервисам?
- может не надо или когда-нибудь может и надо и что происходит? монорепы, модули, soa, unix-пайпы, FaaS? Спокойствие, только спокойствие
---
Запись с конференции
Ссылки из презентации:
Мартин Фаулер 1 2
Сэм Ньюмен. Создание микросервисов
Microservices - Not a free lunch!
Остановитесь! Вам не нужны микросервисы
Модули вместо микросервисов
Микросервисы. Закат хайпа?
#concept #погружение #микросервисы
YouTube
Микросервисы. Послевкусие | Орбита-Базис MeetUp
Микросервисы. Послевкусие
- устали от темы микросервисов? А давайте посмотрим на них с непопулярной стороны
- сбиваем спесь и разгребаем последствия одного из мощнейших хайпов десятилетия
- относятся ли плюсы микросервисов действительно к микросервисам?…
- устали от темы микросервисов? А давайте посмотрим на них с непопулярной стороны
- сбиваем спесь и разгребаем последствия одного из мощнейших хайпов десятилетия
- относятся ли плюсы микросервисов действительно к микросервисам?…
Kotlin log VS Lombok
Скучаете по аннотации @Slf4j из Lombok? Забываете, как там пишется это всё вручную? Решение есть!
Всего несколько движений мышкой и корень…
И теперь — всё просто. Пишете
Вы скажете: лучше объявлять логгер статической переменной — и будете правы! Ничего сложного, просто надо добавить одну переменную и изменить ApplicableContext:
Только не забывайте, что для котлина есть специальный kotlin-logging. В прочем, для него алгоритм тот же, только template text немного другой:
✅ Достижение получено:
Мастер объявления логов в Котлин🥇
---
#лайфхаки
Скучаете по аннотации @Slf4j из Lombok? Забываете, как там пишется это всё вручную? Решение есть!
Всего несколько движений мышкой и корень…
Preferences -> Editor -> Live Templates -> Kotlin -> + -> Live Template:
Abbreviation: log
Description: insert slf4j log
Template Text: private val log = LoggerFactory.getLogger(this::class.java)
Applicable context->Define: Kotlin: class
(см.картинку)И теперь — всё просто. Пишете
log, нажимаете tab — и готово!Вы скажете: лучше объявлять логгер статической переменной — и будете правы! Ничего сложного, просто надо добавить одну переменную и изменить ApplicableContext:
private val log = LoggerFactory.getLogger($CLASS$::class.java)
(см.картинку)Только не забывайте, что для котлина есть специальный kotlin-logging. В прочем, для него алгоритм тот же, только template text немного другой:
private val logger = KotlinLogging.logger {}
И-ес!✅ Достижение получено:
Мастер объявления логов в Котлин🥇
---
#лайфхаки
alse-code
Kotlin log VS Lombok |A| alse-code
Скучаете по @Slf4j из Lombok? Забываете, как там это всё вручную? Решение есть!
Всего несколько движений мышкой и корень... Не, ща разберёмся
Всего несколько движений мышкой и корень... Не, ща разберёмся
