Gitlab Pages: публикуем статик-сайты через CI

Аналогично Github Pages в гитлабе существует собственный: Gitlab Pages. Это хостинг статических сайтов, который собирается через Gitlab CI по исходникам в репозитории. О Gitlab CI уже писал, так что за подробностями туда. Хотя и здесь…

Gitlab CI основы

Замечательная штука, чтобы настроить свои CI/CD процессы. Думаю, по популярности идёт на втором месте, сразу после Jenkins’а и постепенно вытесняет его. Итак, чтобы собрать свой pipeline в gitlab’е, нужна репа на гитлабе, куда в корень…

Что можно сделать с GitLab API

Gitlab предоставляет достаточно мощное REST API, с помощью которого можно делать множество рутинных действий. Расскажу о его подключении и нескольких типичных задачах, которые им можно решить, с примерами. Документация здесь. Подключаем к Gradle библиотечку-обёртку: Затем…

Опыт установки GitLab + Runners

Пока на время у меня появилось пару серверов для экспериментов, я попробовал установить GitLab EE, GitLab Runner и настроить CI через него. для тех, кто в танке: GitLab Runner это сервисы, которые ставятся отдельно и…

Computer Vision & Kotlin

Обычно всяческие CV, ML, AI проекты делаются на Python или C++, но есть возможность работать с этим и из Java и, соответственно, Kotlin. Рассмотрим использование OpenCV из Kotlin на примере matchTemplate — операции поиска объекта…

Kotlin to Java in IntelliJ IDEA

Для глубокого изучения Котлина очень полезно просматривать Java код, аналогичный написанному на Котлине. Делается это просто: Tools→Kotlin → Show Kotlin Bytecode → Decompile Или же второй способ, чуть посложнее: Билдим проект →Находим нужный клас в…

Companion objects vs nested objects и зачем вообще нужны компаньоны

Очевидный ответ: для эмуляции static методов, которые были в Java (и для interop’а используется аннотация @JvmStatic, генерирующая подобные джаве статик методы). Но почему от static отказались в Kotlin и каково концептуальное значичение companion, ведь в…

Частые проблемы новичка в AWS

Только начиная учиться работе с Amazon Web Services, я натолкнулся на несколько проблем, типичных для многих и разных задач — они достаточно просты и понятны, но в начале пути сжирают кучу времени. Проверь, что есть…

LLVM vs JVM vs GraalVM

В Kotlin есть отличная возможность — Kotlin Native. Она позволяет компилировать Kotlin код в бинарники под конкретные платформы — которые способны запускаться без виртуальной машины. Эта технология основана на LLVM — Low Level Virtual Machine….

Баги в OpenJDK 1.8

Как-то при небольшой загрузке задачами тимлид дал нам интересную задачу на развитие: прочитать основные классы java core + collections. А тому, кто найдёт ошибку в HashMap, обещал штуку рублей, что придало хороший азартный блеск нашим…