Podlodka #87 – Build-системы


Episode Artwork
1.0x
0% played 00:00 00:00
Nov 25 2018 107 mins   227
Каждый день многие из нас неоднократно запускают эту команду в терминале или нажимают на заветную кнопочку в своей любимой среде разработки. Сборка – это тот процесс, который превращает сырые исходники и ресурсы в приложения и сервисы, которые можно предоставить пользователям. Возрастающая сложность приложений ведет к тому, что процесс сборки пропорционально усложняется, и нам нужны специальные инструменты, чтобы решать эту задачу. Именно об этих инструментах, а именно о build-системах, мы поговорим сегодня с Артёмом Зиннатуллиным из компании Lyft. Поддержи лучший подкаст про разработку: www.patreon.com/podlodka Также ждем вас, ваши лайки, репосты и комменты в мессенджерах и соцсетях!
 Telegram-чат: t.me/podlodka Telegram-канал: t.me/podlodkanews Страница в Facebook: www.facebook.com/podlodkacast/ Twitter-аккаунт: twitter.com/PodlodkaPodcast Содержание: 00:00:45 – Знакомство с гостем 00:07:32 – История развития build-систем 00:12:52 – Ant и Maven 00:17:03 – Про зависимость по исходникам 00:18:50 – Gradle 00:24:40 – Про узкоспециализированные build-системы 00:29:13 – Что должна уметь современная build-система 00:29:41 – Инкрементальная сборка 00:31:38 – Remote cache 00:36:51 – Параллельность сборки 00:37:43 – Мониторинг файловой системы 00:39:39 – Запуск тестов 00:40:57 – Build-система Xcode 00:42:31 – Язык описание конфигурации 00:47:56 – ABI extraction 00:54:54 – Использование неблокирующих API операционной системы 00:56:41 – Remote execution 01:07:20 – Bazel и Buck 01:13:47 – Как устроены билды в Lyft 01:20:58 – Как выбрать build-систему 01:26:08 – Модуляризация 01:28:53 – Какие скиллы нужны build-инженеру 01:44:05 – Подведение черты 01:45:38 – Вопрос Стасу Ссылки гостя: Gradle – https://gradle.org/ Buck – http://buckbuild.com/ Bazel – https://bazel.build/ Skylark – https://docs.bazel.build/versions/master/skylark/language.html ABI – https://en.wikipedia.org/wiki/Application_binary_interface API – https://en.wikipedia.org/wiki/Application_programming_interface Mainframer – https://github.com/buildfoundation/mainframer Twitter Артёма – http://twitter.com/artem_zin Книга Google – Site Reliability Engineering – https://landing.google.com/sre/books/