Go Intro – 업무에 사용하는 Go 언어 0

업무에 사용하는 Go 언어 썸네일

직장에 근무하면서 컴퓨터공학에 관련된 업무를 전부 책임지고 있는 저에게 Go 언어로 서버를 만들어달라는 요청이 들어와서 처음 사용하게 되었습니다. 그 과정에서 Go 언어는 충분히 매력적인 언어라고 느껴져서 Go 언어에 대해서 쭉 시리즈로 정리하여 공유하고자 합니다. 제가 Go 언어로 만들어본 재밌는 것들은… 현실적으로 블로그에서 위의 내용들을 다 만들어보기에는 힘들 것 같고 Go 언어를 이해하고 백엔드 서버를 만들어보는 … Read more

Go HTTP Server, Request – 업무에 사용하는 Go 언어 응용편 3

업무에 사용하는 Go 언어 썸네일

개발 과정에서 HTTP 통신은 빼놓을 수 없는 중요한 부분입니다. Go 언어는 이러한 웹 환경에서의 작업을 위한 강력한 표준 라이브러리를 제공하고 있어, go http 패키지를 활용하면 복잡한 네트워크 통신을 놀랍도록 간단하게 구현할 수 있습니다. 필자는 go http 패키지를 활용하여 간략한 임시 서버를 구성하거나, 봇 API를 구성할 때 주로 많이 활용합니다. 특히 마이크로서비스 아키텍처에서 서비스 간 통신이 … Read more

Go HTTP Server(서버) – 업무에 사용하는 Go 언어 응용편 2

업무에 사용하는 Go 언어 썸네일

Go 언어 문법을 익히고 나면 실제로 동작하는 무언가를 만들고 싶어집니다. 이때 가장 재밌고 간단하게 만들어 볼 것이 웹 서버 구현입니다. 본 글에서는 Go 언어의 기본 패키지인 net/http를 사용하여 간단한 go HTTP 서버를 만드는 방법을 소개합니다. Go HTTP의 개요와 장점 Go는 간결한 문법과 뛰어난 성능 덕분에 서버 개발에 많이 사용됩니다. 특히 go http 패키지는 별도의 외부 … Read more

Go ioutil 패키지는 왜 사라졌을까?

Go 관련 썸네일

Go 언어를 공부하다 보면 파일을 읽고 쓰는 작업을 꼭 경험하게 됩니다. 초보자일수록 쉽고 간단한 함수들을 선호하게 되는데, 한동안 많은 개발자들이 자주 사용했던 패키지가 바로 go ioutil입니다. 이 패키지는 파일 읽기, 쓰기, 임시 파일 생성 등의 기능을 손쉽게 처리할 수 있도록 도와주었습니다. 그러나 Go 1.16 버전부터 ioutil은 deprecated(더 이상 사용되지 않음) 처리되었고, 이후 버전부터는 사용을 지양해야 … Read more

Go 파일 입출력 기본 사용법 (os, ioutil, bufio) – 업무에 사용하는 Go 언어 응용편 1

업무에 사용하는 Go 언어 썸네일

Go 언어를 막 배운 상황에서 실제 업무에 활용하려 할 때 가장 먼저 부딪히는 문제 중 하나가 “파일 입출력”입니다. 로그를 저장하거나 설정 파일을 읽는 등 실무에서 파일을 다루는 일은 매우 흔하기 때문에, os, ioutil, bufio 패키지를 이용한 Go 파일 입출력에 대한 이해는 꼭 필요합니다. 이 글에서는 파일을 읽고 쓰는 기본적인 방법부터, 성능과 편의성을 고려한 다양한 접근 … Read more

Go context(컨텍스트) – 업무에 사용하는 Go 언어 20

업무에 사용하는 Go 언어 썸네일

Go 언어를 학습하면서 조금 익숙해졌다고 생각될 즈음, 갑자기 context라는 개념이 등장하면서 다시 머리를 쥐어짜게 되는 순간이 찾아옵니다. 특히 웹 서버나 API 클라이언트처럼 네트워크 작업이 관련된 실무에서는 go context가 필수 요소처럼 사용되곤 합니다. 이번 글에서는 go context의 기본 개념부터 실무에서 어떻게 활용되는지까지, 예제를 중심으로 아주 상세히 설명드리겠습니다. Go Context란 무엇인가요? go context는 Go의 context 패키지에서 제공되며 … Read more

워드프레스 Lighthouse 오류 – Speculative Loading 기능 도입으로 인한 충돌 이슈

lighthouse failed

최근 WordPress 6.8 버전에 Speculative Loading 기능이 도입되고 워드프레스 lighthouse로 페이지 분석 시 브라우저 탭이 충돌하여 비정상적으로 종료되는 이슈가 발생했습니다. 도입된 이 기능은 페이지 로딩 성능을 향상시키기 위한 기능입니다. 사용자가 아직 클릭하지 않은 링크의 콘텐츠를 미리 로드하여 페이지 전환 시 더 빠른 반응 속도를 제공합니다. 이 기능은 사용자의 탐색 패턴을 예측하여 페이지나 리소스를 사전에 불러오는 … Read more

Go channel(채널) – 업무에 사용하는 Go 언어 19

업무에 사용하는 Go 언어 썸네일

Go 언어를 처음 접하는 분들께는 “채널(channel)”이라는 개념이 낯설게 느껴질 수 있습니다. 특히 컴퓨터 프로그래밍에서 채널이란 무엇인지 처음 듣는 분들도 계실 것입니다. 하지만 Go 언어를 본격적으로 활용하려면 이 채널이라는 개념을 꼭 이해하고 넘어가는 것이 중요합니다. 이 글에서는 go channel을 주제로, 기초 개념부터 실제 코드 사용 예까지 차근차근 설명하겠습니다. 필자는 채널과 컨텍스트를 함께 다루는 것이 이해해 좋다고 … Read more

Go 고루틴(gorutine) – 업무에 사용하는 Go 언어 18

업무에 사용하는 Go 언어 썸네일

Go 언어를 처음 접하는 분들에게 “고루틴(goroutine)”이라는 개념은 다소 생소할 수 있습니다.하지만 고루틴은 Go 언어를 Go 언어답게 만들어주는 핵심 기능 중 하나입니다.이번 글에서는 Go gorutine에 대해 친절하게 풀어 설명하고, 다양한 실습 예제와 함께 이해를 돕고자 합니다. 스레드(thread) Go 언어의 고루틴(goroutine)을 이해하고 사용하려면 스레드(thread)라는 것을 알아야만 합니다. 컴퓨터는 한 번에 여러 가지 일을 하려고 노력할 때 ‘스레드(thread)’라는 … Read more

Go generic(제네릭) – 업무에 사용하는 Go 언어 17

업무에 사용하는 Go 언어 썸네일

Go 언어는 1.18 버전부터 제네릭(generic)을 공식적으로 지원하기 시작했습니다.이 기능은 많은 개발자들이 오래전부터 기다려왔던 것으로, 코드의 재사용성과 타입 안정성을 높이는 데 큰 역할을 합니다.이번 글에서는 go generic에 대해 자세히 살펴보며, 다양한 예제와 함께 필자의 생각도 공유해보겠습니다. Go generic이란? 기본적으로 제네릭은 하나의 함수나 타입이 다양한 타입의 데이터를 처리할 수 있도록 해주는 기능입니다.이전까지 Go에서는 비슷한 기능을 인터페이스나 빈 … Read more

Go panic, recover – 업무에 사용하는 Go 언어 16

업무에 사용하는 Go 언어 썸네일

Go 언어를 사용하면서 흔히 접할 수 있는 개념 중 하나가 바로 panic입니다.다른 언어에서의 예외(Exception)처럼 느껴질 수도 있지만, Go에서는 panic과 recover라는 독특한 방식으로 예외 상황을 처리합니다.이번 글에서는 go panic의 개념, 사용 방법, 예제 코드, 그리고 주의할 점까지 자세히 살펴보겠습니다. go panic Go에서 panic은 프로그램 실행 도중 치명적인 오류가 발생했을 때 사용됩니다.절대로 일어나면 안 되는 상황에 발생합니다.panic이 … Read more