Pattern Guru. Шаблоны проектирования. Архитектура ПО
5.85K subscribers
216 photos
3 videos
124 links
Патерны программирования.
Архитектура ПО.
Микросервисы

@anothertechrock
Download Telegram
Какой паттерн предоставляет интерфейс для создания семейств, связанных между собой, или независимых объектов, конкретные классы которых неизвестны?
Anonymous Quiz
21%
Bridge (мост)
72%
Abstract Factory (абстрактная фабрика)
6%
Decorator (декоратор)
1%
Посмотреть результаты
Обработка исключений и SOLID

Присоединяйтесь к нашему открытому уроку и погрузитесь в основы обработки исключений и SOLID

🚀На вебинаре вы узнаете:

1. Как реализовать обработку исключений в соответствии с принципами SOLID

2. Как избежать распространения ошибок при обработке исключений

3. Как минимизировать подверженность программного кода изменениям

Практика: На этом вебинаре мы разберём, как грамотно организовать включение исключений в программном коде, следуя принципам SOLID. Вы научитесь писать код, который не только легко поддерживается, но и который надежно обрабатывает ошибки, минимизируя их влияние на работу системы.

👉 Регистрация и подробности о курсе «Архитектура и шаблоны проектирования»

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍2👾1
Какой паттерн предоставляет унифицированный интерфейс к множеству интерфейсов в некоторой подсистеме и определяет интерфейс более высокого уровня, облегчающий работу с подсистемой?
Anonymous Quiz
5%
Builder (строитель)
12%
Composite (компоновщик)
81%
Facade (фасад)
2%
Посмотреть результаты
⁉️ Хотите, чтобы ваши Java-приложения выдерживали любые нагрузки и были стабильны в любой ситуации?
Научитесь этому на бесплатном открытом уроке с использованием Resilience4j!

В мире высоких нагрузок и распределенных систем стабильность — это ключ к успеху.

🗓 На уроке 19 декабря в 20:00 мск мы разберем фреймворк Resilience4j и покажем, как повысить отказоустойчивость ваших приложений.

🦾 Уверенные навыки работы с Resilience4j сделают вас востребованным специалистом, который способен справляться с реальными вызовами. Добавьте этот мощный инструмент в свой профессиональный стек.

Спикер Сергей Петрелевич — опытный разработчик на Java и Kotlin.

🔗 Регистрируйтесь на вебинар

Все участники вебинара получат скидку на курс «Java Developer. Professional».

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Топ-9 паттернов для обмена данными и взаимодействия между компонентами/сервисами в распределенных системах

🔹 Peer-to-Peer
🔹 API Gateway
🔹 Pub-Sub
🔹 Request-Response
🔹 Event Sourcing
🔹 ETL
🔹 Batching
🔹 Streaming Processing
🔹 Orchestration

👉 Источник

#инфографика
👍5🤬1
⚙️ Открытый урок «Механизмы выбора лидера кластера. Алгоритм Raft и etcd. Реализуем свой распределённый фреймворк управления задачами с etcd»

🗓 11 февраля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Highload Architect» от Otus.

На вебинаре вы узнаете:
✔️ Как работает алгоритм Raft, обеспечивающий согласованность данных и надёжный выбор лидера в кластере.
✔️ Основы использования etcd для хранения состояния и управления конфигурациями в распределённых системах.
✔️ Создание своего распределённого фреймворка управления задачами: от проектирования архитектуры до реализации ключевых функций.
✔️ Лучшие практики и рекомендации для интеграции etcd в архитектуру современных приложений.

🔗 Ссылка на регистрацию

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
🤪1
⚙️ Открытый урок «Паттерны системы декомпозиции на микросервисах — как проектировать масштабируемую архитектуру»

🗓 19 февраля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Highload Architect» от Otus.

На вебинаре вы узнаете:
➡️ Как определить границы микросервисов, чтобы добиться высокой автономности, масштабируемости и минимизировать взаимозависимость.
➡️ Основные шаблоны декомпозиции: по бизнес-контекстам, данным, функциональности и пользовательским потокам.
➡️ Особенности взаимодействия между микросервисами: синхронные и асинхронные коммуникации, события и CQRS.
➡️ Подходы к обеспечению согласованности данных и распределенных транзакций в микросервисной архитектуре.
➡️ Как выбрать и внедрить закономерности декомпозиции с учетом бизнес-целей, нагрузки и собственной системы.

🔗 Ссылка на регистрацию: https://vk.cc/cIw2FG

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
⚛️ 6 самых важных шаблонов проектирования в React

Правильное использование паттернов проектирования — ключ к созданию надежных, эффективных и масштабируемых React-приложений. Рассказываем о шаблонах, которые стоит освоить в первую очередь.

👉 Читать статью
👉 Зеркало
🤡1
💣 Большая сила - большая ответственность.
А ты справишься с тестом по HighLoad?

🏆 Пройди тест из 29 вопросов, проверь свой уровень знаний и получи скидку на онлайн-курс «Highload Architect» от OTUS!

Если успешно пройдешь тест, сможешь забронировать место в группе по выгодной цене! И еще дарим промокод HIGHLOAD_5

🎫 Курс можно приобрести в рассрочку

🔴 Пройти тест и забрать скидку

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👎2
🔥 6 архитектурных паттернов: на заметку разработчику

☑️ Layered
☑️ Microservices
☑️ Event-Driven
☑️ Client-Server
☑️ Plugin-based
☑️ Hexagonal

👉 Источник
👍7
📚 Топ-10 книг для разраба

◾️ Общие рекомендации
▫️ The Pragmatic Programmer, Andrew Hunt и David Thomas
▫️ Code Complete, Steve McConnell

◾️ Разработка
▫️ Clean Code, Robert C. Martin
▫️ Refactoring, Martin Fowler

◾️ Архитектура
▫️ Designing Data-Intensive Applications, Martin Kleppmann
▫️ System Design Interview, Alex Xu

◾️ Паттерны проектирования
▫️ Design Patterns, Eric Gamma и другие
▫️ Domain-Driven Design, Eric Evans

◾️ Структуры данных и алгоритмы
▫️ Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, и Clifford Stein
▫️ Cracking the Coding Interview, Gayle Laakmann McDowell

В комментарии кидайте свою любимую книгу, которая повлияла на вас как на разработчика👇

🔗 Источник
👍3
Паттерны

В одном репозитории собрано 111 паттернов проектирования. На данный момент это самый популярный репозиторий на языке Java, у него почти 50k звёзд.

Для каждого паттерна есть подробное описание и примеры реализации на Java: https://github.com/iluwatar/java-design-patterns

#паттерны #java
🚀Как построить отказоустойчивый и надежный кластер с RabbitMQ ?

🔥26 марта в 20.00 (мск) приглашаем на открытый вебинар “Отказоустойчивый и высокодоступный кластер RabbitMQ”, на котором разберем:

✔️запуск и настройку кластера с Quorum Queues, Mirrored Queues (синхронная репликация), синхронизация очередей
✔️dead letter queue, настройки duralibility
✔️баланс при отправке: настройки гарантий для Producer
✔️asynchronous cluster-to-cluster message routing - exchange federation and shovels

🎁Все участники получат шаблон, который позволит быстро запустить и настроить кластер RabbitMQ

Присоединяйтесь и делайте свои сервисы надежными и масштабируемыми!

👉 Регистрируйтесь по ссылке

Бесплатное занятие приурочено к старту курса Highload Architect, обучение на котором позволит освоить решения, которые выдерживают большое количество запросов в секунду и правильно оптимизировать работоспособность серверов.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍2👎1
Шаблоны проектирования простым языком

В этой серии статей читайте о разных видах паттернов. Каждый паттерн объясняется простыми словами, приводится пример из жизни, кейсы для уместного использования и, конечно, код.

Порождающие: https://tprg.ru/patterns-1
Структурные: https://tprg.ru/patterns-2
Поведенческие: https://tprg.ru/patterns-3

#паттерны
Transaction Outbox: как избежать потери данных в распределённых системах

В распределённых системах потеря данных — это не редкость. Как гарантировать целостность информации и обеспечить надёжную передачу сообщений? Transaction Outbox — шаблон, который решает проблему согласованности данных.

📅 7 апреля в 20:00 (мск)

🎓 Открытый вебинар с Олегом Мифле

💡 Что разберём?

Проблемы согласованности данных в распределённых системах
Как работает Transaction Outbox
Как связать локальные базы данных с брокерами сообщений (Kafka, RabbitMQ)
Реальные примеры внедрения шаблона в микросервисную архитектуру

🎯 Что получите?

✔️ Понимание принципов согласованности данных в распределённых системах
✔️ Практические навыки работы с Transaction Outbox
✔️ Готовые решения для построения надёжной микросервисной архитектуры

👉 Регистрация

Занятие приурочено к старту курса Highload Architect, обучение на котором позволит освоить решения, которые выдерживают большое количество запросов в секунду и правильно оптимизировать работоспособность серверов.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
This media is not supported in your browser
VIEW IN TELEGRAM
Паттерны ООП — это методики, позволяющие эффективно решать определенные проблемы в определенных ситуациях

В этой статье разобрали паттерн, называемый «Хранитель». Он позволяет определять, сохранять и восстанавливать предыдущие состояния объектов без нарушения принципа инкапсуляции:

https://tprg.ru/Ep8H

#ооп #паттерны
1👌1
🛠 Patroni + PostgreSQL: как обеспечить высокую доступность?

Когда база данных — это сердце системы, её отказ может стоить дорого. Как сделать PostgreSQL отказоустойчивым и управляемым? Решение есть — Patroni!

📅 14 апреля в 20:00 (мск)
🎓 Открытый вебинар с Сергеем Кирьяковым

💡 Что разберём?
Как работает Patroni и зачем он нужен для PostgreSQL
Основные компоненты и архитектуру Patroni
Как правильно настроить и конфигурировать Patroni
Практические примеры управления кластером PostgreSQL
Оптимизация, мониторинг и лучшие практики работы

🎯 Что получите?
✔️ Понимание работы Patroni и его роли в HA-кластерах PostgreSQL
✔️ Готовые практические решения по настройке и оптимизации
✔️ Навыки мониторинга и управления отказоустойчивыми базами

Присоединяйтесь и узнайте, как обеспечить PostgreSQL надёжностью!

👉 Регистрируйтесь по ссылке

Бесплатное занятие приурочено к старту курса Highload Architect, обучение на котором позволит освоить решения, которые выдерживают большое количество запросов в секунду и правильно оптимизировать работоспособность серверов.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Что почитать на выходных: «Паттерны программирования игр» Роберта Нистрема

Автор — программист из Electronic Arts. В своей книге он собрал действенные советы про разрастание кода, оптимизацию и построение надёжной архитектуры.

Каждая глава — набор эффективных паттернов программирования. И их можно использовать как в готовом виде, так и улучшать/комбинировать на свой лад для собственной игры.

#gamedev #книги
💩1
#вопрос_для_самопроверки

Паттерн ___ предоставляет интерфейс для создания семейств, связанных между собой, или независимых объектов, конкретные классы которых неизвестны.
Anonymous Quiz
15%
Bridge (мост)
10%
Builder (строитель)
74%
Abstract Factory (абстрактная фабрика)
1%
Посмотреть результаты
👌31
Это точно поможет тебе в проектировании API

Если ты только начинаешь, советую стартовать с этого интерактивного роадмапа: Он удобен и на каждом этапе содержит ссылки для изучения подтем.

6 самых популярных стилей архитектуры API: которые вам нужно знать (с плюсами, минусами и примерами использования)

Проектирование REST API: спорные вопросы с проектов и собеседований на системного аналитика (и не только)

Руководство по проектированию сетевых API от Google: Его использовали внутри компании с 2014 года, и оно служит основой при разработке облачных и других API.

— Книга «Паттерны проектирования API: Сотрудник того же Google Джей Гивакс рассказывает о том, как в компании создают масштабируемые и гибкие сервисы. Вы узнаете, как улучшить дизайн самых распространённых API и как действовать в сложных пограничных случаях. Сопровождается иллюстрациями и примеры кода.

С вас лойс 👍

#api
This media is not supported in your browser
VIEW IN TELEGRAM
🔥8😁2👍1