본문 바로가기

분류 전체보기136

PostgreSQL 인덱스와 멀티 컬럼 인덱스에 대해서 DB에서 인덱스를 사용하면 검색이 빨라진다 라는 말은 들어왔지만 어떻게 써야 효율적으로 동작하고, 인덱스는 어떠한 과정을 거치길래 빨라지는지에 대해서는 생각해본 적이 없는 듯 하다. 그래서 이번 포스팅에선 PostgreSQL를 가지고 INDEX를 사용하며 INDEX를 사용하며 얻을 수 있는 이점들에 대해 알아보고자 한다. 아래의 내용에 대해 다루어 본다. Index 적용 전 후의 수행시간 비교 Multi Column Index에 대해서 사용 인덱스는 따로 파일로 저장하여 테이블 레코드를 전체 스캔하는게 아닌, 따로 파일로 저장된 INDEX 파일을 검색하여 속도를 개선한다. 이때 B-tree를 이용한다. 초기 테이블 생성할때 만들어지는 MYD, MYI, FRM 파일 중에서 인덱스를 특정 컬럼에 부여하면 이.. 2021. 1. 18.
Go gRPC 튜토리얼 #2 - Server Streaming RPC 이번 글에서는 Go gRPC의 Server Stream RPC에 대해 다룹니다 이전 글 보기 Go gRPC 튜토리얼 #1 - 세팅부터 Unary RPC Call 사용까지 Server Streaming RPC 클라이언트가 서버에 리퀘스트를 보내면 서버는 스트림을 보내게 된다. 리턴되는 스트림이 없을 때 까지 읽는다. 또한 gRPC는 개별적인 RPC call에 대해 메세지 순서를 보증한다. 이제 예제를 통해 Server Stream RPC을 알아보자 이번 글에선 Unary RPC인 GetInfo 함수와 Server Stream RPC인 ListInfo 함수를 만들어 볼 것이다. 먼저 프로토버퍼를 정의한다 ProtoBuffer 정의 syntax = "proto3"; package v1; option go_pa.. 2021. 1. 14.
티스토리 코드블럭 내 글씨 사이즈 수정하기 나는 티스토리에 포스트를 작성하기 전, Typora 에디터를 통해 마크다운으로 작성하고, 티스토리에서 지원하는 마크다운 에디터에 붙여 넣는다. 마크다운으로 작성하면 마우스가 없어도 표, 코드 등의 대부분이 작업이 가능하기에 자주 쓰고 있다. 그런데, 티스토리에 옮기고만 나면 Typora에선 괜찮게 보이던 미리보기가 망가져버린다. 약간 변형되는 글꼴, 줄 간격 틀어짐과 같은 부분은 제출하기 전에 수정하고 있지만, 최근 들어 코드 블럭이 은근 말썽이었다. 티스토리에서 제공하는 코드 하이라이트 플러그인을 사용하고 있는데 아직 UI상에서의 크기 수정은 지원되지 않는다. 아래 화면처럼 일반 글자는 적당한 크기로 보이지만, 코드 블럭 내의 코드들은 침침하기에 짝이 없다고 할 수 있겠다. 더군다나 나의 블로그의 경우.. 2021. 1. 5.
Go gRPC 서버에 REST API 요청 주고 받기 [grpc-gateway] rpdly 프로젝트 를 진행하면서 단축 URL를 생성하는 부분을 Go와 grpc, redis를 이용해 구현하고 있다. (프로젝트 명은 rpdly-go-uri 라고 정함) 회원가입 등의 이외 비즈니스 로직들은 Java와 Spring boot를 사용하고 있는데 (rpdly-api), 이 곳에서 rpdly-go-uri 서비스와 연결할때 grpc를 이외에도 REST로 http 요청을 하면 어떨지 떠올랐다. 이 과정에서 grpc-gateway 플러그인과 twirp 프레임워크를 알게 되었다. 언뜻 보기엔 내가 원하는 기능을 둘다 지원해주는 것 같지만, 이 둘의 차이는 아래처럼 나눠볼 수 있겠다. grpc-gateway protobuf를 REST HTTP API를 gRPC로 변환시켜주는 리버스 프록시 서버를 생성 H.. 2020. 12. 31.
반응형