Builder.shin
Golang
74개의 게시물
Golang
Go 제네릭 1.18 출시, 실무 코드에 적용해보기
Go 1.18에서 드디어 제네릭이 정식 지원되었다. 기존 프로젝트에서 반복되던 타입별 유틸 함수들을 제네릭으로 리팩토링하면서 체감한 장단점을 정리했다.
2022년 3월 18일
Golang
Go 1.18 베타 제네릭 도입 후기
Go 1.18 베타에서 제네릭을 실제 프로젝트에 적용해봤다. 타입 안정성은 확보되었지만, 기존 코드베이스와의 혼용 시 주의할 점이 많았다.
2022년 1월 25일
Golang
Go 1.18 베타 제네릭 도입 후기
Go 1.18 베타가 공개되면서 드디어 제네릭이 추가되었다. 기존 프로젝트에서 반복되던 타입별 유틸 함수들을 제네릭으로 리팩토링하며 느낀 점을 정리했다.
2021년 12월 27일
Golang
Go 인터페이스와 nil 비교 시 주의사항
Go에서 인터페이스 타입의 nil 비교가 예상과 다르게 동작하는 문제를 겪었다. 인터페이스는 타입과 값을 모두 가지고 있어서 nil 체크가 직관적이지 않다.
2021년 11월 2일
Golang
Go 1.17 제네릭 없이 타입 안전한 슬라이스 유틸 만들기
Go 1.18에서 제네릭이 추가될 예정이지만, 현재 프로젝트는 1.17을 사용 중이다. interface{}와 reflection을 활용해 타입 안전한 슬라이스 유틸리티를 구현한 과정을 정리했다.
2021년 10월 2일
Golang
Go 1.16 embed 패키지로 정적 파일 바이너리에 포함하기
Go 1.16부터 추가된 embed 패키지를 사용해 정적 파일을 바이너리에 포함시켰다. 별도 파일 복사 없이 단일 바이너리 배포가 가능해졌고, 배포 프로세스가 간소화되었다.
2021년 7월 8일
Golang
Go 채널 타임아웃 처리 시 겪은 고루틴 릭 문제
API 서버에서 외부 요청 타임아웃을 처리하던 중 고루틴이 계속 쌓이는 문제를 발견했다. select 문과 context를 사용한 타임아웃 처리 방식의 차이를 정리했다.
2021년 7월 4일
Golang
Go 1.16 embed 패키지로 정적 파일 관리하기
Go 1.16에 추가된 embed 패키지를 프로젝트에 적용했다. 빌드 시 정적 파일을 바이너리에 포함시켜 배포를 단순화할 수 있었다.
2021년 7월 1일
Golang
Go에서 Context를 이용한 Graceful Shutdown 구현
API 서버에서 배포 중 요청이 끊기는 문제가 발생했다. Context와 signal을 활용해 진행 중인 요청을 안전하게 처리하는 graceful shutdown을 구현했다.
2021년 5월 8일
Golang
Go 프로젝트에 Context Timeout 적용하며 배운 것들
외부 API 호출 시 타임아웃 처리가 제대로 되어있지 않아 장애가 발생했다. Context를 활용한 타임아웃 패턴을 적용하며 배운 내용을 정리했다.
2021년 4월 26일
Previous
1
More pages
3
4
5
6
7
8
Next
카테고리