EN A curated and opinionated list of resources (English & Russian) for Backend developers that will help you orginize & structure your learning path and knowledge. Inspired by Awesome CTO.
RU Структурированный список ресурсов для изучения Backend разработки, который поможет систематизировать свои знания и составить план обучение. Основан на личном опыте и самостоятельном изучении данной области. Вдохновленно Awesome CTO.
На правах рекламы Если вы интересуетесь бекендом и хотите прокачать теоретическую базу, советую познакомится с курсом "Арихитектура Современных Веб-Приложений"
- Basics
- Computer Science
- Web Development & Networking
- Databases
- Security
- Architecture & Infrastracture
- Related links
- Books
- Developer Roadmap
- How to Become a Good Backend Engineer (Fundamentals)
- Learn to become a Backend Developer (2018)
- Advice for beginner backend engineers who just started their new jobs in software companies
- 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 (Конкурентность и параллелизм)
- What is Computer Science
- Map of Computer Science
- CS50 by Harvard. EN / RU
- Computer Science Crash Course
- How do computers read code?
- The Forgotten History of OOP
- Concurrency is not Parallelism
- Структуры данных для самых маленьких
- Алгоритмы и структуры данных. Подготовительный курс (весна 2016)
- ООП в картинках
- Многопроцессность, многопоточность, асинхронность в Python и не только. Что это и как работает?
- Конкурентность и Параллелизм. Просто о сложном
- 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)
- Web Development In 2021 - A Practical Guide
- What is TCP/IP?
- Hyper Text Transfer Protocol Crash Course - HTTP 1.0, 1.1, HTTP/2, HTTP/3
- HTTP Crash Course & Exploration
- TCP vs UDP Crash Course
- REST API concepts and examples
- 2 Hours NginX Crash Course Bonus Content
- JWT - JSON Web Token Crash Course (NodeJS & Postgres)
- Proxy vs Reverse Proxy Server Explained
- How HTTP/2 Works, Performance, Pros & Cons and More
- How DNS Works - Computerphile
- gRPC Crash Course - Modes, Examples, Pros & Cons and more
- Курс. Языки веб-программирования
- 6. Web-технологии. Протокол HTTP | Технострим
- Веб-разработка для начинающих 🚀 Как устроены веб-приложения? (Frontend/Backend)
- Архитектура Web Приложений / от простых до высоконагруженных
- Аутентификация в Веб-Приложениях 👨💻JWT и Сессии
- 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? (Что такое нормализация БД?)
- What is a Database?
- What is Database & SQL?
- SQL Tutorial - Full Database Course for Beginners
- Database Design Course - Learn how to design and plan a database for beginners
- Database Indexing Explained (with PostgreSQL)
- SQL vs NoSQL or MySQL vs MongoDB
- Introduction to NoSQL databases
- MongoDB Basics
- MongoDB for SQL Pros
- ACID
- 🔥Разбираем SQL на примере PostgreSQL — SELECT, JOIN, GROUP, HAVING, Coalesce и др.
- Курс "Использование баз данных" (2019)
- Курс "Базы данных. Лаборатория Tarantool" (2018)
- Руководство для начинающих: ACID и транзакции БД
- Как бы я сейчас объяснил молодому себе зачем существуют требования ACID для баз данных?
- Основы правил проектирования базы данных
- Нормализация отношений. Шесть нормальных форм
- 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? (Как хранить пароли/секреты в веб приложении?)
- 9. Securing Web Applications
- How does HTTPS work? What's a CA? What's a self-signed Certificate?
- Password Cracking - Computerphile
- Running an SQL Injection Attack - Computerphile
- How NOT to Store Passwords! - Computerphile
- Cracking Websites with Cross Site Scripting - Computerphile
- Cross-Site Scripting (XSS) Explained
- Why LocalStorage is Vulnerable to XSS (and cookies are too)
- Как работает HTTPS?
- Безопасность интернет-приложений (2020)
- Как хранить пароли и ключи в коде проектов? Всё о переменных окружения. Пример с Django
- SQL-инъекция. Оборона и нападение (часть 1)
- Что такое XSS-уязвимость и как тестировщику не пропустить ее
- 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?)
- Approaching Distributed Systems
- Scalable Web Architectures Concepts & Design
- How to Scale SQL and NoSQL Databases
- Scaling Your Web Application
- CAP Theorem in Distributed Systems
- How to Design a Web Application: Software Architecture 101
- Introduction to Microservices
- Microservice Architecture at Medium
- Mastering Chaos - A Netflix Guide to Microservices
- GOTO 2020 • When To Use Microservices (And When Not To!) • Sam Newman & Martin Fowler
- Modern Banking in 1500 Microservices
- Managing Data in Microservices
- What is DDD - Eric Evans - DDD Europe 2019
- The Clean Architecture
- Learn Docker in 12 Minutes 🐳
- Docker Tutorial for Beginners - A Full DevOps Course on How to Run Applications in Containers
- What is a Multitenancy Architecture and Why Is it becoming popular?
- The Twelve-Factor App
- Блог HighLoad
- Архитектура высоких нагрузок
- CAP-теорема простым, доступным языком
- Создание архитектуры программы или как проектировать табуретку
- Как получить и настроить LetsEncrypt SSL сертификат для сайта?
- Поднимаем Debian сервер для Python/Django — установка и настройка с нуля. Как настроить сервер?
- 🚀 Деплой Fullstack Приложения [Golang JS]. СI/CD, DigitalOcean, Github Actions
- Чистая архитектура
- Основы Docker. Большой практический выпуск
- Артём Антоненко «Domain Driven Design»
- Настраиваем авторизацию SSH по ключу в Linux / Unix
- 🚀Собираем масштабируемую архитектуру веб-приложения. Горизонтальное и вертикальное масштабирование
- Good enough engineering to start an Internet company
- The boring technology behind a one-person Internet company
- API as a product. How to sell your work when all you know is a back-end
- UML for beginners
- The other side of technical skill: domain knowledge and long-term vision
- Going from Developer to CTO
- What Truly Makes a Senior Developer
- Что стоит за простой загрузкой веб-странички в браузере
- 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 / "Микросервисы. Паттерны разработки и рефакторинга" Крис Ричардсон