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 #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 #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 #49: в гостях Александр Махомет, PHP Product Architect в компании Upwork

sd-podcast-logoВстречайте 49-й выпуск подкаста! На этот раз речь пойдет про распределенные команды разработки. У меня в гостях Александр Махомет, PHP Product Architect в компании Upwork и один из создателей проекта Frameworks days.

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

Конечно же мы поговорили и про архитектуру проекта в целом. Саша рассказал из каких компонент состоит система в целом и что используется «под капотом». Рассказал так же про постепенную миграцию от монолитной архитектуры к микросервисной, как это происходило, какие были сложности и что в итоге это дало на выходе. В Upwork используется PHP как middleware между фронтендом и различными сервисами и Саша рассказал про миграцию с Zend Framework на Symfony, а так же про миграцию на PHP7.

Александр является одним из создателей проекта Framework days, и вообще активным участником различных сообществ разработчиков, так что не обошли мы стороной и эту область. Обсудили тему конференций и встреч, зачем и кому это нужно, как они устроены и организовываются, что дают всем участникам. Поговорили про различие конференций в постсоветском пространстве и Европе, возможность проведения конференций на английском языке и прочие смежные вопросы. Читать далее «SDCast #49: в гостях Александр Махомет, PHP Product Architect в компании Upwork»

Скачать (mp3, 27 MB) Скачать (ogg, 30 MB)

SDCast #48: в гостях Михаил Тюрин, главный системный архитектор AVITO.ru

sd-podcast-logo Рад представить вам 48-й выпуск SDCast’а! У меня в гостях Михаил Тюрин, главный системный архитектор AVITO.ru. В этом выпуске речь идет об архитектуре AVITO в целом, как оно работает изнутри и на каких технологиях базируется.

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

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

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

Так же довольно подробно пообщались про базы данных и PostgreSQL в частности. Затронули вопросы взаимодействия клиентского кода приложений с БД, обновления и миграции данных.

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

Читать далее «SDCast #48: в гостях Михаил Тюрин, главный системный архитектор AVITO.ru»

Скачать (mp3, 49 MB) Скачать (ogg, 52 MB)