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..
소개 Go 1.23 버전부터 새롭게 등장한 iter 패키지는 개발자들에게 반복 처리(iteration)를 보다 효율적이고 유연하게 관리할 수 있는 방법을 제공합니다. iter 패키지는 추상화된 반복자(iterator) 개념을 도입하여, 기존의 반복 처리 방식을 개선하고 다양한 활용 가능성을 열어줍니다. 이 글에서는 iter 패키지의 기본 개념과 사용법, 그리고 실제 활용 예시를 통해 Go 개발에서의 활용성을 살펴보겠습니다. iter 패키지의 핵심 개념 iter 패키지는 주로 for-range 문과 함께 사용됩니다. 핵심적인 역할은 컨텍스트(context)를 가진 논리적인 열거 가능 객체를 생성하고, 이를 다른 코드 블록에서 for-range를 통해 순회하는 데 도움을 주는 것입니다. 기존에는 gorou..