Юрий Белк – Full stack Developer (страница 2)
bash
git config –global user.name "Your Name"
git config –global user.email "you@example.com"
SSH (для доступа к удалённым репозиториям)
Создайте ключ:
bash
ssh-keygen -t ed25519 -C "you@example.com"
Добавьте ключ в ssh-agent:
bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Дальше публичный ключ (~/.ssh/id_ed25519.pub) добавляется в ваш Git‑хостинг.
GPG (подпись коммитов)
Подпись коммитов – это не “обязательная красота”, а способ снизить риск подмены авторства и упростить аудит изменений. Если у вас в команде принято подписывать коммиты – включайте сразу.
– Установите GPG (на macOS часто через brew, на Linux через пакетный менеджер).
– Сгенерируйте ключ:
bash
gpg –full-generate-key
– Узнайте ID ключа:
bash
gpg –list-secret-keys –keyid-format=long
– Включите подпись коммитов:
bash
git config –global commit.gpgsign true
git config –global user.signingkey <YOUR_KEY_ID>
Если подпись не нужна – можно пропустить. На содержание книги это не влияет, но полезно как привычка.
1.3. Docker и Docker Compose
Docker в этой книге – это в первую очередь инфраструктура: база данных, кеш, брокеры, и всё, что нужно нескольким приложениям одновременно.
Проверьте:
bash
docker –version
docker compose version
Мы будем использовать команду нового формата:
bash
docker compose up -d
Важно: приложения (NestJS/FastAPI/Spring/Go) можно запускать и локально, и в контейнерах. В книге мы будем чаще запускать их локально, а инфраструктуру – в контейнерах. Это обычно быстрее для разработки.
1.4. Языки и менеджеры версий
Наша цель – чтобы версии инструментов были повторяемыми. Для этого хорошо иметь менеджер версий на каждый язык.
Node.js: nvm
Для TypeScript и Next.js нам нужен Node.js и pnpm.
– Установите nvm.
– Поставьте нужную версию Node:
bash
nvm install 20
nvm use 20
– Включите pnpm (через corepack):
bash
corepack enable
corepack prepare pnpm@latest –activate
pnpm –version
Почему pnpm: он быстрее и экономнее по диску, особенно в монорепозитории.
Python: pyenv или uv
Есть два популярных пути:
Вариант А: pyenv – классический менеджер версий Python.
Вариант Б: uv – современный быстрый инструмент, который часто заменяет и pip, и venv.
Для книги подойдёт любой. Если хочется проще и быстрее по зависимостям – выбирайте uv.
Минимально важно: чтобы python и pip были предсказуемой версии, а зависимости проекта ставились в изолированное окружение.
Java/Kotlin: sdkman
Для Spring Boot (и Kotlin) удобно использовать sdkman:
– ставим sdkman,
– выбираем JDK (например, 21):
bash
sdk install java 21.0.2-tem
java -version
Go: asdf (или родной установщик)