/images/profile_no_background.png

김영천 블로그

gRPC를 웹브라우저에 호출해보자(a.k.a Typescript)

목표

브라우저에서 rpc를 호출하고 싶습니다. 하지만 2020년 7월 기준으로 브라우저에서 gRPC의 rpc를 직접 호출하는 건 불가능합니다. 그치만 envoy Proxy와 함께라면 가능합니다. 이 문서에서는 grpc-web을 이용해 생성된 Typescript 파일을 이용해 server streaming rpc를 호출하는 방법을 설명합니다. 서버는 Go, 클라이언트는 Typescript 언어를 사용합니다.

gRPC interceptor

이 문서는 grpc-go Interceptor 문서를 번역한 것입니다(대부분 번역기 발췌, 작성자는 영어를 되게 못해요).

Interceptor

gRPC는 clientConn/server 단위로 인터셉터를 구현하고 설치할 수 있는 간단한 API를 제공합니다. 인터셉터는 각 RPC 호출을 중간에서 가로채는 역할을 합니다. 사용자는 인터셉터를 사용하여 로깅, 인증/권한부여, 메트릭 수집 등 RPC 전체를 아우르는 공용 기능을 수행할 수 있습니다.

이맥스에서 특정 명령어 단축키로 지정하기

이맥스에서 단축키를 직접 설정하는 법을 알아봅시다. 아는 게 없어서 여기 저기 참고를 많이 했어요.

기본 사용법

제일 단순한 예제를 먼저 살펴봅시다.

1
2
3
4
5
6
7
(global-set-key (kbd "M-a") 'backward-char) ; Alt+a

(global-set-key (kbd "C-a") 'backward-char) ; Ctrl+a

(global-set-key (kbd "C-c t") 'backward-char) ; Ctrl+c t

(global-set-key (kbd "<f7> <f8>") 'whitespace-mode)    ; F7 F8

딱히 설명이 필요 없을 정도로 간단하지만 굳이 첨언을 하자면 모든 buffer에서 사용할 수 있는 단축키를 지정할때는 위와 같이 사용합니다.