#devops
Не так давно(https://news.1rj.ru/str/overtimehate/401 ) постил тред про матчасть контейнеров, а тут вот и инфографика подъехала!
Не так давно(https://news.1rj.ru/str/overtimehate/401 ) постил тред про матчасть контейнеров, а тут вот и инфографика подъехала!
Forwarded from Evo Dev Club
📼 И сразу добью шикарным докладом 1998 (!!!) года Гая Стила про развитие языков программирования.
Крайне рекомендую посмотреть. Во-первых, любопытно как Стил топит за добавление в Java дженериков (привет, golang) и перегрузки операторов. Во-вторых, сама подача материала - не хочу спойлерить, но форма подчеркивает содержание - программистам всегда нужно строить мелкие абстракции чтобы перебраться на более высокий уровень. И важно сделать это просто.
Ну и отдельный фан увидеть конференцию разработчиков 22 года назад: докладчик в пиджаке, в нагрудном кармане батарея из ручек, слайды на проекторе - обалденно.
https://www.youtube.com/watch?v=_ahvzDzKdB0
P.S. Можете еще почитать о самом Гае Стиле на википедии. Это один из гигантов computer science, и мы стоим на его плечах в том числе
#video
Крайне рекомендую посмотреть. Во-первых, любопытно как Стил топит за добавление в Java дженериков (привет, golang) и перегрузки операторов. Во-вторых, сама подача материала - не хочу спойлерить, но форма подчеркивает содержание - программистам всегда нужно строить мелкие абстракции чтобы перебраться на более высокий уровень. И важно сделать это просто.
Ну и отдельный фан увидеть конференцию разработчиков 22 года назад: докладчик в пиджаке, в нагрудном кармане батарея из ручек, слайды на проекторе - обалденно.
https://www.youtube.com/watch?v=_ahvzDzKdB0
P.S. Можете еще почитать о самом Гае Стиле на википедии. Это один из гигантов computer science, и мы стоим на его плечах в том числе
#video
YouTube
Growing a Language, by Guy Steele
Guy Steele's keynote at the 1998 ACM OOPSLA conference on "Growing a Language" discusses the importance of and issues associated with designing a programming language that can be grown by its users.
ACM OOPSLA conference
Speaker: Guy L. Steele Jr.
ACM OOPSLA conference
Speaker: Guy L. Steele Jr.
Forwarded from Находки в опенсорсе
Crocks: A collection of well known Algebraic Data Types for your utter enjoyment.
https://crocks.dev/
Personal opinion: the sad thing is that types are not included.
#js
https://crocks.dev/
Personal opinion: the sad thing is that types are not included.
#js
crocks.dev
Home - Crocks
A collection of well known Algebraic Data Types for your utter enjoyment.
Forwarded from CatOps
Список бесплатных сервисов и тулов для разработчиков, включая описание бесплатных планов облачных провайдеров
#халява
#халява
Forwarded from Sysadmin Tools 🇺🇦
Short guide to MongoDB monitoring
https://smalldatum.blogspot.com/2020/02/short-guide-to-mongodb-monitoring.html
https://smalldatum.blogspot.com/2020/02/short-guide-to-mongodb-monitoring.html
Blogspot
Short guide to MongoDB monitoring
This is short and incomplete. But it is a good start. This is written from the perspective of someone who spends all of their time trying to...
Forwarded from HABR FEED + OPENNET
Видео лекций Computer Science клуба
https://habr.com/ru/post/490416/
Tags: Блог компании Образовательные проекты JetBrains, Алгоритмы, Haskell, Компиляторы, образование, образовательные ресурсы, образование онлайн, компьютерные науки, computer science, computer science club
Author avsmal #habr
https://habr.com/ru/post/490416/
Tags: Блог компании Образовательные проекты JetBrains, Алгоритмы, Haskell, Компиляторы, образование, образовательные ресурсы, образование онлайн, компьютерные науки, computer science, computer science club
Author avsmal #habr
Хабр
Видео лекций Computer Science клуба
Computer Science клуб — это открытые лекции по компьютерным наукам в Санкт-Петербургском отделении Математического института РАН. Филиалы CS клуба действуют в Но...
Для тех кому интересно как звучит короновирус: сильвупле. Тут чувак оцифровал ДНК этой штуки и написал кодек из получившегося кода в какой-то музыкальный формат. Звучит...футуристичненько
Twitter
ⓢⓗⓐⓡⓓⓒⓞⓡⓔ ⧖
ever wondered what a virus sounds like? i converted the DNA sequence of #COVID2019 into music here's the first 60 seconds for your listening pleasure (the full thing is over 2 hours long) https://t.co/BTLhTWeewH
Optimizing_Your_Apache_Kafka_Deployment_White_Paper.pdf
1.4 MB
Forwarded from Архитектура ИТ-решений
SystemsInnovation.io (есть такая сетевая организация) объявила о доступности своей главной книжки Systems Thinking Guide (под лицензией creative commons) Скачать или полистать можно здесь: https://systemsinnovation.io/systems-thinking-guide/ если кому интересно
Forwarded from dd if=/dev/stuff of=/dev/tg
Статья о функциональной архитектуре от Скотта Влашина:
https://increment.com/software-architecture/primer-on-functional-architecture
TL;DR: принципы функционального программирования — использование функций как основных строительных блоков, композиция, чистота — могут быть применены не только для решения тактических задач в прикладном коде, но и для построения более общей, стратегической картины решения целиком. Скотт Влашин в деталях описывает свой подход — построение крупномасштабных «функций»-воркфлоу, применение слоистой архитектуры (onion architecture), определение ограничений (boundaries) и использование событий как входных и выходных точек решения. В конце затрагивается тема функционального фронтэнда на примере Elm и рекламируется книга автора «Domain Modeling Made Functional».
https://increment.com/software-architecture/primer-on-functional-architecture
TL;DR: принципы функционального программирования — использование функций как основных строительных блоков, композиция, чистота — могут быть применены не только для решения тактических задач в прикладном коде, но и для построения более общей, стратегической картины решения целиком. Скотт Влашин в деталях описывает свой подход — построение крупномасштабных «функций»-воркфлоу, применение слоистой архитектуры (onion architecture), определение ограничений (boundaries) и использование событий как входных и выходных точек решения. В конце затрагивается тема функционального фронтэнда на примере Elm и рекламируется книга автора «Domain Modeling Made Functional».
Increment
A primer on functional architecture – Increment: Software Architecture
Approachable ideas and best practices to help engineering teams apply the principles of functional programming to high-level design and architecture.
dd if=/dev/stuff of=/dev/tg
Статья о функциональной архитектуре от Скотта Влашина: https://increment.com/software-architecture/primer-on-functional-architecture TL;DR: принципы функционального программирования — использование функций как основных строительных блоков, композиция, чистота…
В продолжение кину еще бородатую статью про функциональную архитектуру на Free-контейнерах и ее продолжение.
Очень красиво строятся NLayer архитектуры и подмешиваются сторонние эффекты(типа логирования), которые в ООП пришлось бы делать АОПом или еще что-то придумывать. Кароч рекомендую
Очень красиво строятся NLayer архитектуры и подмешиваются сторонние эффекты(типа логирования), которые в ООП пришлось бы делать АОПом или еще что-то придумывать. Кароч рекомендую
John A De Goes
A Modern Architecture for FP
Death to IO monads: FP has better tools that point the way towards the future.
Очередной туториал от Фланта. На этот раз про Эластик
Хабр
Как мы Elasticsearch в порядок приводили: разделение данных, очистка, бэкапы
Эта статья — практическая история о том, как мы столкнулись с проблемой разделения логов, хранимых в Elasticsearch, из-за которой пришлось поменять подход к бэкапам и управлению...
Forwarded from kamyshev.code
Разбиение монолита на части
При разделение монолита на части возникает проблема, что транзакции уровня базы данных становятся невозможны. Решение — распределенные транзакции. Этот механизм позволяет получить достаточно надежные транзакции для разделённых сервисов. А во многих случаях, стоит вовсе отказаться от транзакций и разработать самовостанавливающуюся систему (например, попытки записи могут повторяться несколько раз, пока не получится).
В микросервисной архитектуре не так просто реализовать отчеты. Мы не можем просто сделать большой запрос к единой базе данных и получить результат. Есть четыре варианта:
+ каждый сервис может слать свои данные для отчетов в сервис отчетов;
+ сервис отчетов может ходить к остальным сервисам за данными;
+ если сервисы общаются через события, то сервис отчетов может просто подписаться на эти события;
+ сервис отчетов может брать бекапы разных сервисов и генерировать отчеты на основе этих данных (так делает Netflix).
#микросервисы
При разделение монолита на части возникает проблема, что транзакции уровня базы данных становятся невозможны. Решение — распределенные транзакции. Этот механизм позволяет получить достаточно надежные транзакции для разделённых сервисов. А во многих случаях, стоит вовсе отказаться от транзакций и разработать самовостанавливающуюся систему (например, попытки записи могут повторяться несколько раз, пока не получится).
В микросервисной архитектуре не так просто реализовать отчеты. Мы не можем просто сделать большой запрос к единой базе данных и получить результат. Есть четыре варианта:
+ каждый сервис может слать свои данные для отчетов в сервис отчетов;
+ сервис отчетов может ходить к остальным сервисам за данными;
+ если сервисы общаются через события, то сервис отчетов может просто подписаться на эти события;
+ сервис отчетов может брать бекапы разных сервисов и генерировать отчеты на основе этих данных (так делает Netflix).
#микросервисы
Уже очень давно люблю просить кандидатов на собесе сравнить ленивую и энергичную модель вычислений(у нас используются обе). И, если с энергичной-то все ясно, то с ленивой не все так очевидно. Вот тут вот, наверно, одна из лучших статей на эту тему: https://apfelmus.nfshost.com/articles/lazy-eval-modular-code.html
Nfshost
apfelmus - Writing More Modular Code with Lazy Evaluation
Lazy evaluation is the most widely used method for executing Haskell program code on a computer. In this tutorial, we explain how it leads to more modular code. In particular, it allows us to program with infinite lists.
Forwarded from Инжиниринг Данных
Если вы работаете с Big Data, то вы часто работаете с продуктами Apache (Hadoop, Hive, Kafka). Так же вы слышали про Data Lake, особенно в контексте облака, где много инструментов, чтобы быстро его создать. Когда мы храним данные в озере данных, или вообще работает с большими данными, важно использовать правильный формат данных. Вот хорошая статья про Apache Parquet. Отличная компрессия (10x) и возможность партиционирования, сделала это формат лидером.
Medium
Apache Parquet: How to be a hero with the open-source columnar data format
Apache Parquet file format for Google BigQuery, Azure Data Lakes, Amazon Athena, and Redshift Spectrum.
Forwarded from Generative Anton
Jetbrains организовали миленький квест с призами. Удачи в решении)
Twitter
JetBrains
JetBrains Quest begins… #JetBrainsQuest 48 61 76 65 20 79 6f 75 20 73 65 65 6e 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 74 68 65 20 4a 65 74 42 72 61 69 6e 73 20 77 65 62 73 69 74 65 3f