SDCast #123: в гостях Иван Муратов, технический директор ПМК, активист Краснодарского ИТ сообщества

Встречайте 123-й выпуск подкаста, в котором у меня в гостях Иван Муратов, технический директор Первой Мониторинговой Компании в Краснодаре, активист Краснодарского ИТ сообщества и основатель бэкенд-митапа.

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

Поговорили про Internet of Things в общем и в контексте сбора данных с автотранспорта в частности. Обсудили способы хранения сообщений с датчиков в time-series базах данных и не только. Отдельно Ваня подробно рассказал про использование TimescaleDB и PostgreSQL, как они работают, как устроено хранение, партиции и запросы.

Так же мы поговорили про конференции и сообщество. Ваня рассказал как зараждалось Краснодарское айти-сообщество, про конференции «Krasnodar Dev Days», их принципы, подходы и организацию. Читать далее «SDCast #123: в гостях Иван Муратов, технический директор ПМК, активист Краснодарского ИТ сообщества»

SDCast #122: в гостях Георгий Меликов, контрибьютор проектов OpenZFS и ZFS on Linux

После несколько затянувшегося перерыва, встречайте 122-й выпуск подкаста, посвящённый файловой системе ZFS. У меня в гостях Георгий Меликов, контрибьютор проектов OpenZFS и ZFS on Linux.

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

Георгий рассказал про архитектуру системы, рассказал про модули и их назначение, мы обсудили в целом подход Copy on write, иммьютабельность данных, снепшоты, различные кэши и методы оптимизаций, применяемые в ZFS.

Поговорили про фрагментацию данных, шифрование и сжатие. Георгий рассказал про интересные новые фичи, которые появились в последних релизах или находятся в альфе и скоро попадут в релиз, например нативное шифрование или dRAID.

Так же Георгий рассказал про историю проекта, а точнее целое семейство проектов, и то, как все они потихонечку собираются воедино. Не могли мы не поговорить про сравнение ZFS и железных контроллеров и поддержку ZFS в апстриме ядра Linux.

Обсудили так же и open source составляющую проекта: какая команда, какие компании поддерживают проект, планы по развитию проекта. Читать далее «SDCast #122: в гостях Георгий Меликов, контрибьютор проектов OpenZFS и ZFS on Linux»

SDCast #121: Круглый стол про код-ревью

Товарищи, в этот раз вас ждёт необычный выпуск подкаста! Почему? — Этот выпуск был записан в прямом эфире с обсуждением вопросов зрителей, онлайн-голосованиями и другими активностями. Но не переживайте, весь контент доступен для восприятия в аудио-формате как и прежде!

Итак, выпуск посвящён непростой и спорной теме код-ревью. В этом выпуске, помимо меня приняли участие:

  • Александр Макаров, лид проекта Yii Framework
  • Антон Морев, основатель и СТО Wormsoft
  • Сергей Жук, разработчик из Skyeng

Live team screenshot
Вот далеко не полный перечень тем, которые мы обсудили:

  • Каким должно быть идеальное код-ревью?
  • Есть ли отличия в процессах код-ревью для крупных компаний, заказной разработки и open source проектов?
  • Размеры одного пулл-реквеста: что делать с огромными пул-реквестами?
  • Сколько времени должно уходить на ревью одного запроса? Когда и как делать код-ревью?
  • Как экономить время на код-ревью?
  • Инструменты, облегчающие и помогающие код-ревью
  • Человеческий фактор в код-ревью: как не убить критикой все старания?

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

Так же за время беседы мы запустили несколько голосований по тематике код-ревью, а в конце дискуссии подвели итоги. Читать далее «SDCast #121: Круглый стол про код-ревью»

SDCast #120: в гостях Павел Савельев, руководитель отдела автоматизации бизнес-процессов и Павел Агалецкий, системный архитектор в компании Lamoda

Latech logoВстречайте 120-й выпуск подкаста с ребятами из компании Lamoda. У меня в гостях Павел Савельев, руководитель отдела автоматизации бизнес-процессов и Павел Агалецкий, системный архитектор.

В этом выпуске мы говорим про архитектуру больших систем, межсервисное взаимодействие, API, процессы разработки, коммуникации и open source.

В начале ребята рассказали про архитектуру подсистемы доставки Lamoda. Как она устроена, на чём написана, какие есть ключевые сервисы и как работает бизнес-логика. Затем мы обсудили межсервисное взаимодействие, потоки данных, подходы к разработки новых сервисов.

Подискутировали на тему API: ребята рассказали как устроено API у них, почему они выбрали JSON-RPC, обсудили консистентность и докумендацию API.

Поговорили про людей, команды и технологии. Ребята рассказали про размер команды, как устроен процесс разработки, как выбираются технологии, вспомнили про тех радар. Обсудили, как внедряется новый разработчик в команду, вспомнили про performance review, личностный и профессиональный рост.

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

Так же ребята рассказали про то, зачем они выкладывают какие-то свои библиотеки и компоненты в open source. Что это даёт компании и конкретным разработчикам.

В завершении выпуска обсудили насущную тему удалённой работы. Ребята поделились своими личными впечатлениями от удалёнки и рассказали как выстроен процесс у них в компании. Читать далее «SDCast #120: в гостях Павел Савельев, руководитель отдела автоматизации бизнес-процессов и Павел Агалецкий, системный архитектор в компании Lamoda»

SDCast #119: в гостях Андрей Старовойт, разработчик WebStorm в JetBrains

Продолжаем серию выпусков про IDE. На этот раз у меня в гостях Андрей Старовойт, разработчик из команды WebStorm в JetBrains.

В этом выпуске мы сконцентрировались на вопросах поддержки в IDE новых фич языка JavaScript, поддержки TypeScript, наиболее популярных фреймворков и различных сторонних инструментов.

Андрей рассказал про особенности интеграции TypeScript, поддержку новых типов, взаимодействие с tsc и как сделана поддержка различных версий TypeScript.

Мы обсудили как решается вопрос необходимости поддержки новых фич языка JS или глубокая поддержка конкретного фреймворка или технологии, и даже вспомнили про meteor.js!

Андрей рассказал про команду разработки, используемые технологии, принцип выбора языка для реализации новых фич а так же про то, откуда брать компетенцию в различных веб-фреймворках, если каждый день пишешь на Java/Kotlin.

В завершении выпуска подискутировали о веб направлении в целом и экосистеме JS в частности, а так же Андрей рассказал про текущие задачи и планы на ближайшее будущее WebStorm. Читать далее «SDCast #119: в гостях Андрей Старовойт, разработчик WebStorm в JetBrains»

SDCast #118: в гостях Дмитрий Маракасов, разработчик свободного ПО

repology-logoЧто-то давно не было у меня выпусков про настоящий Open Source, linux, BSD. Восполняем этот пробел! У меня в гостях Дмитрий Маракасов, разработчик свободного ПО, автор проекта repology.

Repology занимается агрегацией информации о пакетах из максимального числа репозиториев и формированием полной картины о поддержке в дистрибутивах по каждому свободному проекту с целью упрощения работы и улучшения взаимодействия мейнтейнеров пакетов как между собой, так и с авторами ПО – в частности, проект помогает быстрее обнаруживать выпуски новых версий ПО, следить за актуальностью пакетов и наличием уязвимостей, унифицировать схемы именования и версионирования, поддерживать метаинформацию в актуальном состоянии, делиться патчами и решениями проблем и улучшать переносимость ПО.

В этом выпуске мы говорим с Димой про Open Source, пакетные менеджеры и репозитории для linux и BSD систем, FreeBSD, разработке и конечно же проекте Repology.

В начале Дима рассказал как возникла идея сделать этот проект, как давно уже он им занимается. Мы обсудили архитектуру проекта, его составные компоненты, на чём они написаны и как работают. Дима рассказал про некоторые интересные сложности на пути написания проекта, например, про сложность резолвинга имён пакетов и тонкости версионирования пакетов в различных системах.

Мы обсудили, какой функционал есть в Repology, какие данные он предоставляет, какую статистику и отчёты можно увидеть, что есть в API. Так же Дима поделился текущей статистикой по проекту.

Поговорили мы и про open source составляющую проекта: Дима рассказал про пользователей проекта, есть ли сообщество вокруг проекта, предложения идей и багфиксы.

Так же мы обсудили тему самодостаточных пакетов (flatpak и ему подобные), немного подискутировали про языковые пакетные менеджеры, Дима рассказал про текущее положение дел с автоматическим тестированием портов FreeBSD и детерминированные сборки. Читать далее «SDCast #118: в гостях Дмитрий Маракасов, разработчик свободного ПО»

SDCast #117: в гостях Денис Падрухин, директор компании разработки INEDI

Рад представить вашему вниманию 117-й выпуск SDCast’а, посвящённый вопросам проектирования и разработки UI/UX программных продуктов. У меня в гостях Денис Падрухин, директор компании разработки INEDI. В этом выпуске мы говорим про разработку интерфейсов приложений и интеграцию этого этапа в общих жизненный цикл разработки ПО.

Вначале мы обсудили, как изменились технологии в разработке UI/UX за последние годы. Затем Денис рассказал про процесс интеграции дизайна в проект: какие есть сложности и технические особенности, как подружить дизайнеров, верстальщиков и программистов, которые норовят скопипастить стили и подправить, как им нравится.

Так же Денис вспомнил интересные случаи из жизни про интеграции дизайна в различных встраиваемых системах.

Мы обсудили, как можно разрабатывать интерфейсы с прицелом на дальнейшую расширяемость и развитие проекта, есть ли какие-то общие правила и приёмы, которые помогают не наступить на грабли в дальнейшем. Немного подискутировали на тему использования так называемого фирменного стиля, который обычно относится к типографской продукции в дизайне интерфейсов ПО.

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

В заключении выпуска подискутировали о том, куда движется индустрия в целом, какие есть интересные новшества и что нас может ждать в будущем. Читать далее «SDCast #117: в гостях Денис Падрухин, директор компании разработки INEDI»

SDCast #116: в гостях Виктор Яблоков, руководитель мобильной разработки «Лаборатории Касперского»

Встречайте 116-й выпуск подкаста, на этот раз посвящённый аспектам безопасности мобильных платформ и разработке решений по обеспечению безопасности мобильных устройств. У меня в гостях Виктор Яблоков, руководитель мобильной разработки «Лаборатории Касперского».

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

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

Поговорили мы и о вендорских прошивках на базе Android, какие это привносит сложности в разработку, чем помогает Google Compatibility Suite и как устроено тестирование в целом.

Так же Виктор рассказал про процессы разработки в своём отделе, команды, разработчиков, мотивацию и возможность ротации.

Мы обсудили подходы к экспериментам с функциями и UI/UX приложений и A/B тестирование, Виктор рассказал как и на ком они проводят свои эксперименты.

В заключении выпуска подискутировали о том, куда движется индустрия мобильной разработки в целом. Читать далее «SDCast #116: в гостях Виктор Яблоков, руководитель мобильной разработки «Лаборатории Касперского»»

SDCast #115: в гостях Сергей Тихомиров, блокчейн исследователь, аспирант Университета Люксембурга

Bitcoin logoРад представить 115-й выпуск подкаста, речь в котором идёт про Bitcoin. Волна хайпа биткоина и блокчейн технологий немного спала, но тем не менее капитализация биткоина по прежнему превышает 130 млд долларов, а это что-то значит. У меня в гостях Сергей Тихомиров, блокчейн исследователь, аспирант Университета Люксембурга и автор подкаста Базовый блок.

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

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

Обсудили Эфир, aka Ethereum и его смарт-контракты, какие-то новые веяния и идеи, построенные на базе эфира и смарт-контрактов.

В заключении немного порассуждали о будущем криптовалют, тенденциях и возможных направлениях развития. Читать далее «SDCast #115: в гостях Сергей Тихомиров, блокчейн исследователь, аспирант Университета Люксембурга»

SDCast #114: в гостях Александр Кукушкин, database инженер в Zalando

Встречайте 114-й выпуск подкаста! У меня в гостях Александр Кукушкин, database инженер в Zalando. Хотя, наверное, многие знают его как разработчика Patroni: A Template for PostgreSQL HA with ZooKeeper, etcd or Consul. Так что речь в этом выпуске пойдёт про PostgreSQL, кластеры, Patroni, облака, AWS, Kubernetes и даже про базы данных PostgreSQL в K8S :)

В начале выпуска Саша рассказал про переезд в Германию, насколько это было сложно и как прошло. Дальше Саша рассказал про компанию в целом, как давно он там работает и чем занимается.

Мы обсудили как устроена инфраструктура в компании в части баз данных, какие есть кластеры, их примерное количество и размеры. Саша рассказал про репликацию и резервирование данных внутри и между датацентрами.

Обсудили переезд сервисов и баз данных в облака: Саша рассказал как они переводили серверы баз данных в AWS, какие были потребности в отказоустойчивости и чем эти потребности закрывались. Именно тогда на свет появился Patroni.

Саша рассказал про устройство Patroni, как он работает и что умеет. Рассказал про его развитие, добавление новых фич, таких как управление конфигурацией PostgreSQL сервера, синхронизация конфигов. Рассказал про различные варианты использования DCS (distributed configuration store) и как он адаптировал Patroni для работы в кластере Kubernetes с минимальными накладными расходами.

Не могли мы пройти мимо темы облаков, контейнеризации и диспетчеризации контейнеров в целом. Так что подискутировали о том, какие выгоды даёт K8S и какие сложности приносит в разработку и сопровождение. Саша рассказал несколько интересных кейсов из опыта использования K8S в Zalando. Читать далее «SDCast #114: в гостях Александр Кукушкин, database инженер в Zalando»