이번엔 Go의 메모리 관리에 대해 정리해보려 합니다 Go가 1.17이 Release되는 현재 시점에서 해당 내용에 관해 국내에서 정리된 문서가 없는 것 같습니다 (몇가지 번역 문서는 존재하는것 같습니다) 이제 Go도 연식이 꽤 생긴 언어이고 관련 문서는 굉장히 많습니다만 버전마다 상세한 내용들이 추가되고, 바뀌고 있습니다 (문서는 대부분 잘 정리되어 있습니다. 양이 무지막지할 뿐) LINE 블로그의 굉장히 유명한 Go GC 관련 문서가 있습니다 깔끔하게 GC에 대해 정리해준 문서인데 Go 1.10 버전으로 다루고 있으며 현재는 이와는 GC가 꽤 달라졌습니다 Go 언어의 GC에 대해 - LINE ENGINEERING 안녕하세요, LINE Ads Platform 개발을 담당하고 있는 Okada(@ocadar..
지난 포스팅에서 gRPC에 대해서 설명했으며 이번에는 go를 이용해 사용하는 방법을 정리합니다 gRPC 이번 포스팅은 gRPC입니다. 요즘 업무에 자주 쓰고 있어서 가볍게 정리해두려 합니다. [핵심 용어] 더보기 /* - RPC - IDL(Interface Definition Language) - gRPC - protobuf(프로토버프/프로토콜버퍼) - micros.. syntaxsugar.tistory.com gRPC를 사용하기 위해서는 protobuf로 IDL을 정의하고 gRPC 방식으로 컴파일해야 합니다 단순한 protobuf는 go에서 사용하는 방법이 굉장히 단순합니다 하지만 Tree 구조를 가진 protobuf를 go에서 컴파일하는 데는 현재까지 버그가 있습니다 이번 포스팅에서는 - 하나의 pr..
Configuration도 굉장히 중요한 영역 중에 하나죠 굉장히 다양한 방법과 의견이 나뉘는 분야입니다 JSON, YAML, 환경변수 등 종류도 다양하고 Cloud, Container, Command Line 등 환경도 다양합니다 그래서 golang에서 config를 어떻게 다루는게 좋을지 정리해보려 합니다 우선 12 factors에서 Configuration에 대해 언급하는 부분이 있습니다 2021.08.12 - [Cloud/Cloud Native] - The Twelve Factors The Twelve Factors Cloud-Native App은 Cloud 환경에 App을 배포하여 서비스하는 SaaS(Software As A Service) 방식입니다 그리고 Cloud-Native와 SaaS에서..
go에서 사용할 수 있는 framework, library, software 소스코드들의 리스트가 정리되어 있습니다 계속 관리도 되고 있네요! Survey 시에 유용한듯! A curated list of awesome Go frameworks, libraries and software GitHub - avelino/awesome-go: A curated list of awesome Go frameworks, libraries and software A curated list of awesome Go frameworks, libraries and software - GitHub - avelino/awesome-go: A curated list of awesome Go frameworks, libraries..
장시간 서비스하는 Production 환경의 프로그램에서 특히 유의해야 하는 녀석들이 있죠 이번에 얘기할 녀석은 힘순찐 메모리 누수(Memory Leak)입니다 처음엔 안 보이다가 한창 돌아가면 나타나는 녀석이죠 처음부터 잘 개발했으면 문제가 없겠지만 개발이란 게 그렇지 만만하진 않습니다 장시간 성능 시험을 돌리면서 발생한 Memory Leak을 발견하고 해결한 과정을 가볍게 공유합니다:) 상황 회사에서 SKB 관련 상용 서비스 GW 개발을 하고 있습니다 전부 C로 설계된 상황에 AS 프로세스와 gRPC로 연동하는 gRPC Interface 블럭만 Go로 설계되어 제가 담당하게 되었습니다 선행과제 개발을 하면서 k8s나 Go에 대한 호감이 MAX에 이를 쯤이라 재밌는 기회라 생각했지만 Production..