C++ 좋은 읽을거리

created: 2022-09-18 | updated: 2022-09-24
Can C++ be 10x simpler & safer … ? C++ 코드를 생성하는 컴파일러를 개발해 C++ 의 좋은 점만 사용하는 50배 안전하고, 10배 간단한 C++ 을 만드는 아이디어 레퍼런스 https://github.com/hsutter/cppfront

C++

created: 2020-04-19 | updated: 2022-09-18
친애하는 나의 C++ std::shared_ptr is not thread safe C++ 좋은 읽을거리

Go

created: 2020-03-29 | updated: 2022-09-18
#go
xvfb를 이용한 Go headless 테스트 Go의 철학 Go module에서 GitHub private repository 사용 좋은 읽을거리

좋은 읽을거리

created: 2022-09-18 | updated: 2022-09-18
#go
Fixing Memory Exhaustion Bugs in My Golang Web App Go 메모리 관련 OOM 버그를 수정하는 여정에 관한 이야기 디버깅 과정을 상세하게 공유해 주고 있으며, 특히 Other lessons learned 와 Dead ends 파트에서 공유해준 내용에는 배울 점이 많습니다.

Go module에서 GitHub private 저장소 사용

created: 2020-03-29 | updated: 2022-09-18
#go
Go module에서 GitHub private 저장소를 사용하는 방법입니다. git 설정에서 GitHub 접근을 계정과 토큰을 사용하게 변경 git config --global url."https://${GITHUB_USER}:${{GITHUB_TOKEN}}@github.com".insteadOf "https://github.com" GOPRIVATE 환경변수에 private 저장소 등록 GOPRIVATE="github.com/hueypark/asset"

xvfb를 이용한 Go headless 테스트

created: 2020-04-02 | updated: 2022-09-18
#go
Go에서 GLFW 등을 이용해 그래픽스 관련 작업을 할 때에도 자동화 테스트 구성이 가능합니다. 하지만 GitHub Actions과 같이 디스플레이가 없는 환경에서는 의존성을 가지고 있다는 이유만으로 그래픽스 관련 테스트가 실패합니다. xvfb는 메뉴얼에서 virtual framebuffer X server for X Version 라고 소개되고 있으며, 서버 사이드 테스트를 위해 주로 사용됩니다. Ubuntu 기준으로 sudo apt install xvfb로 설치하고 xvfb-run에 이어서 테스트 명령어를 추가하여 테스트할 수 있습니다. 실제 GitHub Actions에 적용한 예시를 공유드립니다.

Go의 철학

created: 2020-04-05 | updated: 2022-09-18
#go
Dave Cheney의 The Zen of Go를 번역했습니다. 좀 더 알고 싶으신 분은 발표 영상과 블로그 글을 함께 참고해 주십시오. Go의 철학 쉽고, 읽기 좋으며, 유지가능한 Go 코드 작성을 위한 10가지 엔지니어링 가치. 고퍼콘 이스라엘 2020에 발표하였음. 패키지는 하나의 목적만을 달성합니다 잘 디자인된 Go 패키지는 단 하나의 아이디어와 관련 동작을 제공합니다. 좋은 Go 패키지를 위해 좋은 이름을 먼저 정해야 합니다. 엘리베이터 피치라고 생각하며 패키지 이름을 정해보십시오. 에러는 명시적으로 처리합니다 단단한 프로그램은 문제가 생기기 전에 실패처리를 하는 요소들로 이루어져 있습니다.

뉴스피드 2022

created: 2022-06-03 | updated: 2022-08-28
2022년 8월 Don't Put All Your Code In Internal 오픈소스라면 외부에서 패키지의 일부도 사용할 수 있었으면 좋겠다고 하였는데, 개인적으로 공감하기는 어려웠습니다. 링크: https://ido50.net/rants/dont-put-all-your-code-in-internal Go 1.19 GOMEMLIMIT Go 1.19 부터 메모리 관리를 효율적으로 하기 위한 옵션이 추가되었습니다. 이 값을 사용하면 특정 워크로드에서 효율적으로 메모리를 관리할 수 있습니다. 사용사례를 소개한 글과 자동으로 적절한 GOMEMLIMIT 를 설정해주는 패키지를 공유드립니다. GOMEMLIMIT is a game changer for high-memory applications automemlimit: 자동으로 적절한 GOMEMLIMIT 를 설정해주는 패키지 개발자 시장과 머니볼 전략 꽤 일리있는 이야기이다.

gRPC

created: 2022-06-12 | updated: 2022-06-16
gRPC 101 간단하고 빠르게 게임서버 만들기 gRPC A high performance, open source universal RPC framework RPC(Remote procedure call) 원격 프로시저 호출 왜 gRPC 인가? Simple service definition Start quickly and scale Works across languages and platforms Bi-directional streaming and integrated auth Simple service definition 강력한 바이너리 직렬화 툴셋인, Protocol Buffers 를 활용해 서비스를 정의함 Start quickly and scale 적은 코드로 쉽게 개발을 시작한 후,

CTO

created: 2021-11-03 | updated: 2022-06-03
버나드(@kms_bernard) 님의 트윗 많은 사람들이 간과하는 것 같은데, CTO는 회사의 경영자다. CTO가 하는 결정은 기술적인게 아니라 비즈니스적인것이어야 하고, 한편으로는 회사의 다른 비즈니스적인 결정에 기술적인 시야를 제공할 수 있어야한다. 그렇기에 내가 경계하는 것은 비즈니스적인 임팩트를 고려하지 않고 기술적으로 옳은 일을 하려고 하는 것과, 비즈니스가 기술적인 위험에 노출되도록 방치하는 것이다. 신순규 자기님의 영상 중 하지만 할 수 있다고 생각하고 방법을 찾아보자