golangkorea / devfest2020-golang-community-qna

평소 궁금했던 Go와 관련된 질문들을 커뮤니티 멤버들과 함께 주고 받아요!
https://gdg.community.dev/events/details/google-gdg-golang-korea-presents-devfest-korea-2020-golang-community-qa/
14 stars 0 forks source link

golang 시작하기 #2

Closed Terrorboy closed 3 years ago

Terrorboy commented 3 years ago

안녕하세요. 고랭에 관심이 많은 php 잡부 Terrorboy 입니다.

프로젝트 여러개를 동시에 작업 하고 배포하기 좋은 방법이 무엇인가요?

인터넷에 퍼진 자료로 작업 환경을 구축(windows) 후 공부용으로 여러 프로젝트를 생성 하다보면 경로 문제등이 발생을 하더라구요.(go get등에서)

Terrorboy commented 3 years ago

추가로 요즘 많이 보이는 도커를 활용한 개발방법도 ㅎㅎ

(이벤트 중복카운팅 되지 않게 코멘트로 질문을 추가하는중입니다)

Terrorboy commented 3 years ago

추가: 리눅스에서 고랭으로 작성된 프로그램을 데몬으로 쉽게 띄우는법이 있을까요?

gigamorph commented 3 years ago

데몬이라... 정식으로 deploy하려면 systemd 같은 걸로 service를 돌려야 하고, 그냥 시험삼아 돌려보는 것이라면 nohup이나 screen 쓰면 되지 않을까요. 제가 질문을 잘 이해했는지 모르겠네요. 잘 모르는데 다른 분들의 대답을 유도하기 위해 써봤습니다 ^^

yundream commented 3 years ago

도커쪽을 살펴보시면 좋을 것 같습니다. systemd 같은 시스템 소프트웨어로 프로세스를 관리하는 방법도 있습니다만, 도커가 더 쉽고 일관된 방법을 제공합니다. 도커에 데몬모드 실행, 프로세스 관리(죽으면 다시 살리고) 등등의 기본적인 프로세스 관리 기능들이 포함되 있습니다. 향후 도커 기반(kubernetes, ECS 등)으로 자연스럽게 넘어갈 수 있겠고요. 요즘 왠만하면 도커는 필수 이니 이번 기회에 살펴보시면 도움이 될 겁니다.

Terrorboy commented 3 years ago

@gigamorph https://github.com/struCoder/pmgo 를 사용하고 있는데 다른 방법이 있는지 궁금해서요 ㅎㅎ

답병 정말감사합니다!

Terrorboy commented 3 years ago

@yundream 감사합니다! (사실 요즘 도커를 쓸기회가 많아서 궁금했었 습니다 ㅎㅎ) 돌아다니다 보니 컴파일 이나 이런걸 도커로 구성하는 자료가 있어서 실제 많이 사용하는지 궁금해서 물어보았습니다 ㅎㅎ

Terrorboy commented 3 years ago

내용 추가 보통 고같은 경우는 베포시 소스를 함께 베포하고 받은 클라이언트단에서 컴파일하여 사용한다고 들었습니다.

좀더 쉽게 배포하는 방법이있을까요? (고린이입니다 ㅎㅎ)

gigamorph commented 3 years ago

도커(Docker) 쓸 수 있으시다면 저도 당연히 그걸 추천하겠습니다. 저는 그냥 간단히 자신의 컴퓨터나 학교 서버의 자기 계정에서 이것 저것 돌려보는 경우를 생각했어요. 실제의 업무와 프로젝트에서는 저도 백퍼 도커 사용합니다. 익숙하게 되면 자신의 컴퓨터에서 개발할 때도 그게 더 편할 때도 많이 있고요. @yundream 님처럼 저도 배워보시길 추천합니다.

Terrorboy commented 3 years ago

@gigamorph 답변감사합니다!

billopark commented 3 years ago

저도 docker를 추천합니다. 이건 golang을 떠나서 모든 복잡한 환경 구성이 들어가는 프로젝트라면 무조건 dockerize 하는게 배포/프로젝트 생애 관리에도 좋을 것 입니다. 그리고 golang에서 환경 구성의 발목을 많이 잡는 gopath의 어려움에서 벗어나시려면 go module도 도입해보시기를 추천드립니다.

Terrorboy commented 3 years ago

@billopark 감사합니다 ㅎㅎㅎ 역시 도커만한게 없지요. 고모듈은 한번 건색해보겠습니다!!

billopark commented 3 years ago

내용 추가 보통 고같은 경우는 베포시 소스를 함께 베포하고 받은 클라이언트단에서 컴파일하여 사용한다고 들었습니다.

좀더 쉽게 배포하는 방법이있을까요? (고린이입니다 ㅎㅎ)

아마 go install을 의미하시는 것 같아요. go install 이라는 키워드로 검색해보시기를 추천드립니다. 그리고 일반 바이너리 형태로도 배포하기도 합니다 :) 예를 들어 서버에 올릴 도커이미지에는 빌드된 바이너리만 있으면 되겠지요. (소스코드가 있으면 공간낭비+보안상 안전하지않을 수 있음)

Terrorboy commented 3 years ago

@billopark 답변 감사드립니다! 공부할게 많네요 ㅎㅎㅎ 답변들을 참조해서 공부를 진행해보겠습니다!

billopark commented 3 years ago

@Terrorboy 네 응원하겠습니다 :)

Terrorboy commented 3 years ago

@billopark 감사합니다! ㅎㅎ