Серверная часть
Server-Side Development
Что охватывает
«Серверная часть» называет место, а не навык: код выполняется на машине, которая пользователю не подконтрольна, может держать секреты и обращаться к базе данных, и ничему пришедшему от клиента доверять нельзя. Четыре языка из этого списка на такой позиции встречаются чаще прочих; синтаксис и экосистемы у них разные, требования места — одинаковые. Поэтому осваивать место приходится отдельно от любого из этих языков.
Почему это важно
Именно это различие задаёт модель безопасности. Браузерный код публичен: исходники читаются, запросы подделываются, проверки обходятся. Серверному коду можно доверить учётные данные, однако всякий входящий ввод, откуда бы он ни пришёл, он обязан считать враждебным. У того, кто писал только для браузера, вырабатывается привычка доверять клиенту — из неё и растут сломанный контроль доступа с уязвимостями внедрения.
Входящие навыки
- Node.js (05-backend-data/02-nodejs) — JavaScript на сервере, один язык на всём стеке.
- Программирование на Python (05-backend-data/03-python-programming) — доминирует в скриптах, работе с данными и автоматизации.
- Java (05-backend-data/04-java) — типизированный долгоживущий язык, широко представленный в корпоративных бэкендах.
- Go (05-backend-data/05-go) — компилируемый, конкурентный и небольшой, обычен для сервисов и инфраструктурных инструментов.
С чего начать
Начинайте с того языка, который уже используется в вашем проекте: правила места — проверяй на границе, держи секреты на сервере, никогда не доверяй клиенту — действуют в любом из них. Дальше переходите к RESTful API и к записям о данных: они описывают работу сервера, а не язык, на котором он написан.