Forwarded from Пятничный деплой
Хорошая статья про обмен знаниями https://habr.com/ru/company/oleg-bunin/blog/492478/
Хабр
Без управления знаниями больно: 5 основных последствий отсутствия системы
Toyota — мировой лидер автомобилестроения, один из самых дорогих автомобильных брендов и синоним слова «качество». Toyota известна своей сложной производственной...
I hate overtime
Так как же быть?
#sre #observability
Спасибо огромное, котаны, за ваше участие! Ваше мнение очень важно и интересно, но я все-таки присоединюсь к меньшинству.
Поясню свою позицию: допустим мы не инжектим условный Coda Hale Metrics в наш условный ApiClient и хотим собирать метрики по уходящим через этот клиент запросам. Скорее всего метрика будет не одна, а несколько. Возможно среди них будет гистограмма(т.е вот где-то тут уже придется навернуть все эти скользящие окна и т.д.). Потом мы все это добро прячем под отдельный интерфейс и получаем...тот же самый Coda Hale Metrics, только изобретенный заново.
Если я что-то не понимаю, то го в комменты.
З.Ы. вот вам шикарнейший гайд по обзервабилити от Digital Ocean
Спасибо огромное, котаны, за ваше участие! Ваше мнение очень важно и интересно, но я все-таки присоединюсь к меньшинству.
Поясню свою позицию: допустим мы не инжектим условный Coda Hale Metrics в наш условный ApiClient и хотим собирать метрики по уходящим через этот клиент запросам. Скорее всего метрика будет не одна, а несколько. Возможно среди них будет гистограмма(т.е вот где-то тут уже придется навернуть все эти скользящие окна и т.д.). Потом мы все это добро прячем под отдельный интерфейс и получаем...тот же самый Coda Hale Metrics, только изобретенный заново.
Если я что-то не понимаю, то го в комменты.
З.Ы. вот вам шикарнейший гайд по обзервабилити от Digital Ocean
Digitalocean
Tags | Community | DigitalOcean
What are you interested in? Dive into our library of open source resources by choosing a specific tag below.
Для тех кто из-за карантина уже научил кота плясать, построил 3хэтажный карточный домик с террасой и сделал всякие другие нужные и полезные вещи вот тут вот в открытом доступе лежит книга type driven development with Idris.
Почему стоит почитать:
1. Это, наверное, первый "мейнстримовый"(неакадимический) язык с зависимыми типами
2. Idris -- реально странный! Там типы как first class citizen(можно передавать в функцию, возвращать и т.д.). Все функции тотальные и нет исключений.
3. А еще(имхо, самое важное) автор уверяет, что книжка-то не про идрис, а про программирование через типы. Т.е. про то как подружиться с компилятором на столько, что бы он помогал писать код, а не просто орал в конце "rejected!!1". Собственно ради этого люди и идут в функциональщину
Почему стоит почитать:
1. Это, наверное, первый "мейнстримовый"(неакадимический) язык с зависимыми типами
2. Idris -- реально странный! Там типы как first class citizen(можно передавать в функцию, возвращать и т.д.). Все функции тотальные и нет исключений.
3. А еще(имхо, самое важное) автор уверяет, что книжка-то не про идрис, а про программирование через типы. Т.е. про то как подружиться с компилятором на столько, что бы он помогал писать код, а не просто орал в конце "rejected!!1". Собственно ради этого люди и идут в функциональщину
Рубрика бесполезно-интересно😊
Оказывается DotNet может в векторизированные операции! Вот тут вот, например, парни сделали бинарный поиск на AVX и даже получили значительный прирост производительности на коллекциях больше 1к элементов.
Естественно там ехал unsafe через unsafe, и вряд-ли это кому-то пригодится(если вы не пишите потроха Unity или BCL, конечно), но интересно, что даже на C# можно делать такое, если очень хочется
Оказывается DotNet может в векторизированные операции! Вот тут вот, например, парни сделали бинарный поиск на AVX и даже получили значительный прирост производительности на коллекциях больше 1к элементов.
Естественно там ехал unsafe через unsafe, и вряд-ли это кому-то пригодится(если вы не пишите потроха Unity или BCL, конечно), но интересно, что даже на C# можно делать такое, если очень хочется
Gist
Avx2/branch-optimized binary search in .NET
Avx2/branch-optimized binary search in .NET. GitHub Gist: instantly share code, notes, and snippets.
#papers
Котаны, кароч это вам как бэ на новый год! Оказывается Cambrige выпускает кучу журналов на различные темы, в том числе и по Computer Science. При этом, очень много годноты лежит в открытом доступе и публикуется едва ли не десятилетиями.
Котаны, кароч это вам как бэ на новый год! Оказывается Cambrige выпускает кучу журналов на различные темы, в том числе и по Computer Science. При этом, очень много годноты лежит в открытом доступе и публикуется едва ли не десятилетиями.
Forwarded from Архитектура ИТ-решений
Похожая ситуация была с архитектурным стилем REST. Автор этого стиля Рой Филдинг (Roy Fielding) описал его в своей диссертации немного сложно https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm Что не помешало разработчикам добавлять слово REST к любым API, реализованным поверх HTTP. И только одно нарушало их энтузиазм. Заметки Филдинга в его блоге о том, что очередной как бы REST API таковым не является
Ситуацию разрядил Leonard Richardson, предложив модель зрелости API по степени их соответствия идеям REST http://restcookbook.com/Miscellaneous/richardsonmaturitymodel/
I am getting frustrated by the number of people calling any HTTP-based interface a REST API. Today’s example is the SocialSite REST API. That is RPC. It screams RPChttps://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
Ситуацию разрядил Leonard Richardson, предложив модель зрелости API по степени их соответствия идеям REST http://restcookbook.com/Miscellaneous/richardsonmaturitymodel/
Forwarded from AvitoTech
ClickHouse в Авито: посиделки в прямом эфире с Алексеем Миловидовым
9 апреля с 17:00 до 20:00 наши инженеры соберутся на уютные посиделки с главным разработчиком ClickHouse Алексеем Миловидым. Поговорим про то, как мы используем систему управления базами данных в Авито, с какими сложностями сталкиваемся, и зададим Алексею вопросы о настоящем и будущем ClickHouse.
📹 Регистрируйтесь на таймпаде, и мы пришлём вам на почту ссылку на стрим в день посиделки → http://amp.gs/0qvm
Чуть больше про мини-доклады мы рассказали на Хабре: http://amp.gs/0qvZ
9 апреля с 17:00 до 20:00 наши инженеры соберутся на уютные посиделки с главным разработчиком ClickHouse Алексеем Миловидым. Поговорим про то, как мы используем систему управления базами данных в Авито, с какими сложностями сталкиваемся, и зададим Алексею вопросы о настоящем и будущем ClickHouse.
📹 Регистрируйтесь на таймпаде, и мы пришлём вам на почту ссылку на стрим в день посиделки → http://amp.gs/0qvm
Чуть больше про мини-доклады мы рассказали на Хабре: http://amp.gs/0qvZ
Forwarded from Generic Talks (Oleg Kovalov)
YouTube
Generic Talks 0016. Zig, LLVM и как всегда Go
#testing #os
Очень крутая статья про то как тестируют новые версии ядра Linux.
Оказывается, на тестирование и баг-фикс уходит до 20% времени итерации, а в пайплайне у комманды юзается далеко не маленький набор тулзов от статических анализаторов до фаззинг-тулов.
Интересно, на мой взгляд, тут:
1. Процесс тестирования у такого опенсорс гиганта достаточно стандартный
2. Автоматизация процесса помогает находить большое кол-во багла(ваш кэп)
3. Достаточно много тулов занимаются похожими вещами
4. Очень много кастомных тулов
5. Решение о выходе в продуктив принимается одним человеком(Линусом)
Очень крутая статья про то как тестируют новые версии ядра Linux.
Оказывается, на тестирование и баг-фикс уходит до 20% времени итерации, а в пайплайне у комманды юзается далеко не маленький набор тулзов от статических анализаторов до фаззинг-тулов.
Интересно, на мой взгляд, тут:
1. Процесс тестирования у такого опенсорс гиганта достаточно стандартный
2. Автоматизация процесса помогает находить большое кол-во багла(ваш кэп)
3. Достаточно много тулов занимаются похожими вещами
4. Очень много кастомных тулов
5. Решение о выходе в продуктив принимается одним человеком(Линусом)
Forwarded from Пятничный деплой
Друзья, пока многие из нас (я надеюсь) сидят дома, есть возможность углубить свои знания одного из самого широко распространенного инструмента в индустрии, в добавок, сделать это бесплатно и с помощью достаточно авторитетного, не побоюсь этого слова, эксперта. В среду, 01.04.2020 20:00 MSK, Сергей Печенко́ проводит открытый тренинг-семинар по Ansible на тему "Объектная модель Ansible".
Семинар будет проводиться в Zoom, поэтому количество участников ограничено.
Ссылка: https://zoom.us/j/906872604, пароль для входа будет опубликован в чате @pro_ansible непосредственно перед событием.
Для участия в семинаре платная учётка в Zoom не нужна.
Ссылка на опрос, чтобы отметиться для оценки масштабов будущего события - https://t.me/pro_ansible/135686.
Семинар будет проводиться в Zoom, поэтому количество участников ограничено.
Ссылка: https://zoom.us/j/906872604, пароль для входа будет опубликован в чате @pro_ansible непосредственно перед событием.
Для участия в семинаре платная учётка в Zoom не нужна.
Ссылка на опрос, чтобы отметиться для оценки масштабов будущего события - https://t.me/pro_ansible/135686.
Zoom Video
Join our Cloud HD Video Meeting
Zoom is the leader in modern enterprise video communications, with an easy, reliable cloud platform for video and audio conferencing, chat, and webinars across mobile, desktop, and room systems. Zoom Rooms is the original software-based conference room solution…
Throughtworks(это там где Фаулер работает) запостил в своем бложике артикль про то как легко начать в DDD не прыгая с места в карьер полный агрегатов, доменных ивентов и ubiquitous language'ей.
На мой взгляд, ничего нового там не написано, но вот это прям моя цитата недели:
"If you get to a point where your model and your expert disagrees, they’re right and the model is wrong. Always. Change your model"
Работает, кстати, с софтом в целом, а не только с DDD
На мой взгляд, ничего нового там не написано, но вот это прям моя цитата недели:
"If you get to a point where your model and your expert disagrees, they’re right and the model is wrong. Always. Change your model"
Работает, кстати, с софтом в целом, а не только с DDD
Thoughtworks
Domain-driven design needn't be hard. Here's how to start
DDD is hard
I've seen many teams adopting domain-driven design (DDD), and I've seen things go wrong a lot. Frequently problems start in the very early stages.
I've seen many teams adopting domain-driven design (DDD), and I've seen things go wrong a lot. Frequently problems start in the very early stages.
Forwarded from Технологический Болт Генона
How Netflix uses Druid for Real-time Insights to Ensure a High-Quality Experience
https://netflixtechblog.com/how-netflix-uses-druid-for-real-time-insights-to-ensure-a-high-quality-experience-19e1e8568d06
https://netflixtechblog.com/how-netflix-uses-druid-for-real-time-insights-to-ensure-a-high-quality-experience-19e1e8568d06
#kafka
Астрологи объявили очередную неделю коронавируса, кол-во шуток про туалетную бумагу увеличилось вдвое.
А пока, у нас тут хорошее объяснение что такое и зачем нужны acks и чем это отличается от insync replicas
Астрологи объявили очередную неделю коронавируса, кол-во шуток про туалетную бумагу увеличилось вдвое.
А пока, у нас тут хорошее объяснение что такое и зачем нужны acks и чем это отличается от insync replicas
Medium
Kafka Acks Explained
Visualizing Kafka’s most misunderstood configuration setting
Forwarded from Scala bin
На фоне печальной коронавирусной истории Lightbend сделала жест невиданной щедрости и открыла бесплатный доступ к своим курсам до конца июня.
Курсы, в основном, посвящены продуктам компании (Akka, Lagom и т.д.), но присутствуют и курсы о реактивной архитектуре и даже domain-driven design.
Курсы, в основном, посвящены продуктам компании (Akka, Lagom и т.д.), но присутствуют и курсы о реактивной архитектуре и даже domain-driven design.
#postgres #linux
А вот тут вот очень годная статья от Percona про OOM.
В общих чертах разобрали как это работает, как выбирается процесс на убой и как на это можно повлиять (в частности как сделать так что бы ООМ не пришел к постгресу)
А вот тут вот очень годная статья от Percona про OOM.
В общих чертах разобрали как это работает, как выбирается процесс на убой и как на это можно повлиять (в частности как сделать так что бы ООМ не пришел к постгресу)
Percona Database Performance Blog
How to Adjust Linux Out-Of-Memory Killer Settings for PostgreSQL
The Out-Of-Memory Killer is the process which is responsible for terminating the application to save the kernel from crashing.
Очень забавная статья про то, что... инструкция mov на х86 сама по себе является Тьюринг-полной