Server 썸네일형 리스트형 [Golang] Proxy 환경 변수 http.ProxyFromEnvironment 대부분의 서비스는 어플리케이션이 직접 외부 인터넷과 통신하지 않습니다.특히 회사 내부망, 보안망 등 환경에서는 주로 아래와 같은 구조를 사용합니다.Application Proxy Server Internet 이러한 환경에서 서비스가 배포가 되며, 외부와 통신을 하려면 반드시 프록시 서버를 거치게 됩니다.그래서 단순히 HTTP 요청만 구현하는 것이 아니라, 현재 환경에서 프록시를 사용하고 있는지어떤 요청은 프록시를 거치고, 어떤 것은 거치지 않는지Proxy 운영 정책에 고려 사항이 있는지를 함께 고려해야 합니다. Golang에서는 표준 라이브러리 net/http에서 이를 통해서 기능을 제공하고 있습니다. 1. Proxy 환경변수Golang의 http.ProxyFromEnvironment 에서 .. 더보기 [Golang] errgroup 이란? Go에서 고루틴을 병렬로 구현하고 실행할 때, 가장 먼저 배우는 도구는 sync.WaitGroup 일 것입니다.하지만 Go에서는 병렬 구현이 쉬운만큼 반대로 어떻게 관리할 것인가를 많이 고민하게 되는 것 같습니다.이번에는 이러한 관리 문제를 해결하기 위해 만들어진 errgroup에 대해서 함께 알아 봅시다.1. errorgroupsync.WaitGroup은 고루틴을 관리하는 좋은 도구였지만, 아쉬운 점이 있었습니다.에러 전파 불가능 : 고루틴 내부에서 에러가 발생해도 상위 부모 루틴은 이를 알 수 있는 방법이 없습니다.별도의 에러 채널을 직접 만들고 관리해야 합니다.리소스 낭비 : 예를 들어 10개의 고루틴을 병렬로 실행하고 있는데, 어떤 고루틴이 에러가 발생했더라도, 나머지 고루틴들은그 사실을 알 수가.. 더보기 이전 1 다음