Skip to main content

Command Palette

Search for a command to run...

23년 9월 전반기 뉴스레터

Published
3 min readView as Markdown

wasi 저도 써보곤 싶은데요?

고 1.21 버전에 wasi가 공식적으로 들어 왔습니다.

공식 블로그에 wasi에 대한 설명도 어느정도 있으니, 한번 구경해 보세요!

WASI support in Go - The Go Programming Language


올바른 프로파일링 방법?

여러분들은 고로 구성된 프로그램의 프로파일링을 많이 하시는 편인가요?

저는 PGO를 위해서라도 남기 남기려고 고려 중입니다.

그래서 이렇게 짜잔, 프로파일링에 대해 설명하는 아티클을 가져왔습니다!

Profiling Go Applications in the Right Way with Examples | by Abdulsamet İLERİ | Sep, 2023 | Stackademic


겁나게 빠른 FastAPI

FastAPI는 파이썬의 고성능 웹프레임워크죠.

쉽고 빠르게 라우팅을 추가할 수 있으며,
스웨거 문서도 만들 수 있습니다.

이걸 고에서 하면 정말 빠르지 않을까요?

hvuhsg/GoAPI: GoAPI - A Fast and Easy-to-use Web Framework for Building APIs in Go (github.com)


빠르게 고 어플리케이션 배포하기

한번 쯤 굳이 환경 설정을 하지 않고, 여러 환경에 배포하고 싶지 않으신가요?

goreleaser/goreleaser: Deliver Go binaries as fast and easily as possible (github.com)

GoReleaser - GoReleaser


혹시 아직도 go build . 만 하십니까?

저도 그렇습니다.

스트립조차 하지 않죠.

이번 기회에 한번 빌드 옵션에 대해 제대로 파악해보고 필요한 곳에 잘 써야겠어요.

Advanced Go Build Techniques | Stackademic


자바.. 게러세터.. 롬복..

에 있는 고 버전 롬복입니다..

yujiachen-y/goaccessor: goaccessor is a Go tool designed to automate the generation of getter and setter boilerplate code for your types and variables. (github.com)


GraphQL에 다들 관심 많으신가요?

저는 쓰고는 싶은데, 고에서는 상황이 마땅치 않더라구요.

그래도 이런 아티클을 보면 한번쯤 해보고 싶습니다.

Rest를 GraphQL로 바꾸는 예시!

Convert Rest Endpoint To GraphQL in Go - Hasan Ocak Tech Blog (ocakhasan.github.io)


새로운 웹소켓 라이브러리

얼마전 새로운 웹소켓 라이브러리가 첫 선을 보였습니다.

제가 개인적으로 존경하는 분도 컨트리뷰터에 있는 걸 보아 성능적으로 부족함이 없을 것같은 알 수 없는 믿음이 생기네요.

lxzan/gws: lightweight go websocket server & client, supports running over tcp/kcp/uds. keywords: ws, wss, proxy, chat, golang (github.com)


Yet another sql client

Yazeed1s/sqlweb: Relational-database web client (github.com)


고 동시성의 이해

다른 언어에서 오신 분들이 유독 어려워하는 게 동시성에 대한 이해인 것같습니다.

하지만 실제로는 어려운 문제는 아니죠.

채널에 대한 조금의 이해만 생기면 쉽게 파악할 수 있으실 겁니다.

Go Concurrency Visually Explained – Select statement | by Brian NQC | Aug, 2023 | Stackademic


크로뮴에 추가된 wasm GC

드디어 크로뮴에 wasm gc가 추가되었습니다.

Intent to Ship: WebAssembly Garbage Collection (WasmGC) (google.com)


해시를 통한 데이터 분류

데이터를 분산시켜서 처리하는 데에 매우 좋은 수단은 해시입니다.

레디스 클러스터는 해시를 기반으로 저장할 곳을 선택하죠.

로드밸런서도 동일한 클라이언트의 요청을 같은 서버에 전달하기 위해 해시를 쓰기도 합니다.

잘만 쓰면 유용하게 쓸 수 있는 해시, 한번 알아볼까요?

Demystifying Consistent Hashing: A Key to Scalable and Efficient Data Distribution – The Efficient Dev


내게 맞는 DB는 뭘까?

여러분들의 환경에서 가장 적합한 DB는 뭐라고 생각하시나요?

RDB? Redis? Scylla?

Picking the Perfect Database for Your Microservices (amplication.com)


Go 코드 내에서 프로토버퍼 생성 처리하기

매번 고를 위한 프로토버퍼 파일을 생성하기 위해 protoc의 플러그인을 설치해야했습니다.

물론 buf를 쓰면 모든 게 잘 풀리긴 합니다만, 개인이 직접 만든 툴이 있다면 내장시켜서 쓴다면 훨씬 편하지 않을까요?

Protoc Plugins with Go. In this article we take a look at… | by Homayoon Alimohammadi | ITNEXT


젯브레인의 러스트 IDE

젯브레인에서 러스트 목적 IDE를 출시했습니다.

RustRover라는 이름에서 벌써 남다른 언어 사랑을 보이는 러스타시안이 보이네요.

Introducing RustRover – A Standalone Rust IDE by JetBrains | The IntelliJ Rust Blog


GDC가 이름을 바꿀 예정입니다.

Go Developer Community가 이름을 바꿔서 뉴스레터에서 더 넓은 분야의 개발 지식과 소식을 담고 싶습니다.

그래서 새로운 이름을 구상 중이고, 괜찮은 아이디어가 있다면 제보해 주세요!

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