-
MacOS Shared Libraries
Большинство программ в Unix используют C библиотеки. Связать программу с библиотекой можно статически или динамически. Статически связанная библиотека запекается в один бинарный (исполняемый) файл увеличивая его размер. Динамически связанная библиотека (shared library) загружается в момент исполнения программы и обязана находится в заранее известном месте. Такие библиотеки используются множеством программ экономя дисковое пространнство от дублирования кода между ними. Примерами популярных динамических библиотек являются
openssl
(ssl),libpcre
(regexp),zlib
(gzip),readline
(command-line editing),libxml2
(XML parsing). -
MacOS Time Machine Utility
Проверяя в очередной раз настройки бекапирования моего MacBook Pro (MBP), я наткнулся на консольную утилиту
tmutil
. Хотя графический интерфейс Time Machine (TM) сам по себе лаконичен и понятен, управлять настройками TM из терминала все же приятней. Потенциально такая штука может понадобится для автоматизации развертывания новой системы. Детали можно найти на соответствующейman
странице, здесь же я хочу отметить несколько команд для затравки. Рассмотрим пример удаления и повторного создания резервной копии MBP. -
CircleCI CLI
Наткнувшись на неработающую ссылку в своем старом посте я задумался о добавлении проверок корректности сгенерированных ранее HTML страниц с помощью html-proofer. Обычно такого рода тесты неплохо иметь в рамках CI, чтобы вся команда могла видеть текущий статус по изменениям. В моем же соло случае это автоматизация локальных запусков тестов. В принципе такие штуки можно подвешивать на git hook с помощью множества разнообразных оберток (overcommit, lefthook), но мне хочется освежить знания по CircleCI.
-
AWS CLI Configuration
Краткая шпаргалка по конфигурации AWS CLI клиента на локальной машине.
-
Terragrunt
Автор Terragrunt описывает его как тонкую обертку над Terraform позволяющую отдраить код инфраструктуры, сделать ее мягкой и шелковистой. Я же хочу сделать акцент на другом. Terragrunt представляет собой каркас, если хотите фреймворк, который задает определенные рамки разработчикам и распространяет своего рода подход конвенции вместо конфигурации среди команды. Для большинства Rails разработчиков такой подход вполне понятен и естественен, а его преимущества уже много раз оценены в ежедневной работе. Однако, для в DevOps мире вокруг меня все немного иначе и некоторые люди не сразу приходят к осознанию пользы данного подхода.