Баги в 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? Забываете, как там это всё вручную? Решение есть!
Всего несколько движений мышкой и корень... Не, ща разберёмся
Всего несколько движений мышкой и корень... Не, ща разберёмся
This media is not supported in your browser
VIEW IN TELEGRAM
Если ты ещё не знаешь, как выглядит карьерная лестница программистов..
AlseCode | Agentic Development made it easy.. ?
Микросервисы. Послевкусие - устали от темы микросервисов? Посмотрим на них с непопулярной стороны - сбиваем спесь и разгребаем последствия одного из мощнейших хайпов десятилетия - относятся ли плюсы микросервисов действительно к микросервисам? - может не…
Проблема с микросервисами
Видео от автора одной из основных книг по CD
Очень многие мысли пересекаются с моим докладом, но под другим углом
---
#concept #погружение #микросервисы
Видео от автора одной из основных книг по CD
Очень многие мысли пересекаются с моим докладом, но под другим углом
---
#concept #погружение #микросервисы
YouTube
The Problem With Microservices
Microservices are one of the most popular modern architectural approaches, but they are much more complicated to do well than most organisations think. So what is Microservices Architecture, what is it for, what are Microservices and why are they a lot more…
👍1
Как достигается изоляция транзакций в PostgreSQL? Разве блокировками?
Очень интересный вопрос для собеса, но я ничего подобного не слышал ни разу и сам не спрашивал. Но теперь запишу и буду задавать😎
Первое, что приходит на ум, когда читаешь про ACID и конкретно про Isolation, - "да ведь это всё на блокировках, всё ясно!"
Отнюдь - инженерная мысль ушла далеко.
В Postgres'е реализован механизм многоверсионности: хранятся сразу несколько версий строк для разных транзакций. То есть строки в одной транзакции могут не совпадать со строками другой. С помощью этого механизма всё работает практически без блокировок - просто, в случае чего, транзакция откатится!
И ещё один плюс этого подхода - меньшие уровни изоляции обеспечивают большую защиту от проблем изоляции без дополнительных накладных расходов!
Цитата:
См. статью от Postgres Pro про изоляцию
и про внутреннее устройство памяти Postgres
Очень интересный вопрос для собеса, но я ничего подобного не слышал ни разу и сам не спрашивал. Но теперь запишу и буду задавать😎
Первое, что приходит на ум, когда читаешь про ACID и конкретно про Isolation, - "да ведь это всё на блокировках, всё ясно!"
Отнюдь - инженерная мысль ушла далеко.
В Postgres'е реализован механизм многоверсионности: хранятся сразу несколько версий строк для разных транзакций. То есть строки в одной транзакции могут не совпадать со строками другой. С помощью этого механизма всё работает практически без блокировок - просто, в случае чего, транзакция откатится!
И ещё один плюс этого подхода - меньшие уровни изоляции обеспечивают большую защиту от проблем изоляции без дополнительных накладных расходов!
Цитата:
В PostgreSQL реализован многоверсионный вариант такого протокола. Идея многоверсионности состоит в том, что в СУБД могут сосуществовать несколько версий одной и той же строки. Это позволяет строить снимок данных, используя имеющиеся версии, и обходиться минимумом блокировок. Фактически блокируется только повторное изменение одной и той же строки. Все остальные операции выполняются одновременно: пишущие транзакции никогда не блокируют читающих транзакций, а читающие никогда не блокируют никого.
См. статью от Postgres Pro про изоляцию
и про внутреннее устройство памяти Postgres
Хабр
MVCC-1. Изоляция
Привет, Хабр! Этой статьей я начинаю серию циклов (или цикл серий? в общем, задумка грандиозная) о внутреннем устройстве PostgreSQL. Материал будет основан на у...
❤1👍1
Выступаю завтра на конференции в Бишкеке с темой
Также будет много других крутейших докладов и классных спикеров, подключайтесь к трансляции или лично!
Пост от коллеги с подробным описанием:
https://t.me/mikrotikninja/1357
Или от одних из организаторов в инсте:
https://www.instagram.com/p/CdplKb_oLYO
Запись выступления
https://youtube.com/watch?v=Yxu-AHXGJMM&t=21790s
SQL vs NoSQL vs NewSQL. Ориентиры в мире БД.Также будет много других крутейших докладов и классных спикеров, подключайтесь к трансляции или лично!
Пост от коллеги с подробным описанием:
https://t.me/mikrotikninja/1357
Или от одних из организаторов в инсте:
https://www.instagram.com/p/CdplKb_oLYO
Запись выступления
https://youtube.com/watch?v=Yxu-AHXGJMM&t=21790s
