Hello Cluj! Tonight Living Together is showing UrbanEye Film Festival! 🇷🇴 Un film despre un grup de prieteni din Amsterdam care construiesc o casa co-housing impreuna, fara experienta sau buget. 19.30 at Cinema Arta. Ne vedem acolo!
#clujnapoca #cluj #arhitectură #cultură #cohousing #romania #film #filmfestival
Картинка дня DevOps-инженера: подъем в 6 утра по тревоге, разборы полетов и раннеры GitLab CI
Эволюционируя из рядового сисадмина в DevOps-а, специалисты начинают заботиться о разработке. В среднем разработчики об инфраструктуре знают не очень много: вполне может добавить скрипт, который обрушит кластер. Поэтому наша задача как девопсов сделать систему максимально отказоустойчивой, автоматизировать рутину, выстроить процессы CI/CD, настроить мониторинг и вообще следовать подходу “Инфраструктура как код”. Но это в теории. На практике это возможно, только если в систему никто не вносит никаких изменений, а так не бывает. Поэтому жизнь DevOps - постоянный “День Радио” в отдельно взятой инфраструктуре. Врезка: “День Радио” — это фильм с сюжетом, что в прямом эфире вот-вот должен стартовать марафон, но за десять минут до начала выясняется, что заранее подготовленная тема перехвачена конкурентами. И начинается суета и множество сюжетных поворотов и проблем 🙂 Я поговорил с Дмитрием, тимлидом DevOps-команды в Git In Sky. Обсудили, как выглядит его типичный рабочий день и какие задачи стоят перед командой в условиях активно растущего рынка SRE-аутсорсинга.
https://habr.com/ru/articles/881470/
#devops #teamlead #arhitectura #gitlabci #sre #outsourcing #routine #monitoring #projects #cluster
Паттерн Unit of Work в разрезе чистой архитектуры DDD на языке Golang
Всем привет! Недавно мне выпала возможность разработать шаблон сервиса, который можно было бы использовать как для монолитной, так и для микро‑сервисной архитектуры. Шаблон должен был придерживаться принципов Domain‑Driven Design (DDD). В этом процессе, я столкнулся с двумя интересными проблемами: Проблема 1: Сложности обеспечения транзакционности базы данных При разработке сервисов, часто возникает неотъемлемая потребность в использовании транзакций базы данных для обеспечения целостности данных. Однако, при попытке интегрировать транзакционную логику в традиционные подходы, столкнулся с трудностями. Связывание транзакционной логики с логикой слоя базы данных оказалось нетривиальным и привело к нарушению принципов разделения ответственности. Это, в свою очередь, сказалось на тестировании и поддержке кода. Проблема 2: Нарушение изолированности слоя В попытке решить первую проблему, некоторые разработчики переносят работу с транзакциями на уровень слоя приложения, чтобы избежать прямой зависимости от базы данных. Однако, такой подход, несмотря на его обоснование, может нарушить изолированность слоев и противоречить принципам DDD и чистой архитектуры. Это, в конечном итоге, затрудняет поддержку приложения и усложняет его масштабирование. Эти две проблемы стали отправной точкой для исследования применения паттерна Unit of Work и его роли в обеспечении надежности и консистентности данных в контексте Golang и DDD. В статье я расскажу о своем подходе к решению этих задач.
https://habr.com/ru/articles/784186/
#ddd #unit_of_work #arhitectura #архитектура #архитектура_приложений #голанг #golang #hexagon #гексогональная_архитектура