8.5 KiB
Backend cheats
Данный репозиторий представляет собой наглядную шпаргалку по основным темам в области Backend-разработки. Весь материал разбит на темы и подтемы. Структура материала состоит из 3 частей:
- Визуальная часть - различные изображения/таблицы для лучшего понимания (может отсутствовать). Все рисунки и таблицы сделаны с нуля, специально для этого репозитория.
- Краткое описание - очень краткая выжимка информации, позволяющая понять лишь основную суть.
- Ссылки на источники - ресурсы с полной информацией по конкретному вопросу. По возможности мы стараемся указывать максимально авторитетные источники, либо же те, которые предоставляют информацию максимально простым и понятным языком.
Содержание
Сеть и интернет
Интернет - это всемирная система объединяющая компьютерные сети со всего мира в единую сеть для хранения/передачи информации. К началу 2020 года количество пользователей в сети Интернет перевалило за 4.5 млрд человек.
Интернет — Википедия (wikipedia.org)
История Интернета — Википедия (wikipedia.org)
-
Как устроен Интернет
Ваш компьютер никогда не был связан с Интернетом напрямую. Вместо этого, он видит только свою локальную сеть, в которую проводным (Ethernet) или беспроводным (Wi-Fi, Bluetooth) путем подключены другие устройства.
Для связи с Интернетом в вашей локальной находиться специальный мини-компьютер - маршрутизатор. Далее этот маршрутизатор связывает вас с интернет-провайдером, который в свою очередь связан с другими провайдерами более высокого уровня. Таким образом, ваше сообщение, пройдя транзитом через сеть нескольких провайдеров, достигнет сеть назначения.
Как работает Интернет - MDN (mozilla.org)
Основы программирования. Как работают сети? - YouTube
-
Браузеры и как они работают
Большинство пользователей используют именно браузеры для работы в сети Интернет. Браузер - это клиент, с помощью которого можно отправлять запросы на сервер для получения файлов, которые впоследствии используются для отрисовки web-страниц.
Как работают браузеры - MDN (mozilla.org)
-
Что такое DNS
DNS (Domain Name System) - это децентрализованная система именования интернет-ресурсов, которая позволяет создавать удобные для человека буквеные наименования соответствующие числовым IP-адрессам, которые используются компьютерами.
Система доменных имен DNS | Курс "Компьютерные сети" - YouTube
DNS — Википедия (wikipedia.org)
-
Что такое доменное имя
-
Хостинг
-
TCP протокол
-
UDP протокол
-
Проблемы сети
-
IPv4 и IPv6
-
Трассировка маршрутов
Протокол HTTP
-
Формат протокола
-
Методы HTTP-запросов
-
Коды ответов
-
Заголовки
-
Cookie
-
CORS
-
CSP
-
Безопасность (HTTPS)
-
Различия HTTP 1.0 и HTTP 1.1
-
HTTP 2
-
HTTP 3
-
Откладка сети в Chrome Dev Tools
-
Работа с HTTP через терминал
-
WebSockets
-
API форматы
-
Web сервера
-
NGNX
-
Apache httpd
-
Общие знания
-
Структуры данных
-
Хэш-таблицы
-
Очередь и стек
-
Связанные списки
-
Двусвязные списки
-
-
Форматы хранения данных
-
Текстовые
JSON, YAML, XML
-
Бинарные
Message Pack, BSON, ProtoBuf
-
Криптография
-
Хэши и хеш-функции
-
Цифровые подписи
-
Соль для подписей
-
Коллизия хэшей
-
Язык программирования
Выберите для изучения один из языков (спсиок составлен по моему личному мнению):
-
Базовые знания
-
Примитивные типы данных
-
Функции
-
Набор, массив, хеш-таблица, кортеж
-
Объекты/классы/структуры, прототипы/интерфейсы/миксины
-
Ссылки, указатели
-
Область видимости переменных
-
Сборщик мусора
-
Преобразование типов
-
Слабая/сильная типизация в коде
-
Битовые операции
-
Обработка ошибок
-
-
Распараллеливание
-
Процессы
-
Потоки
-
КоРутины
-
Проблемы распараллеливания
-
Атомарные операции
-
Блокировки
-
-
Пакетный менеджер
-
Отладчик
-
Запуск HTTP-сервера
-
Кэширование
-
Шаблонизация
-
Ввод / Вывод (IO)
Базовое ПО
-
Система контроля версий Git
-
Контейнеризация и Docker
-
Postman / Insomnia
Базы данных
-
Реляционные базы данных
-
Документоориентированные базы данных
-
Redis
-
Проблемы баз данных