Synopsis
Software Development podCast
Episodes
-
SDCast #63: в гостях Алексей Маркин, программист из МЦСТ
12/10/2017 Duration: 01h34minПриветствую, товарищи! В предыдущем выпуске мы немного затронули тему процессоров «Эльбрус» и VLIW-архитектуры , но эта тема показалась интересной, и вот, в этом выпуске у меня снова в гостях Алексей Маркин, программист из МЦСТ, и этот выпуск целиком и полностью посвящен этой теме. Вначале Лёша рассказал немного про компанию МЦСТ, историю её появления и развития, направления деятельности, и чем компания занимается сейчас. Далее мы поговорили про процессоры «Эльбрус», что они из себя представляют, чем они принципиально отличаются от других архитектур (x86, ARM, RISC и прочее). Для VLIW-архитектуры порядок инструкций исполнения программы формируется уже на этапе компиляции программы, поэтому компилятор является неотъемлемой частью архитектуры. Далее мы обсудили оптимизирующий компилятор для процессоров «Эльбрус», непосредственно разработкой которого Алексей и занимается. Лёша рассказал, что это такое — оптимизирующий компилятор, зачем он нужен и какие задачи решает, в чём его отличие от «обычных» gcc, clang.
-
SDCast #62: в гостях Александр Титов и Амир Аюпов, инженеры из Intel и Алексей Маркин, программист из МЦСТ
19/09/2017 Duration: 02h50minТакого еще не было! Товарищи, рад представить вам 62-й выпуск подкаста, в котором у меня не один, а сразу целых три гостя! На этот раз вместе с Александром Титовым и Амиром Аюповым, инженерами из Intel и Алексеем Маркиным, программистом из МЦСТ, мы обсуждаем тему процессоров и разработку на стыке Hardware & Software. Отдельная большая часть подкаста посвящена вопросам айтишного образования в России. По традиции, в начале ребята вкратце рассказали про себя, кто есть кто и чем занимается. Ну а дальше мы окунулись в мир процессоров! Обсудили из каких компонентов состоит процессор вкратце, как происходит выполнение пользовательского кода на процессоре, опять же очень условно, не вдаваясь в сложные технические детали. Обсудили какие бывают архитектуры и вообще что подразумевается под архитектурой процессора, чем отличаются x86, ARM, Эльбрус с точки зрения систем команд: традиционные RISC и CISC, плюс альтернативный VLIW. Пообщались о том, как и в какую сторону развиваются процессоры, какие есть тонкости и сл
-
SDCast #61: в гостях Павел Аргентов, практикующий fp-программист
29/08/2017 Duration: 01h43minУ меня в гостях Павел Аргентов, практикующий fp-программист. В этом выпуске мы попытались осветить все аспекты языка OCaml, сферы его применения, вопросы разработки, экосистему и сообщество вокруг. В начале Паша сделал довольно подробный экскурс в историю появления самого языка, начиная с появления диалекта Lisp'а в семидесятых, добавление алгебраических типов данных и категориальной абстрактной машины в восьмидесятых, появление реализации Caml Light в девяностых и заканчивая уже современной инкарнацией c поддержкой объектной модели. Подробно обсудили основые парадигмы языка и ключевые концепции, такие как: функциональное программирование, strict-механика и вытекающие из этого последствия, связывание переменных и лексические скоупы для связывания, система типов Хиндли-Милнера и опциональные аннотации типов, ООП-слой, язык модулей и функторы, инструментарий для синтаксического расширения (собственные DSL) и многое другое. Пообщались о сферах применения языка, для каких задач OCaml подходит лучше всего, каки
-
SDCast #60: в гостях Иван Круглов, програмист Booking.com
24/08/2017 Duration: 52minУ меня в гостях Иван Круглов, програмист Booking.com (http://booking.com/). Некоторое время Иван занимался разработкой подсистемы поиска отелей, именно об этом и пойдёт речь в этом выпуске. Офис разработки Booking.com (http://booking.com/) расположен в Амстердаме и в начале Иван рассказал как он туда попал. Поделился опытом прохождения интервью, подготовкой к собеседованиям в различных российских, европейских и американских компаниях. Обсудили архитектуру поиска отелей: как в целом оно работает, из каких компонентов и сервисов состоит, на каких языках/платформах написано. Иван рассказал как эволюционировала система в целом, как она была устроена в начале, какие появлялись узкие места и как они в дальнейшем разрешались. Иван рассказал про то, как они ушли от баз данных MySQL к встраиваемому решению, а именно RocksDB. Рассказал про материализацию данных для поиска, шардирование данных и эффективную обработку запросов. Так же Иван немного рассказал про то, как у них происходит выкладка изменений в продакшн,
-
SDCast #59: в гостях Максим Железный, QA team lead в компании Trinity Digital
03/08/2017 Duration: 02h59sВстречайте 59-й выпуск SDCast'а, который посвящен тестированию мобильных приложений. У меня в гостях Максим Железный, QA team lead в компании Trinity Digital. В этом выпуске мы говорим о том, что такое мобильное тестирование и почему его нужно отличать от других видов тестирования, какие есть особенности и тонкости, на что нужно обращать особое внимание при тестировании. Максим рассказал как в целом устроен типичный процесс тестирования, начиная от получения первых альфа-версий от разработчиков и заканчивая выпуском релиза. Так же Максим рассказал про различные инструменты, которые используются в процессе тестирования и которые облегчают жизнь тестировщика. Это касается эмуляторов, дебаггеров, инструментов для манипуляций с качеством сети, механизмов доставки сборок на устройства, сбора метрик и статистики и всего прочего. Так же мы затронули тему тестирования backend'а и различных API, которыми так или иначе пользуются мобильные приложения. Обсудили автотесты, какие они бывают, когда их надо использоват
-
SDCast #58: в гостях Павел Одинцов, разработчик системы обнаружения DDoS атак FastNetMon
04/07/2017 Duration: 01h45minDDoS... Как часто мы стали слышать этот термин в айтишных новостях. Сейчас это одна из наиболее распространённых типов атак на информационные системы. В этом выпуске у меня в гостях Павел Одинцов, разработчик системы обнаружения DDoS атак FastNetMon. В начале мы обсудили теоретическую часть. Паша рассказал про то, что в целом представляют из себя DoS-атаки, какие типы атак бывают, как они устроены и работают и для чего вообще они предназначены. Рассказал о различных способах борьбы с DoS-атаками. Паша долгое время работал в хостинг-индустрии и не понаслышке знает, что такое DoS-атаки. Паша рассказал, как он сам впервые столкнулся с такой атакой, как стал искать средство защиты от атак и как в итоге пришёл к написанию собственного велосипеда, который превратился в проект FastNetMon. Далее мы обсудили сам проект FastNetMon. Паша рассказал историю своих первых экспериментов, как он получил «proof of concept», и как в дальнейшем происходило развитие системы как с архитектурной точки зрения, так и со стороны ф
-
SDCast #57: в гостях Игорь Антонов, тимлид в компании ДальЖАСО, наставник в HTML Academy и организатор ha.js
29/06/2017 Duration: 01h47minДрузья, что вы знаете про 1С, кроме дурной славы и программ на русском языке? В этом выпуске мы попробуем развенчать различные мифы про платформу 1С, а так же обсудить, как она устроена и какими возможностями обладает. У меня в гостях Игорь Антонов, тимлид в компании ДальЖАСО, наставник в HTML Academy (https://htmlacademy.ru/) и организатор встреч фронтенд-разработчиков Хабаровска ha.js (https://hajs.ru/). В этом выпуске Игорь подробно рассказал про платформу 1С:Предприятие: что в ней было в начале, как она развивалась и что есть сейчас. Рассказал про внутреннее устройство и архитектуру, что такое конфигурации и как они строятся, как происходит взаимодействие с объектами системы внутри и снаружи. Рассказал про сравнительно новые возможности мобильной разработки, интеграции с внешними системами, REST-сервисы, API, использование 1C в качестве бэкенда для веб-приложений и много чего ещё. Отдельно пообщались на тему того, как устроен процесс разработки для платформы 1С, чем он отличается от привычной разработки
-
SDCast #56: в гостях Антон Солдатов, инженер-программист из компании IPONWEB
06/06/2017 Duration: 01h13minЛюбите ли вы Lua так же, как люблю его я? А вот ребята из компании IPONWEB настолько его полюбили, что даже сделали свою собственную имплементацию Lua! :) Об этом и пойдет речь в этом выпуске. У меня в гостях Антон Солдатов, инженер-программист из компании IPONWEB, где он занимается разработкой и поддержкой их реализации Lua. Компания IPONWEB занимается разработкой в области RTB (Real Time Bidding) систем. Это технология закупки медийной рекламы посредством программируемых онлайн-аукционов. Вначале Антон рассказал про то, что это за системы, какие задачи они решают, какие есть компоненты и сущности в RTB-системах, что такое DSP и SSP, как они устроены и фукнционируют. Ссылки на ресурсы по темам выпуска: * Описание RTB на Википедии (https://ru.wikipedia.org/wiki/%D0%A2%D0%BE%D1%80%D0%B3_%D0%B2_%D1%80%D0%B5%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8) * Еще немного wiki про RTB: * RTB (Real Time Bidding) (http://rtb-media.ru/wiki/) * DSP (Demand Side Platform) (http
-
SDCast #55: в гостях Сергей Аверин, технический эксперт и конференционный маньяк
24/05/2017 Duration: 01h12minРад представить вам 55-й выпуск SDCast'а! У меня в гостях Сергей Аверин, технический эксперт и конференционный маньяк из компании «Acronis». В этом выпуске мы говорим про Go, Python, параллельное программирование в Go, а так же обсуждаем обычные разработческие будни. В начале Сергей рассказал про то, как он сам познакомился с языком Go, на каких задачах начал его применять, и как происходило внедрение языка в компании. Вопреки расхожему мнению о том, что на Go обычно переходят с Php или JavaScript, в «Acronis» инициаторами перехода были разработчики C/C++. Для лучшего понимания, Сергей рассказал о приложениях и сервисах, о том, какие задачи необходимо было решить, и как происходил процесс внедрения, какие были сложности и трудности, а главное — какие получились бенефиты в результате перехода. Немного подробнее поговорили о горутинах и в целом парадигме программирования на Go. Насколько этот подход отличается от других языков, насколько легко его освоить и начать программировать. Обсудили тему кроссплатформе
-
SDCast #54: в гостях Олег Анастасьев, ведущий программист Одноклассников
30/03/2017 Duration: 01h21minВстречайте 54-й выпуск SDCast'а, который посвящен разработке высоконагруженных систем. У меня в гостях Олег Анастасьев, ведущий программист Одноклассников, спикер на конференциях по Java и Cassandra, эксперт в области распределенных и отказоустойчивых систем. В этом выпуске мы говорим об архитектуре Одноклассников, какой она была в самом начале, как развивалась, и что представляет из себя в наши дни. Олег рассказал про то, как и где они хранят пользовательские данные, как они выбирали хранилище под свои задачи, какие были требования, кандидаты и что они в итоге выбрали. Так же Олег рассказал про то, как устроен их фронтенд, имеется в виду не JavaScript и клиентский код, а фронтенд сервера, принимающие запросы от пользователей и приложений и обращающиеся за данными в хранилища и разные внутренние сервисы. В процессе беседы были затронуты темы подходов к архитектуре отказоустойчивых систем, вопросы масштабирования приложений, тестирования и мониторинга, а так же выкатывания обновлений. Поскольку Одноклассники
-
SDCast #53: в гостях Андрей Солнцев и Алексей Виноградов, разработчики Selenide
21/03/2017 Duration: 01h38minВстречайте 53-й выпуск подкаста! В этот раз речь пойдёт о тестировании. У меня в гостях Андрей Солнцев, автор фреймворка для тестирования Selenide (http://ru.selenide.org/index.html), разработчик из codeborne (https://codeborne.com/) и Алексей Виноградов, независимый консультант, модератор подкаста Radio-QA (http://radio-qa.com/). Андрей рассказал про то, как появился проект Selenide, чего не хватало на тот момент в Selenium и как всё начиналось. Рассказал о том, как он сам превратился из просто разработчика в разработчика-тестировщика :) Алексей рассказал немного теоретической части о тестировании, видах тестирования, в особенности про автоматизированное тестирование. Вспомнили мы и так называемую пирамиду тестирования, стоимость написания тестов и стоимость их поддержки. Так же мы обсудили непростые вопросы взаимодействия разработчиков и тестировщиков, их роли в команде, возникающие проблемы и способы их решения. Ребята рассказали про то, как устроен проект Selenide изнутри: как идёт разработка, как устрое
-
SDCast #52: в гостях Вадим Жуков, разработчик OpenBSD, мейнтейнер портов KDE и Qt
06/02/2017 Duration: 02h10minУ меня в гостях Вадим Жуков, разработчик OpenBSD, мейнтейнер портов KDE и Qt и преподаватель операционных систем по совместительству. Обсудили то, как устроен проект OpenBSD: насколько велико сообщество разработчиков, какие там есть зоны ответственности, как устроен процесс разработки, тестирования, выпуска релизов, как устроена инфраструктура проекта, насколько велика роль лидера проекта Тео де Раадта и другие смежные вопросы. Вадим подробно рассказал про устройство пакетов и портов OpenBSD, чем они отличаются от других пакетных систем, как устроен процесс появления нового пакета в дереве портов. Отдельно внимания заслуживает рассказ Вадима о портировании KDE4 в OpenBSD. Так же Вадим рассказал про его небольшие исследования в области автоматической настройки сети, Wi-fi и маршрутизации. Поговорили мы и о областях применения OpenBSD: для кого этот дистрибутив, чем он может быть интересен разработчикам и пользователям, как начать своё участие в проекте. Так же Вадим рассказал про хакатоны OpenBSD: зачем они пр
-
SDCast #51: в гостях Денис Макрушин, антивирусный эксперт Лаборатории Касперского
24/01/2017 Duration: 01h02minУ меня в гостях Денис Макрушин, антивирусный эксперт «Лаборатории Касперского». В этом выпуске мы говорим о безопасности в ИТ в целом, о том, какие есть направления в безопасности, что происходит в отрасли, насколько велика роль безопасности в ИТ для бизнеса и прочие вопросы. Обсудили мы и тему безопасности в различных сферах, таких как Internet of Things, облака, веб-приложения, базы данных, вспомнили недавно нашумевшие новости про ботнет из камер видеонаблюдения, и заражение серверов MongoDB. Затронули немаловажный социальный аспект повышения уровня грамотности как разработчиков, так и простых пользователей. Что можно и нужно делать, чтобы программисты с первых дней разработки софта задумывались о вопросах безопастности. Как, когда, на каких стадиях можно и нужно привлекать экспертов по безопасности, как меняется процесс разработки с привлечением экспертов по безопасности и многое другое. Поговорили на тему того, как сделать продукт, удобный для простых пользователей, но при этом достаточно безопасный и защ
-
SDCast #50: в гостях Иван Гуз, директор аналитического департамента в Avito
30/11/2016 Duration: 01h01minНа этот раз речь пойдет об аналитике, анализе больших данных, машинном обучении и прочих смежных темах. У меня в гостях Иван Гуз, директор аналитического департамента в АВИТО. По традиции, в начале Иван рассказал немного про себя, о том, как и почему он ушел из большого enterprise мира в, тогда еще, стартап под названием «АВИТО» и что представляет Авито из себя сейчас. Рассказал про разные аналитические задачи, которые он и его команда решают, среди которых, например, анализ поведения пользователя на сайте, распознавание дубликатов товаров, дифференциация реальных пользователей и ботов и многие другие. Не обошли мы стороной и техническую составляющую: Иван рассказал про то, какие инструменты, языки программирования, тулкиты и фреймворки они используют для решения своих задач. Ссылки на ресурсы по темам выпуска: scikit-learn. Machine Learning in Python: http://scikit-learn.org pandas. Python Data Analysis Library: http://pandas.pydata.org/ XGBoost. Optimized distributed gradient boosting library: https://gith
-
SDCast #49: в гостях Александр Махомет, PHP Product Architect в компании Upwork
04/10/2016 Duration: 59minВстречайте 49-й выпуск подкаста! На этот раз речь пойдет про распределенные команды разработки. У меня в гостях Александр Махомет, PHP Product Architect в компании Upwork и один из создателей проекта Frameworks days. В компании Upwork работает порядка 350 инженеров и разработчиков, 270 из которых работают удаленно из 40 стран со всего мира. Александр рассказал как в компании в целом устроены процессы разработки, как формируются распределенные команды, на каких принципах построено взаимодействие между разработчиками и командами в целом. Ссылки на ресурсы по темам выпуска: Статья в блоге upwork “Introducing Upwork Engineering”: https://www.upwork.com/blog/2016/07/introducing-upwork-engineering/ Сайт проекта Frameworks days: http://frameworksdays.com/ PHP Friends Club: http://phpfriends.club/ Open Source проекты Upwork на github: https://github.com/odesk Доклады об архитектуре Upwork: Александр Махомет "Beyond the code или как мониторить ваш PHP сайт: https://www.youtube.com/watch?v=zcXJU2ZFbnA Александр Махом
-
SDCast #48: в гостях Михаил Тюрин, главный системный архитектор AVITO.ru
26/09/2016 Duration: 01h47minУ меня в гостях Михаил Тюрин, главный системный архитектор AVITO.ru. В этом выпуске речь идет об архитектуре AVITO в целом, как оно работает изнутри и на каких технологиях базируется. Миша работает в AVITO с основания, поэтому кому, как не ему знать как там все устроено. Мы не углублялись далеко в технические подробности, но обсуждали архитектуру системы в целом, затрагивая различные ключевые вопросы и компоненты. Миша рассказал про стек используемых технологий, как с точки зрения разработки, так и про используемые сервисы, серверы приложений, баз данных и т. д. Мы довольно подробно разобрали, как система обрабатывает запрос, начиная от нажатия кнопки «Submit» в браузере, что происходит с данными запроса в бэкенде, какие сервисы участвуют в обработке, в какие очереди раскладываются задачи и заканчивая тем, каким образом обновляются данные во всей системе для других пользователей. Слайды доклада Михаила Тюрина с Highload++ 2015 “Где живут Ваши объявления”: http://www.slideshare.net/profyclub_ru/2-avito Слайды
-
SDCast #47: в гостях Сергей Бронников и Владимир Порохов, ребята из команды OpenVZ/Virtuozzo
02/08/2016 Duration: 01h30minУ меня в гостях Сергей Бронников и Владимир Порохов, ребята из команды OpenVZ/Virtuozzo. В начале мы немного обсудили общие вопросы по виртуализации, какие типы виртуализации бывают, как все зарождалось и появлялось. Обсудили, что происходит в сфере виртуализации сейчас, как появление таких проектов как docker повлияло в целом на индустрию и на другие решения в этой области в частности. Так же ребята подробнее рассказали про проект OpenVZ от истории его появления и развития до архитектуры и внутреннего устройства. А в свете выхода новой, 7-й версии проекта, поделились тем, что появилось нового и интересного. Не обошли мы стороной и тему open source. Проект OpenVZ является открытым, а проект Virtuozzo — коммерческим. Ребята рассказали, как ведется параллельная разработка обоих проектов, какая часть кодовой базы является общей, а что специфично для каждого проекта. Так же Сергей рассказал о том, какие ошибки были допущены в open source составляющей проекта, и как они были исправлены. История проекта OpenVZ:
-
SDCast #46: в гостях Дима Стародубцев, основатель киберфонда, блокчейн евангелист
25/07/2016 Duration: 01h39minУ меня в гостях Дмитрий Стародубцев, основатель киберфонда и блокчейн евангелист. В этом выпуске мы с Димой говорим о том, как появилась эта технология, о её первой реализации «BitCoin», какие были, в первую очередь, экономические условия для того, чтобы цифровая валюта смогла войти в нашу жизнь и занять там свое место. Дима рассказал про то, как устроена цепочка блоков, и какая информация в них может храниться. Рассказал и про умные контракты, что это такое и каков принцип их работы, какие условия и вообще среда необходима для их функционирования. Не обошли мы стороной и вопросы безопасности. Так же мы обсудили новые проекты, которые появились в последнее время, и которые так же базируются на технологии blockchain. Самый известный из таких — это проект Виталия Бутерина «Эфириум» (**Ethereum (https://www.ethereum.org/))**, который представляет из себя платформу для построения приложений. Вообще в процессе разговора Дима приводил очень много различных примеров проектов, использующих технологию блокчейн, это и
-
SDCast #45: в гостях Виктор Тарнавский, руководитель разработки аналитических продуктов в Яндексе
12/07/2016 Duration: 01h25minА вот знаете ли вы, дорогие слушатели, как выстроить архитектуру, которая будет выдерживать десятки миллиардов запросов в день, ворочить петабайты данных, и при это быть быстрой и отзывчивой? Ответы на эти и не только вопросы вы можете услышать в свежем выпуске SDCast'а! У меня в гостях Виктор Тарнавский, руководитель разработки аналитических продуктов в Яндексе. В этом выпуске Виктор подробно рассказывает про архитектуру и внутреннее устройство Яндекс.Метрики, о том, из каких программных компонентов она состоит, как происходит обработка поступающих событий, как они обрабатываются и складываются в базу данных ClickHouse, каким способом достигается масштабируемость и отказоустойчивость всей системы. Отдельно ведем разговор про аналитическую базу данных ClickHouse, которую компания Яндекс недавно выложила в opensource. Виктор рассказал про историю зарождения проекта, который появился в следствие эксперимента и попытки написать БД, которая будет быстро работать с сырыми, не агрегированными данными. Рассказал п
-
SDCast #44: в гостях Евгений Лазин, программмист, автор проекта akumuli
03/06/2016 Duration: 01h05minУ меня в гостях Евгений Лазин, программмист, автор проекта Akumuli. Основной темой этого выпуска являются БД для хранения временных рядов (Time-series DB, TSDB). В начале мы обсудили общие вопросы, такие как: зачем нужны tsdb, чем они отличаются от привычных всем реляционных баз данных, какие у них особенности и основные области применения. Базы данных типа TSDB широко применяются в мониторинге для хранения разного рода метрик, привязанных ко времени. Поэтому мы пообщались так же на тему мониторинга: что такое мониторинг, что является единицей мониторинга, зачем нужна связь со временем, какие есть инструменты мониторинга, зачем нужен time series db, и чем не подходят привычные способы хранения данных. Евгений, как автор Akumuli, рассказал про свой проект, как он зарождался, какова его архитектура и внутреннее устройство. Отдельно рассказал про способ хранения данных на дисках, какие есть особенности работы с HDD и SSD и с чем пришлось столкнуться во время разработки. Очень интересно было послушать про ра