공부하고 기록하는, 경제학과 출신 개발자의 노트

go 3

gRPC (4) - Client Streaming 개념 및 예제코드

Client Streaming 클라이언트가 여러 번 서버에 데이터 전송, 클라이언트가 응답을 언제 받을 수 있는지는 전적으로 서버에게 달려있다. 실습환경은 아래와 같은 디렉토리에서 이루어졌다. go를 설치하고 환경변수로 GOPATH를 등록한 상태로, 모든 명령어는 ~/go/src/ch4 에서 이루어졌다. 1. proto 파일 생성 greetpb 디렉토리에 greetpb.proto 파일을 생성하고 아래와 같이 입력해준다. syntax = "proto3"; package greet; option go_package="greet/greetpb"; message Greeting { string first_name = 1; string last_name = 2; } message LongGreetRequest {..

gRPC (3) - Server Streaming 개념 및 예제코드

Server Streaming cf. 예제코드는 go 개발환경과 protoc-gen-go 디펜던시가 갖추어졌다는 전제로 작성되었다. Http2의 특징을 활용한, 새로운 형태의 RPC API. 클라이언트의 요청 한 번으로, 서버가 데이터를 여러 번 전송할 수 있는 형태. 실습환경은 아래와 같은 디렉토리에서 이루어졌다. go를 설치하고 환경변수로 GOPATH를 등록한 상태로, 모든 명령어는 ~/go/src/ch4 에서 이루어졌다. 1. proto 파일 생성 greetpb 디렉토리에 greetpb.proto 파일을 생성하고 아래와 같이 입력해준다. syntax = "proto3"; package greet; option go_package="greet/greetpb"; message Greeting { str..

gRPC (2) - Unary 개념 및 예제코드

cf. 예제코드는 go 개발환경과 protoc-gen-go 디펜던시가 갖추어졌다는 전제로 작성되었다. Unary 일반적으로 생각하는 Client - Server간 일대일 메시지 통신. Hands on 실습환경은 아래와 같은 디렉토리에서 이루어졌다. go를 설치하고 환경변수로 GOPATH를 등록한 상태로, 모든 명령어는 ~/go/src/ch4 에서 이루어졌다. 1. proto 파일 생성 greetpb 디렉토리에 greetpb.proto 파일을 생성하고 아래와 같이 입력해준다. syntax = "proto3"; package greet; option go_package="greet/greetpb"; message Greeting { string first_name = 1; string last_name = ..