개요 1) 암호에 대해 간단히 흝어보았고2) SSL/TLS 의 동작 원리를 이해했다. 3) 이제 gRPC 에서 SSL/TLS 를 어떻게 다루면 될 지 알아보자. - 사실 handshake 는 gRPC 가 알아서 다 해준다. 참고링크 공식사이트 설명: https://grpc.io/docs/guides/auth/Udemy gRPC 강좌- https://www.udemy.com/grpc-golang/learn/lecture/11018820#overview- https://www.udemy.com/grpc-golang/learn/lecture/11018822#overview매우 좋은 OpenSSL 활용 한글 설명- https://www.lesstif.com/pages/viewpage.action?pageId=6..
개요 1) 앞에서 기반이 되는 암호에 대해 간단히 흝어보았고2) 여기서는 SSL/TLS 의 동작 원리를 이해하고 3) 마지막으로 gRPC 에서 SSL/TLS 를 어떻게 다루면 될 지 알아보려 한다. * handshake 는 gRPC 가 알아서 다 해준다. HTTPS 에서 어떻게 암호화를 이루어 내는지를 차근히 따라가보자.클라이언트 (= 웹 브라우저)가 서버에 접근하여 둘 간의 안전한 암호 통신 세션을 만드는 것이다. - 세세하고 정확한 설명보다는 큰 그림으로서 개념 설명을 하려 하였으나 수정이 필요한 부분을 알려주시면 고치겠습니다. 참고 핸드셰이킹과 관련한 어마어마 자세한 링크 2개. 이것보다 더 세세하게 설명할 수는 없겠다.- https://tls.ulfheim.net/- https://tls13.ul..
개요 gRPC 에서 SSL/TLS 로 암호화한 통신을 하는 방법을 정리해본다. 1) 우선 여기서 기반이 되는 암호에 대해 간단히 흝어보고2) 다음엔 SSL/TLS 의 동작 원리를 이해하고 3) 마지막으로 gRPC 에서 SSL/TLS 를 어떻게 다루면 될 지 알아보려 한다. * handshake 는 gRPC 가 알아서 다 해준다. 크게 대칭키, 비대칭키, 해시 알고리즘 셋으로 구분해 보았다. 이미지 출처 링크: http://bit.ly/2ZWASxl 대칭키 알고리즘 (Symmetric) 1) 대표적 알고리즘: AES2562) 간단한 설명- 암호를 주고 받을 두 명이 (이하 앨리스와 밥이라 하겠다) 같은 비밀키를 가지고 있는다. - 앨리스가 메시지를 비밀키로 암호화 하여 보내면, 밥은 같은 비밀키로 복호화 ..
Photo by Luke McKeown on Unsplash 참고링크 - 공식 페이지: https://www.grpc.io/docs/guides/error/- 실습 코드: https://github.com/avinassh/grpc-errors/tree/master/go- Errors: https://cloud.google.com/apis/design/errors- 좋은 참고: http://avi.im/grpc-errors/- 유데미- 강좌: https://www.udemy.com/grpc-golang/learn/lecture/11018812#overview- 실습: https://www.udemy.com/grpc-golang/learn/lecture/11018814#overview gRPC call 의 ..
Photo by Christian Joudrey on Unsplash 개요 gRPC 에서 사용하는 Deadline 을 이해하고 실습해보자 참고 Udemy 강좌- https://www.udemy.com/grpc-golang/learn/lecture/11018816#overview- https://www.udemy.com/grpc-golang/learn/lecture/11018818#overview참고 링크: https://grpc.io/blog/deadlines/ 최종구현 코드 링크: https://github.com/nicewook/grpc-deadline 시작해보자 TR; DR: 항상 Deadline 을 설정하는 것을 권장함. gRPC 라이브러리는 통신, Marshalling/Unmarshlling, ..
개요 Makefile 을 잘 활용하면 Go build, run, test 등의 작업이 한결 쉬워진다. 일종의 build 와 link 에 대한 script 라고 보면 되겠다.(주의) 윈도우 10 에서만 실행, 테스트 한 것임 참고링크 - YouTube: https://youtu.be/QztvWSCbQLU- 위 YouTube 의 Blogpost: https://tutorialedge.net/golang/makefiles-for-go-developers/- 한글 Blog: https://www.tuwlab.com/ece/27193- Chocolatey: https://chocolatey.org/ 준비. make.exe 를 Windows 에서 설치하기 make.exe 파일이 필요하다. Windows 에서 설치하..
문제. 가장 큰 연속한 부분합 구하기 정수들의 리스트가 입력으로 들어옵니다. 이 정수들의 리스트를 일부분만 잘라내어 모두 더했을 때의 값을 부분합이라 부릅니다. 이때 가장 큰 부분합을 구해봅시다. 예를 들어, [-10, -7, 5, -7, 10, 5, -2, 17, -25, 1]이 입력으로 들어왔다면 [10, 5, -2, 17]을 모두 더한 30이 정답이 됩니다. ※입력에는 최소 하나 이상의 양수가 존재합니다. ※이 문제에는 여러 종류의 풀이법이 존재합니다. 각 풀이법의 시간 복잡도를 고려하면서 여러가지 방법으로 문제를 풀어 봅시다. def maxSubArray(nums): return 0 def main(): print(maxSubArray([-10, -7, 5, -7, 10, 5, -2, 17, -2..
개요 go routine 을 이용해서 프로그램의 여기저기서 하나의 파일에 write 한다면 어떻게 될까? go routine 은 충돌을 하지 않을거란 보증은 하지 않는다. 참고 링크- Golang Package os: https://golang.org/pkg/os- Golang Package log: https://golang.org/pkg/log- log for concurrency: https://codereview.stackexchange.com/a/209872 해법 하나의 리소스에 동시에 여럿이 접근하려 할때 충돌을 막는 방법을 생각하면 바로 mutex 가 떠오를 것이다. 1) A가 접근하면서 mutex lock 을 걸어놓는다. 그러면 다른 녀석이 접근 권한을 가지지 못한다.2) A가 사용 완료후..
개요 개념부터 정리하려니 지루한 느낌에 코드부터 바로 들여다보기로 한다. gRPC 는 원격의 Client 가 Server 단의 함수를 마치 로컬 함수를 호출하듯 부를 수 있게 해주며이때 보내고 받는 메시지와 서비스를 정의하기 위해 protocol buffers 를 (주로) 사용하며, HTTP/2 위에서 동작한다. 공식 웹페이지의 튜토리얼을 따라하며 golang 으로 간단히 gRPC 를 맛본다. 링크: https://grpc.io/docs/quickstart/go/ 설치 사항 1. golang 1.6 이상 2. grpc 설치 go get -u google.golang.org/grpc3. Protocol Buffers v3 설치- https://github.com/protocolbuffers/protobuf..
개요 공식 페이지의 Tutorial 을 따라해보며, Protocol buffers 를 좀 더 알아본다. 링크: https://developers.google.com/protocol-buffers/docs/gotutorial 매우 간단하게 세 가지를 해 볼 것이다. 1) 주고 받을 메시지 포맷을 .proto 파일로 정의해본다. 2) protocol buffer compiler (protoc) 를 이용해서 .pb.go 파일을 생성한다. 3) Go 의 protocol buffer API 를 이용하여 메시지를 읽고 써본다. Protocol Buffer 는 왜 쓸까? 튜토리얼에서 쓸 주소록 앱은 사람들의 연락처를 파일에 읽고 쓰게 되며사람들의 name, ID, email address, contact phone ..
- Total
- Today
- Yesterday
- ORM
- 중용
- 체호프
- Shortcut
- 잡학툰
- API
- websocket
- 클린 애자일
- notion
- postgres
- pool
- 인텔리제이
- bun
- intellij
- golang
- agile
- strange
- 명상
- solid
- Bug
- go
- folklore
- 영화
- Gin
- OpenAI
- ChatGPT
- 2023
- 독서후기
- github
- 노션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |