go-sandbox

command module
v0.0.0-...-26fab1c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2024 License: MIT Imports: 3 Imported by: 0

README

Go Sandbox

Go Sandbox - простая песочница для запуска кода го онлайн. На данный момент есть два режима работы с кодом:

  • сольный - вы работаете в одиночку
  • совместный - вы можете совместно со своими друзьями писать код, наблюдаю за его изменениями и выполнением в реальном времени
Запуск

Для запуска песочницы вам нужен будет только докер.

Клонируем репозиторий:

git clone https://github.com/algrvvv/go-sandbox.git
cd go-sandbox

Запускаем команду для создания нужных волюмов и билдов:

make install

Либо делаем этот этап вручную:

docker volume create code-files
docker build -t go-runner ./executor
docker save -o go-runner.tar go-runner
docker build -t go-sandbox .

После этого мы можем запустить нашу песочницу:

make run

Либо командой:

docker run -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock -v code-files:/tmp/go-sandbox -v ./go-runner.tar:/go-runner.tar go-sandbox
Использование

Чтобы работать вместе на начальном экране, нажмите Online, чтобы создать сессию а затем поделитесь ей со своими друзями и творите!

Также присутствуют удобные сочетания клавиш такие как:

  • ctrl + shift + F или command + shift + F для форматирования и автоматического импорта пакетов из стандартной библиотеки
  • ctrl + Enter или command + Enter для запуска кода
TODO
  • добавить удобный способ поделиться сессией
  • добавить отображение колва одновременно подключенных пользователей
  • добавить отслеживание сочетания клавиш для форматирования кода
  • добавить запуск кода для онлайн кодинга, также с использованием вебсокетов
  • добавить использование seccomp.json
  • добавить возможность сохранять файлы для дальнейшего их просмотра
  • исправить баг, когда подключается новый пользователь к новой сессии - он не видит код, который писали до него. Если он решит что-то написать, сотрется предыдущий код у остальных.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
executor module
src

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL