Как стать автором
Обновить
-10
0
Копилов Александр @Kopilov

Аналитик-разработчик

Отправить сообщение

Actions: как в GitHub, но в GitLab

Время на прочтение20 мин
Количество просмотров15K

Привет! Меня зовут Артемий Окулов, я lead центра компетенций CI/CD в X5 Group.

То, чем мы с командой занимаемся, можно отнести к области под названием Developer Experience. В какой-то момент ИТ в компании достигает такой зрелости, что появляются tools team, enabling team и инициативы, направленные на повышение developer experience. Одной из таких инициатив мы и занимаемся. Если вкратце, мы хотим упростить старт новых продуктов в компании за счет предоставления шаблонов.

В X5 Group много web-сервисов, и с переходом на продуктовый подход виден рост количества команд, которые все чаще прибегают к их созданию. Конечно, каждая команда должна быть кросс-функциональной, чтобы успех реализации продукта зависел в большей степени от самой команды. Но часто мы сталкиваемся с тем, что найти инженера с ролью devops в команду — это задача нескольких месяцев. А терять столько времени на старте — непозволительная роскошь. Поэтому в компании ведутся работы по созданию “стартовых наборов”, решающих задачу минимум — быстрого старта разработки и создания dev-окружения силами самих разработчиков.

В поставку такого “стартового набора” входит и CI/CD pipeline. В этой статье, в частности, мы бы хотели поделиться подходом шаблонизации GitLab Pipelines, который мы стараемся продвигать у себя в компании, и рассказать про инструмент, который для этого разработали.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии27

Ирина — опенсорс русский голосовой помощник. Offline-ready

Время на прочтение9 мин
Количество просмотров51K

- Ирина, таймер...
- Ставлю таймер на пять минут.

Вполне себе обыденная история из моего быта. Я таки сделал собственного автономного голосового помощника.

TL;DR> Ирина вполне неплохо работает дома 24x7.

Потребуется установить Python 3.5+ и зависимости через pip (немного знаний Python).

Скиллы "из коробки": таймер, погода, контроль медиа (громче/тише/дальше), контроль плеера MPC-HC, запуск медиа из папки, расписание ближайших электричек, "подбрось кубик/монетку".

Плагинами добавляются: другие скиллы, Text-to-Speech и Speech-to-Text движки.

Интересно? Поехали >
Всего голосов 91: ↑89 и ↓2+106
Комментарии88

Ещё 20+ игр, которые прокачивают логику, алгоритмы и радуют умный мозг [по следам комментариев на Habr]

Время на прочтение9 мин
Количество просмотров122K
image

Я выложила вчера подборку «15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли». И столько классных ссылок в комментарии накидали, что я чуток опухла, но сделала отдельную подборку, по горячим следам. Спасибо большое всем, кто внес свой вклад.

Еще я веду канал в Telegram: GameDEVils, делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →
Всего голосов 64: ↑63 и ↓1+81
Комментарии59

Видеоcъемка и фотосъёмка на Raspberry pi в облако

Время на прочтение4 мин
Количество просмотров8.7K

Здравствуйте дорогие читатели моего блога.

Сегодня статья посвещана организации процесса фото - и видиосъёмки с микрокомпьютера Raspberry pi с последующим сохранением данных в облако в атоматическом режиме.

У меня стояла задача создать систему фото- и видеонаблюдения за птицами у кормушки. 

Так как кормушка у меня находилась во дворе дома, то я решил собрать устройство на базе raspberry pi с подключённым проводным интернетом.

Это было сделано на случай, если влага или другие погодные условия выведут электронику из строя, то весь видео и фотоматериал останется в облаке.

В качестве оборудования я использовал:

Raspberry pi 3 B +

7 дюймовый сенсорный дисплей для микрокомпьютера

Pi camera

клавиатура, мышь

LAN провод 20 метров

удлинитель и блок питания (преобразователь 5В и 2А)

Читать далее
Всего голосов 14: ↑9 и ↓5+5
Комментарии16

Многозадачность и многопоточность — распространенные заблуждения и недопонимания

Время на прочтение11 мин
Количество просмотров23K

Когда я предложил перевести на русский мою последнюю статью Easy Concurrency with Python Shared Objects на английском, поступило предложение "написать в несколько раз короче и понятнее". Просьба более чем обоснована. Поскольку я уже порядка десяти лет пишу многопоточку и БД, то описываемые мной логические связи выглядели самоочевидно, и я ошибочно расчитывал на аудиторию из трех с половиной человек, которые сидят сейчас где-то в яндексе или гугле. Судя по всему, они там и сидят, но тема им не интересна, поскольку в питоне нет настоящих потоков, а значит для этих людей такого языка программирования не существует. Потому я немножко снижаю планку и делаю общий обзор проблематики параллельных вычислений для людей, которые в них разбираются, но не являются экспертами в области.


Из-за чего весь сыр-бор?

Читать дальше →
Всего голосов 25: ↑23 и ↓2+29
Комментарии42

Александр Белокрылов и Дмитрий Чуйко о Liberica JDK на jug.msk.ru

Время на прочтение3 мин
Количество просмотров4.5K
14 февраля 2019 года на первой в этом году встрече сообщества московских Java-разработчиков jug.msk.ru Александр Белокрылов и Дмитрий Чуйко из компании BellSoft рассказали об особенностях разработки дистрибутива Liberica JDK.


Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии3

Вячеслав Смирнов. Профилирование JVM в Kubernetes

Время на прочтение29 мин
Количество просмотров8.7K

Вариантов и инструментов профилирования JVM много, так много, что обо всех и не рассказать. И каждый имеет свои особенности, плюсы и минусы.


Вячеславу повезло использовать разные инструменты. И повезло найти разные дефекты микросервисов на основе JVM. Спикер проанализировал, разделил инструменты и дефекты микросервисов на группы, и хочет рассказать о:


  • подборе профайлеров и их настройках под задачу;
  • собранных рецептах профилирования JVM в Kubernetes;
  • моментах, когда профилирование вредит, а когда помогает.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии7

9 команд для проверки информации о CPU в Linux

Время на прочтение6 мин
Количество просмотров122K

Информация об аппаратном обеспечении CPU

Информация о CPU (Central Processing Unit. Центральный процессор) включает в себя подробные сведения о процессоре, такие как архитектура, название производителя, модель, количество ядер, скорость каждого ядра и т.д.

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

Читать далее
Всего голосов 10: ↑7 и ↓3+4
Комментарии3

Какую СУБД выбрать и почему? (Статья 2)

Время на прочтение4 мин
Количество просмотров11K

После публикации статьи “Какую СУБД выбрать и почему? (Статья 1)” ко мне поступили справедливые комментарии о том, что я не упомянул такие типы СУБД, как Time Series и Spatial. В этой статье я кратко опишу их и добавлю еще два типа — Search engines и Object-oriented (объектные).

Читать далее
Всего голосов 16: ↑10 и ↓6+5
Комментарии15

Нюансы установки сторонних прошивок на Android-смартфоны. Первые шаги. Установка стороннего Recovery

Время на прочтение6 мин
Количество просмотров48K

Здравствуй, уважаемый читатель! Этот пост является первым в цикле статей про нюансы установки сторонних (далее — кастомных, от слова custom) прошивок на свои устройства под управлением ОС Andoid, а также о критически важных нюансах этого процесса. Цикл статей ориентирован на тех, кто либо только думает над тем, чтобы «накатить» на свой аппарат неофициальную прошивку, либо не знает некоторых моментов (например, как подружить GPay с новой ОС).

Читать далее
Всего голосов 7: ↑6 и ↓1+6
Комментарии51

Создал город из игры Герои 3 в 3D | Оплот

Время на прочтение10 мин
Количество просмотров29K

Всем привет! Это Денис Вебер и в этот раз я расскажу как создавал в 3D город из, уже ставшей классикой, игры Герои 3. Если вам интересен формат видео, ссылку на ролик, я, как всегда, оставлю под текстом.

Что вам первым делом приходит в голову, когда вы слышите слово фэнтези? Властелин колец, Игра престолов или может даже Гарри Поттер?

Лично у меня, драконы, гномы, эльфы и другие мифические существа всегда были связаны со вселенной игр Герои.

Читать далее
Всего голосов 40: ↑37 и ↓3+45
Комментарии43

Проброс видеокарты в ноутбуке. Laptop GPU Passthrough

Время на прочтение10 мин
Количество просмотров23K


… или как из игрового ноутбука средствами виртуализации сохранить игровую систему!
Если Вы рассматриваете ноутбук/ПК не только как игровую станцию, а еще и как хост для виртуальных машин, но при этом иногда нужно поиграть/поработать с 3d, то это возможно!

Добро пожаловать под cut.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии23

Java CSP быстрый старт

Время на прочтение8 мин
Количество просмотров17K

Если вы решили разрабатывать приложение на Java + maven, которое должно работать с отечественной криптографией, то эта статья для вас.

В статье рассказывается как создать приложение и подключить к нему JavaCSP для работы с ГОСТ-овой криптографией. В качестве примера мы создадим программу, показывающую все сертификаты в регистре.

Целевая аудитория junior/middle разработчики, которым требуется реализовать подписание/шифрование на базе отечественной криптографии. И которые до этого не имели опыта работы с Крипто Про.

Читать далее
Всего голосов 4: ↑3 и ↓1+3
Комментарии7

3D моделирование в Python

Время на прочтение21 мин
Количество просмотров79K

Допустим, вам потребовалось на языке программирования python, построить трёхмерную модель некоторого объекта, затем визуализировать его, или подготовить файл для печати на 3D принтере. Существует несколько библиотек, помогающих в решении этих задач. Поговорим о том, как строить трёхмерные модели из точек, граней и примитивов в python. Как выполнять элементарные приемы 3D моделирования: перемещение, поворот, объединение, вычитание и другие.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии26

Готовимся к Windows 11: добавляем поддержку полноценной клавиатуры в Android-приложение

Время на прочтение4 мин
Количество просмотров9.2K

Многие мобильные приложения уже могут конкурировать с полноценными десктопными вариантами, а иногда и превосходить их. Офисные пакеты, фоторедакторы и IDE вполне неплохо работают на портативных девайсах. Samsung, например, даже сделал специальный режим DeX Mode, который позволяет подключить к смартфону монитор и периферию.

А скорый релиз Windows 11 с возможностью устанавливать любые APK-файлы прямо намекает, что пора озаботиться поддержкой десктопных режимов в своих мобильных приложениях. Один из шагов к этому — добавить полноценную поддержку клавиатуры, чем сегодня и займёмся.

Под катом разберём навигацию по RecyclerView, привязку горячих клавиш к toolbar menu, добавим кастомные сочетания и покажем пользователям, как ими пользоваться.

Читать далее
Всего голосов 44: ↑43 и ↓1+52
Комментарии16

Как при помощи ИИ сделать распознавание вводимых вами рукописных цифр прямо в браузере

Время на прочтение9 мин
Количество просмотров5.8K

Эта статья для новичков и не претендует на высокий технический уровень, а если вам интересны сложные современные решения, обратите внимание, например, на статью о GIRAFFE, который для генерации реалистичного движения объединяет самые современные подходы в ИИ.

В конце статьи вы найдёте ссылки на проект очень простой веб-страницы с распознаванием рукописного ввода при помощи ИИ, а прочитав это руководство, переводом которого мы делимся к старту курса о машинном и глубоком обучении, сможете самостоятельно написать такую страницу. Для этого вам понадобится свой блокнот Colab или блокнот автора статьи. Скачиваемые блокнотом файлы модели занимают меньше мегабайта.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии8

Blender, 1001 мелочь

Время на прочтение20 мин
Количество просмотров36K

Продолжение разбора приёмов работы с пакетом трёхмерной графики Blender версии 2.79. На этот раз речь пойдёт о материалах в Cycles и о том, как отрендерить итоговую картинку.

Далее
Всего голосов 5: ↑4 и ↓1+4
Комментарии40

Blender, 1000 мелочей

Время на прочтение9 мин
Количество просмотров35K

Собрал наиболее востребованные базовые приёмы работы с самым ламповым пакетом трёхмерной графики (в интерфейсе "классической" версии 2.79): немного общих моментов и часто используемые инструменты редактирования.

Продолжение (материалы и рендер)

Далее
Всего голосов 10: ↑8 и ↓2+9
Комментарии25

Комплексные числа и геометрические узоры

Время на прочтение6 мин
Количество просмотров26K
Когда речь заходит о комплексных числах, в первую очередь вспоминают о преобразовании Фурье и прочих аспектах цифровой обработки сигналов. Однако у них есть и более наглядная интерпретация, геометрическая — как точки на плоскости, координатам которой соответствуют действительная и мнимая часть комплексного числа. Рассматривая некоторую кривую как совокупность таких точек, можно описать её как комплексную функцию действительной переменной.

Дальше больше картинок и анимаций
Всего голосов 106: ↑106 и ↓0+106
Комментарии39

Wireshark для всех. Лайфхаки на каждый день

Время на прочтение7 мин
Количество просмотров103K

Пакет с сертификатами от Хабра

Wireshark — очень известная программа для захвата и анализа сетевого трафика, незаменимый инструмент хакера, сетевого инженера, программиста, специалиста по безопасности. Да вообще любого любознательного человека, который хочет детально изучить трафик со своего или чужого мобильного телефона, фитнес-браслета, телевизора.
Читать дальше →
Всего голосов 44: ↑42 и ↓2+52
Комментарии16

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность