드리프트의 뉴 코딩 이야기
close
프로필 배경
프로필 로고

드리프트의 뉴 코딩 이야기

  • 분류 전체보기 (416)
    • Javascript (177)
    • Go (143)
    • Rust (33)
    • Python (31)
    • Docker (5)
    • Codings (10)
    • Linux (5)
    • Flutter (3)
    • Etc (9)
  • 홈
  • Javascript
  • Go
  • Rust
  • Python
Go 동시성 프로그래밍의 치트키, `errgroup` 완벽 가이드

Go 동시성 프로그래밍의 치트키, `errgroup` 완벽 가이드

Go 동시성 프로그래밍의 치트키, errgroup 완벽 가이드Go 언어의 가장 큰 매력 포인트 중 하나가 바로 '동시성(Concurrency)'을 정말 쉽고 강력하게 다룰 수 있다는 점인데요.고루틴(goroutine)과 채널(channel)만 있으면, 마치 마법처럼 수천, 수만 개의 작업을 동시에 처리할 수 있죠.하지만 여기서 딱 한 걸음만 더 나아가면, 우리는 금세 골치 아픈 문제들과 마주하게 됩니다.'여러 고루틴 중 하나라도 에러가 나면 다른 작업들은 어떻게 멈추지?', '모든 작업이 끝날 때까지 기다렸다가 에러를 한 번에 처리할 수는 없을까?' 같은 문제들 말이죠.이런 고민을 한방에 해결해주는, Go 동시성 프로그래밍의 '치트키'가 바로 errgroup 패키지입니다.오늘은 sync.WaitGroup..

  • format_list_bulleted Go
  • · 2025. 8. 24.
  • textsms
ErrGroup (에러그룹): Go (고) 동시성 프로그래밍의 숨겨진 보석

ErrGroup (에러그룹): Go (고) 동시성 프로그래밍의 숨겨진 보석

ErrGroup (에러그룹): Go (고) 동시성 프로그래밍의 숨겨진 보석Go (고) 언어 errgroup (에러그룹) 라이브러리: 강력한 동시성 제어 도구errgroup (에러그룹)은 공식 Go (고) 라이브러리 x에 있는 유틸리티로, 여러 고루틴(goroutine)을 동시에 실행하고 오류를 처리하는 데 사용됩니다.이는 sync.WaitGroup (씽크 점 웨이트그룹)을 기반으로 errgroup.Group (에러그룹 점 그룹)을 구현하여 동시성 프로그래밍을 위한 더욱 강력한 기능을 제공합니다.errgroup (에러그룹)의 장점sync.WaitGroup (씽크 점 웨이트그룹)과 비교하여 errgroup.Group (에러그룹 점 그룹)은 다음과 같은 장점이 있습니다.오류 처리: sync.WaitGroup ..

  • format_list_bulleted Go
  • · 2025. 5. 17.
  • textsms
Go 언어로 HTTP 서버 기본 구조 깔끔하게 잡기: `errgroup` 활용!

Go 언어로 HTTP 서버 기본 구조 깔끔하게 잡기: `errgroup` 활용!

Go 언어로 HTTP 서버 기본 구조 깔끔하게 잡기: errgroup 활용!안녕하세요! 요즘 제가 자주 작성하는 Go 언어 HTTP 서버 기본 코드를 소개해드리려고 합니다. 코드를 보는 게 이해하기 더 빠를 테니 바로 전체 코드를 보여드릴게요!목표localhost:8888에서 HTTP 서버 실행SIGINT 신호를 받으면 HTTP 서버 Graceful Shutdown여러 곳에서 ctx.Done() 처리위 내용들을 혼동 없이 깔끔하게 작성package mainimport ( "context" "fmt" "net/http" "os" "os/signal" "syscall" "x/sync/errgroup")func main()..

  • format_list_bulleted Go
  • · 2024. 9. 20.
  • textsms
  • navigate_before
  • 1
  • navigate_next
태그
  • #Go
  • #Go 언어
  • #성능 최적화
  • #타입스크립트
  • #프로그래밍
  • #javascript
  • #typescript
  • #Rust
  • #자바스크립트
  • #Golang
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바