2026/03 4

neovim 설정 초기화

Neovim을 처음 접하고 여러 가지 설정을 시도하다 보면, 설정 파일들이 복잡하게 꼬여 아예 처음부터 다시 시작하고 싶어질 때가 있습니다. 이는 Neovim 입문자라면 누구나 한 번쯤 겪는 아주 자연스러운 과정입니다! macOS 환경의 경우, Homebrew로 Neovim을 삭제하고 재설치(brew uninstall neovim 후 설치)하더라도 기존의 설정 파일과 다운로드한 플러그인 데이터는 시스템에 그대로 남습니다. 따라서 완전히 백지상태에서 새로 시작하려면, Neovim이 참조하는 설정, 데이터, 상태 및 캐시 디렉터리를 직접 초기화해 주어야 합니다. 이번 문서에서는 neovim을 초기화하는 방법에 대해 알아보겠습니다. 기존 설정 및 데이터 초기화 (백업 권장)터미널을 열고 아래 명령어를 실행해 ..

ETC 2026.03.28

go reflect 이해하기

reflect란?Go 언어는 강력한 정적 타입(Statically Typed) 언어입니다. 하지만 실무를 하다 보면 ORM 라이브러리를 만들거나, Kubernetes 매니페스트 같은 복잡한 YAML/JSON 데이터를 파싱할 때처럼 런타임에 변수의 타입을 검사하고 제어해야 하는 순간이 반드시 찾아옵니다.이럴때 사용할 수 있는게 바로 reflect 패키지입니다. 이번 문서에서는 Golang의 reflect 패키지를 활용해 프레임워크나 공통 라이브러리, 직렬화/역직렬화(예: JSON) 도구 등을 구현할 수 있는 방법에 대하여 알아보겠습니다. reflect 사용하기Reflection의 기초: Type과 KindReflection의 시작점은 `interface{}` (any) 입니다. 빈 인터페이스 내부에는 데이..

Go언어 2026.03.22

go generic 이해하기

Generic(제네릭)이란?Go 1.18부터 도입된 제네릭(Generic) 기능은 하나의 함수나 타입이 다양한 타입을 처리할 수 있도록 해주는 기능입니다. 제네릭(Generics)이 도입된 지 꽤 시간이 흘렀지만, 실무 환경에서는 기존의 `interface{}`와 타입 단언(Type Assertion) 패턴에 익숙해져 제네릭을 적극적으로 활용하지 못하는 경우가 많습니다. 이번 문서에서는 Golang 제네릭의 핵심 개념부터, 범용 자료구조, 실무 유틸리티 함수, 그리고 아키텍처 레벨에서의 고급 활용법까지 단계별로 정리해 보겠습니다. 제네릭의 핵심은 "타입(Type)을 파라미터로 받는다"는 것입니다. 함수나 구조체를 작성할 때 구체적인 타입(`int`, `string` 등)을 미리 정하지 않고, 실제로 호..

Go언어 2026.03.21

go version upgrade (MacOS)

맥북에서 개발을 하다 보면 새로운 기능이나 보안 패치를 위해 Go 언어의 버전을 올려야 할 때가 있습니다. 만약 처음에 `Homebrew`를 이용해 Go를 설치하셨다면, 아주 간단한 명령어 몇 줄만으로 최신 버전으로 업그레이드할 수 있습니다.오늘은 Homebrew를 이용한 Go 버전 업그레이드 방법과, 기존 프로젝트에 새로운 버전을 적용하는 방법까지 한 번에 알아보겠습니다. 현재 설치된 Go 버전 확인하기업데이트를 진행하기 전에, 현재 맥에 설치되어 있는 Go의 버전을 먼저 확인합니다. 터미널(Terminal)을 열고 아래 명령어를 입력해 주세요.go version출력 결과로 go version go1.x.x darwin/arm64 처럼 현재 사용 중인 버전이 나타납니다. Homebrew를 통한 Go 업..

Go언어 2026.03.21