en
Feedback
I hate overtime

I hate overtime

Open in Telegram

Some DevOps, SRE and IT development stuff

Show more
1 057
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
#testing Очень хороший обзор по различным видам тестирования с ссылками на посты по каждому из них. Тут как и всем надоевшие unit и integration, так и мутационное, exploratory и soak. Рекомендую пробежаться и почитать про незнакомые

#devOps Пейпер про то как Фейсбук деплоит без даунтайма. Рассмотрены 3 подхода с сравнительным анализом

#microservices Каким-то чудом еще не запостил очень годную статью от Riak(это такой распределенный kv) про микросервисы "Microservices -- please don't". Очень рекомендую почитать тем кто внедряет или уже внедрил этот чудный архитектурный стиль)) Если вы не можете внятно прооппонировать автору статьи по какому-то из пунктов, то возможно Вам микросервисы не очень-то и нужны

#kafka Неплохой туториал в кафку. Для тех кто не хочет читать книжку — самое то

Доисторический, но очень ценный набор советов как дизайнить презы. Если кто активно выступает, то это вам)))

#jvm Пара неплохих статей про java memory model и все что вокруг Вот тут прям хорошо про happens-before А вот тут, помимо большого сериала по сабжу, еще много полезного про jvm

Если кто еще не в курсе про devContainers, то вот прям максимально подробный туториал

#db Наткнулся тут на прошлогоднюю статью на тему почему Cockroach выбрал RocksDB в качестве движка. Если кто тоже пропустил, то очень рекомендую. TLDR: 1. Выбрали, внезапно, не потому что LSM, а за фичи. Например, у RocksDB в KV-интерфейсе есть возможность скана по диапазону ключей и bulk-вставки. Без этого SQL-движок Cockroach бы сильно тормозил 2. Занимательная экскурсия в кишки RocksDB. 3. Как построено взаимодействие Cockroach и Rocks 4. in CockroachDB, put/scan are the two most dominant operations because of the higher level guarantees we provide as a serializable SQL database 5. Ну и еще куча прикольностей

Вот как все-таки приятно иметь дело с хорошим API! Есть у меня в одном из проектов тестик с Mock'ом на NSubstitute. Тестик очень простой: мок считает что нужный метод дернули N раз с определенными входными параметрами. Внезапно, тестик начал падать. В описании фейла такое:
вы ждали, что метод foo(any Bar, Baz) будет вызван 5 раз, а он ни разу не вызвался((
Вообще-то есть 5 похожих колов(отличия я тебе заботливо пометил *):
foo(Bar, *Baz*)
...
Ну тут вот я, конечно, сразу вспомнил, что воткнул в foo еще один параметр типа Baz с дефолтным значением. А был бы другой выхлоп от тестика, пришлось бы время тратить, в кодобазу лезть или вообще, прости господи, дебажить! Спасибо NSubstitute'у, в Moq и в FakeItEasy такого вот нет

Бесплатные лекции про распределённые системы от профессора Lindsey Kuper: https://www.youtube.com/playlist?list=PLNPUF5QyWU8O0Wd8QDh9KaM1ggsxspJ31

Наблюдаемость SRE: пространства имен и структура метрик Структурированные пространства имен метрик важны для быстрого доступа к информации во время инцидентов. Один из способов, который эффективен при создании гибкой модели метрик, — думать о них как о дереве. Перевели статью, в которой рассматриваются свойства пространств имен метрик, позволяющие постепенно увеличивать детализацию запросов и переходить к подмножествам данных, а также просматривать метрику с точки зрения метрик, из которых она состоит.

Недавно Бизли зарелизил Practical Python Programming -- курс по Питону, который он создавал и преподавал 13 лет. Выглядит курс очень круто, покрывает всё самое нужное, от установки питона и типов данных и до тестирования и создания и установки пакетов.

Новая статья — новый сборник весёлых случаев от наших инженеров. В этой серии: Docker и Kafka, ZooKeeper и ClickHouse, Kubernetes и bare metal, PostgreSQL как есть. https://habr.com/ru/company/flant/blog/510486/

#sql #postgres В свое время парни из PgProfessional запилили бомбезный цикл статей про постгрес. Но, оказывается, что есть пейпер с дизайном того самого постгреса 1987года. Забавно что, например, проблемы с 32битными xid изначально не было

ну или можно просто на nginx модуль поставить))(если у вас nginx-ingress'ы, конечно)

Как заблокировать трафик из определенных стран? 🏴‍☠️ Кажется, что фильтрация трафика — тривиальная задача. Но не все так просто. Старые инструкции потеряли актуальность, а новых особо никто не написал. Поэтому мы посчитали своим долгом это исправить. С помощью чего будем настраивать? Фильтрация будет настраиваться с помощью стандартной сетевой утилиты iptables. Но ей потребуется расширение для работы с GeoIP-данными. Где найти расширение и что делать с ядром ОС? Нам потребуется xtables-addons. Эта хитрая штука устанавливает расширения для iptables в виде самостоятельных модулей ядра, благодаря чему не нужно перекомпилировать ядро ОС. Детальная инструкция в нашем блоге: http://slc.tl/Dx-Xl

#design Не скажу что это самое точное объяснение SOLID'а, но точно самое милое. Слава роботам!

#monitoring #anomalydetection Ну и вдогонку статья от гитлаба как они сделали anomaly detection(z-score) на проме. Советую почитать, потому как реализовать такое достаточно просто, и хорошо помогает при спайках

Тут добрые люди собрали подходы Prometheus https://the-zen-of-prometheus.netlify.app/ #prometheus