├── assets ├── docker │ └── Windows.png ├── postgresql │ └── psql.png └── vue │ └── welcome-screen.png ├── typescript.md ├── README.md ├── ruby.md ├── tmux.md ├── curl.md ├── httpie.md ├── dotnet.md ├── python.md ├── uv.md ├── php.md ├── vue.md ├── nodejs.md ├── postman.md ├── vite.md ├── dbeaver.md ├── go.md ├── ansible.md ├── java.md ├── terraform.md ├── git.md ├── redis.md ├── docker.md └── postgresql.md /assets/docker/Windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hexlet/ru-instructions/HEAD/assets/docker/Windows.png -------------------------------------------------------------------------------- /assets/postgresql/psql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hexlet/ru-instructions/HEAD/assets/postgresql/psql.png -------------------------------------------------------------------------------- /assets/vue/welcome-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hexlet/ru-instructions/HEAD/assets/vue/welcome-screen.png -------------------------------------------------------------------------------- /typescript.md: -------------------------------------------------------------------------------- 1 | # Установка TypeScript 2 | 3 | Использовать TypeScript можно с помощью двух инструментов: `tsc` и `ts-node`. Первый компилирует код в JavaScript, а второй выполняет код напрямую. 4 | 5 | Для установки TypeScript вам необходимо установить Node.js и npm. Сделать это можно по инструкции [Node.js](/nodejs.md). 6 | 7 | * установка `tsc`: 8 | 9 | ```bash 10 | npm install -g typescript 11 | ``` 12 | 13 | * Установка `ts-node`: 14 | 15 | ```bash 16 | npm install -g ts-node 17 | ``` 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Инструкции 2 | 3 | Основные руководства по установке: 4 | 5 | - [Git](/git.md) 6 | - [Java](/java.md) 7 | - [Node.js](/nodejs.md) 8 | - [Ruby](/ruby.md) 9 | - [PHP](/php.md) 10 | - [Python](/python.md) 11 | - [Go](/go.md) 12 | - [TypeScript](/typescript.md) 13 | 14 | Дополнительные руководства: 15 | 16 | - [PostgreSQL](/postgresql.md) 17 | - [.NET](/dotnet.md) 18 | - [Vue 3 new project](/vue.md) 19 | - [DBeaver](/dbeaver.md) 20 | - [Ansible](/ansible.md) 21 | - [Terraform](/terraform.md) 22 | - [Tmux](/tmux.md) 23 | 24 | --- 25 | [![Hexlet Ltd. logo](https://raw.githubusercontent.com/Hexlet/assets/master/images/hexlet_logo128.png)](https://hexlet.io/?utm_source=github&utm_medium=link&utm_campaign=instructions) 26 | 27 | This repository is created and maintained by the team and the community of Hexlet, an educational project. [Read more about Hexlet](https://hexlet.io/?utm_source=github&utm_medium=link&utm_campaign=instructions). 28 | -------------------------------------------------------------------------------- /ruby.md: -------------------------------------------------------------------------------- 1 | # Установка Ruby 2 | 3 | Для работы с Ruby лучше использовать последнюю стабильную версию. 4 | 5 | Мы рекомендуем работать в *nix-системах, так как они наиболее совместимы с языками программирования и софтом, который нужен для обучения на Hexlet. Поэтому, если вы работаете на Windows, установите [Windows Subsystem for Linux](https://docs.microsoft.com/ru-ru/windows/wsl/install-win10) (WSL). Это позволит получить все преимущества Linux без переустановки системы. 6 | 7 | ## Установка 8 | 9 | ### Пакетный менеджер asdf 10 | 11 | Универсальный способ получать нужную версию многих популярных языков — это менеджер *asdf*. Чтобы начать с ним работу: 12 | * Установите менеджер по [инструкции на официальном сайте](https://asdf-vm.com/guide/getting-started.html#_3-install-asdf) 13 | * Установите Ruby через этот менеджер по [гайду](https://github.com/asdf-vm/asdf-ruby) 14 | 15 | Подробнее о менеджере asdf можно прочитать в нашем [гайде](https://ru.hexlet.io/blog/posts/version-managers/). 16 | -------------------------------------------------------------------------------- /tmux.md: -------------------------------------------------------------------------------- 1 | ## Установка tmux 2 | [**tmux**](https://github.com/tmux/tmux) позволяет создавать, разделять, управлять, отсоединять и подключаться к терминальным сессиям в рамках одной программы. 3 | 4 | **На Linux** 5 | ```bash 6 | sudo apt update 7 | sudo apt install tmux 8 | ``` 9 | 10 | **На macOS** 11 | ```bash 12 | brew install tmux 13 | ``` 14 | 15 | **Проверить версию** 16 | ```bash 17 | tmux -V 18 | ``` 19 | 20 | ## Испоьзование tmux 21 | 22 | **Запуск новой сессии** 23 | ```bash 24 | tmux new -s session_name 25 | ``` 26 | 27 | **Использование существущей сессии** 28 | ```bash 29 | tmux attach -t session_name 30 | ``` 31 | 32 | **Список существующих сессий** 33 | ```bash 34 | tmux list-sessions 35 | ``` 36 | 37 | **Завершить сессию** 38 | ```bash 39 | exit 40 | # or Ctrl d 41 | ``` 42 | 43 | **Отключение от сессии без ее завершения** 44 | ```bash 45 | Ctrl+b d 46 | ``` 47 | 48 | **Справка по коммандам** 49 | ```bash 50 | Ctrl+b ? 51 | ``` 52 | 53 | **Завершение всех сессий** 54 | ```bash 55 | tmux kill-server 56 | ``` 57 | -------------------------------------------------------------------------------- /curl.md: -------------------------------------------------------------------------------- 1 | # Установка Curl 2 | 3 | Процесс установки Curl зависит от вашей операционной системы 4 | 5 | ## Установка Curl на Linux 6 | 7 | ```bash 8 | sudo apt update 9 | sudo apt install curl 10 | ``` 11 | 12 | ## Установка Curl на macOS 13 | 14 | Вы можете установить Postman на MacOS, используя менеджер пакетов [Homerbrew](https://brew.sh/) 15 | 16 | ```bash 17 | brew update 18 | brew install curl 19 | ``` 20 | 21 | ## Установка Curl на Windows 22 | 23 | Для установки вам потребуется пакетный менеджер [Chocolatey](https://chocolatey.org/). Если он не установлен, установите его по инструкции на [официальном сайте](https://chocolatey.org/install) 24 | 25 | Для установки Curl выполните команду 26 | 27 | ```bash 28 | choco install curl 29 | ``` 30 | 31 | ## Как проверить, что установка прошла успешно 32 | 33 | Чтобы проверить, что установка прошла успешно, выполните команду: 34 | 35 | ```bash 36 | curl --version 37 | 38 | # Версия может отличаться 39 | # Главное - что команда выполнилась успешно 40 | curl 7.81.0 41 | ... 42 | ``` 43 | -------------------------------------------------------------------------------- /httpie.md: -------------------------------------------------------------------------------- 1 | # Установка HTTPie 2 | 3 | Процесс установки HTTPie зависит от вашей операционной системы 4 | 5 | ## Установка HTTPie на Linux (Ubuntu, Debian, Mint и др.) 6 | 7 | ```bash 8 | curl -SsL https://packages.httpie.io/deb/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/httpie.gpg 9 | echo "deb [arch=amd64 signed-by=/usr/share/keyrings/httpie.gpg] https://packages.httpie.io/deb ./" | sudo tee /etc/apt/sources.list.d/httpie.list > /dev/null 10 | sudo apt update 11 | sudo apt install httpie 12 | ``` 13 | 14 | ## Установка HTTPie на Linux (Arch, Manjaro, EndeavourOS и др.) 15 | 16 | ```bash 17 | sudo pacman -Syu httpie 18 | ``` 19 | 20 | ## Установка HTTPie на macOS 21 | 22 | Вы можете установить Postman на MacOS, используя менеджер пакетов [Homerbrew](https://brew.sh/) 23 | 24 | ```bash 25 | brew update 26 | brew install httpie 27 | ``` 28 | 29 | ## Установка HTTPie на Windows 30 | 31 | Для установки вам потребуется пакетный менеджер [Chocolatey](https://chocolatey.org/). Если он не установлен, установите его по инструкции на [официальном сайте](https://chocolatey.org/install) 32 | 33 | Для установки HTTPie выполните команду 34 | 35 | ```bash 36 | choco install httpie 37 | ``` 38 | 39 | ## Как проверить, что установка прошла успешно 40 | 41 | Чтобы проверить, что установка прошла успешно, выполните команду: 42 | 43 | ```bash 44 | http --version 45 | 46 | # Версия может отличаться 47 | # Главное - что команда выполнилась успешно 48 | 3.2.1 49 | ``` 50 | -------------------------------------------------------------------------------- /dotnet.md: -------------------------------------------------------------------------------- 1 | # Установка .NET 2 | 3 | Для разработки программ на C# потребуется _dotnet-sdk_. Рекомендуется ставить версию **.NET 6**, которая будет находится на длительной поддержке (LTS) почти до конца 2024 года. Если не используете пакетные менеджеры, то можно просто [скачать sdk с официального сайта](https://dotnet.microsoft.com/en-us/download). Если используете пакетные менеджеры, то см. инструкции ниже. 4 | 5 | ## Windows 6 | 7 | Убедитесь что установлен [пакетный менеджер Chocolatey](https://chocolatey.org/install). Откройте консоль с правами администратора и выполните команду: 8 | 9 | ```shell 10 | choco install dotnet-sdk -y 11 | ``` 12 | 13 | ## MacOS 14 | 15 | Устанавливайте через [Homebrew](https://brew.sh/): 16 | 17 | ```shell 18 | brew install --cask dotnet-sdk 19 | ``` 20 | 21 | ## Linux (Ubuntu) 22 | 23 | Сперва нужно добавить ключи. Url отличается для разных версий Ubuntu. Например для версии 20.04, откройте терминал и выполните: 24 | 25 | ```shell 26 | wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb 27 | sudo dpkg -i packages-microsoft-prod.deb 28 | rm packages-microsoft-prod.deb 29 | ``` 30 | 31 | Для других версий замените `20.04` в url на соответствующую версию. Установка самого dotnet-sdk: 32 | 33 | ```shell 34 | sudo apt-get update; \ 35 | sudo apt-get install -y apt-transport-https && \ 36 | sudo apt-get update && \ 37 | sudo apt-get install -y dotnet-sdk-6.0 38 | ``` 39 | -------------------------------------------------------------------------------- /python.md: -------------------------------------------------------------------------------- 1 | # Установка Python 2 | 3 | Перед тем как начать, убедитесь, что: 4 | 5 | - Вы используете операционную систему, удобную для разработки (например Ubuntu, 6 | MacOS). Владельцам Windows мы рекомендуем настроить Windows Subsystem for 7 | Linux (WSL). О том, как это сделать мы написали 8 | [гайд](https://ru.hexlet.io/blog/posts/ubuntu-linux-in-windows/). 9 | - Вы знаете, как запустить терминал, и можете выполнить команды в нём 10 | - Python ещё не установлен в вашей системе по умолчанию. Проверить это можно, 11 | выполнив команду: 12 | 13 | ```bash 14 | python3 -V 15 | ``` 16 | 17 | - Вы знакомы с основами Git 18 | 19 | ## Используя менеджер версий (рекомендованный) 20 | 21 | - Установите менеджер версий asdf. О том, как это сделать, мы писали в гайде 22 | ["Что такое "Менеджер версий""](https://ru.hexlet.io/blog/posts/version-managers/) 23 | - Выполните команды: 24 | 25 | ```bash 26 | asdf plugin-add python https://github.com/asdf-community/asdf-python.git 27 | asdf install python latest 28 | ``` 29 | 30 | ## Используя менеджер пакетов 31 | 32 | ### MacOS (если установлен Homebrew) 33 | 34 | ```bash 35 | brew install python3 36 | ``` 37 | 38 | ### Ubuntu Linux 39 | 40 | ```bash 41 | sudo apt install python3 42 | ``` 43 | 44 | ## Используя пакеты с официального сайта 45 | 46 | Последнюю версию ** можно скачать на официальном сайте [тут](https://www.python.org/downloads/). Выберите подходящий для Вашей операционной системы файл и скачайте его. 47 | -------------------------------------------------------------------------------- /uv.md: -------------------------------------------------------------------------------- 1 | # Установка пакетного менеджера uv 2 | 3 | Пакетный менеджер uv используется для упраления проектами на Python. 4 | 5 | ## Используя скрипт установки 6 | 7 | ```bash 8 | curl -LsSf https://astral.sh/uv/install.sh | sh 9 | ``` 10 | 11 | Если в вашей системе не установлен `curl`, то можно использовать `wget` 12 | 13 | ```bash 14 | wget -qO- https://astral.sh/uv/install.sh | sh 15 | ``` 16 | 17 | ## Используя менеджер пакетов 18 | 19 | ### PyPI 20 | 21 | `uv` дополнительно выложен на индексе PyPI, и его можно установить, используя `pipx` 22 | 23 | ```bash 24 | pipx install uv 25 | ``` 26 | 27 | ### Homebrew 28 | 29 | Пользователи MacOS также могут поставить через Homebrew 30 | 31 | ```bash 32 | brew install uv 33 | ``` 34 | 35 | # Миграция с poetry проекта 36 | 37 | Если вы ранее использовали для проекта `poetry`, то чтобы перейти на `uv` выполните следующие шаги: 38 | 39 | 1. Сохраните содержимое `pyproject.toml` в другой файл или просто переименуйте его, например, в `pyproject.toml.poetry` 40 | 2. Заново инициализируйте проект командой `uv init`. Если нужно, удалите сперва `.venv`. Также удалите все ненужные файлы, что создаст `uv`, например `hello.py` 41 | 3. Скопируйте описание проекта и прочие метаданные из `pyproject.toml.poetry` в новый `pyproject.toml` 42 | 4. Теперь поставьте все зависимости из `pyproject.toml.poetry` командой `uv add`. Зависимости можно указывать подряд, например `uv add flask pytest` 43 | 5. Не забудьте в конце исправить все команды, что используют `poetry` на использование `uv` 44 | -------------------------------------------------------------------------------- /php.md: -------------------------------------------------------------------------------- 1 | # Установка PHP 2 | 3 | Перед тем как начать, убедитесь, что: 4 | 5 | * Вы используете операционную систему, удобную для разработки (например Ubuntu, MacOS). Владельцам Windows мы рекомендуем настроить Windows Subsystem for Linux (WSL). О том, как это сделать мы написали [гайд](https://ru.hexlet.io/blog/posts/ubuntu-linux-in-windows/). 6 | * Вы знаете, как запустить терминал, и можете выполнить команды в нём 7 | 8 | ## Windows 9 | 10 | Мы рекомендуем работать в *nix-системах, так как они наиболее совместимы с языками программирования и софтом, который нужен для обучения в Хекслете. Если вы работаете на Windows, установите [Windows Subsystem for Linux](https://docs.microsoft.com/ru-ru/windows/wsl/install-win10) (WSL). Это позволит получить все преимущества Linux без переустановки системы. Далее воспользуйтесь [инструкцией для Ubuntu](#менеджеры-linux) для установки софта. 11 | 12 | ## macOS Homebrew 13 | 14 | Установка производится пакетным менеджером Homebrew. Если он ещё не установлен, откройте терминал и выполните следующую команду: 15 | 16 | ```bash 17 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 18 | ``` 19 | 20 | Установка: 21 | 22 | ```bash 23 | brew install php 24 | ``` 25 | 26 | ## Ubuntu или Ubuntu on Windows 27 | 28 | Установка: 29 | 30 | ```bash 31 | sudo apt update 32 | sudo apt install -y php 33 | ``` 34 | 35 | ### Установка расширений и дополнительных библиотек 36 | 37 | Для некоторых пакетов и проектов требуются дополнительные расширения для PHP 38 | 39 | Установка: 40 | 41 | ```bash 42 | sudo apt install -y make unzip zip php-bcmath php-exif php-pdo php-pgsql php-zip php-xdebug php-dom php-xml php-mbstring php-sqlite3 php-curl 43 | ``` 44 | 45 | Если каких-то расширений будет не хватать, их можно будет установить отдельно 46 | 47 | ```bash 48 | # extname — имя необходимого расширения 49 | apt install php-extname 50 | ``` 51 | -------------------------------------------------------------------------------- /vue.md: -------------------------------------------------------------------------------- 1 | # Создание нового проекта на Vue 3 2 | 3 | ## Установка Node.js 4 | 5 | Сначала необходимо проверить, что на компьютере установлен Node.js. Сделать это можно с помощью команды в терминале: 6 | 7 | ```bash 8 | node -v 9 | ``` 10 | 11 | Если Node.js установлен, то в терминале будет результат вида "v16.17.1", версия может отличаться. Если же появляется ошибка "command not found", то нужно установить Node.js — [инструкция по установке](https://github.com/Hexlet/ru-instructions/blob/main/nodejs.md). 12 | 13 | ## Создание проекта 14 | 15 | Создать новый проект можно командой: 16 | 17 | ```bash 18 | npm init vue@latest 19 | ``` 20 | 21 | Далее появится предложение установить пакет create-vue@latest (этот этап может быть пропущен, если пакет уже установлен), на него необходимо согласиться. 22 | 23 | После установки create-vue в терминале будут последовательно появляться вопросы, от ответов на которые зависит итоговая конфигурация нового проекта. 24 | 25 | ```bash 26 | ✔ Project name: … 27 | ✔ Add TypeScript? … No / Yes 28 | ✔ Add JSX Support? … No / Yes 29 | ✔ Add Vue Router for Single Page Application development? … No / Yes 30 | ✔ Add Pinia for state management? … No / Yes 31 | ✔ Add Vitest for Unit testing? … No / Yes 32 | ✔ Add an End-to-End Testing Solution? … No / Yes 33 | ✔ Add ESLint for code quality? … No / Yes 34 | 35 | Scaffolding project in ./... 36 | Done. 37 | ``` 38 | 39 | Первый проект можно сделать максимально простым, отказавшись от всех дополнительных возможностей. После ответов на вопросы появится надпись об успешном создании проекта. 40 | 41 | ## Сборка и запуск 42 | 43 | После создания проекта нужно перейти в папку, где он лежит, далее установить зависимости и запустить проект. Сделать это можно следующими командами: 44 | 45 | ```bash 46 | cd 47 | npm install 48 | npm run dev 49 | ``` 50 | 51 | Если все прошло успешно, то в терминале не возникнет ошибок и появится адрес локального хоста. Этот адрес нужно открыть в браузере, появится приветственный экран вида: 52 | 53 | ![Приветственный экран созданного проекта](./assets/vue/welcome-screen.png) 54 | ``` 55 | -------------------------------------------------------------------------------- /nodejs.md: -------------------------------------------------------------------------------- 1 | # Установка Node.js 2 | 3 | Перед тем как начать, убедитесь, что: 4 | 5 | * Вы используете операционную систему, удобную для разработки (например Ubuntu, MacOS). Владельцам Windows мы рекомендуем настроить Windows Subsystem for Linux (WSL). О том, как это сделать мы написали [гайд](https://ru.hexlet.io/blog/posts/ubuntu-linux-in-windows). 6 | * Вы знаете, как запустить терминал, и можете выполнить команды в нём 7 | * Вы знакомы с основами Git 8 | 9 | ## Используя менеджер версий mise 10 | 11 | * Установите менеджер версий, например mise. Что это и как поставить — в гайде ["Что такое "Менеджер версий""](https://ru.hexlet.io/blog/posts/version-managers). 12 | * Установите актуальную версию Node.js (24+) и сделайте её глобальной: 13 | 14 | ```bash 15 | mise use -g node@24 16 | ``` 17 | 18 | ## Используя менеджер пакетов 19 | 20 | Перед запуском команд, убедитесь, что у вас установлена утилита `curl`, если ее нет, то установите ее с помощью пакетного менеджера. 21 | 22 | ```bash 23 | curl --version 24 | # Неполный вывод 25 | curl 8.5.0 26 | ``` 27 | 28 | Пользователи MacOS могут установить Node.js [по инструкции](https://nodejs.org/en/download) командой: 29 | 30 | ```bash 31 | # Download and install Node.js: 32 | brew install node@24 33 | # Verify the Node.js version: 34 | node -v # Should print "v24.11.0". 35 | # Verify npm version: 36 | npm -v # Should print "11.6.1". 37 | ``` 38 | 39 | Пользователи Ubuntu могут установить Node.js из репозитория NodeSource: 40 | 41 | ```bash 42 | curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - 43 | sudo apt-get install -y nodejs 44 | ``` 45 | 46 | ## Используя пакеты с официального сайта 47 | 48 | Последнюю версию *Node.js* можно скачать на официальном сайте 49 | [тут](https://nodejs.org/en/download). Выберите подходящий для Вашей операционной системы файл и скачайте его. 50 | 51 | ## Проверка 52 | 53 | После того как вы установили Node.js любым из вышеперечисленных методов, нужно перезапустить терминал. Проверить, успешно ли прошла установка можно запустив в терминале: 54 | 55 | ```bash 56 | # Вывод может отличаться, главное чтобы не было ошибок 57 | node -v 58 | v24.x.x 59 | ``` 60 | 61 | Если команда возвращает ошибку, то на Linux и MacOS, то стоит проверить, добавлен ли путь к Nodejs в переменную окружения `PATH`. 62 | -------------------------------------------------------------------------------- /postman.md: -------------------------------------------------------------------------------- 1 | # Установка Postman 2 | 3 | Процесс установки Postman зависит от вашей операционной системы. Прежде, чем начать установку, изучите системные требования к операционной системе на [официальном сайте](https://learning.postman.com/docs/getting-started/installation/installation-and-updates/) приложения 4 | 5 | ## Установка Postman на Windows 6 | 7 | 1. Перейдите на [официальный сайт Postman](https://www.postman.com/downloads) и скачайте установщик для Windows 8 | 2. Запустите скачанный *.exe* файл и следуйте инструкциям установщика. Выберите папку для установки и дождитесь завершения процесса 9 | 3. После установки найдите Postman в меню "Пуск" и запустите программу 10 | 11 | ## Установка Postman на macOS 12 | 13 | ### Используя установщик 14 | 15 | 1. Перейдите на [официальный сайт Postman](https://www.postman.com/downloads) и скачайте установщик для macOS 16 | 2. Найдите загруженный файл в папке "Загрузки" и распакуйте архив 17 | 3. В папке «Загрузки» дважды щелкните файл Postman, чтобы установить его. 18 | 4. При появлении запроса переместите файл в папку «Приложения» 19 | 5. После установки откройте папку "Программы" и запустите Postman 20 | 21 | ### Используя менеджер пакетов 22 | 23 | Вы также можете установить Postman на MacOS, используя менеджер пакетов [Homerbrew](https://brew.sh/) 24 | 25 | ```bash 26 | brew install --cask postman 27 | ``` 28 | 29 | ## Установка Postman на Linux 30 | 31 | ### Используя Snap (рекомендуемый) 32 | 33 | Вы можете установить Postman в Linux со страницы [Snap Store](https://snapcraft.io/postman) или из командной строки с помощью команды: 34 | 35 | ```bash 36 | snap install postman 37 | ``` 38 | 39 | ### Используя архив, скачанный с официального сайта 40 | 41 | 1. Перейдите на официальный сайт [Postman](https://www.postman.com/downloads), выберите версию для Linux и скачайте ее 42 | 43 | 2. Распакуйте загруженный файл с помощью следующей команды: 44 | 45 | ```bash 46 | tar -xzf Postman-linux-x64 47 | ``` 48 | 49 | 3. Для удобства запуска приложения вы можете [создать иконку](https://learning.postman.com/docs/getting-started/installation/installation-and-updates/#create-a-linux-launcher-icon) 50 | 51 | ## Регистрация учетной записи 52 | 53 | После установки Postman, при первом запуске вам будет предложено создать учетную запись или войти в уже существующую. Если у вас есть зарегистрированный аккаунт, введите свои учетные данные и нажмите кнопку "Войти". 54 | 55 | Если учетной записи нет, создайте новую, нажав на соответствующую ссылку. Процесс регистрации включает в себя ввод вашего адреса электронной почты, создания пароля и подтверждения условий использования. Также можно использовать для регистрации свой Google аккаунт. После завершения регистрации вы сможете получить доступ ко всем возможностям Postman 56 | -------------------------------------------------------------------------------- /vite.md: -------------------------------------------------------------------------------- 1 | # Установка и работа с Vite 2 | 3 | Vite (с французского "быстрый", произносится /вит/) - это инструмент сборки, созданный для обеспечения быстрого и бережливого (lean) процесса разработки современных веб-проектов. 4 | 5 | ## Шаг 1: Установка Vite 6 | 7 | Для начала нужно убедиться, что у вас установлены [Node.js](https://nodejs.org/en/) версии >=12.0.0 и npm (или Yarn). Сделать это можно по инструкции [Node.js](https://github.com/Hexlet/ru-instructions/blob/vite/nodejs.md). 8 | 9 | 1. Откройте терминал или командную строку. 10 | 2. Введите команду для создания нового проекта с помощью Vite: 11 | ```bash 12 | npm create vite@latest 13 | ``` 14 | 3. Укажите имя вашего проекта и выберите фреймворк (например, React, Vue, Vanilla JS и т.д.): 15 | 16 | ```bash 17 | ✔ Project name: vite-project 18 | ✔ Select a framework: › React 19 | ✔ Select a variant: › TypeScript (если нужен TypeScript) или просто JavaScript 20 | ``` 21 | 22 | После выбора Vite создаст структуру проекта. 23 | 24 | ## Шаг 2: Установка зависимостей 25 | 26 | После создания проекта нужно установить зависимости: 27 | 28 | ```bash 29 | cd vite-project 30 | npm install 31 | ``` 32 | 33 | ## Шаг 3: Запуск проекта 34 | 35 | Чтобы начать разработку, запустите команду: 36 | 37 | ```bash 38 | npm run dev 39 | ``` 40 | 41 | После этого Vite запустит локальный сервер и откроет проект в браузере. По умолчанию сервер запускается на http://localhost:5173/. 42 | 43 | ## Шаг 4: Настройка конфигурации 44 | 45 | Конфигурационный файл Vite находится в корне проекта и называется __vite.config.js__ (или __vite.config.ts__, если используется TypeScript). Он позволяет настраивать различные параметры проекта, например, алиасы, плагины, серверные настройки и прочее. 46 | 47 | Если вы разрабатываете небольшое приложение, скорее всего, вам подойдут настройки по умолчанию. Но для более сложных проектов с использованием нескольких плагинов или серверных API можно модифицировать конфиг, добавляя параметры по мере необходимости. 48 | 49 | Подробнее про конфигурацию Vite можно прочитать на [официальном сайте](https://vitejs.dev/config/) или в [русской версии](https://vite-docs-ru.vercel.app/config/). 50 | 51 | ## Шаг 5: Сборка проекта 52 | 53 | Когда проект готов для публикации, вы можете собрать его с помощью команды: 54 | 55 | ```bash 56 | npm run build 57 | ``` 58 | 59 | Vite создаст оптимизированные файлы для продакшена в папке dist. 60 | 61 | ## Шаг 6: Запуск собранного проекта 62 | 63 | Чтобы протестировать сборку локально, можно запустить сервер предварительного просмотра: 64 | 65 | ```bash 66 | npm run preview 67 | ``` 68 | 69 | ## Что дальше? 70 | 71 | Этого достаточно, чтобы написать своё первое фронтенд-приложение с использованием Vite. Если остались вопросы, всегда можно обратиться к [документации](https://vitejs.dev/guide/). Либо к [русской версии](https://vite-docs-ru.vercel.app/guide/). 72 | -------------------------------------------------------------------------------- /dbeaver.md: -------------------------------------------------------------------------------- 1 | # Установка DBeaver 2 | 3 | Процесс установки DBeaver отличается в зависимости от выбранного дистрибутива и операционной системы. 4 | 5 | Ссылки для скачивания дистрибутивов: 6 | 7 | * [Сайт проекта](https://dbeaver.io/) 8 | * [Страница загрузки](https://dbeaver.io/download/) 9 | 10 | ## Установщик для Windows или MacOS (рекомендованный способ) 11 | 12 | Мы рекомендуем этот способ, потому что он самый простой — установщик уже содержит все необходимые зависимости. 13 | 14 | Чтобы установить DBeaver, запустите исполняемый файл и следуйте инструкциям на экране. При этом обратите внимание, что: 15 | 16 | * Установщик не меняет никаких системных настроек или настройки установленной версии Java 17 | * Включенный в состав установщика JDK будет доступен только для DBeaver 18 | 19 | Если у вас уже был установлен DBeaver, установщик не поставит программу заново, а автоматически обновит ее до новой версии. 20 | 21 | ## Ручная установка на Windows c помощью ZIP-архива 22 | 23 | Также вы можете установить DBeaver вручную, то есть без использования установщика: 24 | 25 | 1. Извлеките содержимое архива 26 | 2. Запустите исполняемый файл DBeaver 27 | 28 | Обратите внимание на два важных момента: 29 | 30 | * **Не распаковывайте архив поверх предыдущей версии**. Заранее проверьте, не стоит ли на вашем компьютере предыдущая версия DBeaver. Если она установлена и находится в этой же папке, обязательно удалите ее до распаковки архива. 31 | 32 | * **Удаление программы не затрагивает настройки**. Все настройки, скрипты и другие необходимые данные хранятся в отдельной папке — обычно это домашняя директория пользователя. Поэтому удаление программы не затронет их. 33 | 34 | ## Установка DBeaver на Linux (Ubuntu) 35 | 36 | Скачайте deb-пакет с приложением с [официального сайта](https://dbeaver.io/download/). Вы можете установить приложение c помощью GUI через установщик либо через терминал с помощью `dpkg -i` 37 | 38 | ``` 39 | # Переходим в директорию, где скачан deb-пакет 40 | cd ~/Downloads 41 | # Устанавливаем dbeaver. Имя файла может отличаться 42 | sudo dpkg -i dbeaver-ce_24.0.3_amd64.deb 43 | # Запуск приложения через терминал 44 | dbeaver-ce 45 | ``` 46 | 47 | Для других дистрибутивов есть RPM пакет, либо архив. 48 | 49 | ## Особенности установки в WSL 50 | 51 | Если вы используете WSL с Ubuntu 20.04, то при установке DBeaver нужно дополнительно установить библиотеку SWT. 52 | 53 | Сделать это можно командой `sudo apt install libswt-gtk-4-java`. 54 | 55 | ## Автоматическое обновление на Windows и MacOS 56 | 57 | По умолчанию DBeaver периодически проверяет, не вышла ли новая версия. Если вы не отключали эту настройку, то при выходе новой версии DBeaver предложит обновиться до последней версии или оставить текущую. Если вы выберете обновление, DBeaver автоматически скачает установщик и запустит его. При этом программа закроется, чтобы вы не потеряли данные. 58 | -------------------------------------------------------------------------------- /go.md: -------------------------------------------------------------------------------- 1 | # Установка Go 2 | 3 | Перед тем как начать, убедитесь, что: 4 | 5 | - Вы используете операционную систему, удобную для разработки (например Ubuntu, 6 | MacOS). Владельцам Windows мы рекомендуем настроить Windows Subsystem for 7 | Linux (WSL). О том, как это сделать мы написали 8 | [гайд](https://ru.hexlet.io/blog/posts/ubuntu-linux-in-windows/). 9 | - Вы знаете, как запустить терминал, и можете выполнить команды в нём 10 | - Вы знакомы с основами Git 11 | 12 | ## Используя менеджер версий (рекомендованный) 13 | 14 | - Установите менеджер версий asdf. О том, как это сделать, мы писали в гайде 15 | ["Что такое "Менеджер версий""](https://ru.hexlet.io/blog/posts/version-managers) 16 | - Выполните команды: 17 | 18 | ```sh 19 | asdf plugin-add golang https://github.com/kennyp/asdf-golang.git 20 | asdf install golang latest 21 | ``` 22 | 23 | ## Используя менеджер пакетов 24 | 25 | Пользователи MacOS, у которых установлен Homebrew, могут установить Go командой: 26 | 27 | ```sh 28 | brew install go 29 | ``` 30 | 31 | ## Используя пакеты с официального сайта 32 | 33 | Последнюю версию *go development tools* можно скачать на официальном сайте 34 | [тут](https://go.dev/dl/). Выберите подходящий для Вашей операционной системы 35 | файл и скачайте его. 36 | 37 | ### MacOS 38 | 39 | Достаточно запустить файл, чтобы началась установка. Установщик добавит 40 | необходимые файлы в нужные директории автоматически. 41 | 42 | ### Ubuntu Linux 43 | 44 | К сожалению, автоматического установщика для 45 | Linux нет, и по ссылке загрузится архив. Распакуйте его и скопируйте 46 | полученную директорию *go* в директорию */usr/local*. Затем 47 | добавьте */usr/local/go/bin* в переменную `$PATH`. 48 | Например, если у вас стоит Bash, то порядок действий будет следующий: 49 | 50 | ```sh 51 | tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz 52 | echo 'export PATH=$PATH:/usr/local/go/bin' >> $HOME/.bashrc 53 | source $HOME/.bashrc 54 | ``` 55 | 56 | Если у вас стоит Zsh, то порядок действий такой 57 | же, но нужно заменить *.bashrc* на *.zshrc*. 58 | 59 | После того, как вы установили Go любым из 60 | вышеперечисленных методов, нужно перезапустить 61 | терминал. Проверить, успешно ли прошла установка можно запустив в терминале: 62 | 63 | ```sh 64 | # Вывод может отличаться, главное чтобы не было ошибок 65 | go version 66 | 67 | go version go1.19 linux/amd64 68 | ``` 69 | 70 | В ответ Вы должны увидеть что-то вроде "go version go1.19…". Если команда 71 | возвращает ошибку, то на Linux и MacOS стоит проверить, добавлен ли бинарный 72 | файл *go* в переменную окружения `$PATH`. 73 | 74 | ## $GOPATH 75 | 76 | `$GOPATH` - это особенная переменная окружения, которая указывает на то, 77 | где Go будет хранить пакеты установленные глобально. По умолчанию они хранятся в 78 | директории *~/go*. Исходный код этих программ будет храниться в каталоге *~/go/src*, а 79 | скомпилированные программы в *~/go/bin*. Мы рекомендуем всегда явно указать этот 80 | путь, это позволяет контролировать то, куда Go складывает устанавливаемые 81 | пакеты. 82 | 83 | - Если Вы используете Linux, WSL или MacOS, то добавьте следующие строчки 84 | в файл *~/.bashrc* (или в *~/.zshrc*, если используете Zsh) 85 | 86 | ```sh 87 | export PATH=$PATH:$GOPATH/bin 88 | ``` 89 | 90 | - Вне зависимости от вашей операционной системы перезапустите терминал 91 | -------------------------------------------------------------------------------- /ansible.md: -------------------------------------------------------------------------------- 1 | # Установка Ansible 2 | ## Требования для узла управления 3 | В качестве узла управления (так называется машина, на которой запускается Ansible) Вы можете использовать практически любую UNIX-подобную систему с установленным [Python](/python.md) версии 3.9 или новее. 4 | 5 | ## Выбор версии Ansible 6 | Ansible-пакеты распространяются в двух основных формах: 7 | 1) Облегчённый пакет, именуемый `ansible-core`; 8 | 2) Стандартный пакет, именуемый `ansible`, который включает в себя также подборку Ansible-Коллекций для автоматизации различных видов устройств. 9 | 10 | Инструкции ниже даны для установки пакета `ansible`. 11 | 12 | ## Установка и обновление Ansible 13 | ### Проверка версии Python 14 | Перейдите с помощью консольной утилиты `cd` в директорию `/usr/bin/` и узнайте какие интерпретаторы `python` установлены в системе. К примеру, это можно сделать, используя следующую команду: 15 | 16 | ```$ ls | grep python``` 17 | 18 | Запомните необходимый вам интерпретатор (к примеру, `python3.10`). В инструкции ниже интерпретатор обозначен как `python3`. Таким образом, там, где в инструкции написано `python3`, вам необходимо указать интерпретатор, установленный в вашей системе. 19 | 20 | ### Проверка работоспособности модуля `pip` 21 | Используйте следующую команду, чтобы проверить, установлен ли модуль `pip`: 22 | ``` 23 | $ python3 -m pip -V 24 | ``` 25 | Если модуль `pip` установлен правильно, должно появиться следующее сообщение (детали могут отличаться): 26 | ``` 27 | $ python3 -m pip -V 28 | pip 21.0.1 from /usr/lib/python3.9/site-packages/pip (python 3.9) 29 | ``` 30 | 31 | Если вы увидели подобное сообщение, значит `pip` установлен правильно и можно переходить к установке непосредственно Ansible. 32 | 33 | Если же на экране появилась ошибка вида `No module named pip`, то, перед продолжением установки Ansible, необходимо установить `pip`. Это означает установку нового пакета операционной системы (к примеру, `python3-pip`) или установку последней доступной версии `pip` напрямую из Python Packaging Authority с помощью следующей команды: 34 | ``` 35 | $ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 36 | python3 get-pip.py --user 37 | ``` 38 | ### Установка Ansible 39 | Выполните следующую команду, чтобы установить пакет Ansible, используя `pip`: 40 | ``` 41 | $ python3 -m pip install --user ansible 42 | ``` 43 | ### Обновление Ansible 44 | Команда ниже позволяет обновить установленный Ansible до наиболее актуальной версии: 45 | ``` 46 | $ python3 -m pip install --upgrade --user ansible 47 | ``` 48 | ### Подтверждение правильности установки 49 | Для проверки правильности установки, введите следующую команду: 50 | ``` 51 | ansible --version 52 | ``` 53 | Вы должны увидеть следующее сообщение (может отличаться деталями): 54 | ``` 55 | config file = None 56 | configured module search path = ['/home/username/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] 57 | ansible python module location = /home/username/.local/lib/python3.10/site-packages/ansible 58 | ansible collection location = /home/username/.ansible/collections:/usr/share/ansible/collections 59 | executable location = /home/username/.local/bin/ansible 60 | python version = 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] (/usr/bin/python3.10) 61 | jinja version = 3.1.2 62 | libyaml = True 63 | ``` 64 | Также проверить правильность установки можно, используя `pip`: 65 | ``` 66 | $ python3 -m pip show ansible 67 | ``` 68 | В этом случае должно появиться сообщение примерно такого содержания: 69 | ``` 70 | $ python3 -m pip show ansible 71 | 72 | Name: ansible 73 | Version: 7.4.0 74 | Summary: Radically simple IT automation 75 | Home-page: https://ansible.com/ 76 | Author: Ansible, Inc. 77 | Author-email: info@ansible.com 78 | License: GPLv3+ 79 | Location: /home/username/.local/lib/python3.10/site-packages 80 | Requires: ansible-core 81 | Required-by: 82 | ``` 83 | Таким образом, Ansible был успешно установлен. 84 | -------------------------------------------------------------------------------- /java.md: -------------------------------------------------------------------------------- 1 | # Установка Java 2 | 3 | Перед тем как начать, убедитесь, что: 4 | 5 | * Вы используете операционную систему, удобную для разработки (например Ubuntu, MacOS). Владельцам Windows мы рекомендуем настроить Windows Subsystem for Linux (WSL). О том, как это сделать мы написали [гайд](https://ru.hexlet.io/blog/posts/ubuntu-linux-in-windows). 6 | * Вы знаете, как запустить терминал, и можете выполнить команды в нём 7 | * Вы знакомы с основами Git 8 | 9 | Для работы с Java понадобятся: 10 | 11 | * **Java Development Kit (JDK)** — набор, включающий в себя среду исполнения *Java Runtime* и другие инструменты для разработки. В первую очередь — компилятор; 12 | * **Gradle** — инструмент для сборки Java-проектов. 13 | 14 | ## Используя менеджер пакетов 15 | 16 | ### MacOS 17 | 18 | Пользователи MacOS могут установить последние версии JDK и Gradle при помощи пакетного менеджера Homebrew. Если он ещё не установлен, откройте терминал и выполните следующую команду: 19 | 20 | ```bash 21 | # Установка Homebrew 22 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 23 | ``` 24 | 25 | Выполните в терминале команды: 26 | 27 | ```bash 28 | # Установка JDK 29 | brew install openjdk@21 30 | 31 | # Установка сборщика проектов Gradle 32 | brew install gradle 33 | ``` 34 | 35 | ### Ubuntu Linux 36 | 37 | Автоматически установить при помощи пакетного менеджера последнюю версию Gradle 8.7 на Linux не получится. Воспользуйтесь менеджером версий *asdf* или скачайте архивы с официального сайта 38 | 39 | ## Используя менеджер версий (рекомендованный) 40 | 41 | * Установите менеджер версий asdf. О том, как это сделать, мы писали в гайде ["Что такое Менеджер версий"](https://ru.hexlet.io/blog/posts/version-managers) 42 | * Установите JDK, выполнив следующие команды: 43 | 44 | ```bash 45 | ## Устанавливаем JDK 46 | asdf plugin-add java https://github.com/halcyon/asdf-java.git 47 | asdf install java openjdk-21 48 | asdf global java openjdk-21 49 | 50 | ## Устанавливаем переменную окружения JAVA_HOME 51 | . ~/.asdf/plugins/java/set-java-home.bash 52 | ``` 53 | 54 | * Установите сборщик пакетов Gradle 55 | 56 | Перед установкой Gradle убедитесь, что у вас установлена утилита *unzip*, выполнив команду `unzip --version`. Если не установлен, установите его командой `sudo apt install unzip` 57 | 58 | ```bash 59 | ## Устанавливаем Gradle 60 | asdf plugin-add gradle https://github.com/rfrancis/asdf-gradle.git 61 | asdf install gradle 8.7 62 | asdf global gradle 8.7 63 | ``` 64 | 65 | ## Используя пакеты с официального сайта 66 | 67 | Последнюю версию JDK можно скачать [тут](https://adoptium.net/temurin/releases/?version=21). Выберите подходящий для Вашей операционной системы файл и скачайте его 68 | 69 | По ссылке загрузится архив. Скачайте архив и распакуйте его в директорию */usr/lib/jvm*. Затем установите значение для переменной окружения `$JAVA_HOME` */usr/lib/jvm/jdk-21.0.2* и добавьте путь */usr/lib/jvm/jdk-21.0.2* в переменную `$PATH`. Конкретные действия будут зависеть от оболочки, которую вы используете. Например, если у вас стоит Bash, то порядок действий будет следующий: 70 | 71 | ```bash 72 | # Из директории, куда скачали архив 73 | mkdir /usr/lib/jvm 74 | tar -zxf openjdk-20*_bin.tar.gz -С /usr/lib/jvm 75 | ## Имя конечной директории может отличаться, в зависимости от версии 76 | echo 'export JAVA_HOME=/usr/lib/jvm/jdk-21.0.2' >> $HOME/.bashrc 77 | echo 'export PATH=$PATH:/usr/lib/jvm/jdk-21.0.2/bin' >> $HOME/.bashrc 78 | source $HOME/.bashrc 79 | ``` 80 | 81 | Если у вас стоит Zsh, то порядок действий будет тот же, но нужно заменить *.bashrc* на *.zshrc*. 82 | 83 | Последнюю версию сборщика пакетов Gradle можно скачать [тут](https://gradle.org/releases/). Порядок действий практически не отличается от установки JDK. Скачайте архив, распакуйте его в директорию */opt/gradle* и добавьте путь */opt/gradle/gradle-8.7/bin* в переменную окружения `$PATH` 84 | 85 | ```bash 86 | mkdir /opt/gradle 87 | unzip -d /opt/gradle gradle-8.7-bin.zip 88 | echo 'export PATH=$PATH:/opt/gradle/gradle-8.7/bin' >> $HOME/.bashrc 89 | source $HOME/.bashrc 90 | ``` 91 | 92 | После того, как вы установили JDK и Gradle любым из вышеперечисленных методов, нужно перезапустить терминал. Проверить, успешно ли прошла установка можно запустив в терминале команды: 93 | 94 | ```bash 95 | # Вывод может отличаться, главное чтобы не было ошибок 96 | 97 | java --version 98 | 99 | openjdk 21.0.2 2024-01-16 LTS 100 | OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS) 101 | OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode, sharing) 102 | 103 | gradle -v 104 | 105 | ------------------------------------------------------- 106 | Gradle 8.7 107 | ------------------------------------------------------- 108 | ``` 109 | -------------------------------------------------------------------------------- /terraform.md: -------------------------------------------------------------------------------- 1 | # Инструкция по установке terraform 2 | 3 | Перед установкой нужно установить [vpn](https://github.com/Hexlet/hexlet-unblock#vpn) 4 | Чтобы заработал Terraform Cloud 5 | 6 | ## Ubuntu 7 | 8 | Чтобы установить Terraform на Ubuntu, следуйте этим шагам: 9 | 10 | 11 | - Откройте терминал и обновите список пакетов: 12 | 13 | ```bash 14 | sudo apt update 15 | ``` 16 | 17 | - Установите необходимые пакеты для загрузки и установки: 18 | 19 | ```bash 20 | sudo apt install wget unzip 21 | ``` 22 | 23 | - Перейдите в папку, в которую вы хотите установить ПО, например: 24 | 25 | ```bash 26 | cd ~ 27 | ``` 28 | 29 | - Загрузите последнюю версию с веб-сайта Hashicorp: 30 | 31 | ```bash 32 | wget https://releases.hashicorp.com/terraform/0.x.x/terraform_0.x.x_linux_amd64.zip 33 | ``` 34 | Замените 0.x.x на нужную вам версию. Найти список доступных версий вы сможете на [странице релизов](https://releases.hashicorp.com/terraform). 35 | 36 | 37 | - Распакуйте архив: 38 | 39 | ```bash 40 | unzip terraform_0.x.x_linux_amd64.zip 41 | ``` 42 | 43 | - Переместите распакованный файл в папку /usr/local/bin: 44 | 45 | ```bash 46 | sudo mv terraform /usr/local/bin/ 47 | ``` 48 | 49 | - Проверьте версию Terraform и убедитесь, что он установлен и доступен: 50 | 51 | 52 | ```bash 53 | terraform -v 54 | ``` 55 | 56 | ## Менеджер версий asdf 57 | 58 | Установка: 59 | 60 | ```bash 61 | asdf plugin-add terraform https://github.com/asdf-community/asdf-hashicorp.git 62 | ``` 63 | Ссылка на [плагин](https://github.com/asdf-community/asdf-hashicorp) 64 | Использование: 65 | 66 | Посмотрите [asdf](https://asdf-vm.com/guide/getting-started.html) для получения инструкций о том, как устанавливать версии и управлять ими. 67 | 68 | ## Менеджер версий tenv 69 | 70 | tenv - универсальный менеджер для управления версиями OpenTofu, Terraform, Terragrunt и Atmos. tenv заточен под 71 | экосистему Terraform и умеет сам находить и устанавливать подходящую версию на основании исходного кода. 72 | Менеджер доступен для всех операционных систем и во множестве пакетных менеджеров (choco, brew, nix, apk, yay, aur). 73 | Подробная инструкция по установке доступна в [официальном репозитории](https://github.com/tofuutils/tenv). 74 | 75 | Для установки Terraform через tenv необходимо перейти в папку с кодом, и выполнить следующую команду: 76 | 77 | ```shell 78 | tenv tf install 79 | ``` 80 | 81 | 82 | ## Windows 83 | 84 | Перейдите по ссылке и [скачайте](https://developer.hashicorp.com/terraform/downloads) нужную вам версию 85 | 86 | После загрузки разархивируйте содержимое в удобную для вас папку. Например, в C:\Terraform 87 | 88 | Рекомендуется использовать wsl 89 | 90 | Последняя версия установлена. Но через командную строку ей можно пользоваться только указав к ней полный путь: 91 | 92 | ```bash 93 | C:\Windows\system32>terraform -v 94 | ``` 95 | 96 | ```bash 97 | 'terraform' is not recognized as an internal or external command, 98 | operable program or batch file. 99 | ``` 100 | ```bash 101 | C:\Windows\system32>C:\Terraform\terraform -v 102 | ``` 103 | ```bash 104 | Terraform v1.3.6 105 | on windows_amd64 106 | ``` 107 | 108 | Чтобы в командной строке обращаться к Terraform просто с помощью названия этого инструмента, необходимо добавить его в переменную окружения PATH. Для этого следуйте этой инструкции: 109 | 110 | - Откройте «Панель управления» и перейдите в раздел «Система и безопасность». 111 | - В разделе «Система» нажмите на ссылку «Изменение системных переменных среды». 112 | - В открывшемся окне «Свойства системы» перейдите на вкладку «Дополнительно». 113 | - Нажмите на кнопку «Переменные среды». 114 | - В списке «Системные переменные» найдите переменную PATH и нажмите на кнопку «Изменить». 115 | - В открывшемся окне «Изменение переменной среды» нажмите «Создать» и укажите путь к директории, в которую вы разархивировали Terraform. В нашем случае Terraform был установлен в папку C:\Terraform. 116 | - Нажмите «ОК». 117 | 118 | Проверим успешность операции в командной строке: 119 | 120 | ```bash 121 | terraform -v 122 | ``` 123 | ```bash 124 | Terraform v1.3.6 125 | on windows_amd64 126 | ``` 127 | 128 | 129 | ## MacOS 130 | 131 | Первым делом установим менеджер пакетов [Homebrew](https://brew.sh/). 132 | 133 | 134 | Для установки Homebrew вы можете воспользоваться командой: 135 | 136 | ```bash 137 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 138 | ``` 139 | 140 | В данном руководстве рассматривается установка при помощи терминального эмулятора [iTerm2](https://iterm2.com/). 141 | 142 | - Подключаем репозиторий с формулами для Homebrew с помощью команды: 143 | 144 | ```bash 145 | brew tap hashicorp/tap 146 | ``` 147 | 148 | - Запустим установку Terraform с помощью команды: 149 | 150 | ```bash 151 | brew install hashicorp/tap/terraform 152 | 153 | ``` 154 | 155 | - Далее можно посмотреть установленную версию Terraform с помощью команды: 156 | 157 | ```bash 158 | terraform -version 159 | ``` 160 | -------------------------------------------------------------------------------- /git.md: -------------------------------------------------------------------------------- 1 | # Установка git 2 | 3 | Установка Git отличается в разных операционных системах. Проще всего она выполняется в MacOS и Ubuntu. Они позволяют поставить Git через пакетные менеджеры: 4 | 5 | ```bash 6 | # MacOS 7 | # https://brew.sh/ 8 | brew install git 9 | 10 | # Ubuntu 11 | sudo apt update # на всякий случай смотрим новые версии 12 | sudo apt install git-all 13 | ``` 14 | 15 | В Windows для установки Git существует масса вариантов. Основной — через установку [Ubuntu on Windows](https://docs.microsoft.com/ru-ru/windows/wsl/install-win10) и затем [git](https://docs.microsoft.com/ru-ru/windows/wsl/tutorials/wsl-git). Эта настройка может потребовать время, но оно того стоит. Ubuntu on Windows добавляет разработчикам окружение, которое позволяет работать максимально эффективно и удобно. Кроме того, такое окружение очень похоже на среду, в которой будет запускаться код ваших проектов. 16 | 17 | В случае если ваш Windows не поддерживает опции, указанные выше, есть несколько альтернативных вариантов: 18 | 19 | 1. Самый смелый: установить Ubuntu основной системой. Это очень просто. 20 | 1. Поставить Ubuntu в виртуальную машину. Наиболее безопасный способ, но требует достаточно мощного компьютера. 21 | 22 | После установки Git нужно зайти в терминал и проверить, что он работает: 23 | 24 | ```bash 25 | git --version 26 | 27 | git version 2.28.0 28 | # Ваша версия может отличаться, но важно, чтобы она была не ниже 2.23.0 29 | ``` 30 | 31 | Если у вас установилась более старая версия git, и вы работаете в Ubuntu или Ubuntu on Windows, то попробуйте выполнить следующие команды: 32 | 33 | ```bash 34 | sudo apt install software-properties-common 35 | sudo add-apt-repository ppa:git-core/ppa 36 | sudo apt update 37 | sudo apt install git 38 | ``` 39 | 40 | После установки Git нужно настроить. Для своей работы ему важно знать ваше имя и почту. Эти данные подставляются в историю изменений. Только так можно узнать, кто и что сделал в проекте: 41 | 42 | ```bash 43 | # Выполняется из любой директории 44 | git config --global user.name "<имя фамилия>" 45 | git config --global user.email "<ваш емейл>" 46 | ``` 47 | 48 | ## Установка редактора 49 | 50 | Для дальнейшей работы понадобится специализированный редактор кода. Мы рекомендуем ставить [VSCode](https://code.visualstudio.com/). Сейчас это самый популярный (бесплатный!) редактор, обладающий не только широкими возможностями, но и обширной системой плагинов, позволяющих серьезно «прокачать» редактор. 51 | 52 | ## Аккаунт на GitHub 53 | 54 | Также для работы понадобится создать аккаунт на [GitHub](https://github.com/) — это бесплатный (для одиночного использования) сервис, в котором хранят свои проекты большинство компаний и разработчиков. Его же используют рекрутеры для поиска сильных программистов. Они смотрят код и оценивают, насколько он популярный и сложный. GitHub-аккаунт с высокой активностью в проектах (своих или чужих) — один из ключевых элементов в трудоустройстве. 55 | 56 | После создания аккаунта нужно выполнить еще одну важную операцию — добавления ssh-ключей на github.com. Если по-простому, то ключи позволяют работать репозиториям с GitHub без необходимости постоянно вводить логин и пароль при синхронизации локального и удаленного репозитория (находящегося на GitHub). 57 | 58 | Эта задача выполняется в два этапа. Сначала нужно сгенерировать ssh-ключи, а затем один из них (публичный) добавить в настройки GitHub. Подробная инструкция по созданию ssh-ключей доступна на [сайте](https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). В двух словах: 59 | 60 | ```bash 61 | # Создание ssh-ключей 62 | ssh-keygen -t ed25519 -C "your_email@example.com" 63 | # Дальше будет несколько вопросов. На все вопросы нужно нажимать Enter. 64 | 65 | # Запуск агента ssh, который следит за ключами 66 | eval "$(ssh-agent -s)" 67 | 68 | # Добавления нового ssh-ключа в агент 69 | ssh-add ~/.ssh/id_ed25519 70 | ``` 71 | 72 | Когда ssh-ключи созданы и добавлены в систему, можно приступать к интеграции с GitHub. Подробно эта процедура описана в [документации](https://docs.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account). В двух словах: 73 | 74 | 1. Выведите содержимое файла *~/.ssh/id_ed25519.pub* и скопируйте его: 75 | 76 | ```bash 77 | cat ~/.ssh/id_ed25519.pub 78 | ``` 79 | 80 | 1. [Добавьте](https://github.com/settings/keys) ssh-ключ в аккаунт GitHub. При добавлении вас попросят назвать ключ. Напишите что-нибудь в стиле *home*. 81 | 82 | 1. Проверьте, что подключение работает 83 | 84 | ```bash 85 | ssh -T git@github.com 86 | Hi tirion! You've successfully authenticated, but GitHub does not provide shell access. 87 | ``` 88 | 89 | ## Возможные проблемы 90 | 91 | ### Github просит логин и пароль 92 | 93 | ```bash 94 | remote: Support for password authentication was removed on August 13, 2021. 95 | remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication. 96 | fatal: Authentication failed for 'https://github.com/tirion/hexlet-git.git/' 97 | ``` 98 | 99 | Проверьте, что в репозитории стоит ссылка на SSH url 100 | 101 | ```bash 102 | git remote -v 103 | origin git@github.com:/.git (fetch) 104 | origin git@github.com:/.git (push) 105 | ``` 106 | 107 | Если это не так, то ссылку нужно обновить 108 | 109 | ```bash 110 | git remote set-url origin git@github.com:/.git 111 | ``` 112 | -------------------------------------------------------------------------------- /redis.md: -------------------------------------------------------------------------------- 1 | # Установка Redis 2 | 3 | Перед тем как начать, убедитесь, что: 4 | 5 | - Вы используете операционную систему, удобную для разработки (например Ubuntu, MacOS). Владельцам Windows мы рекомендуем настроить Windows Subsystem for Linux (WSL). О том, как это сделать мы написали [гайд](https://ru.hexlet.io/blog/posts/ubuntu-linux-in-windows). 6 | - Вы знаете, как запустить терминал, и можете выполнить команды в нём 7 | - Вы знакомы с основами Git 8 | 9 | ## Windows 10 | 11 | Мы рекомендуем работать в \*nix-системах, так как они наиболее совместимы с языками программирования и софтом, который 12 | нужен для обучения на Хекслет. 13 | 14 | Если вы работаете на Windows, 15 | установите [Windows Subsystem for Linux](https://docs.microsoft.com/ru-ru/windows/wsl/install-win10) (WSL). Это позволит 16 | получить все преимущества Linux без переустановки системы. Далее 17 | воспользуйтесь [инструкцией для Linux](#linux) для установки софта. 18 | 19 | Поскольку Redis официально не поддерживается на Windows, установка на WSL2 является единственным способом установить Redis на Windows. 20 | 21 | ## macOS 22 | 23 | Установка производится с помощью пакетного менеджера Homebrew. Перед началом установки убедитесь, что он установлен на вашей системе с помощью команды: 24 | 25 | ```bash 26 | brew --version 27 | ``` 28 | 29 | Если команда завершилась с ошибкой, установите Homebrew командой: 30 | 31 | ```bash 32 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 33 | ``` 34 | 35 | Установка Redis: 36 | 37 | ```bash 38 | brew install redis 39 | ``` 40 | 41 | ## Linux 42 | 43 | Добавьте репозиторий Redis в apt индекс с помощью команды: 44 | 45 | ```bash 46 | sudo add-apt-repository ppa:redislabs/redis 47 | ``` 48 | 49 | или: 50 | 51 | ```bash 52 | curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg 53 | 54 | echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list 55 | ``` 56 | 57 | Далее обновите индекс и установите Redis с помощью: 58 | 59 | ```bash 60 | sudo apt-get update 61 | sudo apt-get install redis 62 | ``` 63 | 64 | ## Дополнительные способы 65 | 66 | ### Snapcraft 67 | 68 | Если на вашем Linux дистрибутиве доступен [Snapcraft store](https://snapcraft.io/store), то вы можете установить Redis командой: 69 | 70 | ```bash 71 | sudo snap install redis 72 | ``` 73 | 74 | ### Source-код 75 | 76 | При желании вы также можете скомпилировать и установить Redis из Source-кода проекта. Для этого выполните следующие действия: 77 | 78 | - Скачайте самую свежую стабильную версию Redis: 79 | 80 | ```bash 81 | wget https://download.redis.io/redis-stable.tar.gz 82 | ``` 83 | 84 | - Скомпилируйте скачанные файлы: 85 | 86 | ```bash 87 | tar -xzvf redis-stable.tar.gz 88 | cd redis-stable 89 | make 90 | ``` 91 | 92 | - Запустите установку: 93 | 94 | ```bash 95 | make install 96 | ``` 97 | 98 | ### Docker 99 | 100 | Наконец, вы также можете установить Redis через Docker командой: 101 | 102 | ```bash 103 | docker run --name local-redis -d redis/redis-stack-server 104 | ``` 105 | 106 | ## Подключение 107 | 108 | ### Локальное подключение 109 | 110 | После установки Redis сервер нужно запускать вручную командой: 111 | 112 | ```bash 113 | redis-server 114 | ``` 115 | 116 | Пример запуска: 117 | 118 | ````bash 119 | redis-server 120 | 11760:C 07 Dec 2021 18:25:26.103 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 121 | 11760:C 07 Dec 2021 18:25:26.103 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=11760, just started 122 | 11760:C 07 Dec 2021 18:25:26.103 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf 123 | 11760:M 07 Dec 2021 18:25:26.104 * Increased maximum number of open files to 10032 (it was originally set to 256). 124 | 11760:M 07 Dec 2021 18:25:26.104 * monotonic clock: POSIX clock_gettime 125 | _._ 126 | _.-``__ ''-._ 127 | _.-`` `. `_. ''-._ Redis 6.2.6 (00000000/0) 64 bit 128 | .-`` .-```. ```\/ _.,_ ''-._ 129 | ( ' , .-` | `, ) Running in standalone mode 130 | |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 131 | | `-._ `._ / _.-' | PID: 11760 132 | `-._ `-._ `-./ _.-' _.-' 133 | |`-._`-._ `-.__.-' _.-'_.-'| 134 | | `-._`-._ _.-'_.-' | https://redis.io 135 | `-._ `-._`-.__.-'_.-' _.-' 136 | |`-._`-._ `-.__.-' _.-'_.-'| 137 | | `-._`-._ _.-'_.-' | 138 | `-._ `-._`-.__.-'_.-' _.-' 139 | `-._ `-.__.-' _.-' 140 | `-._ _.-' 141 | `-.__.-' 142 | 143 | 11760:M 07 Dec 2021 18:25:26.105 # Server initialized 144 | 11760:M 07 Dec 2021 18:25:26.105 * Ready to accept connections 145 | ```` 146 | 147 | Такой способ подходит для академических целей, но не используется в производственных окружениях. Обычно Redis сервер запускается как [демон (daemon)](): 148 | 149 | ```bash 150 | redis-server --daemonize yes 151 | ``` 152 | 153 | Также можно запустить Redis как сервис командой: 154 | 155 | ```bash 156 | sudo service redis-server start 157 | ``` 158 | 159 | Когда сервер запущен, можно попробовать подключиться к нему с помощью утилиты redis-cli: 160 | 161 | ```bash 162 | redis-cli 163 | 164 | 127.0.0.1:6379> 165 | ``` 166 | 167 | Чтобы удостовериться, что сервер работает корректно, достаточно запустить команду info: 168 | 169 | ```bash 170 | 127.0.0.1:6379> info 171 | # Server 172 | redis_version:6.2.6 173 | redis_git_sha1:00000000 174 | redis_git_dirty:0 175 | redis_build_id:c6f3693d1aced7d9 176 | redis_mode:standalone 177 | os:Darwin 19.5.0 x86_64 178 | arch_bits:64 179 | ... 180 | ``` 181 | 182 | ### macOS 183 | 184 | В качестве альтернативы, на macOS вы можете запустить Redis в фоновом режиме с использованием launchd данной командой: 185 | 186 | ```bash 187 | brew services start redis 188 | ``` 189 | 190 | После запуска вы можете проверить статус Redis, запустив: 191 | 192 | ```bash 193 | brew services info redis 194 | ``` 195 | 196 | Если сервис запущен, вы увидите нечто подобное: 197 | 198 | ```bash 199 | redis (homebrew.mxcl.redis) 200 | Running: ✔ 201 | Loaded: ✔ 202 | User: miranda 203 | PID: 67975 204 | ``` 205 | 206 | Для остановки сервиса, воспользуйтесь командой: 207 | 208 | ```bash 209 | brew services stop redis 210 | ``` 211 | 212 | ### Подключение с Docker 213 | 214 | В разделе установки через Docker Redis сервер запускается в контейнере с именем local-redis. Используем это же имя для подключения: 215 | 216 | ```bash 217 | docker exec -it local-redis redis-cli 218 | ``` 219 | -------------------------------------------------------------------------------- /docker.md: -------------------------------------------------------------------------------- 1 | # Установка Docker 2 | 3 | ---- 4 | Перед тем как начать, убедитесь, что: 5 | 6 | - Вы используете операционную систему, удобную для разработки (например Ubuntu, 7 | MacOS). Владельцам Windows мы рекомендуем настроить Windows Subsystem for 8 | Linux (WSL). О том, как это сделать мы написали 9 | [гайд](https://ru.hexlet.io/blog/posts/ubuntu-linux-in-windows/). 10 | - Вы знаете, как запустить терминал, и можете выполнить команды в нём 11 | 12 | ---- 13 | Процесс установки Docker отличается в зависимости операционной системы и от типа реализации Docker: 14 | Docker Engine и Docker Desktop. 15 | 16 | Docker Engine - это пакет программного обеспечения, который включает в себя все необходимые компоненты 17 | для работы Docker на системе Linux. Docker Engine предоставляет возможность запускать контейнеры, 18 | управлять ими и создавать собственные образы Docker. 19 | 20 | Docker Desktop - это приложение для ПК, которое включает в себя стандартный Docker Engine, 21 | графический интерфейс и интеграцию со средой разработки. 22 | 23 | ## Установка Docker Engine (на примере Linux Ubuntu) 24 |
Linux 25 | 26 | Будем рассматривать процесс установки на примере дистрибутива Linux Ubuntu 27 | (установка прочих [дистрибутивов Linux](https://docs.docker.com/engine/install/#server)). 28 | 29 | Чтобы установить Docker Engine, вам потребуется 64-разрядная версия одной из 30 | [следующих](https://docs.docker.com/engine/install/ubuntu/#os-requirements) версий Ubuntu. 31 | Docker Engine совместим с архитектурами x86_64 (или amd64), armhf, arm64 и s390x. 32 | 33 | ### Установка Docker Engine 34 | 1. Настройте репозиторий: 35 | 1. Обновите apt: 36 | ```bash 37 | sudo apt-get update 38 | ``` 39 | 2. Установите пакеты, которые необходимы для работы пакетного менеджера apt по протоколу HTTPS: 40 | ```bash 41 | sudo apt-get install \ 42 | ca-certificates \ 43 | curl \ 44 | gnupg 45 | ``` 46 | 3. Добавьте официальный GPG-ключ Docker: 47 | ```bash 48 | sudo install -m 0755 -d /etc/apt/keyrings 49 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 50 | sudo chmod a+r /etc/apt/keyrings/docker.gpg 51 | ``` 52 | 4. Добавьте репозиторий: 53 | ```bash 54 | echo \ 55 | "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ 56 | "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ 57 | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 58 | ``` 59 | 2. Установите Docker Engine следующим образом: 60 | 1. Обновите apt: 61 | ```bash 62 | sudo apt-get update 63 | ``` 64 | 2. Установите последнюю версию Docker Engine и Docker-compose: 65 | ```bash 66 | sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 67 | ``` 68 | 3. Чтобы использовать утилиту docker, необходимо добавить ваше имя пользователя в группу Docker. Для этого 69 | введите в терминале команду: 70 | ```bash 71 | sudo usermod -aG docker ${user} 72 | ``` 73 | где **user** это имя пользователя. 74 | 75 | 76 | ---- 77 |
78 | 79 | 80 | ## Установка Docker Desktop 81 |
Windows 82 | 83 | Ваш компьютер с Windows должен соответствовать следующим [требованиям](https://docs.docker.com/desktop/install/windows-install/#system-requirements) 84 | 85 | ### Интерактивная установка Docker Desktop WSL 2 backend (рекомендованный) 86 | 1. Скачайте актуальный установщик с официальной страницы [Docker](https://translate.google.com/website?sl=ru&tl=en&hl=ru&client=webapp&u=https://hub.docker.com/editions/community/docker-ce-desktop-windows/) 87 | 2. Дважды щелкните по **Docker Desktop Installer.exe**, чтобы запустить программу установки. 88 | 3. При установке убедитесь что установлена галочка на **Use WSL 2 instead of Hyper-V (recommended)** 89 | 90 | ![WSL2](assets/docker/Windows.png) 91 | 92 | 5. Следуйте инструкциям мастера установки. 93 | 6. После успешной установки нажмите **Close and restart**, чтобы завершить процесс установки. 94 | 7. Если учетная запись администратора отличается от вашей учетной записи пользователя, 95 | необходимо добавить пользователя в группу docker-users. Для этого запустите 96 | ***Управление компьютером*** от имени администратора и перейдите в ***Локальные пользователи и группы*** 97 | --> ***Группы*** --> ***docker-users***. 98 | Щелкните правой кнопкой мыши, чтобы добавить пользователя в группу. 99 | Выйдите из системы и войдите снова, чтобы изменения применились. 100 | 101 | ---- 102 | 103 | ### Установка Docker Desktop WSL 2 backend из командной строки 104 | 1. Скачайте актуальный установщик с официальной страницы [Docker](https://translate.google.com/website?sl=ru&tl=en&hl=ru&client=webapp&u=https://hub.docker.com/editions/community/docker-ce-desktop-windows/) 105 | 2. В терминале перейдите в папку с установщиком и выполняем следующую команду: 106 | ```bash 107 | "Docker Desktop Installer.exe" install 108 | ``` 109 | Если используется PowerShell: 110 | ```bash 111 | Start-Process 'Docker Desktop Installer.exe' -Wait install 112 | ``` 113 | Если используется командная строка Windows: 114 | ```bash 115 | start /w "" "Docker Desktop Installer.exe" install 116 | ``` 117 | 118 |
Команда install может принимать дополнительные флаги: 119 | 120 | * ```--quiet```: подавляет вывод информации при запуске установщика 121 | * ```--accept-license```: принимает соглашение об обслуживании подписки Docker сейчас, 122 | вместо того, чтобы требовать его принятия при первом запуске приложения. 123 | * ```--no-windows-containers```: отключает интеграцию контейнеров Windows 124 | * ```--allowed-org=```: требует, чтобы пользователь вошел в систему и был частью указанной организации 125 | Docker Hub при запуске приложения. 126 | * ```--backend=```: выбирает серверную часть по умолчанию для использования в Docker Desktop, 127 | ```hyper-v``` или ```windows```( ```wsl-2``` по умолчанию) 128 | * ```--installation-dir=```: изменяет место установки по умолчанию *( C:\Program Files\Docker\Docker)* 129 | * ```--admin-settings```: автоматически создает ```admin-settings.json``` файл, который администраторы используют 130 | для управления определенными настройками Docker Desktop на клиентских компьютерах в своей организации. 131 | Дополнительные сведения см. в разделе [Управление настройками](https://docs.docker.com/desktop/hardened-desktop/settings-management/) . 132 | * Он должен использоваться вместе с ```--allowed-org=``` флагом. 133 | * Например:```--allowed-org= --admin-settings='{"configurationFileVersion": 2, 134 | "enhancedContainerIsolation": {"value": true, "locked": false}}'``` 135 |
136 | 137 | 138 | 3. Если учетная запись администратора отличается от вашей учетной записи пользователя, 139 | необходимо добавить пользователя в группу docker-users: 140 | ```bash 141 | net localgroup docker-users /add 142 | ``` 143 | 144 | ---- 145 |
146 | 147 |
MacOS 148 | 149 | Ваш Mac должен соответствовать следующим [требованиям](https://docs.docker.com/desktop/install/mac-install/#system-requirements) 150 | 151 | ### Интерактивная установка Docker Desktop на Mac (рекомендованный) 152 | 1. Скачайте актуальный установщик с официальной страницы [Docker](https://docs.docker.com/desktop/install/mac-install/) 153 | 2. Дважды щелкните по **Docker.dmg**, чтобы открыть программу установки, 154 | затем перетащите значок Docker в папку **Приложения**. 155 | 3. Дважды щелкните **Docker.app** папку **Приложения**, чтобы запустить Docker. 156 | 4. Примите условия Соглашения об обслуживании подписки Docker 157 | 5. В окне установки выберите: 158 | * **Используйте рекомендуемые настройки (требуется пароль)**. 159 | Это позволяет Docker Desktop автоматически устанавливать необходимые параметры конфигурации. 160 | * **Используйте расширенные [настройки](https://docs.docker.com/desktop/settings/mac/#advanced)**. 161 | 6. Выберите **Готово**. Если была применена какая-либо из вышеперечисленных конфигураций, требующих пароля, 162 | будет необходимо ввести пароль для подтверждения. 163 | 164 | ---- 165 | 166 | ### Установка Docker Desktop из командной строки 167 | 1. Скачайте актуальный установщик с официальной страницы [Docker](https://docs.docker.com/desktop/install/mac-install/) 168 | 2. В терминале выполните следующие команды, чтобы установить Docker Desktop в папку **Приложения**: 169 | ```bash 170 | sudo hdiutil attach Docker.dmg 171 | sudo /Volumes/Docker/Docker.app/Contents/MacOS/install 172 | sudo hdiutil detach /Volumes/Docker 173 | ``` 174 | 175 | Поскольку macOS обычно выполняет проверки безопасности при первом использовании приложения, 176 | **install** выполнение команды может занять несколько минут. 177 | 178 |
Команда install может принимать дополнительные флаги: 179 | 180 | * ```--quiet```: подавляет вывод информации при запуске установщика 181 | * ```--accept-license```: принимает соглашение об обслуживании подписки Docker сейчас, 182 | вместо того, чтобы требовать его принятия при первом запуске приложения. 183 | * ```--no-windows-containers```: отключает интеграцию контейнеров Windows 184 | * ```--allowed-org=```: требует, чтобы пользователь вошел в систему и был частью указанной организации 185 | Docker Hub при запуске приложения. 186 | * ```--backend=```: выбирает серверную часть по умолчанию для использования в Docker Desktop, 187 | ```hyper-v``` или ```windows```( ```wsl-2``` по умолчанию) 188 | * ```--installation-dir=```: изменяет место установки по умолчанию *( C:\Program Files\Docker\Docker)* 189 | * ```--admin-settings```: автоматически создает ```admin-settings.json``` файл, который администраторы используют 190 | для управления определенными настройками Docker Desktop на клиентских компьютерах в своей организации. 191 | Дополнительные сведения см. в разделе [Управление настройками](https://docs.docker.com/desktop/hardened-desktop/settings-management/) . 192 | * Он должен использоваться вместе с ```--allowed-org=``` флагом. 193 | * Например:```--allowed-org= --admin-settings='{"configurationFileVersion": 2, 194 | "enhancedContainerIsolation": {"value": true, "locked": false}}'``` 195 |
196 | 197 | ---- 198 | 199 |
200 | 201 | По [ссылке](https://docs.docker.com/desktop/troubleshoot/overview/) описываются распространенные проблемы и возможные обходные пути. 202 | -------------------------------------------------------------------------------- /postgresql.md: -------------------------------------------------------------------------------- 1 | # Установка PostgreSQL 2 | 3 | ## Подготовка Windows 4 | 5 | Для работы с PostgreSQL в Windows вам нужно [включить подсистему Ubuntu](https://ru.hexlet.io/blog/posts/ubuntu-linux-in-windows). 6 | 7 | ## Установка 8 | 9 | Установка PostgreSQL выполняется через терминал. Ниже даны команды для MacOS, Windows и Ubuntu: 10 | 11 | ```bash 12 | # Macos 13 | brew install postgresql 14 | 15 | # Ubuntu 16 | sudo apt update 17 | sudo apt install postgresql 18 | 19 | # Windows Subsystem for Linux (WSL) 20 | sudo apt install postgresql postgresql-contrib 21 | ``` 22 | 23 | Сразу после установки PostgreSQL автоматически запускается от имени вновь созданного пользователя _postgres_ в большинстве операционных систем, за исключением Windows Subsystem for Linux (WSL). Пользователь _postgres_ понадобится нам дальше. Также будет создана база данных с именем _postgres_. 24 | 25 | ## Запуск PostgreSQL на Windows (WSL) 26 | 27 | В начале для созданного пользователя _postgres_ потребуется задать пароль. Сделать это можно с помощью команды: 28 | 29 | ```sudo passwd postgres``` 30 | 31 | Кроме того, в отличие от Linux и MacOS, в Windows (WSL) PostgreSQL автоматически не запускается. Исправить это помогают следующие команды: 32 | 33 | ```bash 34 | # Проверяет текущее состояние базы данных, то есть показывает запущен ли PostgreSQL или нет 35 | sudo service postgresql status 36 | 37 | # Команда служит для запуска PostgreSQL 38 | sudo service postgresql start 39 | 40 | # Команда служит для остановки PostgreSQL 41 | sudo service postgresql stop 42 | ``` 43 | 44 | ## Проверка правильности установки 45 | 46 | Теперь убедимся в том, что установка PostgreSQL прошла правильно. Посмотрим из командной строки, запущен ли PostgreSQL: 47 | 48 | ```bash 49 | ps aux | grep postgres 50 | 51 | # Вывод может быть другим 52 | # Главное, чтобы в нем встречалась строчка с текстом bin/postgres 53 | postgres 3437 0.0 2.3 295008 24160 ? S 12:01 0:00 /usr/lib/postgresql/9.5/bin/postgres -D /var/lib/postgresql/9.5/main -c config_file=/etc/postgresql/9.5/main/postgresql.conf 54 | ``` 55 | 56 | В вашем случае вывод может отличаться, но главное — увидеть ту строчку, в которой отображается запуск самой базы данных. Если база данных запущена, то дальше нужно попробовать к ней подключиться. PostgreSQL поставляется со специальной программой _psql_, которая представляет собой интерактивную оболочку (REPL). Через него можно управлять PostgreSQL и выполнять запросы к базам данных прямо из терминала: 57 | 58 | ![PSQL](assets/postgresql/psql.png) 59 | 60 | ## Подключение PostgreSQL 61 | 62 | Если PostgreSQL запустить без аргументов, то она пытается подключиться к локальной базе данных, которая находится на той же машине. При этом программа подключается с именем, которое совпадает с именем текущего пользователя. Делает она это с помощью роли с этим же именем. Если PostgreSQL установили верно, то запуск в Linux, например, Ubuntu, негативно реагирует на отсутствие соответствующей роли: 63 | 64 | ```bash 65 | psql 66 | 67 | psql: FATAL: role "tirion" does not exist 68 | ``` 69 | 70 | Эту проблему можно решить с помощью конструкции `sudo -u postgres psql`, которую используют в терминале при подключении PostgreSQL. Но это не лучшее решение, по таким причинам: 71 | 72 | * У пользователя _postgres_ есть максимальные права в СУБД. Если завладеть ими, можно все уничтожить. Поэтому приложения или пользователи никогда не создают базы данных от имени _postgres_ и никогда не работают из-под этого пользователя 73 | 74 | * Придется постоянно использовать эту конструкцию `sudo -u postgres` для любых команд, которые связаны с СУБД. Если у вас MacOS, часть `sudo -u postgres` использовать не нужно. После установки PostgreSQL автоматически конфигурируется для работы с вашим пользователем 75 | 76 | ## Создание пользователя в СУБД 77 | 78 | Чтобы упростить работу по ходу курса, создадим роль с таким же именем, как и пользователь, из-под которого вы работаете. Выполните следующие действия: 79 | 80 | 1. Посмотрите имя вашего текущего пользователя: 81 | 82 | ```bash 83 | whoami 84 | 85 | tirion 86 | ``` 87 | 88 | 2. Создайте роль с таким же именем внутри PostgreSQL с помощью команды `createuser`. Ее нужно запускать от пользователя `postgres`, иначе она попробует соединиться с СУБД от имени текущего пользователя, которого там нет: 89 | 90 | ```bash 91 | # Флаг --createdb добавляет нашей роли возможность создавать базы данных 92 | # По умолчанию этой возможности нет 93 | sudo -u postgres createuser --createdb tirion 94 | 95 | # Чтобы удалить пользователя, можно воспользоваться командой: 96 | dropuser tirion 97 | ``` 98 | 99 | Теперь у нас есть роль в СУБД. Попробуем с ее помощью соединиться с PostgreSQL: 100 | 101 | ```bash 102 | psql 103 | 104 | psql: FATAL: database "tirion" does not exist 105 | ``` 106 | 107 | Снова ошибка. Теперь `psql` «ругается», что не выбрана база данных. Невозможно соединиться с СУБД, если не указать конкретную базу данных. Ее можно указать самостоятельно — передать один аргумент в `psql`. 108 | 109 | Мы уже знаем, что внутри PostgreSQL создана база _postgres_. Попробуем подключиться к ней: 110 | 111 | ```bash 112 | psql postgres 113 | 114 | postgres=> 115 | ``` 116 | 117 | Соединение удалось. Теперь посмотрим список ролей. Для этого подходит команда `\du` (Describe Users), которую нужно выполнить внутри REPL: 118 | 119 | ```bash 120 | postgres=> \du 121 | List of roles 122 | Role name | Attributes | Member of 123 | -----------+------------------------------------------------------------+----------- 124 | postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {} 125 | tirion | Create DB | {} 126 | ``` 127 | 128 | В СУБД создалось две роли: _postgres_ и которую самостоятельно добавили ранее. Теперь создадим базу данных. 129 | 130 | ## Создание базы данных в СУБД 131 | 132 | Для экспериментов нам понадобится база данных и, возможно, даже не одна. Создадим базу с именем _hexlet_. Сделать это можно из командной строки командой `createdb`: 133 | 134 | ```bash 135 | # Опция --owner позволяет указать владельца создаваемой базы данных 136 | sudo -u postgres createdb --owner=tirion hexlet 137 | # Если запустить эту команду без аргументов, 138 | # то она попытается создать базу данных, 139 | # которая совпадает с именем вашего пользователя в системе 140 | createdb hexlet 141 | ``` 142 | 143 | Имя для базы данных выбирается произвольно и обычно совпадает с названием проекта, для которого она создается. Имена баз уникальны в рамках одной СУБД. Это значит, что повторный вызов `createdb` с тем же именем приведет к ошибке. 144 | 145 | После установки PostgreSQL создает несколько служебных баз данных, которые нужны для работы самой СУБД. Посмотрим их список: 146 | 147 | ```bash 148 | # Посмотреть список баз данных 149 | psql -l 150 | 151 | # Неполный вывод 152 | List of databases 153 | Name | Owner | Encoding | Collate | Ctype | 154 | -----------+----------+----------+-------------+-------------+ 155 | pgadmin | pgadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | 156 | tirion | tirion | UTF8 | en_US.UTF-8 | en_US.UTF-8 | 157 | postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | 158 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | 159 | template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | 160 | ``` 161 | 162 | Теперь у нас есть роль и база данных для экспериментов. Подключимся к этой базе данных: 163 | 164 | ```bash 165 | psql hexlet 166 | 167 | hexlet=> 168 | ``` 169 | 170 | Созданную базу данных можно удалить командой `dropdb`: 171 | 172 | ```bash 173 | dropdb hexlet 174 | ``` 175 | 176 | Если удалили, не забудьте ее снова создать, так как она понадобится нам в дальнейшем. 177 | 178 | Запускать команду `dropdb` нужно с осторожностью. Удаление базы данных — необратимый процесс, так как базы невозможно восстановить без резервных копий. Чтобы избежать проблем: команда `dropdb` не работает без аргументов — ей всегда нужно передавать имя базы. 179 | 180 | Удалить базу данных можно только в том случае, если к ней никто не подключен — за исключением того, кто удаляет. Если есть другие клиенты, например _psql_ или _pgadmin4_, то СУБД предупредит о невозможности выполнить команду. 181 | 182 | ```bash 183 | dropdb hexlet 184 | dropdb: error: database removal failed: ERROR: database "hexlet" is being accessed by other users 185 | DETAIL: There is 1 other session using the database. 186 | ``` 187 | 188 | ## Управляющие команды 189 | 190 | Внутри `psql` доступны разные **управляющие команды**. Все они построены по одному принципу — перед командой набирается обратный слеш `\`, например: 191 | 192 | * Чтобы выйти, надо набрать `\q` 193 | * Чтобы посмотреть полный список команд, надо набрать `\?` 194 | 195 | Команда `\?` загружает пейджер, по которому можно перемещаться, используя стандартные комбинации текстового редактора Vim: 196 | 197 | ```bash 198 | postgres=# \? 199 | Informational 200 | (options: S = show system objects, + = additional detail) 201 | \d[S+] list tables, views, and sequences 202 | \d[S+] NAME describe table, view, sequence, or index 203 | \da[S] [PATTERN] list aggregates 204 | \dA[+] [PATTERN] list access methods 205 | \db[+] [PATTERN] list tablespaces 206 | \dc[S+] [PATTERN] list conversions 207 | \dC[+] [PATTERN] list casts 208 | \dd[S] [PATTERN] show object descriptions not displayed elsewhere 209 | \dD[S+] [PATTERN] list domains 210 | \ddp [PATTERN] list default privileges 211 | \dE[S+] [PATTERN] list foreign tables 212 | \det[+] [PATTERN] list foreign tables 213 | \des[+] [PATTERN] list foreign servers 214 | \deu[+] [PATTERN] list user mappings 215 | \dew[+] [PATTERN] list foreign-data wrappers 216 | ... 217 | ``` 218 | 219 | ## Возможные проблемы 220 | 221 | В работе с PostgreSQL вы можете столкнуться с такой проблемой: 222 | 223 | ```bash 224 | psql 225 | 226 | psql: could not connect to database template1: could not connect to server: No such file or directory 227 | Is the server running locally and accepting 228 | connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 229 | ``` 230 | 231 | Этот вывод говорит, что подключение не удалось — нужно выяснять почему. В некоторых случаях такая ошибка возникает, если не запущен сервис _postgresql_. Тогда запустите его командой `sudo service postgresql start` и выполните подключение повторно. 232 | 233 | Еще вам может встретиться ошибка _psql: command not found_. Она указывает, что вы ввели не существующую команду. Это может пройти по трем причинам: 234 | 235 | * В названии команды допущена опечатка 236 | * PostgreSQL установлен неверно 237 | * PostgreSQL не установлен вообще 238 | 239 | К сожалению, возможных проблем очень много, особенно с учетом разных операционных систем и их версий. Даже опытный разработчик не всегда может взглянуть на вывод ошибки и сразу выдать решение — ему требуется время на изучение проблемы, эксперименты и поиск ответов в Google. 240 | 241 | По этой причине мы не даем исчерпывающее руководство по ошибкам. Если у вас возникнут сложности, вопросы по установке лучше задавать [в нашем Telegram-сообществе](https://t.me/hexletcommunity/12) в каналах Базы данных или Операционные системы. 242 | --------------------------------------------------------------------------------