Будущее сред кодирования

На днях, когда я зашел на GitHub, у меня появилось всплывающее окно о том, что у меня есть доступ к GitHub Codespaces Beta! Хотя я давно подписался на бета-версию Codespaces. Так как только несколько пользователей получают доступ к программе из списка ожидания, я хотел бы поделиться своим опытом использования Codespaces.

В этой статье я расскажу о следующих моментах:

  • Введение
  • Как использовать кодовые пространства?
  • Примеры
  • Github.dev против GitHub Codespaces
  • Является ли GitHub Codespaces бесплатным?
  • Заворачивать

Введение

Несколько месяцев назад GitHub анонсировал свое новое приложение — Codespaces. Codespaces предоставляет вам среду разработки в самом браузере. Эта среда будет размещена в облаке, поэтому не стоит беспокоиться об оборудовании. Если вы не можете запустить свой проект из-за нехватки оперативной памяти или ядер ЦП, вам поможет Codespaces. Простыми словами, Visual Studio Code работает в вашем браузере со средой.

Разработчик может легко настроить проект из репозитория за 2–3 минуты и избежать утомительного первого клонирования репозитория, установки зависимостей, проверки совместимости и т. д. Среда похожа на компьютер, но в облаке. Сервер сделает всю работу за разработчика. Очевидно, что сервер будет основан на Linux, чтобы предоставлять быстрые услуги.

С Codespaces также стало проще участвовать в различных проектах на GitHub. Поскольку это позволяет без проблем открывать и просматривать запросы на вытягивание.

С другой стороны, вы используете переадресацию портов? Допустим, у вас есть клиент, который хочет просмотреть вашу самую последнюю работу, но она у вас есть на вашем локальном компьютере. Итак, вы перенаправляете порт со своего маршрутизатора (port 80), и клиент может видеть ваше приложение, используя ваш публичный IP-адрес.

Но если вы находитесь в облачной среде Codespaces, как вы можете перенаправить туда порт? Codespaces автоматически перенаправляет порт для вас! Мы увидим реализацию того же в разделе «Примеры».

Как использовать кодовые пространства?

Если у вас есть доступ к Codespaces, создать среду довольно просто. Теперь есть два пути:

После входа выполните следующие действия:

  1. Нажмите на значок своего профиля, затем перейдите в Codespaces.
  2. Или перейдите в репозиторий и нажмите кнопку «Код» и «Создать кодовое пространство на главном». Если вы не являетесь владельцем репозитория, он будет разветвлен автоматически. Вы можете открыть четыре разные ветки отдельно.

  • Если вы выберете первый вариант, вы получите показанный выше экран. Вы можете выбрать репозиторий и ветку. Лучший регион выбирается по умолчанию, но вы можете изменить его. Тип машины представляет собой ядро, оперативную память и хранилище. По умолчанию в бете у меня только один тип машины. Если у вас есть Teams или корпоративная учетная запись. у вас может быть больше вариантов. Затем просто нажмите «Создать».
  • Если вы выберете второй вариант, вы можете выбрать дополнительные параметры из раскрывающегося списка для экрана выше. Затем просто нажмите «Создать».

И бум! Вы в облаке! Codespaces использует Docker для создания образов и зависимостей и управления ими. Вы можете взглянуть на URL-адрес; у каждого Codespaces разные URL-адреса. Все функции, такие как VS Code, доступны здесь. Вы также можете синхронизировать настройки и расширения с вашим локальным приложением VS Code.

Терминал, который вы видите, похож на терминал Linux. Вы можете устанавливать пакеты, запускать службы и т. д. Если вам интересно, какая версия Linux используется в вашей среде, вы можете просто использовать следующие команды:

$ cd
$ sudo apt install neofetch
$ neofetch

Выход

Как видите, это Ubuntu 20.04.4 LTS 64-bit!

Если вам неудобно использовать VS Code в браузере, выберите Файл > Открыть в VS Code, это откроет среду кода в вашем локальном приложении VS Code. Но убедитесь, что у вас установлено это расширение — Нажмите на эту ссылку, чтобы установить расширение.

Примеры

Здесь я приведу два примера:

  1. Настройка фляжного проекта в Codespaces
  2. Настройка проекта веб-сайта (стек HTML, CSS, JavaScript) в Codespaces

1. Настройка проекта Flask в Codespaces

Я настрою это простое приложение Flask (не обращайте внимания на имя репо, это просто приложение Flask)



Просто нажмите Code›Codespaces›Create Codespace on Main.

Теперь давайте откроем терминал и наберем следующую команду для установки зависимостей:

pip3 install -r requirements.txt

При работе над проектами Python рекомендуется создать requirements.txt со списком библиотек, используемых в вашем проекте. Если у вас нет requirements.txt, вы можете установить библиотеки вручную:

pip3 install <library_name>

Запустим наш проект:

python3 application.py

Обратите внимание, что на вкладке PORTS в терминале порт автоматически перенаправляется. Кроме того, создается URL-адрес.

CTRL + Click по локальному адресу; это URL нашего приложения. Это частный URL-адрес, что означает, что только вы можете видеть веб-сайт, когда вы вошли в GitHub. Но вы можете изменить видимость веб-сайта на вкладке ПОРТЫ для публики, чтобы показать его вашему клиенту.

Выход

2. Настройка проекта веб-сайта (HTML, CSS, стек Javascript) в Codespaces

Я настрою этот проект веб-сайта, созданный с использованием HTML, CSS и JavaScript, на Codespaces. Это был мой проект III семестра:



Следуйте той же процедуре, что и в приведенном выше примере, и откройте Codespaces для репозитория.

Теперь в этом проекте порт не перенаправляется автоматически, так как мы ничего не запускаем, и для открытия HTML-файлов нужен только браузер. Поэтому нам придется делать это вручную.

Откройте терминал и последовательно введите следующие команды:

$ sudo apt install apache2 -y
$ sudo mkdir /var/www/html/backup
$ sudo mv /var/www/html/index.html /var/www/html/backup
$ sudo cp -r * /var/www/html
$ sudo service apache2 start

Надеюсь, у вас не будет ошибок. Теперь перейдите на вкладку «ПОРТЫ» в терминале и нажмите «Добавить порт». В номере порта введите 80 (поскольку apache2 обслуживает порт 80) и в поле локального адреса просто нажмите на него, и он будет сгенерирован автоматически.

Теперь нажмите на значок земного шара — и бум! — ваш сайт запущен.

Выход

Вам может понадобиться выполнить следующую команду, если вы выключите/закроете свое кодовое пространство:

$ sudo service apache2 start

Github.dev по сравнению с GitHub Codespaces

Многие из вас запутались между github.dev и Codespaces. Ну, это две разные вещи. Для тех, кто не знает, что такое github.dev, это веб-редактор, такой же, как VS Code, который можно использовать, перейдя в репозиторий и нажав клавишу точки (.) на клавиатуре.

Это откроет репозиторий в редакторе, и вы сможете редактировать код на ходу. Github.dev поддерживает расширения, синхронизацию учетной записи VS Code и т. д.

Он отличается от Codespaces тем, что не предоставляет никакой среды, а также похож на приложение «на ходу». Например, если вы попытаетесь открыть терминал в github.dev, вы получите следующее сообщение:

Пишет, что терминалы недоступны в веб-редакторе. Вместо этого вам нужно работать над codespace в среде, где вы можете установить, настроить и т. д. Другое дело — GitHub dev не позволяет вам ничего запускать — только редактировать код.

Является ли кодовое пространство GitHub бесплатным?

У меня были те же сомнения, и я связался с поддержкой GitHub по этому поводу.

Они сказали мне, что это бесплатно для пользователей бета-версии до следующего объявления. Если вы не являетесь пользователем бета-версии и все еще хотите использовать Codespaces, вы можете проверить следующие ссылки:

Или вы можете испытать удачу и записаться в лист ожидания кодовых пространств GitHub!

Заворачивать

То, что создала Microsoft, великолепно! Это будущее. Поскольку он основан на облаке, он быстрый и безопасный. Это самый быстрый и эффективный способ совместной работы разработчиков над проектом.

Want to Connect?
Connect with me on LinkedIn.