Golang 설치 없이 Golang 빠르게 시작하기

Choi Yeongjun·2021년 1월 25일
1
post-thumbnail

https://github.com/m0ai/simple-go-project-template

빠르게 고언어를 체험해볼 수 있는 깃허브 템플릿입니다. MakeDocker가 미리 사전에 설치되어있어야합니다. 도커 다운로드 홈페이지 바로가기

git clone github.com/m0ai/simple-go-project-template.git
cd simple-go-project-template/
tree 
> .
> ├── Dockerfile
> ├── LICENSE
> ├── MIT-LICENSE.txt
> ├── Makefile
> ├── README.md
> ├── docker-compose.yml
> └── main.go

저장소를 클론하여 다운로드된 파일을 확인해볼 수 있습니다.

시작하기

아래의 명령어를 통해 현재 저장소에 go.mod, go.sum 파일을 생성합니다. sample-app 을 원하는 이름으로 수정하세요.

touch go.sum
cat <<EOF > go.mod
module sample-app

go 1.15
EOF

makefile에 정의되어 있는 명령어를 실행하여 간편한게 앱을 실행할 수 있습니다.

make build up
make log

> Attaching to simple-go-project-template_app_1
> app_1   | Hello, Go
> simple-go-project-template_app_1 exited with code 0

아래의 명령어를 실행하면 실시간으로 코드에 변경사항이 적용되어 테스트 할 수 있는 (like a hotreload) 서비스인 reflex 으로 main.go를 컨테이너 환경에서 실행할 수 있습니다.

make watch

> Creating simple-go-project-template_app_run ... done
> [00] Starting service
> [00] Hello, Go

make watch으로 앱을 실행한 후 main.go 를 수정할 경우 실시간으로 결과가 업데이트 되는 모습을 확인할 수 있습니다.

// Terminal 1
import "fmt"

func main() {
	fmt.Println("Hello, Go. so Easy") // Edited
}
# Terminal 2
make watch

> Creating simple-go-project-template_app_run ... done
> [00] Starting service
> [00] Hello, Go. # Before
> [00] Killing service
> [01] Starting service
> [01] Hello, Go. so Easy # After

아래의 명령어를 사용하여 프로젝트 구성 중 생성하였던 파일과 도커 불륨, 이미지, 컨테이너를 삭제할 수 있습니다.

make clean

> Going to remove simple-go-project-template_app_run_70fc30e963c7, simple-go-project-template_app_run_f78df5fd0e51, simple-go-project-template_app_run_23fb859dba87, simple-go-project-template_app_run_80252ad239d2, simple-go-project-template_app_1
> Are you sure? [yN] y
> Removing simple-go-project-template_app_run_70fc30e963c7 ... done
> Removing simple-go-project-template_app_run_f78df5fd0e51 ... done
> Removing simple-go-project-template_app_run_23fb859dba87 ... done
> Removing simple-go-project-template_app_run_80252ad239d2 ... done
> Removing simple-go-project-template_app_1                ... done

이제 main.go를 수정하면서 바로바로 컴파일되어 실행되는 개발 환경을 즐길 수 있습니다.
🎉

누구나 해당 프로젝트에 기여할 수 있습니다. 좋은 아이디어가 있다면 언제든 PR 혹은 Issue를 생성해주세요 😄

https://github.com/m0ai/simple-go-project-template

profile
Be Right Developer

0개의 댓글