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

@anothertechrock
Download Telegram
🎓 Разработчики и архитекторы ПО, хотите расширить возможности своих систем и повысить их гибкость?

👨‍💻🛠👨🏻‍💻Присоединяйтесь к бесплатному вебинару курса «Highload Architect» и узнайте, как управлять данными из внешних источников с помощью Foreign-Data Wrappers (FDW) в PostgreSQL!

Вы научитесь подключаться к внешним базам данных, таким как MySQL и MongoDB, и работать с ними прямо в PostgreSQL, как с обычными таблицами.

🌐 В рамках вебинара вы:

- освоите практические приемы объединения данных из разных источников без сложных ETL-процессов
- узнаете, как настраивать FDW для интеграции с облачными хранилищами и Big Data
- получите ключевые советы по оптимизации производительности работы с внешними данными

Готовьтесь к запуску курса «Highload Architect». Все участники вебинара получат спеццену на обучение. Улучшите свои навыки и работайте с данными еще эффективнее!

🔴 Ссылка для регистрации

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Вопрос с собеседования

В чем разница между классом и структурой?

Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!

#interview
Вопрос с собеседования

В чем разница между классом и структурой?

Ответ:

Класс – это определенный пользователем чертеж, на основе которого создаются объекты. Он состоит из методов (набор инструкций), которые выполняются над объектами.

Структура – это определенная пользователем коллекция переменных. Структуры также являются различными типами данных.

#interview
🤮5
Научитесь проектировать отказоустойчивые хранилища для распределённых систем

Узнайте на открытом вебинаре, как минимизировать риски, настроить репликацию и автоматическое восстановление. Разберём актуальные практики с примерами на Cassandra, MongoDB и Ceph.

🔴 Регистрируйтесь на открытый вебинар «Обеспечение отказоустойчивости хранилищ» 10 декабря в 20:00 мск. Участникам — скидка на участие в курсе «Highload Architect»

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Какой паттерн инкапсулирует запрос в виде объекта, позволяя тем самым параметризовывать клиентов типом запроса, устанавливать очередность запросов, протоколировать их и поддерживать отмену выполнения операций?
Anonymous Quiz
34%
Chain of Responsibility (цепочка обязанностей)
23%
Composite (компоновщик)
38%
Command (команда)
6%
Посмотреть результаты
Ваши микросервисы тормозят? База данных перегружена? Решение есть — кэширование!

На открытом уроке «Кэширование в микросервисной архитектуре» мы разберём, как ускорить системы, сократить время отклика и снизить нагрузку. Вы узнаете про паттерны кэширования, типы кэшей и популярные инструменты вроде Redis и Memcached.

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

Спикер Сергей Прощаев — ведущий инженер-Java-разработчик в одной из крупнейших российских нефтяных и газодобывающих компаний.

🔴 Регистрируйтесь на вебинар 11 декабря в 20:00 мск! Урок пройдёт перед стартом курса «Microservice Architecture». Участники получат скидку на обучение

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🥱2
Какой паттерн предоставляет интерфейс для создания семейств, связанных между собой, или независимых объектов, конкретные классы которых неизвестны?
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