Рубрика «архитектура приложений»

Привет, меня зовут Андрей, и я написал книгу.

Нет, не о синтаксисе и не про очередной набор «лучших практик».
А о том, что часто остаётся за кадром — в рефлексии, в мыслях после проектов, в спорах между «пишем быстро» и «делаем правильно».

О чём книга?

«Мышление за пределами кода» — это не про строчки кода, это про подходы.
Про то, как разработчики думаютошибаютсярешаютупрощают, спорят, передумывают и в итоге двигаются дальше.

Это книга об архитектурном мышлении, принятии решений в условиях неопределённости и поиске смысла за пределами таск-трекера.

Читать полностью »

Несколько лет назад я начал всё больше разбираться в том, как проектируются большие и сложные IT-системы. Ещё и такие, которые выдерживают огромные нагрузки: обрабатывают запросы миллионов пользователей каждый день, гоняют петабайты данных ежемесячно и всё такое. YouTube, TikTok, Google Docs и т.п.

А в последнее время и по работе чаще стало необходимо погружаться в архитектурные обсуждения. Интересно ещё и то, что в крупных IT-компаниях всё чаще наблюдается тренд на проведение так называемых System Design Interview. Это по сути архитектурное собеседование для специалистов с серьёзным уровнем.

Читать полностью »

Мы долгие годы писали сервисы, исходя из каких-то своих внутренних ощущений правильности их написания. Но синхронизироваться по хорошим практикам в разных командах бывает довольно сложно и часто хорошие практики не выходили за рамки одной команды, а такого хотелось бы избежать. Поэтому мы решили объединить все хорошие по нашему мнению практики в единый справочник. Этот справочник получил название «Архитектурный гайд». Про него и поговорим в данной статье.

Читать полностью »

Документация на личном опыте: диаграммы и документы, чтобы не нужно было лазить в код

Это я на Российском Венчурном Форуме в 2024

Это я на Российском Венчурном Форуме в 2024

Привет, меня зовут Михаил Пискунов, и я уже более 15 лет работаю в области разработки проектов и системной аналитики.

Читать полностью »

Привет, коллеги! Меня зовут Санжар, я бэкенд-разработчик с опытом в настройке серверной инфраструктуры и контейнеризации для средних проектов. Сегодня хочу поделиться схемой архитектуры, которую я часто использую в своих проектах. Это не руководство к действию и не утверждение, что так нужно делать. Скорее, это возможность для меня получить обратную связь и узнать, как сделать лучше. Так что прошу вас, пишите свои идеи и советы в комментариях — это очень важно для меня. 🙂

Основная идея

Читать полностью »

Предисловие

За свою карьеру я встречал достаточно много проектов, крупных и малых, которые страдали от огромной и запутанной кодовой базы с высоким уровнем зацепления и малой связностью, непонятной структурой, в которую весьма сложно погрузиться (на онбродинг нового сотрудника может уходить до трех месяцев) и большим количеством непонятных и громоздких компонентов, которые являются god object'ами. Стоит ли говорить, что у таких проектов имеются большие проблемы с поддержкой и развитием.

Читать полностью »

Конвейеризация: универсальный способ повышения пропускной способности - 1

Что общего между стиральной машиной, CPU и микросервисами? Все они выигрывают от «конвейеризации» (англ. pipelining).

Читать полностью »

Профессиональные решения против простых решений, приносящих результат

Профессиональные решения против простых решений, приносящих результат

Читать полностью »

Краткая цель статьи — сделать потоки данных проще, более тестируемыми и управляемыми с DTO и Runtime Model структурой.

Эта статья — набор мыслей и экспрессии опыта моего текущего видения этой проблемы, как комбинации опыта от работы над проектами и может быть, переизобретение колеса:) Но, в то же время, я хотел бы поделиться этими мыслями — и, надеюсь, вдохновить и посмотреть на структуры данных.

Концепт использует немного функционала Entities, описанных Robert C. Martin (Uncle Bob) в Clean Architecture, также Читать полностью »

Керниган и Пайк были правы: делай что-то одно и делай это хорошо - 1

Роб Пайк и Брайан Керниган

В октябре 1984 года два идеолога опубликовали радикальный манифест… ну, или что-то вроде того.

Легенды computer science Брайан Керниган и Роб Пайк сформулировали в Program Design in the UNIX Environment паттерн архитектуры ПО, за сохранение которого оба боролись долгие годы.

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

Старые программы покрываются коркой сомнительных фич.

Суть статьи часто сводят к аббревиатуре DOTADIW, или «Do One Thing And Do It Well» («Делайте что-то одно и делайте это хорошо»). В Unix и его потомках есть множество программ, в которых воплощена эта мантра: ls просто создаёт список файлов, cat просто выводит содержимое файлов, grep просто фильтрует данные, wc просто подсчитывает слова и так далее. У каждой программы есть несколько опций, меняющих её поведение, но не слишком сильно. Например: wc можно сконфигурировать для подсчёта строк или слов, но не для подсчёта количества абзацев или вхождений какой-то фразы.

Мощь Unix, защищаемая Керниганом и Пайком, заключалась в возможности соединения этих простых программ в цепочку для создания сложных поведений. Зачем добавлять сопоставление регулярных выражений в wc, если с этим уже способна справиться grep?Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js