Skip to main content

Command Palette

Search for a command to run...

24년 1월 전반기 뉴스레터

Published
•3 min read•View as Markdown

조금 늦었지만 2024년 새해 복 많이 받으세요!

UDP 기반의 Message Queue?

일반적인 메시지 큐의 경우엔 메시지 전송에 대한 정합성과 연결성 때문에 TCP로 처리하는게 일반적입니다.

UDP 기반으로 처리하면 메시지가 유실되었을 때 처리가 어려워질텐데, 고로 구현한 케이스가 있어 가져왔습니다.

fairymq/fairymq: fairyMQ is an open-source UDP based message queue software written in GO. (github.com)


고로 미디어 플레이어 하나 만들어 보실 생각 있으신가요?

누군가가 libmpv를 바인딩 해놨는데 해보실?

gen2brain/go-mpv: Go bindings for libmpv (github.com)


CloudWeGo가 직접 보여주는 MSA 서버 구현

CloudWeGo는 고를 좋아하는 기업이고, 고를 기반으로 한 MSA 프레임워크를 RPC, HTTP 기반으로 각 하나씩 2개 발표한 적이 있습니다.

kitex와 hertx인데 얼마 전 이 2개를 이용한 예시 아티클을 발표했으니 관심 있으면 살펴보셨으면 합니다.

Mastering Golang Microservices - A Practical Guide: Embrace High-Performance with Kitex and Hertz | CloudWeGo

cloudwego/kitex: Go RPC framework with high-performance and strong-extensibility for building micro-services. (github.com)

cloudwego/hertz: Go HTTP framework with high-performance and strong-extensibility for building micro-services. (github.com)


fasthttp로 로드밸런서를?

aaydin-tr/divisor: A fast and easy-to-configure load balancer (github.com)


JSONNET을 아시나요?

yaml에서도 써보는 경험을 할 수 있을 지도 모르겠습니다?

micah5/yamlx: YAML with conditionals, expressions and loops (github.com)


터미널에서 DB 데이터를 확인해야 한적 있지 않나요?

아직은 베타테스트라서 MySQL만 지원하지만, 인터페이스가 현대적인 데이터베이스 툴을 보는 것같습니다.

jorgerojas26/lazysql: A cross-platform TUI database management tool written in Go. (github.com)


Express like golang web framework

jvcoutinho/lit: A simple, fast and expressive HTTP framework for Go. (github.com)


유닛 테스트 과정에서의 로그 남기는 방법

Beginner's Guide to Unit Test Logging in Go (youtube.com)


동시성을 관리하는 좋은 아티클을 가져왔습니다

http 요청으로 이렇게 재밌는 아티클을 만들 수 있다니...

Concurrent HTTP Requests in Golang: Best Practices and Techniques | by Rafet Topcu | Insider Engineering | Jan, 2024 | Medium


고의 동시성이 가지는 한계?

Scaling Golang to 192 Cores with Heavy I/O · Jaz's Blog (jazco.dev)


우리가 올바르게 한 것과 잘못한 것들에 대해

command center: What We Got Right, What We Got Wrong


Go 1.22 변경점 살펴보기

인터렉티브한 콘솔을 제공하니 한번 쭉 돌려보면 바뀐 걸 쉽게 이해하실 수 있으실 것같습니다.

Go 1.22: Interactive release notes (antonz.org)


효과적인 양방향 통신 프로토콜이 필요해요

웹소켓만이 아니라 다른 프로토콜도 가능한!

Centrifugo – scalable real-time messaging server in a language-agnostic way. Set up once and forever. | Centrifugo (centrifugal.dev)

googollee/go-socket.io: socket.io library for golang, a realtime application framework. (github.com)


cgo 바인딩 너무 귀찮은 일이에요, 그쵸?

자동으로 해주면 정말 좋을 텐데, 맞죠?

xlab/c-for-go: Automatic C-Go Bindings Generator for Go Programming Language (github.com)


부하 테스트를 위해선 툴의 성능도 중요하죠

그쵸...? 클라우드 환경에 필요한 여러가지 Load, Performance Test Tools이 있어요, 고로 짜여진!

grafana/k6: A modern load testing tool, using Go and JavaScript - https://k6.io (github.com)

ddosify/ddosify: Effortless Kubernetes Monitoring and Performance Testing. Available on CLI, Self-Hosted, and Cloud (github.com)

codesenberg/bombardier: Fast cross-platform HTTP benchmarking tool written in Go (github.com)

fortio/fortio: Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats. (github.com)


디스코드는 어떻게 저 트래픽을 소화하는가?

How Discord Serves 15-Million Users on One Server (bytebytego.com)


자바스크립트 진영의 떠오르는 라이브러리들

2023 JavaScript Rising Stars


저희도 최신 리눅스 커널을 서버로 쓰고 싶어요

Linux 6.8 Network Optimizations Can Boost TCP Performance For Many Concurrent Connections By ~40% - Phoronix


구글의 API 디자인 가이드

API 디자인 가이드 | Google Cloud


TIOBE 2023년의 언어, C# 축하합니다.

조만간 자바를 넘어서는 경이를 볼 수 있을 지도 모르겠어요

TIOBE Index - TIOBE

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