Skip to main content

Command Palette

Search for a command to run...

23년 12월 전반기 뉴스레터

Published
•2 min read•View as Markdown

로우 쿼리 좋아하는 건 고 개발자의 숙명일지도

Level UP your RDBMS Productivity in GO - DEV Community


마이 웹소켓 멜로디

웹소켓 라이브러리가 많이 나와 있지만, 브로드캐스팅까지만 단순하게 지원하면서 유명한 친구는 이 라이브러리가 유일한 것같습니다.

olahol/melody: :notes: Minimalist websocket framework for Go (github.com)


스키마 마이그레이션이 어떻게 zero downtime으로 되죠?

Zero-downtime Postgres schema migrations need this: lock_timeout and retries | Database branching for any Postgres DB · Postgres.ai · DBLab


쉽고 빠르게 오픈 텔레메트리 적용하기

keyval-dev/odigos: Distributed tracing without code changes. 🚀 Instantly monitor any application using OpenTelemetry and eBPF (github.com)


ORM이 못 미더우신가요?

그래서 raw query를 써야겠나요?

하지만 저처럼 타입 맞추기 어려우면 이런건 어떠신가요?

Compile SQL to type-safe code | sqlc.dev

Comparing database/sql, GORM, sqlx, and sqlc | The GoLand Blog (jetbrains.com)


고에 새로운 표준 패키지와 함수가 추가될 전망입니다.

unique 라는 패키지라고 하네요.

전역에 걸쳐 유니크한 값을 다루는 걸로 보입니다.

이게 들어오면 지금 하는 것처럼 패키지 레벨 private에 Get 함수는 public으로 두는 스타일을 고집하지 않아도 되겠네요.

unique: new package with unique.Handle · Issue #62483 · golang/go (github.com)


C에 구현된 go의 채널

어쩌다..

rochus-keller/CspChan: A pure C (-std=c89) implementation of Go channels, including blocking and non-blocking selects. (github.com)


SK 테크 써밋 가보셨나요?

전 애석하게도 휴가가 부족해서 못 갔습니다 ㅠ

SK TECH SUMMIT 2023


RDB 수평 확장에 대한 고찰

Why Is It Hard to Horizontally Scale SQL Databases | by Arslan Ahmad | Dec, 2023 | Level Up Coding (gitconnected.com)


fifo를 기반으로 한 캐시 자료구조

scalalang2/golang-fifo: Modern efficient cache design with simple FIFO queue only in Golang (github.com)


시계열 데이터베이스의 성능 향상을 위해

CPU가 할 수 있는 만큼만 갈구도록 합시다.

Performance optimization techniques in time series databases: Limiting concurrency (victoriametrics.com)

Performance optimization techniques in time series databases: sync.Pool for CPU-bound operations (victoriametrics.com)


도커파일 잘 만들고 계시나요?

전 좀 한다고 느낍니다. 이 글을 읽기 전까지는요.

Docker optimization guide: 8 tricks to optimize your Docker image size (augmentedmind.de)


고에서 에러 추적을 어떻게 하시나요?

저의 경우엔 zerolog를 래핑해서 다계층의 로그 구조를 설계했던 적이 있었는데요.

이게 있었다면 아마 안 그랬을 거 같기도 합니다.

bracesdev/errtrace: An alternative to stack traces for your Go errors (github.com)


고에서 event driven 아키텍처를 구현하는 방법

펍섭을 곁들인.

Building an event-driven system in Go using Pub/Sub - DEV Community


자료구조 복습하고 가시죠!

https://www.freecodecamp.org/news/data-structures-the-key-to-scalable-software/


문자열 연산 최적화에 관심이 있으신가요?

Optimizing Go string operations with practical examples | by Alex Bledea | Dec, 2023 | Medium


올해가 끝나가네요.

이 뉴스레터를 읽으시는 모든 분들께 남은 한해 건강하고 행복하게 보내시길 바랍니다.

More from this blog

[GDC] Weekly Newsletter September 2nd

[GDC] Weekly Newsletter September 2nd Go 애플리케이션 성능 향상: 프로파일 기반 최적화 활용하기 소개 Go 컴파일러는 실행 시 어떤 코드가 자주 사용되는지 알 수 없기 때문에, 정적인 추측에 의존하여 최적화를 수행합니다. 이로 인해 실제 실행 환경에서 성능이 저하될 수 있습니다. 프로파일 기반 최적화(PGO)는 Go 컴파일러에게 애플리케이션 실행 프로파일을 제공하여 컴파일러가 더 정확한 최적화를 수행할 수 있...

Sep 8, 202417 min read

[GDC] Weekly Newsletter September 1st

Go 언어에서의 모델 검증 요약 Go 언어에서 모델 검증은 소프트웨어 개발에서 필수적인 부분입니다. 적절한 검증을 통해 데이터 유효성을 보장하고 이후 작업을 간소화할 수 있습니다. 이 글은 Go 언어에서 모델 검증을 수행하는 다양한 방법과 validator v10 라이브러리에 대해 설명합니다. 소개 Go 언어는 강력한 타입 시스템을 제공하지만, 모델 검증을 위한 내장 기능은 부족합니다. 따라서 개발자는 직접 검증 로직을 작성하거나 외부 라이브러...

Sep 1, 202428 min read

[GDC] Weekly Newsletter August 5th

BleuIO와 Go를 사용하여 BLE 애플리케이션 구축하기 Summary 이 글은 BleuIO USB 동글과 Go 프로그래밍 언어를 사용하여 Bluetooth 저에너지(BLE) 개발을 시작하는 방법을 단계별로 안내합니다. BleuIO는 사용하기 쉬운 AT 명령어로 BLE 애플리케이션 개발을 단순화하는 다재다능하고 사용자 친화적인 BLE USB 동글입니다. Description 이 글은 개발 환경을 설정하고 BLE 동글과 상호 작용하는 간단한 ...

Aug 25, 202435 min read

# [GDC] Weekly Newsletter August 3rd

본 아티클은 시험삼아 모두 Gemini Flash로 생성했습니다. 잘못된 부분은 제 메일로 알려주셨으면 합니다! gRPC over HTTP/3: 차세대 분산 시스템을 위한 혁신 요약 gRPC over HTTP/3는 분산 시스템의 성능과 효율성을 향상시키기 위한 새로운 기술입니다. gRPC는 이미 빠르고 효율적인 RPC 프레임워크로 알려져 있으며, HTTP/3는 최신 HTTP 프로토콜로서 낮은 지연 시간과 높은 성능을 제공합니다. 이 조합은 네...

Aug 18, 202461 min read

Go 언어 뉴스레터: //go:linkname 사용 제한에 대한 논의

이 기사는 Gemini를 이용해 작성된 것입니다. 토론 Go 표준 라이브러리 내부(특히 런타임 내부)에 접근하기 위해 //go:linkname을 과도하게 사용하면 Go 생태계의 많은 패키지에 의존하는 패키지가 표준 라이브러리 내부를 변경할 때 문제가 발생할 수 있습니다. 예를 들어, https://go.dev/cl/583756는 github.com/goccy/go-json이 런타임의 내부 타입 API를 대부분 복사했기 때문에 해당 패키지를 ...

Jun 22, 20241 min read
G

Go Developer Community

28 posts