Go 언어 포인터 완벽 해설서론안녕하세요, 여러분! 오늘은 Go 언어에서 중요한 개념 중 하나인 포인터에 대해 깊이 있게 다뤄볼게요. 포인터는 처음 접할 때 조금 헷갈릴 수 있지만, 이해하면 Go를 더욱 효과적으로 활용할 수 있는 강력한 도구입니다. 그럼 함께 알아볼까요? 포인터란 무엇인가요?포인터는 변수의 메모리 주소를 저장하는 특별한 변수입니다. 쉽게 말해, 포인터는 다른 변수의 위치를 가리키는 역할을 합니다. 이를 통해 변수의 값을 직접 수정하거나 함수 간에 데이터를 효율적으로 전달할 수 있습니다. package mainimport ( "fmt")func main() { var number int = 42 var ptr *int = &number fmt.Println("numb..
Go로 만드는 데몬(daemon) 프로세스 처리 레시피안녕하세요, 여러분. 오늘은 데몬 프로세스를 만드는 방법에 대해 이야기해볼까 하는데요. 데몬(daemon) 프로세스란?여러분은 어떤 종류의 데몬 프로세스를 작성하고 있나요? 여기서 다룰 데몬(daemon)은 백그라운드에서 계속 실행되는 프로세스를 의미하는데요. 오타에 주의해야 할 부분입니다. (저는 'deamon'이라고 잘못 쓰는 경우가 많더라고요.) Go 언어는 그 독특한 특성 덕분에 다양한 작업을 간편하게 구현할 수 있는데요. 데몬 구현 예제를 통해 Go의 매력을 느낄 수 있을 것이라고 생각합니다. 혹시 여러분이 알고 있는 유용한 레시피가 있다면 공유해 주세요.기본부터 시작해볼까요?무한 반복 실행하기아래 코드를 Go Playground에서 시도해보..
Go 언어로 HTTP 서버 기본 구조 깔끔하게 잡기: errgroup 활용!안녕하세요! 요즘 제가 자주 작성하는 Go 언어 HTTP 서버 기본 코드를 소개해드리려고 합니다. 코드를 보는 게 이해하기 더 빠를 테니 바로 전체 코드를 보여드릴게요!목표localhost:8888에서 HTTP 서버 실행SIGINT 신호를 받으면 HTTP 서버 Graceful Shutdown여러 곳에서 ctx.Done() 처리위 내용들을 혼동 없이 깔끔하게 작성package mainimport ( "context" "fmt" "net/http" "os" "os/signal" "syscall" "x/sync/errgroup")func main()..
Go로 CUI 툴을 쉽고 편하게! gocui 사용기안녕하세요. 요즘 Go로 CUI·CLI 툴을 만드는 것에 푹 빠져 있는데요. CUI 툴을 만들 때 사용하고 있는 라이브러리로 gocui라는 것이 있습니다.어떤 건가요?터미널 상에서 HTML의 폼(form)처럼 입력 인터페이스를 간단하게 만들 수 있습니다. 버튼이나 체크박스 등도 준비해두었는데요.사용 방법[_demos Github 예제](https://github.com/skanehira/gocui-component/tree/master/_demos에 있는 select 샘플을 바탕으로 설명해보겠습니다.func main() { gui, err := gocui.NewGui(gocui.Output256) if err != nil { pan..