Подборка материалов · Senior

109 статей для Senior Fullstack-разработчика: большая подборка

Инженерные разборы сложных приложений: архитектура, распределённые системы, SSR, высокая нагрузка, события, наблюдаемость, безопасность, платформы и технический долг.

109 статей · 10 тем · материалы на русском языке

Архитектура системы

  1. Верхнеуровневая архитектура фронтенда. Лекция Яндекса

    Чтобы принимать устойчивые архитектурные решения.

  2. Архитектура фронтенда и какой она должна быть

    Чтобы принимать устойчивые архитектурные решения.

  3. Domain-Driven Design: чистая архитектура снизу доверху

    Чтобы принимать устойчивые архитектурные решения.

  4. Как создать архитектуру фронтенд-приложения, если ее нет от слова «совсем»

    Чтобы принимать устойчивые архитектурные решения.

  5. Архитектура фронтенда, к которой мы пришли

    Чтобы принимать устойчивые архитектурные решения.

  6. Чистая архитектура фронтенд приложений. Часть первая

    Чтобы принимать устойчивые архитектурные решения.

  7. Итоги двадцати лет работы — технический долг и неподдерживаемый код

    Чтобы принимать устойчивые архитектурные решения.

  8. Технический долг захватил глобальную экономику

    Чтобы принимать устойчивые архитектурные решения.

  9. Как я пришел от architecture as code к живой архитектурной модели

    Чтобы принимать устойчивые архитектурные решения.

  10. Что будет, если скрестить конструирование компиляторов, DDD и Clean Architecture? Опыт HydraScript

    Чтобы принимать устойчивые архитектурные решения.

  11. Архитектура микросервисов

    Чтобы принимать устойчивые архитектурные решения.

  12. Когда технический долг и legacy-системы тянут CIO вниз

    Чтобы принимать устойчивые архитектурные решения.

Распределённость и границы приложений

  1. Микрофронтенды в hh.ru

    Чтобы разделять систему и контролировать связи сервисов.

  2. Микровселенная безумия, или Как устроены микрофронтенды в Dodo

    Чтобы разделять систему и контролировать связи сервисов.

  3. Микрофронтенды с Module Federation: истории внедрения в готовый проект и создания с нуля

    Чтобы разделять систему и контролировать связи сервисов.

  4. Микрофронтенды — универсальное решение всех проблем или просто удобный подход?

    Чтобы разделять систему и контролировать связи сервисов.

  5. Готовим микрофронтенды на чистом JS без фреймворков

    Чтобы разделять систему и контролировать связи сервисов.

  6. Гайд по микрофронтендам на single-spa, или Как уже наконец-то уйти от монолита во фронтенде

    Чтобы разделять систему и контролировать связи сервисов.

  7. Алгоритмы консенсуса Paxos, Raft и Zab в распределённых системах

    Чтобы разделять систему и контролировать связи сервисов.

  8. Во что обойдется линеаризуемость в распределенной системе

    Чтобы разделять систему и контролировать связи сервисов.

  9. Кот Шрёдингера без коробки: проблема консенсуса в распределённых системах

    Чтобы разделять систему и контролировать связи сервисов.

  10. Распределённая конференция о распределённых системах: анонс Hydra 2021

    Чтобы разделять систему и контролировать связи сервисов.

  11. Распределённые транзакции в микросервисах: от SAGA до Two‑Phase Commit

    Чтобы разделять систему и контролировать связи сервисов.

  12. О ключах идемпотентности

    Чтобы разделять систему и контролировать связи сервисов.

SSR, API и микросервисы

  1. Производительность фронтенда: большое приложение на реактивном SSR-топливе

    Чтобы ускорить первую загрузку и улучшить SEO.

  2. Масштабирование SSR-приложений

    Чтобы ускорить первую загрузку и улучшить SEO.

  3. CSR, SSG, SSR — про рендеринг приложений на примерах

    Чтобы ускорить первую загрузку и улучшить SEO.

  4. Утечки памяти в SSR: причины, поиск, устранение

    Чтобы ускорить первую загрузку и улучшить SEO.

  5. Собираем свою библиотеку для SSR на React. Роутинг

    Чтобы собирать интерфейс из переиспользуемых компонентов.

  6. Заметки теоретика. Платформенная инженерия: Как выбрать тип платформы для вашей компании?

    Чтобы ускорить первую загрузку и улучшить SEO.

  7. Разбираемся в проектировании микросервисов. Основные паттерны (Часть 1)

    Чтобы ускорить первую загрузку и улучшить SEO.

  8. Библиотека разработчика микросервисов. Полезные книги на русском языке

    Чтобы ускорить первую загрузку и улучшить SEO.

  9. Распутывание микросервисов или балансировка сложности в распределенных системах

    Чтобы ускорить первую загрузку и улучшить SEO.

  10. Как мы в ПСБ с монолита на микросервисы переходили: шаблоны, нюансы, чек-листы от команды системных аналитиков

    Чтобы ускорить первую загрузку и улучшить SEO.

  11. Что такое платформенная инженерия: как она связана с DevOps и SRE?

    Чтобы ускорить первую загрузку и улучшить SEO.

  12. Архитектурные антипаттерны в микросервисах и способы их избежания

    Чтобы ускорить первую загрузку и улучшить SEO.

Производительность и высокая нагрузка

  1. Управление памятью

    Чтобы выдерживать рост трафика и данных.

  2. Производительность веб-приложений в бизнесе

    Чтобы выдерживать рост трафика и данных.

  3. Оптимизация производительности фронтенда. Часть 1. Critical Render Path

    Чтобы выдерживать рост трафика и данных.

  4. Долг оптимизацией красен: как мы в МойОфис объединили борьбу с легаси и увеличение производительности таблиц

    Чтобы выдерживать рост трафика и данных.

  5. Производительность React‑приложений: от лишних ререндеров до виртуализации списков

    Чтобы собирать интерфейс из переиспользуемых компонентов.

  6. Используем JS Self-Profiling API для профилирования фронтенда на клиентах

    Чтобы выдерживать рост трафика и данных.

  7. Балансировка нагрузки и масштабирование долгоживущих соединений в Kubernetes

    Чтобы выдерживать рост трафика и данных.

  8. NSX Advanced Load Balancer – умный автомасштабируемый балансировщик нагрузки. Часть 1: архитектура и особенности

    Чтобы выдерживать рост трафика и данных.

  9. Первый HighLoad Cup: как мы это пережили

    Чтобы выдерживать рост трафика и данных.

  10. Введение в современную сетевую балансировку и проксирование

    Чтобы выдерживать рост трафика и данных.

  11. Балансировка нагрузки: проблемы, решения, практические рекомендации

    Чтобы выдерживать рост трафика и данных.

  12. Сравнение алгоритмов балансировки нагрузки: Round Robin vs. Least Connections vs. IP Hash

    Чтобы выдерживать рост трафика и данных.

Данные, очереди и события

  1. Целостность данных в микросервисной архитектуре — как её обеспечить без распределенных транзакций и жёсткой связности

    Чтобы обрабатывать задачи асинхронно и надёжно.

  2. Горизонтальное масштабирование базы данных. Репликация. Партицирование. Шардирование

    Чтобы обрабатывать задачи асинхронно и надёжно.

  3. Как правильно выбрать базу данных для разработки: понимание моделей репликации

    Чтобы обрабатывать задачи асинхронно и надёжно.

  4. Оптимизация реляционных баз данных без даунтайма на примере самой нагруженной БД в Badoo

    Чтобы обрабатывать задачи асинхронно и надёжно.

  5. Репликация в PostgreSQL: Write-Ahead Logging (WAL) и Logical Replication

    Чтобы обрабатывать задачи асинхронно и надёжно.

  6. CDC и логическая репликация для баз данных, реализованных на стеке open source-решений

    Чтобы обрабатывать задачи асинхронно и надёжно.

  7. Авторизация в Kafka: управление изменениями, когда у тебя тысячи клиентов и миллионы RPS

    Чтобы обрабатывать задачи асинхронно и надёжно.

  8. Как подключить Kafka UI к кластеру Kafka в DBaaS

    Чтобы обрабатывать задачи асинхронно и надёжно.

  9. Apache Kafka в гарантиях или как надежно доставить сообщение

    Чтобы обрабатывать задачи асинхронно и надёжно.

  10. Kafka для начинающих: работа с Kafka транзакциями на практике — когда они нужны, а когда только вредят?

    Чтобы обрабатывать задачи асинхронно и надёжно.

  11. Kafka для начинающих: Гарантии доставки на практике и идемпотентность

    Чтобы обрабатывать задачи асинхронно и надёжно.

  12. Микросервисы на основе событий с Kafka Streams и Spring Boot

    Чтобы обрабатывать задачи асинхронно и надёжно.

Наблюдаемость и эксплуатация

  1. Строим систему для мониторинга качества frontend-проектов

    Чтобы быстро находить причины сбоев.

  2. Как и зачем проводить интегральный мониторинг SSR-приложений

    Чтобы быстро находить причины сбоев.

  3. Сбор данных мониторинга из Frontend JS приложений используя Grafana Faro

    Чтобы быстро находить причины сбоев.

  4. Мониторинг и SLA на фронтенде: где брать метрики и как не высасывать из пальца SLI

    Чтобы быстро находить причины сбоев.

  5. SLO-Scout: AI для автоматического создания SLO и SLA в SRE

    Чтобы быстро находить причины сбоев.

  6. «Цель SRE — надёжная система». Обзор основных метрик SRE

    Чтобы быстро находить причины сбоев.

  7. Практические истории из наших SRE-будней. Часть 6

    Чтобы быстро находить причины сбоев.

  8. Как Лёха стал инженером по SRE: выдуманная история про невыдуманные проблемы

    Чтобы быстро находить причины сбоев.

  9. CNCF White Paper по observability: инструменты, виды, стратегии и проблемы

    Чтобы быстро находить причины сбоев.

  10. 6 практических историй из наших SRE-будней

    Чтобы быстро находить причины сбоев.

  11. Наблюдаемость сетевой инфраструктуры Kubernetes. Часть первая

    Чтобы быстро находить причины сбоев.

  12. Инцидент-менеджмент с нуля: практический гайд для растущих команд

    Чтобы быстро находить причины сбоев.

Безопасность и доступность

  1. Браузер на страже API-запросов: строим безопасное общение фронтенда с бэкендом

    Чтобы интерфейсом могли пользоваться все.

  2. Памятка и туториал по HTTP-заголовкам, связанным с безопасностью веб-приложений

    Чтобы интерфейсом могли пользоваться все.

  3. Веб-безопасность 201

    Чтобы интерфейсом могли пользоваться все.

  4. Веб-безопасность 202

    Чтобы интерфейсом могли пользоваться все.

  5. Frontend Security: о чем вы хотели бы забыть, но не сможете

    Чтобы интерфейсом могли пользоваться все.

  6. Подробная настройка Content Security Policy (CSP)

    Чтобы интерфейсом могли пользоваться все.

  7. Как работает безопасность, когда никто никому не доверяет — Zero Trust на пальцах

    Чтобы интерфейсом могли пользоваться все.

  8. От Threat Modeling до безопасности AWS: 50+ open-source инструментов для выстраивания безопасности DevOps

    Чтобы интерфейсом могли пользоваться все.

  9. Cloud Trust vs Zero Trust: стандарты безопасности в гибридном окружении

    Чтобы интерфейсом могли пользоваться все.

  10. Zero Trust для подрядного доступа: четыре слоя Identity, Device, Access и Monitoring

    Чтобы интерфейсом могли пользоваться все.

  11. Актуальные угрозы безопасности в Large Language Model Applications

    Чтобы интерфейсом могли пользоваться все.

  12. От защиты периметра к Zero Trust. Как NAC-системы обеспечивают защиту и контроль доступа в корпоративной сети

    Чтобы интерфейсом могли пользоваться все.

Платформа, сборка и доставка

  1. Разработка в монорепозитории. Доклад Яндекса

    Чтобы стандартизировать сборку и доставку приложений.

  2. Как мы сетапили монорепозиторий с SSR и SPA для Otus.ru

    Чтобы стандартизировать сборку и доставку приложений.

  3. Angular Libs как монорепозиторий: начало, настройка, работа с assets

    Чтобы стандартизировать сборку и доставку приложений.

  4. Angular Libs как монорепозиторий 2: tree shaking и сборка клонов

    Чтобы стандартизировать сборку и доставку приложений.

  5. Монорепозиторий с pnpm и typescript для фронтенда на React и бэкенда на Node.js

    Чтобы собирать интерфейс из переиспользуемых компонентов.

  6. Обзор операторов PostgreSQL для Kubernetes. Часть 1: наш выбор и опыт

    Чтобы стандартизировать сборку и доставку приложений.

  7. Как мы тестируем Kubernetes‑операторы в MWS Cloud Platform

    Чтобы стандартизировать сборку и доставку приложений.

  8. Внедрение Kubernetes-операторов в корпоративных средах

    Чтобы стандартизировать сборку и доставку приложений.

  9. DEVops: Разрабатываем свой Kubernetes оператор с кастомными ресурсами на Go

    Чтобы стандартизировать сборку и доставку приложений.

  10. Разработка Kubernetes оператора с Operator Framework

    Чтобы стандартизировать сборку и доставку приложений.

  11. Сказ о том, как мы Tarantool Kubernetes Operator писали

    Чтобы стандартизировать сборку и доставку приложений.

  12. Операторы в Kubernetes

    Чтобы стандартизировать сборку и доставку приложений.

Миграции, технический долг и ревью

  1. Миграция на Vue 3 начинается не с кода: как донести важность и подготовить проект

    Чтобы обновлять кодовую базу без поломок.

  2. Бесшовная миграция монолитного фронтенда для критически важного бизнес-продукта

    Чтобы обновлять кодовую базу без поломок.

  3. Typescript в hh.ru

    Чтобы находить ошибки типов до запуска.

  4. Как перенести на TypeScript большую кодовую базу React UI-компонентов

    Чтобы собирать интерфейс из переиспользуемых компонентов.

  5. Практики хорошего code review, или что такое code review за 15 минут. Доклад Никиты Соболева на DUMP в Казани

    Чтобы обновлять кодовую базу без поломок.

  6. Code Review – зачем и как использовать в команде?

    Чтобы обновлять кодовую базу без поломок.

  7. Code Review. 80 lvl

    Чтобы обновлять кодовую базу без поломок.

  8. Code review: почему мы до сих пор его используем и какие альтернативы?

    Чтобы обновлять кодовую базу без поломок.

  9. ADR (Architecture Decision Record) или Мы же теперь умные?

    Чтобы обновлять кодовую базу без поломок.

  10. Архитектурные решения в backend: 5 практических приёмов, которые помогают держать баланс

    Чтобы обновлять кодовую базу без поломок.

  11. Ловушка семантики и атрибутивных конструкций, или Почему architecture decision — это не архитектурное и не решение?

    Чтобы обновлять кодовую базу без поломок.

  12. Технический долг как тетрис

    Чтобы обновлять кодовую базу без поломок.

Техническое лидерство

  1. Что такое Загруженность команды: как использовать и для чего

    Чтобы улучшить совместную работу и развитие команды.

Все подборки для Fullstack-разработчика →