🚀 A curated and opinionated list of resources (English & Russian) for Backend developers | Структурированный список ресурсов для изучения Backend разработки
EN A curated and opinionated list of resources (English & Russian) for Backend developers that will help you orginize & structure your learning path and knowledges. Inspired by Awesome CTO.
RU Структурированный список ресурсов для изучения Backend разработки, который поможет систематизировать свои знания и составить план обучения. Основан на личном опыте и самостоятельном изучении данной области. Вдохновленно Awesome CTO.
На правах рекламы Если вы интересуетесь бекендом и хотите прокачать теоретическую базу, советую познакомится с курсом "Архитектура Современных Веб-Приложений"
Main topics | Основные темы |
---|---|
What is computer and how it works? | Что такое компьютер и как он работает? |
Why do we need programming languages? What types of programming languages are out there? | Зачем нужны языки программирования? Какие типы бывают? |
Algorithms & Data Structures | Алгоритмы и структуры данных |
OOP | Объектно ориентированное программирование |
Concurrency & Parallelism | Конкурентность и параллелизм |
Main topics | Основные темы |
---|---|
What is client-server architecture and HTTP? | Что такое клиент-серверная архитектура и HTTP? |
What is TCP/IP? | Что такое стек TCP/IP? |
What is DNS? | Что такое DNS? |
How authorization & authentication works? What is JWT? | Как работает авторизация и аутентификация? Что такое JWT? |
Proxy & Reverse Proxy | Прокси и обратный прокси |
Web servers. Nginx. | Веб-сервер. Nginx |
REST API Design Principles | Принципы проектирования REST API |
Main topics | Основные темы |
---|---|
What are database and DBMS? | Что такое база данных и СУБД? |
What is a relational database? What is SQL? | Что такое реляционная БД и SQL? |
What are indexes & transactions? | Что такое индексы и транзакции? |
What are ACID properties? Which Isolation levels are out there? | Что такое свойства ACID? Какие есть уровни изоляции транзакций? |
What are NoSQL Databases? What are the differences between NoSQL & SQL? | Что такое NoSQL? Какие различия между NoSQL и SQL? |
What is databases normalization? | Что такое нормализация БД? |
Main topics | Основные темы |
---|---|
What is HTTPS and how does it work? | Что такое HTTPS и как он работает? |
What are main types of attacks and vulnurabilities in web applications? | Какие существуют основные типы атак и уязвимостей в веб-приложениях? |
What is SQL Injection? How to prevent it? | Что такое SQL инъекция? Как ее предотвратить? |
What is XSS Attack? How to prevent it? | Что такое XSS атака? Как ее предотвратить? |
How to store passwords/secrets in web app? | Как хранить пароли/секреты в веб приложении? |
Main topics | Основные темы |
---|---|
What are distributed systems? | Что такое распределеные системы? |
What is scaling? Horizontal vs Vertical scaling? How to scale web apps and databases? | Что такое масштабирование? Горизонтальное vs Вертикальное масштабирование? Как масштабировать веб-приложения и базы данных? |
What is CAP Theorem? What are CP and AP systems? | Что такое CAP теорема? Как выглядят CP и AP системы? |
What are Microservices? What patterns do they use? How to design microservices architecture? | Что такое микросервисы? Какие паттерны они используют? Как их проектировать? |
What is Event-Driven Architecture? | Что такое Event-Driven архитектура? |
What is Clean Architecture? How to implement it using your programming language / framework? | Что такое Чистая Архитектура? Как имплеменировать ее в вашем ЯП / фреймворке? |
How to deploy web applications? What is VPS? What is SSH? | Как развертывать веб-приложения? Что такое VPS? Что такое SSH? |
What is Docker? Why do we need it? | Что такое Docker? Зачем он нужен? |
What are cloud providers? How do you use them? | Что такое клауд провайдеры и зачем они нужны? |
How to automize testing & deployment? What is CI/CD? How to implement it? | Как автоматизировать тестирование и деплоймент? Что такое CI/CD и как его настроить? |
What is SSL Certificate? How to set it up for your web app? | Что такое SSL сертификат? Как его настроить? |
What is Kubernetes? When should you use it? | Что такое и зачем нужен Kubernetes? |
What is DDD? | Что такое Domain Driven Design? |
📚 | 📚 |
---|---|
Grokking Algorithms | Грокаем Алгоритмы |
"Clean Code" by Robert Martin | "Чистый Код" Роберт Мартин |
"Clean Architecture" by Robert Martin | "Чистая Архитектура" Роберт Мартин |
"Professional Software Development" by Steve McConnel | “Профессиональная Разработка ПО” Стив Макконел |
"Building Microservices" by Sam Newman | "Создание Микросервисов" Сэм Ньюман |
"Microservices Patterns" by Chris Richardson | "Микросервисы. Паттерны разработки и рефакторинга" Крис Ричардсон |