Всем доброго времени суток! Удивительно, но упоминание о шаблоне "Спецификация" в контексте php встречается крайне редко. А ведь с его помощью можно не только избежать комбинаторного взрыва методов репозитория, но и улучшить переиспользование кода. Я же в свою очередь хотел бы остановиться на еще одной возможности, предоставляемой данным паттерном. С ее помощью можно решить проблему, которая возникает почти в каждом веб-приложении. И лично мне очень не хватало этого знания еще пару лет назад.
Рубрика «architecture» - 3
Пара слов о спецификациях
2021-01-30 в 17:02, admin, рубрики: architecture, doctrine, Doctrine ORM, pattern, php, Specification, symfony, usabilityВначале был монолит: как мы меняем нашу архитектуру, не мешая бизнесу
2020-09-18 в 12:52, admin, рубрики: architecture, dctech, Delivery Club, engineering culture, Microservices, monolith, platform, techradar, Анализ и проектирование систем, Блог компании Delivery Club Tech, микросервисы, Разработка под e-commerce, Управление e-commerce
Всем привет! Меня зовут Игорь Наразин, я тим-лид команды в направлении логистики Delivery Club. Хочу рассказать, как мы строим и трансформируем нашу архитектуру и как это влияет на наши процессы в разработке.
Сейчас Delivery Club (как и весь рынок фудтеха) растёт очень быстро, что порождает огромное количество вызовов для технической команды, которые можно обобщить двумя самыми важными критериями:
- Нужно обеспечивать высокую стабильность и доступность всех частей платформы.
- Одновременно с этим держать высокий темп разработки новых фич.
Кажется, что эти две проблемы взаимоисключающие: мы либо трансформируем платформу, стараясь вносить новые изменения по минимуму, пока не закончим, либо быстро разрабатываем новые фичи без кардинальных изменений в системе.
Но нам удаётся (пока) и то, и другое. О том, как мы это делаем, и пойдет речь далее.
Читать полностью »
Архитектура современных корпоративных Node.js-приложений
2020-08-11 в 10:55, admin, рубрики: architecture, backend, javascript, node.js, ssr, Блог компании Яндекс, Блог компании Яндекс.Деньги, Разработка веб-сайтовОх, не зря в названии намёк на нетленку Фаулера. И когда фронтенд-приложения успели стать настолько сложными, что мы начали рассуждать о высоких материях? Node.js… фронтенд… погодите, но Нода же на сервере, это бэкенд, а там ребята и так всё знают!

Давайте по порядку. И сразу небольшой дисклеймер: статья написана по мотивам моего выступления на Я.Субботнике Pro для фронтенд-разработчиков. Если вы занимаетесь бэкендом, то, возможно, ничего нового для себя не откроете. Здесь я попробую обобщить свой опыт фронтендера в крупном энтерпрайзе, объяснить, почему и как мы используем Node.js.
Читать полностью »
Clean Architecture глазами Python-разработчика
2020-03-27 в 10:12, admin, рубрики: architecture, clean architecture, clean code, design patterns, mvc, patterns, python, Блог компании Exness, Программирование, Проектирование и рефакторинг, Разработка веб-сайтовПривет! Меня зовут Евгений, я Python-разработчик. Последние полтора года наша команда стала активно применять принципы Clean Architecture, уходя от классической модели MVC. И сегодня я расскажу о том, как мы к этому пришли, что нам это дает, и почему прямой перенос подходов из других ЯП не всегда является хорошим решением.
Service Discovery в распределенных системах на примере Consul. Александр Сигачев
2020-02-10 в 7:26, admin, рубрики: architecture, consul, devops, discovery, distributed computing, kv storages, Microservices, scalability, service discovery, архитектура, децентрализованные сети, микросервисы, проектирование, распределенные системыПредлагаю ознакомиться с расшифровкой доклада Александра Сигачева Service Discovery в распределенных системах на примере Consul.
Service Discovery создан для того, чтобы с минимальными затратами можно подключить новое приложение в уже существующее наше окружение. Используя Service Discovery, мы можем максимально разделить либо контейнер в виде докера, либо виртуальный сервис от того окружения, в котором он запущен.
Sealed classes. Semantics vs performance
2019-12-25 в 8:14, admin, рубрики: architecture, kotlin, performance, sealed, Программирование, Проектирование и рефакторингНаверное, не я один после прочтения документации о sealed классах подумал: «Ладно. Может быть это когда-нибудь пригодится». Позже, когда в работе я встретил пару задач, где удалось успешно применить этот инструмент, я подумал: «Недурно. Стоит чаще задумываться о применении». И, наконец, я наткнулся на описание класса задач в книге Effective Java (Joshua Bloch, 3rd) (да-да, в книге о Java).
Давайте рассмотрим один из вариантов применения и оценим его с точки зрения семантики и производительности.

Что внутри шаурмы: микросервисы, распределенные системы и Кафка. Делимся материалами со встречи Backend United #5
2019-12-12 в 13:41, admin, рубрики: architecture, backend, databus, meetup, Microservices, RPC, микросервисы, Серверное администрированиеПривет! Этот пост-отчёт с митапа Backend United, нашей серии тематических встреч для разрабочиков серверной части. Пятая встреча получила название «Шаурма», и здесь мы говорили о микросервисах: о способах синхронного и асинхронного взаимодействия между ними, организации потоков данных и роли Кафки в микросервисной архитектуре.
Заходите под кат, если вам интересны эти темы. Внутри поста — все материалы встречи: видеозаписи докладов, презентации спикеров, отзывы гостей митапа и ссылки на фотоотчёт.

Backend United #5: Шаурма — микросервисы, распределенные системы и Кафка
2019-11-27 в 14:30, admin, рубрики: architecture, backend, databus, meetup, Microservices, RPC, микросервисы, Серверное администрированиеПривет! 7 декабря в офисе Авито пройдёт пятый митап в серии Backend United, получивший название «Шаурма». Эта встреча ориентирована на архитекторов и на разработчиков.
О чём хотим поговорить? Многие компании рано или поздно переезжают с монолита на микросервисы. Помимо очевидных плюсов такое решение обычно приводит к усложнению взаимодействия между разными частями системы и другим проблемам. На митапе мы поделимся реальным опытом переезда на микросервисы, расскажем о способах синхронного и асинхронного общения в распределенных системах и обсудим роль Кафки в микросервисной архитектуре.
С докладами выступят инженеры из Авито, OZON.travel и Severstal Digital. Встреча начнётся в 12:00. Регистрируйтесь сами и приглашайте коллег. Под катом — тезисы выступлений, ссылки на регистрацию и видеотрансляцию митапа.

Moscow Node.js Meetup 10: Архитектура Node.js-приложений, Hot Reload в Node.js и секретный доклад
2019-11-09 в 1:03, admin, рубрики: architecture, backend, community, Conference, fullstack, javascript, meetup, node.js, nodejsДрузья, это становится доброй традицией. Мы не встречались почти 11 месяцев – прошлая наша встреча была накануне Нового года и у самого Кремля. А в этом году Node.js исполнилось 10 лет, а это значит время провести юбилейный 10-й митап Msocow Node.js Meetup!
В то время, как наш чат в Telegram ( t.me/nodejs_ru ), посвященный разработке на Node.js уже перерос 5 000 (пять тысяч!) участников, всё больше компаний, как международных, так и российских, продолжают успешно разрабатывать решения на базе Node.js, наращивать экспертизу на production-проектах.
Крупные корпорации, банки, финансовые сервисы, e-Commerce, клиентские сервисы – все здесь. Масштаб и спектр задач, которые успешно решаются с помощью Node.js продолжает расти, а новые вызовы продолжают подогревать нам не только мозги!
Эта встреча станет ещё более интересной и на этот раз пройдет при сильной поддержки от команды Leroy Merlin, известной своими развитыми архитектурными практиками и решениями в Node.js.
Совсем недавно вышла уже счастливая 13-я версия, а 12-я “улетела” в LTS. Что это значит? Поговорим при встрече.;) А заодно обсудим, что произошло у каждого из нас за год – у кого-какие успехи, боли, челленджи, а затем копнем проблему создания единой архитектуры приложения, способы её решения, посмотрим на проблемы изолированных площадок и hot-reloading модулей в Node.js.
КОГДА: 20 ноября 2019, 19:00
ГДЕ: Москва, Шаболовка, в офисе компании Leroy Merlin.
ПРОГРАММА:
Читать полностью »
Архитектура EBA aka реактивность на всю катушку
2019-11-06 в 9:48, admin, рубрики: android, architecture, EBA, kotlin, tinkoff, Блог компании Tinkoff.ru, разработка мобильных приложений, Разработка под androidЯ пришел в Tinkoff пару лет назад, на новый проект Клиенты и проекты, который тогда только запускался.
Сейчас уже не помню своих ощущений от новой тогда для меня архитектуры. Но точно помню: было непривычно, что Rx используется еще где-то, за пределами обычных походов в сеть и в базу. Сейчас, когда эта архитектура уже прошла некоторый эволюционный путь развития, хочется наконец рассказать о том, что было и к чему пришло.

По моему мнению, все популярные ныне архитектуры — MVP, MVVM и даже MVI — уже давно на арене и не всегда заслуженно. Разве у них нет недостатков? Я вижу их немало. Мы у себя решили, что хватит это терпеть, и (пере)изобрели новую, максимально асинхронную архитектуру.

