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

@anothertechrock
Download Telegram
Вопрос с собеседования

Что такое Dependency inversion principle?

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

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

Что такое Dependency inversion principle?

Ответ:

Dependency inversion principle - принцип инверсии зависимостей.

Зависимости внутри системы строятся на основе абстракций. Модули верхнего уровня не зависят от модулей нижнего уровня. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

#interview
👎3👍1😁1
🔥27 октября в 20:00 мск — открытый вебинар в OTUS!

О чём вебинар?

Хотите заглянуть под капот TikTok, Netflix и Telegram? Разберём, как эти гиганты справляются с миллионами пользователей! Узнайте, как TikTok создаёт персональные рекомендации в реальном времени, Netflix обеспечивает бесперебойный стриминг через CDN и микросервисы, а Telegram молниеносно доставляет сообщения.

Что разберём:

- TikTok: алгоритмы рекомендаций и инфраструктура мгновенной доставки контента.
- Netflix: использование CDN и микросервисов для стриминга без сбоев.
- Telegram: очереди, репликация и хранение сообщений под высокой нагрузкой.
- Highload-паттерны: кэширование, шардирование и техники отказоустойчивости.

🎓 После вебинара вы:


- Разберётесь, как ведущие платформы выдерживают колоссальные нагрузки.
- Освоите ключевые подходы к кэшированию, шардированию и отказоустойчивости.

🔧 Присоединяйтесь, чтобы раскрыть секреты архитектур TikTok, Netflix и Telegram и прокачать свои навыки в Highload!

👉 Зарегистрироваться https://vk.cc/cQxOMO

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Конвертирует интерфейс класса в другой интерфейс, ожидаемый клиентом. Позволяет классам с разными интерфейсами работать вместе. О каком паттерне идёт речь?
Anonymous Quiz
2%
Строитель
84%
Адаптер
10%
Мост
4%
Компоновщик
🚩 Шаблон проектирования Singleton

🟣Подробное описание паттерна

Лучшие методы:
1. Декоратор
2. Базовый класс
3. Метакласс
4. Декоратор возвращает класс с тем же именем
5. Модуль

🗂 Код на Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4👌1
🔥 От разработчика до архитектора высоконагруженных систем — начните с вступительного теста! 🚀

Крупные проекты требуют Highload-мышления. Пройдите вступительное тестирование, проверьте уровень и получите скидку на курс «Highload Architect» от OTUS.

Вы научитесь:
- Проектировать масштабируемые системы, обрабатывающие миллионы запросов
- Оптимизировать производительность и строить отказоустойчивые архитектуры
- Работать с современными инструментами и технологиями highload-разработки
- Применять лучшие практики при проектировании серверных приложений

🗓 Старт курса Highload Architect

- Ближайший запуск — 29 декабря (места ограничены).
- Формат: онлайн-занятия, практика на реальных кейсах, проект с защитой и детальный фидбек.
- Чтобы попасть в поток со спецценой, пройдите вступительное тестирование до старта.

📌 Сделайте первый шаг сейчас: пройдите тест — зафиксируйте спеццену и убедитесь, что готовы к обучению. Подробности о скидке уточняйте у менеджера.

👉 Пройти вступительное тестирование: https://vk.cc/cRoMcW

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Этот паттерн гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему.
Anonymous Quiz
1%
Factory Method
0%
Adapter
0%
Template Method
2%
Strategy
97%
Singleton
🧩 Борьба с блокировками в PostgreSQL: как достичь высокой параллельности при большой нагрузке 🚀

🔥 2 декабря в 20:00 мск — открытый урок в OTUS.

📌 На вебинаре рассмотрим:
— Почему возникают блокировки и как они влияют на скорость работы базы данных
— Типы блокировок в PostgreSQL и их особенности на уровне транзакций и строк
— Как находить узкие места, анализировать ожидания и устранять deadlock-и
— Методы оптимизации запросов и транзакций для повышения параллельности
— Архитектурные приёмы и практики проектирования систем с высокой конкурентностью

🎓 После урока вы:
— Поймёте, как устроен механизм блокировок и научитесь управлять ими осознанно
— Научитесь диагностировать и устранять конфликты между транзакциями
— Получите набор практических решений по оптимизации PostgreSQL под нагрузкой
— Сможете спроектировать архитектуру, обеспечивающую высокую стабильность и масштабируемость

👉 Регистрация https://vk.cc/cREqlf

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔍 Что такое MVC?

MVC (Model-View-Controller) — это популярный архитектурный паттерн, который разделяет приложение на три компонента:

Model — отвечает за бизнес-логику и управление данными. Это сердце приложения, где происходит взаимодействие с базой данных, выполнение бизнес-правил и другие операции.

View — представляет собой интерфейс пользователя. Он отвечает за отображение данных и взаимодействие с пользователем, но не содержит бизнес-логики.

Controller — посредник между Model и View. Он получает запросы от пользователя, передает их Model и возвращает результаты во View.

💡 MVC позволяет четко разделить обязанности между компонентами, облегчая поддержку и масштабирование кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
💻 Асинхронная обработка данных в высоконагруженных системах 🚀

🔥 16 декабря в 20:00 мск — открытый урок в OTUS.

📌 На вебинаре вы узнаете:
— Как использовать асинхронную обработку данных для масштабирования сервисов
— Как работают очереди сообщений, веб-сокеты и другие инструменты асинхронного взаимодействия
— Как выглядит архитектура реального проекта: от веб-сервера до брокера сообщений и базы данных
— Какие узкие места чаще всего встречаются в асинхронных системах и как их устранять

🎓 После занятия вы:
— Разберётесь в принципах асинхронной архитектуры и её влиянии на производительность
— Научитесь применять асинхронные подходы
— Получите реальные примеры архитектурных решений

👉 Регистрация: https://vk.cc/cS8l2M

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

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

Шаблон Абстрактная фабрика относится к классу порождающих паттернов. Его основное назначение - предоставить интерфейс для создания семейства взаимосвязанных объектов, не указывая конкретные классы этих объектов.

Этот шаблон стоит использовать, если:
- ваша система должна быть независимой от способа создания новых объектов
- создаваемые объекты должны использоваться вместе и быть взаимосвязанными.

Классы абстрактной фабрики часто реализуются фабричными методами,
но могут быть реализованы и с помощью паттерна Prototype.

Смотреть реализацию
2