Synopsis
Software Development podCast
Episodes
-
SDCast #83: в гостях Алексей Копытов, программист, эксперт по MySQL, автор утилиты для нагрузочного тестирования sysbench
31/07/2018 Duration: 01h13minВстречайте 83-й выпуск SDCast'а! На этот раз речь пойдёт о нагрузочном тестировании, тестировании баз данных и open source. У меня в гостях Алексей Копытов, программист, эксперт по MySQL, и автор утилиты для нагрузочного тестирования sysbench (https://github.com/akopytov/sysbench). Вначале мы обсудили зачем нужно нагрузочное тестирование, какие основные параметры производительности обычно тестируют, какие есть подходы к тестированию и главное, какие требования выдвигаются к самим инструментам нагрузочного тестирования. Леша рассказал про свой путь разработчика в MySQL, как он начал заниматься нагрузочным тестированием баз данных и развивать sysbench, рассказал, каким был sysbench тогда, и сколько итераций и изменений он пережил до наших дней. Обсудили архитектуру и внутреннее устройство sysbench и подискутировали о плюсах и минусах использования встраиваемых скриптовых языков, выбор Lua, переход на LuaJIT и многое другое. Не обошли мы стороной и open source составляющую проекта. Пообщались о сообществе
-
SDCast #82: в гостях Алексей Денисов, программист, автор системы мутационного тестирования mull
16/07/2018 Duration: 01h03minТоварищи, что вы знаете про мутационное тестирование и как оно может помочь сделать ваш софт более качественным? А хотите узнать? — Тогда вам сюда! В этом выпуске у меня в гостях Алексей Денисов, скромный программист, автор системы мутационного тестирования mull (https://github.com/mull-project/mull). Помимо этого, Алексей занимается разработкой ПО для луноходов. Вначале мы обсудили теоретическую часть: * Что такое мутационное тестирование? * Какое положение оно занимает среди других видов тестирования? * В чем суть мутационного тестирования? * Как изменение кода программы может помочь найти в ней дефекты? * Как устроен процесс мутационного тестирования ПО? * Какие есть сложности и проблемы? Так же Алексей рассказал про историю появления проекта mull. Как он сам пришёл к идее написания инструмента для мутационного тестирования, как устроен mull, как LLVM помог в реализации проекта. Обсудили различные вопросы, связанные с оптимизацией, распараллеливанием выполнения задач тестов, диагностикой проблем и про
-
SDCast #81: в гостях Роман Бусыгин, ведущий iOS разработчик в Яндекс.Музыке
06/07/2018 Duration: 01h27minВстречайте 81-й выпуск SDCast’а, речь в котором идёт о мобильной разработке в целом и в особенности под iOS. У меня в гостях Роман Бусыгин, ведущий iOS разработчик в Яндекс.Музыке. Рома рассказал свою историю попадания в IT и в Яндекс, про то, как он нанял первого iOS разработчика, а впоследствии и сам стал iOS разработчиком. В начале Рома рассказал про свою инициативу создания SDK под iOS для Яндекс.Карт, как появилась идея, затем реализация, пользователи и популярность. Затем мы поговорили о подходах к разработке под iOS, вспомнили, что было в начале появления iOS и как развивалась платформа до наших дней. Рома рассказал про различные инструменты разработчика, IDE, отладчики, линтеры и прочее. Обсудили архитектуру мобильных приложений, на какие аспекты следует обращать внимание, как взаимодействовать с платформой, какие есть подходы к интерфейсам и как написать кроссплатформенное приложение не сильно вылезая за предлагаемые гайдлайны от Apple. Так же Рома рассказал про разработку Яндекс.Музыки: какая
-
SDCast #80: в гостях Николай Голов, руководитель Data Platform в Авито
28/06/2018 Duration: 01h33minВстречайте 80-й выпуск SDCast’а! У меня в гостях Николай Голов, руководитель Data Platform в Авито. Помимо прочего, Николай преподаёт в НИУ ВШЭ и занимается научными исследованиями в области современных методологий построения хранилищ данных, таких как Data Vault и Anchor Modeling. В этом выпуске мы говорим о хранилищах данных, микросервисах и даже блокчейн! Вначале мы обсудили тему построения хранилищ данных. Николай рассказал про подходы к построению эффективных и расширяемых хранилищ, обсудили способы хранения информации, механизмы загрузки данных в хранилище, отличие ETL и ELT подходов. Николай рассказал про устройство хранилища данных в Авито, которое построено на базе HP Vertica, о том, как оно появилось, эволюционировало и разрасталось. Для справки, в год в Авито в хранилище поступает порядка 2.5 петабайт !! сырых данных! При этом само хранилище занимает всего около 200 терабайт! Подискутировали и о будущем баз данных. Затронули тему микросервисов, в особенности способы достижения консистентности д
-
SDCast #79: в гостях Егор Толстой, руководитель платформенной разработки клиентсайда Авито
30/05/2018 Duration: 01h51minУ меня в гостях Егор Толстой, руководитель платформенной разработки клиентсайда Авито. В этом выпуске мы говорим о разработке в Авито в целом, что же такое “платформа” и какова её роль в различных приложениях компании, говорим и о мобильной и веб разработке. В начале Егор рассказал про свой путь до руководителя разработки в Авито, рассказал как поменялась структура подразделений по разработке от классической (фронтенд, бэкенд и пр) до бизнес-юнитов, какие были сложности в переходе, сколько времени ушло на этот переход и какие плюсы и минусы у текущей структуры. Обсудили мы и различные аспекты такой структуры, как то: постановка задач, коммуникации между командами, способы горизонтального и вертикального расширения знаний, взаимодействие команд на техническом уровне, тестирование фич и системы в целом, зоны ответственности и многое другое. Отдельно обсудили вопрос переиспользования каких-то библиотек и инструментов между различными юнитами. Тут как раз Егор рассказал поподробнее, что же такое «платформа» в п
-
SDCast #78: круглый стол Public speaking in IT
10/05/2018 Duration: 01h49minВстречайте 78-й выпуск SDCast’а, который также получилось записать в новом дискуссионном формате. На этот раз речь пойдёт о публичных выступлениях по айтишной тематике на профильных конференциях. Мы собрались вместе с Антоном Солдатовым и Денисом Шевченко, ребята довольно часто выступают на различных конференциях и иногда даже на английском языке. Подискутировали о том, зачем вообще выступать на конференциях и встречах, что движет докладчиками, обсудили вопросы подготовки к выступлениям, а самое главное — поделились своим опытом публичных выступлений. Итак, гости этого выпуска: * Антон Солдатов, инженер-разработчик в компании IPONWEB * Денис Шевченко, haskell-разработчик в компании IO HK Кстати, и Антон и Денис уже были у меня в гостях в подкасте, так что при желании можно послушать предыдущие выпуски. Выпуск получился довольно продолжительным, но, кажется, удалось обсудить самые разные аспекты публичных выступлений и подготовки к ним. Вот лишь некоторые из них: * Дружно вспомнили своё первое выступлени
-
SDCast #77: Круглый стол Soft Skills
19/04/2018 Duration: 02h51minВстречайте 77-й выпуск подкаста в новом формате! На этот раз я решил немного отойти от привычного формата интервью, а вместе с несколькими гостями провести дискуссию по определённой теме. Для первой попытки была выбрана тема «Soft skills». Вместе с Антоном Шевчуком, Романом Пронским и Александром Майоровым мы обсудили различные не совсем технические и социальные аспекты разработки, хотя и без технологий не обошлось! :) Гости этого выпуска: * Александр Майоров, ведущий подкаста «RadioJS (https://radiojs.ru/)» и авторского проекта Pro WEB IT (https://majorov.su/), fullstack-разработчик, СТО в компании «New.HR (http://new.hr/)» * Антон Шевчук, техлид PHP отдела и тимлид Ruby отдела в компании «NIX solutions», автор учебника “jQuery для начинающих (https://antonshevchuk.gitbooks.io/jquery-for-beginners/content/)” * Роман Пронский, автор PHP дайджеста на Хабре (https://habrahabr.ru/users/pronskiy/posts/), ведущий инженер-программист в компании «EPAM» Выпуск получился довольно продолжительным, но это лишь потому
-
SDCast #76: в гостях Антон Давыдов, Ruby-разработчик, опенсорс-контрибьютор
10/04/2018 Duration: 01h13minВстречайте 76-й выпуск SDCast’а про мир Ruby разработки. У меня в гостях Антон Давыдов, Ruby-разработчик, опенсорс-контрибьютор. В этом выпуске мы с Антоном обсуждаем разработку на языке Ruby, обсуждаем различные фреймворки, такие как RoR и Hanami, дискутируем на тему различных аспектов разработки, обсуждаем open source и сообщества и многое другое. В начале Антон рассказал, как он пришёл в разработку на Ruby, как познакомился с Ruby on Rails фреймворком. Мы обсудили идеи и концепции, заложенные в RoR, чем он хорош и плох, как изначальные архитектурные решения повлияли на дальнейшее развитие фреймворка. Так же Антон рассказал про альтернативный набирающий популярность Ruby фреймворк Hanami. Рассказал про историю его появления, какие идеи преследовались при его создании и как Антон со временем стал его core-контрибьютером. Антон рассказал про архитектуру и внутреннее устройства фреймворка, чем он отличается от RoR, на каких архитектурных паттернах он базируется, какое есть сообщество вокруг проекта, скол
-
SDCast #75: в гостях Андрей Акиньшин, разработчик среды разработки Rider в компании JetBrains, к.ф.-м.н., Microsoft .NET MVP, серебрянный медалист ACM ICPC
29/03/2018 Duration: 01h39minРад представить вам 75-й выпуск SDCast’а! У меня в гостях Андрей Акиньшин, разработчик среды разработки Rider в компании JetBrains, к.ф.-м.н., Microsoft .NET MVP, серебрянный медалист ACM ICPC. Также Андрей является автором и мейнтейнером .NET библиотеки для бенчмаркинга BenchmarkDotNet (http://benchmarkdotnet.org/), выступает на различных конференциях и возглавляет программный комитет конференции DotNext (https://dotnext.ru/). В этом выпуск мы говорим о платформе IntelliJ IDEA в целом, о среде разработки Rider для программирования под .NET, обсуждаем различные аспекты разработки, говорим о тестировании и Open Source, конференциях и выступлениях. В начале Андрей рассказал про Rider, как она появилась, как устроена внутри, какова связь Rider и основной платформы, как устроены различные функции IDE, такие как автокомплит например, и чем их реализации в Rider отличаются от подхода в IntelliJ IDEA. Обсудили мы и такой важный вопрос, как кроссплатформенная поддержка стека .NET — Андрей рассказал про то, сколько
-
SDCast #74: и вновь Павел Аргентов, бэкенд-разработчик в компании Evrone
21/02/2018 Duration: 01h20minВстречайте 74-й выпуск SDCast'а, в котором идёт речь про Unikernel, MirageOS и вообще концепцию Virtual Library Operating System. У меня в гостях вновь Павел Аргентов, бэкенд-разработчик в компании Evrone, практикующий fp-программист. В начале мы поговорили про традиционные подходы к развертыванию приложений: от физических серверов к гипервизорам с виртуалками и до контейнеров приложений. Обсудили разные ограничения этих подходов, плюсы и минусы. А дальше мы подошли к идеи Unikernel aka Library Operating Systems. Обсудили саму концепцию Unikernel, что это за подход, что такое Library Operating Systems, как оно устроено и работает. Паша рассказал о том, какие основные плюсы у данного подхода по сравнению с традиционными, а так же и какие есть минусы. Далее мы подробно поговорили про одну из реализаций Unikernel под названием “MirageOS”. Паша рассказал про архитектуру и внутреннее устройство MirageOS, из каких слоёв и компонентов оно состоит, какие предоставляет интерфейсы и инструменты для разработчика. П
-
SDCast #73: в гостях Дмитрий Борисов, специалист по IP-телефонии
08/02/2018 Duration: 01h17minХотите перевести свой офис на IP-телефонию? А может быть построить облачную АТС и стать новым провайдером связи? Или просто интересно узнать как устроены телеком-системы в целом? Тогда этот выпуск для вас! У меня в гостях Дмитрий Борисов, специалист по IP-телефонии. В этом выпуске мы говорим про телеком системы в целом, что это за направление, какие там есть потребности и задачи. Дима рассказал про типичные функции и сервисы в телефонии, какие обычно используются подходы и решения. Мы обсудили архитектуру телеком систем в целом, из каких компонентов обычно состоят такие системы, как они устроены под капотом, какие узлы за что отвечают. Дима имеет опыт построения телеком-систем с использованием FreeSWITCH в качестве платформы, поэтому мы довольно подробно поговорили про него. Дима рассказал про то, как FreeSWITCH устроен изнутри, как устроено его ядро, возможности его статического и динамического конфигурирования, управления и расширения через систему плагинов. Обсудили мы различные темы VoIP. Дима рассказа
-
SDCast #72: в гостях Ильяс Салихов, директор по технологиям в компании Intaro и проекте retailCRM
23/01/2018 Duration: 02h12minУ меня в гостях Ильяс Салихов, директор по технологиям в компании Intaro и проекте retailCRM. В этом выпуске мы с Ильясом обсуждаем различные аспекты разработки, начиная от технических составляющих и заканчивая различными “soft skills” темами. В начале Ильяс рассказал про проект retailCRM, как он появился, какие решает задачи, как устроен и работает. Обсудили мы архитектуру проекта и используемые технологии. Под капотом проекта используются: PHP/Symfony/Doctrine, PostgreSQL, Redis, сервисы на Python и Go и много чего ещё. RetailCRM — это SaaS с большим количеством пользователей, где под пользователями понимается не конкретный человек, а целая компания, использующая retailCRM, внутри которой уже работает некоторое количество человек-пользователей. Сейчас сервис используют порядка 5000 магазинов, то есть пользователей-компаний, 30 млн хитов в сутки. Ильяс рассказал, как они организуют хранение разных пользователей-компаний в базе данных и как организована работа бэкенда с этими данными. Забегая вперёд скаж
-
SDCast #71: в гостях Константин Кривленя, ведущий разработчик в TargetProcess
10/01/2018 Duration: 01h42minУ меня в гостях Константин Кривленя, ведущий разработчик в компании TargetProcess. В этом выпуске мы говорим о фронтенд-разработке, технологиях и инструментах, о Open Source проектах, методологиях процессов разработки и прочих айтишных штучках :) TargetProcess — это платформа управления проектами на основе гибких методологий с акцентом на визуализацию данных. В TargetProcess много различных диаграмм, графиков, таймлайнов и прочих визуальных инструментов. Костя рассказал подробнее про продукт и саму компанию, как она появилась и развивалась. Последнее время Костя занимается проектом Vizydrop — это инструмент для визуализации данных, получаемых из различных источников, как то: файлы различных форматов, таск-треккеры, dropbox, github, jira, trello и другие. Костя рассказал про основную идею и цель проекта, как он устроен под капотом, из каких модулей состоит и как вообще происходит процесс визуализации данных от подключения источника до рендеринга графиков в браузере. Так же Костя рассказал несколько интересны
-
SDCast #70: в гостях Вячеслав Ковалевский, подкастер, преподаватель на Хекслете, бэкенд-разработчик
21/12/2017 Duration: 01h27minКогда уже нейронные сети научаться писать программы вместо нас, программистов? Зачем люди заставляют нейронные сети генерить другие нейронные сети? Ответы на эти и другие вопросы вы найдёте в 70-м выпуске SDCast'а! У меня в гостях Вячеслав Ковалевский, подкастер, преподаватель на Хекслете, бэкенд-разработчик. В этом выпуске мы говорим про нейронные сети, их применение в Machine Learning & Artificial Intelligence направлениях и не только. Начали мы с теоретической части про нейронные сети, а затем углубились в технические (и не только) детали: * Что представляет из себя нейронная сеть? * Как она устроена и работает? * Какие типы нейронных сетей бывают и для каких задач они хороши? * Как происходит настройка нейронной сети? * Насколько важен процесс обучения сетки? Как это обычно делается и какие есть варианты? * Распределённые системы обучения нейронных сетей * Эффективное использование машинных ресурсов (в том числе не только CPU, но и GPU) для работы и обучения сети Обсудили мы в целом задачи Machin
-
SDCast #69: в гостях Михаил Белопухов, разработчик OpenBSD
13/12/2017 Duration: 03h09minВсё что вы хотели узнать о OpenBSD и даже намного больше информации ждёт вас в 69-м выпуске SDCast'а! У меня в гостях Миша Белопухов, разработчик OpenBSD. В начале Миша рассказал про то, как он сам познакомился с OpenBSD, как начал изучать операционные системы и как его интерес неожиданно превратился во вполне оплачиваемую работу :) Миша адаптировал OpenBSD для работы на различном железе и в различном окружении, в том числе и виртуальном, поэтому он портировал разные драйвера устройств. Миша рассказал интересные истории из своего опыта портирования, как работают различные драйверы, механизмы взаимодействия с железом и ядром ОС. Обсудили мы и в целом операционную систему OpenBSD, как она устроена, на каких принципах построена, как работает ядро системы, драйвера и user space код. Обсудили вопросы, связанные с безопасностью и защищенностью, как самой ОС, так и прикладного кода, работающего в системе. OpenBSD известна своим слоганом “Secure by Default” и тем, что вопросам безопасности там уделяется большое в
-
SDCast #68 HL edition: разработчики Tarantool
07/12/2017 Duration: 47minТоварищи, встречайте 68-й выпуск подкаста! И вновь этот выпуск записан на Highload++ 2017! В этом выпуске мы вместе с Петей из подкастов «Пятиминутка PHP» и «Пятиминутка React» пообщались с разработчиками Tarantool. В гостях Костя Осипов, Кирилл Юхин и Рома Цисык. Костя Осипов уже был у меня в гостях в 20-м выпуске. Но с тех пор прошло много времени, проект живёт, развивается, и много что появилось и изменилось! Ребята рассказали про текущее положение дел в Tarantool, что нового и интересного появилось в проекте в последнее время, а так же над чем команда трудится сейчас. У ребят довольно часто спрашивают: «Почему Lua?» И сейчас они исследуют возможность подключения различных языков, назовём их бэкендами, для написания бизнес-логики внутри сервера. И один из потенциальных вариантов — это LLVM. Ребята рассказали о возможных плюсах и минусах появления такого функционала, поделились своими мыслями по этому поводу. Одна из интересных возможностей — это использование привычного всем SQL для написания запросов
-
SDCast #67 HL edition: участники-докладчики секции Lua
30/11/2017 Duration: 01h08minТоварищи, встречайте 67-й выпуск SDCast'а вновь записанный на Highload++ 2017! На этот раз мы собрались большой компанией докладчиков секции Lua, участников сообщества Lua in Moscow. В этом выпуске принимают участие: Александр Гладыш, Антон Солдатов, Дмитрий Борисов, Сергей Лерг. Кратко о каждом участнике выпуска: * Александр Гладыш является организатором сообщества Lua in Moscow, а так же ведущим секции Lua на конференции Highload++ * Антон Солдатов — инженер-программист в компании IPONWEB, занимается разработкой собственной реализации Lua. Кстати, Антон уже был у меня в гостях в 56 выпуске * Дмитрий Борисов — разработчик фрилансер, занимается разработкой телеком-систем * Сергей Лерг — разработчик фрилансер, разработчик игр В этом выпуске мы поговорили о разных аспектах применения Lua. Поскольку все участники работают в разных направлениях, мы обсудили кто и как использует Lua. Посчитали сколько разных экосистем есть в Lua-мире и почему так сложилось, почему нет одной единой системы. Обсудили сильные и сл
-
SDCast #66 HL edition: Михаил Леонов и Vytis Valentinavičius из Lamoda
29/11/2017 Duration: 15minВстречайте 66-й выпуск SDCast'а, который так же записан на Hightload++ 2017. На этот раз мы с Петей из подкастов «Пятиминутка PHP» и «Пятиминутка React» взяли небольшое интервью у ребят из компании «Lamoda». В гостях Михаил Леонов и Vytis Valentinavičius. У Витиса был доклад на конференции про логи, как их собирать, хранить и обрабатывать. Об этом мы и поговорили: зачем нужны логи, сколько логов нужно собирать и какими способами и главное, что с ними делать дальше. Ребята немного рассказали про свой способ сбора логов из программных компонентов приложений, а так же про архитектуру обработки и хранения собранных данных. Понравился выпуск? — Поддержи подкаст на patreon.com/KSDaemon (https://www.patreon.com/KSDaemon) а так же ретвитом, постом и просто рассказом друзьям!
-
SDCast #65 HL edition: Александр Баталов, директор по развитию в компании Флант
28/11/2017 Duration: 20minДрузья, рад представить вам интервью с Александром Баталовым из компании Флант, записанное на прошедшей конференции Highload 2017. В этом выпуске мы вместе с Петей из подкастов «Пятиминутка PHP» и «Пятиминутка React» обсуждаем с Александром тему DevOps в целом и Kubernetes в частности. В начале Александр рассказал про компанию в целом, как и когда она появилась и чем занимается. Далее мы углубились в вопросы инфрастуктуры, архитектуры приложений, развёртывания и обслуживания больших систем, обсудили процесс деплоя приложений, как это делалось раньше и какие инструменты и технологии применяются сейчас, вспомнили про гипервизоры, контейнеры, оркестрацию приложений, распределение ресурсов. Александр рассказал, что такое Kubernetes, зачем он нужен, какие задачи он решает, и как они у себя в компании его активно применяют. Понравился выпуск? — Поддержи подкаст на patreon.com/KSDaemon (https://www.patreon.com/KSDaemon) а так же ретвитом, постом и просто рассказом друзьям!
-
SDCast #64: Игорь Демьянов и Евгений Гусев, фронтенд менеджер и фронтенд тимлид из компании Wrike
27/10/2017 Duration: 01h49minРад представить вам 64-й выпуск SDCast’а! У меня в гостях Игорь Демьянов и Евгений Гусев, фронтенд менеджер и фронтенд тимлид из компании Wrike. Wrike активно используют у себя язык Dart, об этом и пойдет речь в этом выпуске. Wrike — это платформа для организации работы в реальном времени, включая постановку задач, планирование, коммуникации, отчётность и многое другое. В начале, Игорь рассказал немного подробней о системе, как она устроена, какие использовались технологии, какие были задачи и проблемы, чем не устраивали существующие решения и технологии? Так в компании появился Dart. Поговорили мы про сам язык Dart. В начале ребята сделали небольшой экскурс в историю языка и путь его развития, затем мы обсудили основные парадигмы и ключевые концепции языка. На протяжении всего выпуска конечно же всплывали темы сравнения и сопоставления Dart и JavaScript, Dart и Typescript, взаимодействия со сторонними библиотеками и прочие вопросы касательно современной веб-разработки. Ребята рассказали, как они переводи