SEMAPHORE 개념

Semaphore 란 여러 스레드 혹은 고루틴을 통해 공유 리소스에 대한 액세스를 제한하거나 제어하는 데에 사용할 수 있는 구성을 뜻한다.

GOLANG - CONTEXT 개념 및 기본 예제

HTTP 서버는 마이크로 서비스의 요청 체인을 식별하기 위해 추적 ID를 원하거나 너무 오래 걸린다면 요청을 중단하는 타이머를 설정할 수 있다.

SELECT 문 효과적으로 사용하기

Select 문의 용도 비동기 처리 : 여러 개의 채널을 동시에 감시하고, 도착한 값을 처리할 수 있다.

UNARY RPC 통신 방식 예제

gRPC 통신 방법 중 하나로 클라이언트에서 단일 요청을 보내고 서버에서 단일 응답을 반환하는 형태이다.

GRPC 통신 방식

gRPC에서 지원하는 통신 방식은 총 4가지로 나눌 수 있으며 그 중 3가지 방식은 Streaming 처리 방식을 지원한다.

GOLANG - 테스트 작성하기

Go의 테스팅 Go의 표준 라이브러리인 testing 패키지는 테스트를 위한 타입과 함수를 제공하고 go test 도구는 테스트를 실행하고 보고서를 만든다.

GOLANG - 채널 버퍼링

go 에서 채널은 unbuffered channel, buffer channel 두 종류가 있다.

GOLANG - 동시성 사용하기

동시성 동시성은 단일 프로세스를 독립적인 컴포넌트로 분리하고 해당 컴포넌트가 안전하게 데이터를 공유하는 방법을 지정한다.

GOLANG - 오류 처리하기

오류 처리 기초 Go는 함수에 마지막 반환 값으로 error 타입의 값을 반환하여 오류를 처리한다.

GOLANG - 인터페이스 사용하기

인터페이스 인터페이스는 구체화된 객체가 아닌 유일한 추상 타입으로, 타입이 구현해야 하는 메서드들을 정의한다.