본문 바로가기

분류 전체보기

(333)
[grpc] 3. grpc의 기반기술 - Protocol Buffers와 성능 테스트 성능 테스트가 아닌, 프로토콜 버퍼를 gradle에 적용하는 부분이 궁금하신분은 아래에 새롭게 작성한 아티클을 참고해주시면 감사하겠습니다. 이 게시글에 작성된 내용은 레거시가 많아 현재 gradle에는 적용되지 않을 수 있습니다. https://dlwnsdud205.tistory.com/363 [끄적끄적] ProtocolBuffer로 API 문서 작성 후기 최근에, 강남언니 기술블로그에 기술된 글을 재미있게 본 적이 있습니다. 강남언니 블로그에서는, 프론트엔드와 백엔드 간의 api를 protocol buffer로 정의 하면서 아래와 같은 이점을 얻을 수 있었 dlwnsdud205.tistory.com [grpc] 3. grpc의 기반기술 - Protocol Buffers 목차 1. https://dlwn..
[grpc] 2. grpc의 기반기술 - HTTP/2.0 [grpc] 2. grpc의 기반기술 - HTTP/2.0 목차 1. https://dlwnsdud205.tistory.com/326 [grpc] 1. grpc의 기반기술 - RPC 2. https://dlwnsdud205.tistory.com/327 [grpc] 2. grpc의 기반기술 - HTTP/2.0 3. https://dlwnsdud205.tistory.com/328 [grpc] 3. grpc의 기반기술 - Protocol Buffers와 성능 테스트 4. https://dlwnsdud205.tistory.com/329 [grpc] 4. grpc - Java grpc를 공부하기위해선 우선 grpc의 몇가지 기반 기술들을 알아야한다. 이번 포스팅에서는 HTTP/2.0의 특징등에 대해서 알아볼 것이다..
[grpc] 1. grpc의 기반기술 - RPC [grpc] 1. grpc의 기반기술 - RPC 목차 1. https://dlwnsdud205.tistory.com/326 [grpc] 1. grpc의 기반기술 - RPC 2. https://dlwnsdud205.tistory.com/327 [grpc] 2. grpc의 기반기술 - HTTP/2.0 3. https://dlwnsdud205.tistory.com/328 [grpc] 3. grpc의 기반기술 - Protocol Buffers와 성능 테스트 4. https://dlwnsdud205.tistory.com/329 [grpc] 4. grpc - Java grpc를 공부하기위해선 우선 grpc의 몇가지 기반 기술들을 알아야한다. 이번 포스팅에서 알아볼 것은 RPC이다. 1. RPC가 무엇인가? RPC ..
[CI/CD] Jenkins, Github webhook을 이용해서 CI/CD 구축하기 [CI/CD] Jenkins, Github webhook을 이용해서 CI/CD 구축하기 이번 포스팅에서는 Jenkins, Github webhook을 이용해 CI/CD를 구축 해보겠다. 흐름은 다음과 같다. 1. 클라이언트가 깃 브랜치에 커밋을 하고 pull-request를 보낸다. 2. 깃허브는 젠킨스에 web-hook을 날린다. 3. 젠킨스는 깃허브에서 프로젝트를 가져와 빌드하고 성공여부를 깃허브에 응답한다. 4. 깃허브는 브랜치에 빌드의 성공여부를 표현한다. 5. 클라이언트가 브랜치의 pull-request를 main으로 merge한다. 6. 깃허브는 젠킨스에 web-hook을 날린다. 7. 젠킨스는 빌드하고 성공했다면 파일을 production 서버로 보낸다. 위 과정을 그림으로 나타내면 아래와 ..
[Mysql] 효율적인 Index 사용 예제 효율적인 Index 사용법 Real My SQL을 읽다가 Index를 효율적으로 사용하는 방법을 정리하면 도움이 될거 같아 글을 남긴다. [MYSQL 환경] Server version: 8.0.29 Homebrew Storage engine = InnoDB; transaction isolation = Repeatable read 들어가기에 앞서 이 글에 사용될 테이블이다. 인덱싱은 각 테스트마다 만들어 줄것이다. 1. Index full scan Mysql은 쿼리에 첫번째 인덱싱된 열이 명시되어있지 않으며, 인덱싱된 열로 쿼리를 처리할 수 있을때, index full scan을 사용한다. 예를들어, 위 테이블에 name, age순으로 인덱싱이 걸려있고 아래와 같은 쿼리를 날린다고 가정을 해보자. sele..
[Ubuntu] 라떼판다 오리지널에 Ubuntu 20.04 LTS 올리기 (16.04, 18.04도 가능) 라떼판다 오리지널에 Ubuntu 20.04 LTS 올리기 Ubuntu 16.04 LTS, Ubuntu 18.04 LTS, Ubuntu 20.04 LTS를 올리는 방법도 모두 이 글에서 함께 다룬다. *주의 라떼판다 공식 홈페이지에서 제공하는 라떼판다용 Ubuntu 이미지가 아닌 다른 이미지를 올릴경우 예상치못한 오류가 발생할 수 있습니다. 이 글에서 설명하는 방법또한 공식방법이 아니며 예상치 못한 오류가 발생할 수 있으며 해결법은 초기화 밖에 없으니 꼭 백업후 진행해주세요. 또한 글쓴이는 이 글로 인해 발생한 피해에 어떠한 책임도 지지않아요 :( 준비물 1. GUI 포기 - OS를 라떼판다 공식 Ubuntu16.04 LTS 이미지에서 업그레이드할 경우 GUI사용을 포기해야한다.(버그인것 같은데, 나는 O..
[백준 / BOJ] 2812 크게 만들기 (Java / 세그먼트 트리) 문제 출처 : https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net N자리의 수가 주어지며 이 수에서 K개의 숫자를 제거했을때 얻는 가장 큰 수를 구하는 문제이다. 풀이 세그먼트 트리로 푼 문제다. 문제를 N자리의 수에서 (N-K)개의 숫자를 선택하는 문제로 바꾼다면, 현재 선택가능한 범위 (left ~ right)에서 (N-K)번 숫자를 뽑아 최댓값을 만드는 문제로 바뀌게 된다. 이때, left ~ right의 범위는 최대 250,000만큼 차이가 날 수 있으므로, 완전탐색으로 현재 범위에서 최댓값을 찾는다면, (250,00..
[백준 / BOJ] 1060 좋은 수 (CPP) 문제 출처 : https://www.acmicpc.net/problem/1060 1060번: 좋은 수 정수 집합 S가 주어졌을때, 다음 조건을 만족하는 구간 [A, B]를 좋은 구간이라고 한다. A와 B는 양의 정수이고, A < B를 만족한다. A ≤ x ≤ B를 만족하는 모든 정수 x가 집합 S에 속하지 않는다. 정수 www.acmicpc.net 정수 집합 S가 주어진다. 이때 다음 두 조건을 만족하는 범위[A,B]의 갯수가 적을수록 좋은 수 라고 한다. A와 B는 양의 정수이고, A < B를 만족한다. A ≤ x ≤ B를 만족하는 모든 정수 x가 집합 S에 속하지 않는다. 이때, 좋은 수 n개를 좋은 수 순서대로(같다면 작은 수를 먼저) 출력하는 문제다. 풀이 문제 이해만 되면 풀이 생각하기는 쉬운 ..