SDCast #125: в гостях Антон Виноградов, руководитель фронтенд-разработки SberDevices

SberDevices LogoВстречайте 125-й выпуск подкаста, в котором у меня в гостях Антон Виноградов, руководитель фронтенд-разработки SberDevices. В этом выпуске мы говорим про интернет вещей, умные дома и устройства и голосовые ассистенты.

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

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

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

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

Читать далее «SDCast #125: в гостях Антон Виноградов, руководитель фронтенд-разработки SberDevices»

SDCast #124: в гостях Михаил Боднарчук, веб-разработчик из Киева, автор фреймворков для тестирования Codeception & CodeceptJS

Товарищи! После затянувшегося перерыва встречайте 124 выпуск подкаста! На этот раз у меня в гостях Михаил Боднарчук, веб-разработчик из Киева, автор фреймворков для тестирования Codeception & CodeceptJS.

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

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

Так же Миша рассказал про ещё один фреймворк для тестирования, на этот раз для JavaScript CodeceptJS. Рассказал историю о том, как он начинал его писать, какие ставил цели и задачи. В этом контексте мы обсудили различные инструменты для End-to-End тестирования в браузерах, такие как Selenium, Puppeteer, Cypress и новоиспечённый Playwright. В дополнение к этому Миша рассказал интересную историю про контрибьюторов в проект из Индии.

Миша уже много лет работает сам на себя, занимается консультированием по своим фреймворкам и пытается зарабатывать на open source. Мы поговорили и об этом: Миша рассказал, как всё начиналось у него, какие есть бизнес-модели для open source, донаты и поддержка. Так же Миша рассказал про проект, которым он занимается сейчас, это система управления тестами testomat.io Читать далее «SDCast #124: в гостях Михаил Боднарчук, веб-разработчик из Киева, автор фреймворков для тестирования Codeception & CodeceptJS»

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: в гостях Виктор Яблоков, руководитель мобильной разработки «Лаборатории Касперского»»