SDCast #76: в гостях Антон Давыдов, Ruby-разработчик, опенсорс-контрибьютор

Встречайте 76-й выпуск SDCast’а про мир Ruby разработки. У меня в гостях Антон Давыдов, Ruby-разработчик, опенсорс-контрибьютор.

В этом выпуске мы с Антоном обсуждаем разработку на языке Ruby, обсуждаем различные фреймворки, такие как RoR и Hanami, дискутируем на тему различных аспектов разработки, обсуждаем open source и сообщества и многое другое.

В начале Антон рассказал, как он пришёл в разработку на Ruby, как познакомился с Ruby on Rails фреймворком. Мы обсудили идеи и концепции, заложенные в RoR, чем он хорош и плох, как изначальные архитектурные решения повлияли на дальнейшее развитие фреймворка.

Так же Антон рассказал про альтернативный набирающий популярность Ruby фреймворк Hanami. Рассказал про историю его появления, какие идеи преследовались при его создании и как Антон со временем стал его core-контрибьютером. Антон рассказал про архитектуру и внутреннее устройства фреймворка, чем он отличается от RoR, на каких архитектурных паттернах он базируется, какое есть сообщество вокруг проекта, сколько ключевых контрибьюторов и как проект живёт и развивается.

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

Поговорили мы и о конференциях. Антон рассказал про то, на каких конференциях он был в качестве докладчика и посетителя. Рассказал про отличия аудитории Ruby-конференций в различных странах, где какие акценты в плане докладов и технологий. Обсудили мы и премию Rubyheroes, которую Антон получил некоторое время назад. Антон рассказал про эту инициативу, что это за премия, как и кому она выдаётся в России и в каких странах ещё есть эта премия.

Читать далее «SDCast #76: в гостях Антон Давыдов, Ruby-разработчик, опенсорс-контрибьютор»

Скачать (mp3, 50 MB) Скачать (ogg, 39 MB)

SDCast #71: в гостях Константин Кривленя, ведущий разработчик в TargetProcess

Рад представить вам 71-й выпуск SDCast’а! У меня в гостях Константин Кривленя, ведущий разработчик в компании TargetProcess. В этом выпуске мы говорим о фронтенд-разработке, технологиях и инструментах, о Open Source проектах, методологиях процессов разработки и прочих айтишных штучках :)

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

Последнее время Костя занимается проектом Vizydrop — это инструмент для визуализации данных, получаемых из различных источников, как то: файлы различных форматов, таск-треккеры, dropbox, github, jira, trello и другие. Костя рассказал про основную идею и цель проекта, как он устроен под капотом, из каких модулей состоит и как вообще происходит процесс визуализации данных от подключения источника до рендеринга графиков в браузере. Так же Костя рассказал несколько интересных задач и проблем, с которыми пришлось столкнуться в процессе работы над проектом.

Компания TargetProcess сам очень активно проповедует и использует гибкие методологии внутри компании. Поговорили с Костей о том, какие подходы применялись в компании в разное время, какие подходы и практики прижились, а какие нет. Обсудили мы и различные плюсы и минусы методологий в контексте компании TargetProcess. Костя рассказал про такую штуку как «Оранжевые пятницы» — это возможность заниматься своими интересными проектами, примерно как в Google раньше были те самые 20% времени :) Рассказал про то, какие интересные проекты родились благодаря «оранжевым пятницам».

Поговорили мы и про Open Source. Компания выложила в Open Source и поддерживает несколько библиотек. Обсудили с Костей как живут и разиваются эти проекты, какое есть сообщество вокруг и как происходит взаимодействие с этим самым сообществом. Читать далее «SDCast #71: в гостях Константин Кривленя, ведущий разработчик в TargetProcess»

Скачать (mp3, 70 MB) Скачать (ogg, 58 MB)

SDCast #69: в гостях Михаил Белопухов, разработчик OpenBSD

Всё что вы хотели узнать о OpenBSD и даже намного больше информации ждёт вас в 69-м выпуске SDCast’а! У меня в гостях Миша Белопухов, разработчик OpenBSD.

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

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

Обсудили мы и в целом операционную систему OpenBSD, как она устроена, на каких принципах построена, как работает ядро системы, драйвера и user space код.

Обсудили вопросы, связанные с безопасностью и защищенностью, как самой ОС, так и прикладного кода, работающего в системе. OpenBSD известна своим слоганом “Secure by Default” и тем, что вопросам безопасности там уделяется большое внимание. Миша рассказал про различные подсистемы обеспечения безопасности, применяемые в OpenBSD, такие как:

  • Рандомизация адресного пространства ядра, KARL (Kernel Address Randomized Link)
  • Рандомизация размещения адресного пространства, ASLR (address space layout randomization)
  • strlcpy() и strlcat() – нестандартные функции, созданные в качестве замены часто используемых некорректным образом аналогов стандартной библиотеки
  • fork+exec, PIE, pledge и другие.

Отдельно поговорили о криптографических алгоритмах, способах их реализации с использованием возможностей современных процессоров, таких как SIMD, а так же о их применении в SSH и SSL. Читать далее «SDCast #69: в гостях Михаил Белопухов, разработчик OpenBSD»

Скачать (mp3, 130 MB) Скачать (ogg, 91 MB)

SDCast #58: в гостях Павел Одинцов, разработчик системы обнаружения DDoS атак FastNetMon

DDoS… Как часто мы стали слышать этот термин в айтишных новостях. Сейчас это одна из наиболее распространённых типов атак на информационные системы. В этом выпуске у меня в гостях Павел Одинцов, разработчик системы обнаружения DDoS атак FastNetMon.

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

Паша долгое время работал в хостинг-индустрии и не понаслышке знает, что такое DoS-атаки. Паша рассказал, как он сам впервые столкнулся с такой атакой, как стал искать средство защиты от атак и как в итоге пришёл к написанию собственного велосипеда, который превратился в проект FastNetMon.

Далее мы обсудили сам проект FastNetMon. Паша рассказал историю своих первых экспериментов, как он получил «proof of concept», и как в дальнейшем происходило развитие системы как с архитектурной точки зрения, так и со стороны функциональности. Паша подробно рассказал про внутреннее устройство системы, как происходит обработка входящего трафика, как происходит расчёт метрик и как в конечном счёте принимается решение о легитимности трафика.

В процессе обсуждения были затронуты и общие вопросы построения сетевой инфраструктуры провайдера или датацентра, вкратце освещены разные сетевые протоколы, такие NetFlow, IPFIX, sFlow и другие. Так же Паша рассказал как происходит тестирование FastNetMon. Это не простой вопрос, потому что для полноценного тестирования такого рода систем необходимо большое количество дампов разнородного сетевого трафика. Откуда его взять? Спасибо пользователям проекта, которые для решения своих настоящих и потенциально будущих проблем готовы поделиться своими данными. Так же интересный вопросы — это взаимодействие с вендорами оборудования. Поскольку в конечном итоге сетевой трафик идет через конкретные коммутаторы и маршрутизаторы того или иного производителя, и не смотря на принятые и открытые стандарты, как это водится, каждый вендор трактует стандарты и протоколы немного по-своему.

В завершении беседы мы немного пообщались на тему Open Source в целом и в разрезе проекта FastNetMon в частности. Паша рассказал, какие он видит плюсы, что дала ему публикация проекта в open source, какое появилось сообщество у проекта. Читать далее «SDCast #58: в гостях Павел Одинцов, разработчик системы обнаружения DDoS атак FastNetMon»

Скачать (mp3, 72 MB) Скачать (ogg, 56 MB)

SDCast #54: в гостях Олег Анастасьев, ведущий программист Одноклассников

Встречайте 54-й выпуск SDCast’а, который посвящен разработке высоконагруженных систем. У меня в гостях Олег Анастасьев, ведущий программист Одноклассников, спикер на конференциях по Java и Cassandra, эксперт в области распределенных и отказоустойчивых систем.

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

В процессе беседы были затронуты темы подходов к архитектуре отказоустойчивых систем, вопросы масштабирования приложений, тестирования и мониторинга, а так же выкатывания обновлений. Поскольку Одноклассники используют различные open source решения, обсудили мы и тему контрибьютинга в различные open source проекты, равно как и выкладывание в open source своих наработок. Отдельно поговорили о кросс дата-центровой архитектуре, распределению данных и коммуникации между дата-центрами. Так же Олег рассказал о том, как у них проводятся теоретические и практические учения по устранению аварий. Читать далее «SDCast #54: в гостях Олег Анастасьев, ведущий программист Одноклассников»

Скачать (mp3, 56 MB) Скачать (ogg, 39 MB)

SDCast #53: в гостях Андрей Солнцев и Алексей Виноградов, разработчики Selenide

Встречайте 53-й выпуск подкаста! В этот раз речь пойдёт о тестировании. У меня в гостях Андрей Солнцев, автор фреймворка для тестирования Selenide, разработчик из codeborne и Алексей Виноградов, независимый консультант, модератор подкаста Radio-QA.

Андрей рассказал про то, как появился проект Selenide, чего не хватало на тот момент в Selenium и как всё начиналось. Рассказал о том, как он сам превратился из просто разработчика в разработчика-тестировщика :)

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

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

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

Скачать (mp3, 68 MB) Скачать (ogg, 51 MB)

SDCast #52: в гостях Вадим Жуков, разработчик OpenBSD, мейнтейнер портов KDE и Qt

Встречайте 52-й выпуск SDCast’а, целиком и полностью посвящённый OpenBSD. У меня в гостях Вадим Жуков, разработчик OpenBSD, мейнтейнер портов KDE и Qt и преподаватель операционных систем по совместительству.

В этом выпуске мы обсудили, кажется, все возможные аспекты проекта OpenBSD. Хотя Вадим не согласен: “По моим ощущениям, мы обсудили далеко не всё, но нельзя объять необъятное”! :) И тем не менее… В начале Вадим рассказал, как он сам попал в проект, чем занимался в начале и как стал мейнтейнером таких тяжелых пакетов как KDE и Qt.

Обсудили то, как устроен проект OpenBSD: насколько велико сообщество разработчиков, какие там есть зоны ответственности, как устроен процесс разработки, тестирования, выпуска релизов, как устроена инфраструктура проекта, насколько велика роль лидера проекта Тео де Раадта и другие смежные вопросы.

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

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

Так же Вадим рассказал про хакатоны OpenBSD: зачем они проводятся, какие цели преследуются, как организовываются и кто принимает в них участие. Кстати, ещё Вадим поделился опытом менторства одного подпроекта в рамках участия OpenBSD в Google Summer of Code. Читать далее «SDCast #52: в гостях Вадим Жуков, разработчик OpenBSD, мейнтейнер портов KDE и Qt»

Скачать (mp3, 90 MB) Скачать (ogg, 63 MB)

SDCast #47: в гостях Сергей Бронников и Владимир Порохов, ребята из команды OpenVZ/Virtuozzo

Open_vz-logo Друзья! Встречайте 47-й выпуск подкаста! На этот раз речь пойдет о виртуализации. У меня в гостях Сергей Бронников и Владимир Порохов, ребята из команды OpenVZ/Virtuozzo. В начале мы немного обсудили общие вопросы по виртуализации, какие типы виртуализации бывают, как все зарождалось и появлялось. Обсудили, что происходит в сфере виртуализации сейчас, как появление таких проектов как docker повлияло в целом на индустрию и на другие решения в этой области в частности.

Так же ребята подробнее рассказали про проект OpenVZ от истории его появления и развития до архитектуры и внутреннего устройства. А в свете выхода новой, 7-й версии проекта, поделились тем, что появилось нового и интересного. Не обошли мы стороной и тему open source. Проект OpenVZ является открытым, а проект Virtuozzo — коммерческим. Ребята рассказали, как ведется параллельная разработка обоих проектов, какая часть кодовой базы является общей, а что специфично для каждого проекта. Так же Сергей рассказал о том, какие ошибки были допущены в open source составляющей проекта, и как они были исправлены. Читать далее «SDCast #47: в гостях Сергей Бронников и Владимир Порохов, ребята из команды OpenVZ/Virtuozzo»

Скачать (mp3, 41 MB) Скачать (ogg, 43 MB)

SDCast #45: в гостях Виктор Тарнавский, руководитель разработки аналитических продуктов в Яндексе

sd-podcast-logo А вот знаете ли вы, дорогие слушатели, как выстроить архитектуру, которая будет выдерживать десятки миллиардов запросов в день, ворочить петабайты данных, и при это быть быстрой и отзывчивой? Ответы на эти и не только вопросы вы можете услышать в свежем выпуске SDCast’а! У меня в гостях Виктор Тарнавский, руководитель разработки аналитических продуктов в Яндексе.

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

Отдельно ведем разговор про аналитическую базу данных ClickHouse, которую компания Яндекс недавно выложила в opensource. Виктор рассказал про историю зарождения проекта, который появился в следствие эксперимента и попытки написать БД, которая будет быстро работать с сырыми, не агрегированными данными. Рассказал про внутреннюю архитектуру проекта: как устроено хранение данных, обработка запросов и взаимодействие с внешним миром. Не обошли мы стороной и тему публикации проекта в открытый доступ. Виктор рассказал о том, есть ли интерес у сообщества к проекту, чего ещё нужно сделать, чтобы проектом было легко и удобно начать пользоваться, есть ли запросы на новые фичи и пулл-реквесты. Так же Виктор поделился мнением о том, когда следует использовать ClickHouse и для какого рода задач она подходит наилучшим образом. В завершении выпуска обсудили планы по развитию проекта на ближайшее будущее.

Читать далее «SDCast #45: в гостях Виктор Тарнавский, руководитель разработки аналитических продуктов в Яндексе»

Скачать (mp3, 39 MB) Скачать (ogg, 43 MB)

SDCast #42: в гостях Антон Шевчук, техлид в компании Nix Solutions

sd-podcast-logo Встречайте 42-й выпуск подкаста с ответом на главный вопрос! :) У меня в гостях Антон Шевчук, техлид в компании Nix Solutions, open-source контрибьютор и автор книги «jQuery для начинающих».

В этом выпуске мы говорим о разных аспектах разработки программного обеспечения, затрагивая следующие темы: отличие open-source проектов от коммерческих, стоит ли выкладывать свои решения в open-source, переквалификация инженеров внутри команды с одних технологий на другие, фронтенд и бэкенд взаимодействие и многие другие. Антон рассказал, как некоторые члены его команды успешно перепрофилировались из php-разработчиков в JavaScript и node.js разработчиков. Обсудили мы и разный уровень экосистем в php и node.js, насколько отличаются подходы как к разработке, так и к выбору инструментов в этих платформах.

Антон, как автор php-фреймворка bluz, рассказал о истории появления проекта, подходе и сфере применения. Так же мы обсудили и общие вопросы, связанные с PHP: как развивается сам язык, экосистему платформы и уже устоявшиеся фреймворки и паттерны их использования в проектах. Подисскутировали на тему того, что PHP сейчас в антитренде, но при этом все еще является одним из самых популярных и востребованных языков в разработке.

Отдельно обсудили образовательную тему в IT. Антон рассказал про свою серию образовательных заметок «PHP для начинающих». Зачем он её начал, какие цели преследует, что это дает ему как автору и какая польза для начинающих разработчиков. Так же Антон является автором очень популярной серии заметок «jQuery для начинающих», которые в итоге превратились в полноценную книгу, которая доступна как в электронном, так и печатном виде. Для справки, вот некоторые интересные цифры, касательно книги:

  • на написание книги из материалов доступных на сайте ушло около года и 400 часов времени
  • за всё время было >300 000 просмотров на scribd.com
  • за всё время учебник был скачан более 100 000 раз (все версии)

Читать далее «SDCast #42: в гостях Антон Шевчук, техлид в компании Nix Solutions»

Скачать (mp3, 36 MB) Скачать (ogg, 40 MB)