#fp #books
Ой, котаны, че откопал! Ловите знаменитый курс по ФП из Кембриджа от Харрисона с переводом. Достаточно академизма, достаточно примеров, все прям шикарно.
Готовая пдфка в релизах репы, собрать из сорцов у меня не получилось(возможно плохо собирал)
Ой, котаны, че откопал! Ловите знаменитый курс по ФП из Кембриджа от Харрисона с переводом. Достаточно академизма, достаточно примеров, все прям шикарно.
Готовая пдфка в релизах репы, собрать из сорцов у меня не получилось(возможно плохо собирал)
GitHub
GitHub - funprog-ru/funprog-ru: Automatically exported from code.google.com/p/funprog-ru
Automatically exported from code.google.com/p/funprog-ru - funprog-ru/funprog-ru
Forwarded from Sergey Sporyshev
Коллеги друзья!
Сегодня очень крутой день)
Сегодня в официальном сторе Grafana появилась первая версия нашего (ITSumma/DevOpsProdigy) плагина для k8s
https://grafana.com/grafana/plugins/devopsprodigy-kubegraf-app
Мы ждали принятия пул-реквеста целых 22 дня
и оно свершилось)))
Плагин умеет:
1) строить красивую карту всех ваших приложений в кластере и рисовать рядом зелено-желто-красные лампочки означаюшие статус живости вашего приложения
2) красиво показывать какой под на какой ноде находится в данное время
3) выдавать сводную статистику о том, что в кластере идет не туда)
4) выдавать информацию с динамикой по загрузке конкретной ноды кластера
5) поставляется с большой пачкой дашбордов (мониторинг ноды, пода, деплойментов, демонсетов, стейтфулсетов)
Зачем и почему мы это сделали:
1) Плагина с подобной функциональностью в мире только 1 штука, официальный плагин от GrafanaLabs и он не поддерживается уже больше года
2) Просто мы можем себе это позволить
Лайк, шер, подписка, звездочка на гитхабе, ишшуи, пул-реквесты - приветствуются
https://github.com/devopsprodigy/kubegraf
Сегодня очень крутой день)
Сегодня в официальном сторе Grafana появилась первая версия нашего (ITSumma/DevOpsProdigy) плагина для k8s
https://grafana.com/grafana/plugins/devopsprodigy-kubegraf-app
Мы ждали принятия пул-реквеста целых 22 дня
и оно свершилось)))
Плагин умеет:
1) строить красивую карту всех ваших приложений в кластере и рисовать рядом зелено-желто-красные лампочки означаюшие статус живости вашего приложения
2) красиво показывать какой под на какой ноде находится в данное время
3) выдавать сводную статистику о том, что в кластере идет не туда)
4) выдавать информацию с динамикой по загрузке конкретной ноды кластера
5) поставляется с большой пачкой дашбордов (мониторинг ноды, пода, деплойментов, демонсетов, стейтфулсетов)
Зачем и почему мы это сделали:
1) Плагина с подобной функциональностью в мире только 1 штука, официальный плагин от GrafanaLabs и он не поддерживается уже больше года
2) Просто мы можем себе это позволить
Лайк, шер, подписка, звездочка на гитхабе, ишшуи, пул-реквесты - приветствуются
https://github.com/devopsprodigy/kubegraf
Grafana Labs
DevOpsProdigy KubeGraf plugin for Grafana | Grafana Labs
An updated version of the Grafana App for Kubernetes plugin, this plugin allows you to visualize and analyze your Kubernetes cluster’s performance. It demonstrates in graphics the main service metrics and characteristics of the Kubernetes cluster. It also…
Из разговора с коллегой:
"Основная проблема индустрии в том, что 90% кода пишется либо джунами, которые еще не читали Макконела, либо мидлами, которые уже читали Эриха Гамму"(с). Чет в голосину
"Основная проблема индустрии в том, что 90% кода пишется либо джунами, которые еще не читали Макконела, либо мидлами, которые уже читали Эриха Гамму"(с). Чет в голосину
Котаны, я тут давно одну мысль вынашиваю, вот решил поделиться. Речь пойдет о DRY и инкапсуляции в ООП.
Все 100 раз слышали мантру, что дублировать код грешновато и надо инкапсулировать дублирующуюся функциональность, используя все имеющиеся для этого средства вашего любимого ЯП(наследование, композицию, все чудеса GoF и т.п.). Обычно тут аппелируют к расширяемости, поддерживаемости и т.д.
В теории все шоколадно конечно, но в постоянно меняющейся среде все эти замечательные абстракции могут превратиться в тыкву протекающие, коллеги начнут путаться в этих бесконечных "фабриках сервисов стратегий" и в один прекрасный день кто-то все это снесет, построив на руинах еще одну такую же башню из слоновой кости. Знакомо?
Более того, в модных нынче микросервисах дублирование считается нормальным(ну по-крайней мере меньшим грехом чем связность сервисов как в классическом SOA). Оттуда же растет популярность сервисных каркасов(шаблонов проектов типа create-react-app или dotnet new), где через cli создается костяк проекта, который можно менять как душе угодно.
Кароч вот такая мысль, что думаете?
Мое мнение, что тут отлично работает правило 3х: 3 раза задублировал, значит надо инкапсулировать, а до этого нинада.
UPD: речь тут не про выделение кода в методы, а скорее, про ООП головного мозга с абстрактными классами, хелперами и всякими мутными стратегиями на каждый чих
Все 100 раз слышали мантру, что дублировать код грешновато и надо инкапсулировать дублирующуюся функциональность, используя все имеющиеся для этого средства вашего любимого ЯП(наследование, композицию, все чудеса GoF и т.п.). Обычно тут аппелируют к расширяемости, поддерживаемости и т.д.
В теории все шоколадно конечно, но в постоянно меняющейся среде все эти замечательные абстракции могут превратиться в тыкву протекающие, коллеги начнут путаться в этих бесконечных "фабриках сервисов стратегий" и в один прекрасный день кто-то все это снесет, построив на руинах еще одну такую же башню из слоновой кости. Знакомо?
Более того, в модных нынче микросервисах дублирование считается нормальным(ну по-крайней мере меньшим грехом чем связность сервисов как в классическом SOA). Оттуда же растет популярность сервисных каркасов(шаблонов проектов типа create-react-app или dotnet new), где через cli создается костяк проекта, который можно менять как душе угодно.
Кароч вот такая мысль, что думаете?
Мое мнение, что тут отлично работает правило 3х: 3 раза задублировал, значит надо инкапсулировать, а до этого нинада.
UPD: речь тут не про выделение кода в методы, а скорее, про ООП головного мозга с абстрактными классами, хелперами и всякими мутными стратегиями на каждый чих
Forwarded from Dmitry Sh
Новый перевод как прекрасная иллюстрация важности понимания тонкостей Kubernetes для обеспечения должного уровня безопасности: https://habr.com/ru/company/flant/blog/466625/
Хабр
Выход за пределы pod'а в Kubernetes через монтирование логов
Прим. перев.: Эта заметка была написана исследователем ИТ-безопасности из компании Aqua Security, специализирующейся на DevSecOps. Она является прекрасной иллюст...
Forwarded from Experimental chill
Вышел обзор моей дипломной работы на Хабре от Яндекса. Хоть я Хабр не сильно люблю, но думаю, что вышло прикольно
https://habr.com/ru/company/yandex/blog/466183/
https://habr.com/ru/company/yandex/blog/466183/
Хабр
Умные алгоритмы обработки строк в ClickHouse
В ClickHouse постоянно возникают задачи, связанные с обработкой строк. Например, поиск, вычисление свойств UTF-8 строк или что-то более экзотическое, будь то пои...
Experimental chill
Вышел обзор моей дипломной работы на Хабре от Яндекса. Хоть я Хабр не сильно люблю, но думаю, что вышло прикольно https://habr.com/ru/company/yandex/blog/466183/
Сюда же еще хороший доклад от Миловидова: https://habr.com/ru/company/yandex/blog/452778/
Хабр
Как ускорить разжатие LZ4 в ClickHouse
При выполнении запросов в ClickHouse можно обратить внимание, что в профайлере на одном из первых мест часто видна функция LZ_decompress_fast. Почему так происхо...
И, раз уж почти пятница, вот вам крутой канал с перлами Миловидова: @milovidov_perls
#consensus
Тут крутая статья вышла про задачи решаемые конценсусом. Помогает понять зачем все эти ваши Raft'ы и Paxos'ы. Несмотря на название, про блохчейн в ней совсем чутка
Тут крутая статья вышла про задачи решаемые конценсусом. Помогает понять зачем все эти ваши Raft'ы и Paxos'ы. Несмотря на название, про блохчейн в ней совсем чутка
Хабр
Разбираемся в основах Blockchain: Задача Византийских Генералов. Часть 1
Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок», который стартует уже в этом месяце. Блокчейн – это децентрализованная система, состоящая из различных...
Forwarded from Архитектура ИТ-решений
Не самый короткий, но довольно полезный текст (с хорошими ссылками) про CAP-теорему, панк-рок и "Войну и мир" Льва Толстого http://www.julianbrowne.com/article/brewers-cap-theorem
:julianbrowne
Brewer’s CAP Theorem
An explanation of Eric Brewer’s CAP theorem, which says you cannot have more than two of Consistency, Availability and Partition-tolerance in web-based distributed systems.
#dotnet
dotnet new templates tips&trics
1. У каждого шаблона есть стандартный параметр
2. optional content отлично работает со всеми типами файлов. Для этого директивы
dotnet new templates tips&trics
1. У каждого шаблона есть стандартный параметр
name, который сильно упрощает жизнь: он переименовывает проект и фиксит все неймспейсы. Что бы это добро заработало надо не забыть поставить sourceName пропертю, иначе переименовывать -n будет только папку проекта2. optional content отлично работает со всеми типами файлов. Для этого директивы
#if и #endif просто надо закомментить. Например, что бы убрать ненужный пакет из .csproj:<!—#if (NotNeedThis)—>
<PackageReference Include="MyPkg" Version="1.0.0" />
<!--#endif-->
3. у symbols есть недодокументированный(в одних wiki есть, в других нету, intelliSence не видит) параметр fileRename, который позволяет переименовывать файлы по шаблону. Например вот такое поменяет все буквы "а" в названиях всех файлов на буквы "с":"acReplacer": {
"type": "parameter",
"defaultValue": "c",
"fileRename": "a"
}#k8s
Тут подъехали первые впечатления от 3го хельма(в целом положительные) Особенно интересными кажутся library charts и lua templates, но и, конечно, рамсам с безопасниками за тиллер пришел конец
Тут подъехали первые впечатления от 3го хельма(в целом положительные) Особенно интересными кажутся library charts и lua templates, но и, конечно, рамсам с безопасниками за тиллер пришел конец
Medium
Helm 3: Fun With the New Beta
Cleaner, simpler and more secure, with the previous functions you love
Forwarded from AvitoTech
Как работает поиск?
Андрей Аксёнов, руководитель разработки инфраструктуры поиска в Авито, рассказал в подкасте «Подлодка» из каких задач состоит работа над поиском, как измерить его качество и какие технологии используются под капотом.
Ссылки на выпуск и полезные материалы по теме можно найти на сайте подкаста → http://amp.gs/NMyM
Андрей Аксёнов, руководитель разработки инфраструктуры поиска в Авито, рассказал в подкасте «Подлодка» из каких задач состоит работа над поиском, как измерить его качество и какие технологии используются под капотом.
Ссылки на выпуск и полезные материалы по теме можно найти на сайте подкаста → http://amp.gs/NMyM
Statistics_cheat_sheet.pdf
1.3 MB
#datascience
Четкая шпаргалка по матстату
Четкая шпаргалка по матстату
#datascience
Крутая инструкция и просто интересная статья про то как чистят датасеты на примере поиска депрессивных твитов
Крутая инструкция и просто интересная статья про то как чистят датасеты на примере поиска депрессивных твитов
Medium
The Ultimate Beginner’s Guide to Data Scraping, Cleaning, and Visualization
Take your model from unremarkable to amazing by cleaning and preprocessing your data
Forwarded from oleg_log (Oleg Kovalov)
Вчера нашел себе развлечение на ночь, залип над статьей от гугла по поводу их новой(?) БД - Procella. Аналитика на масштабируемых стероидах.
Интересно, что у них data cache-hit 90%, много С++ шаблонов и компайл-тайм штук для компиляции запросов, а еще все завязано на Borg(отца к8с)(что очевидно).
https://ai.google/research/pubs/pub48388/
Интересно, что у них data cache-hit 90%, много С++ шаблонов и компайл-тайм штук для компиляции запросов, а еще все завязано на Borg(отца к8с)(что очевидно).
https://ai.google/research/pubs/pub48388/
Forwarded from Технологический Болт Генона
This media is not supported in your browser
VIEW IN TELEGRAM
Тут игру подвезли
ThreatGEN: Red vs. Blue
https://store.steampowered.com/app/994670/ThreatGEN_Red_vs_Blue/
Это пошаговая стратегия в которой вы можете играть за одну из сторон: атакующие (красная команда) или защищающие инфраструктуру (синяя команда).
Утверждают, что
ThreatGEN: Red vs. Blue
https://store.steampowered.com/app/994670/ThreatGEN_Red_vs_Blue/
Это пошаговая стратегия в которой вы можете играть за одну из сторон: атакующие (красная команда) или защищающие инфраструктуру (синяя команда).
Утверждают, что
Every single member of the development team for this game actually comes from the cybersecurity (or INFOSEC) community.
. . .
Developers Clint Bodungen and Aaron Shbeeb are authors of the book, Hacking Exposed: Industrial Control Systems.