개요 Go runtime 과 goroutine 에 대하여 정리해보고자 한다. - 여기에 scheduler, queue, work stealing 등의 키워드를 둘러보겠음 참고서적: Concurrency in GO http://aladin.kr/p/YLCKv- 6장. 고루틴과 고 런타임 참고 링크들 (이미지 출처)- Blog posting: https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part2.html- Blog posting: https://rakyll.org/scheduler/- YouTube: https://youtu.be/Yx6FBsGNOp4 세가지 요소. Process, OS Thread, Goroutine 인터넷의 몇몇 그림들을 보자. 보..
개요 Prime number, 소수는 1과 자기자신으로만 나눠지는 수이다. 소수를 찾는 오래되고도 확실한 방법은 에라토스테네스의 체가 있다. (Prime Sieve, Sieve of Eratosthenes)- 에라토스테네스의 체: https://www.wikiwand.com/en/Sieve_of_Eratosthenes Golang 의 동시성을 이용하여 에라토스테네스의 체를 구현해보자 개념이 잘 이해가 안되었던 부분 참고 링크: https://jongmin92.github.io/2017/11/05/Algorithm/Concept/prime/ "주어진 자연수 N이 소수이기 위한 필요충분 조건은 N이 N의 제곱근보다 크지 않은 어떤 소수로도 나눠지지 않는다. 수가 수를 나누면 몫이 발생하게 되는데 몫과 나누는..
개요 Don't communicate by sharing memory, share memory by communicating.고언어에서 말하는 이 문장의 의미는 무엇일까? 실제 코드로 들여다보기 이전에 비유로서 개념을 챙겨보았다. 링크1: https://blog.golang.org/share-memory-by-communicating 기존 언어 communicate by sharing memory 대부분의 기존 언어들은 데이터 구조 (=메모리)를 공유해두고쓰레드 (=일꾼)들이 그 메모리에 접근하면서 서로간의 통신을 하였다. 한 쓰레드가 다른 쓰레드들이 접근 못하게 Lock 을 걸어놓고 공유 메모리에 접근하여 작업을 하고작업이 완료되면 Unlock 해준다. 그때서야 다른 쓰레드는 공유 메모리에 접근해서 자..
개요 동시성 (Concurrency) 과 병렬성 (Parallelism) 의 차이를 비유로 이해해보자. Golang 을 만든 롭 파이크가 이 주제로 발표를 할 정도라면 구분에 의미가 있을 것이다. 관련 링크 - 블로그: https://blog.golang.org/concurrency-is-not-parallelism- 동영상: https://youtu.be/cN_DpYBzKso- 슬라이드: https://talks.golang.org/2012/waza.slide#1 동시성과 병렬성 병렬성은 말 그대로 같은 시간대에 둘 이상의 일이 함께 이뤄지는 것이다. 동시성의 진정한 의미는 여러 작업을 잘 조율하여 결과를 만들어내는 것이다. 자동차를 조립하는 것에 비유해보자 백명의 일꾼이 각각 자신 앞의 차량 프레임에..
개요 Slack Slash Command 로 영한 번역을 해보자.이를 위해 Google 의 Cloud Functions 와 Translation API 를 이용해본다. 목차 구구절절이 적다보니 하나의 게시물에 모두 적으면 정신이 없다. 아래와 같이 세 부분으로 나누어서 하나씩 정리해가며 포스팅 해본다. 첫번째 포스팅. Slack Slash Command 를 만들고, 로컬 PC 에서 서버를 구동해본다. - 겸사겸사 Slack Slash Command 로 전달되는 내용을 들여다본다. 두번째 포스팅. 로컬 PC 에서 Translation API 를 호출해본다. - 비용과 API 사용법을 알아보자 세번째 포스팅. 구현한 내용을 Cloud Functions 에 올려서 서비스한다. - 별도의 서버 구축없이 위의 기..
개요 Slack Slash Command 로 영한 번역을 해보자.이를 위해 Google 의 Cloud Functions 와 Translation API 를 이용해본다. 목차 구구절절이 적다보니 하나의 게시물에 모두 적으면 정신이 없다. 아래와 같이 세 부분으로 나누어서 하나씩 정리해가며 포스팅 해본다. 첫번째 포스팅. Slack Slash Command 를 만들고, 로컬 PC 에서 서버를 구동해본다. - 겸사겸사 Slack Slash Command 로 전달되는 내용을 들여다본다. - 링크: https://jusths.tistory.com/136 두번째 포스팅. 로컬 PC 에서 Translation API 를 호출해본다. - 비용과 API 사용법을 알아보자 세번째 포스팅. 구현한 내용을 Cloud Func..
개요 Slack Slash Command 로 영한 번역을 해보자.이를 위해 Google 의 Cloud Functions 와 Translation API 를 이용해본다. 목차 구구절절이 적다보니 하나의 게시물에 모두 적으면 정신이 없다. 아래와 같이 세 부분으로 나누어서 하나씩 정리해가며 포스팅 해본다. 첫번째 포스팅. Slack Slash Command 를 만들고, 로컬 PC 에서 서버를 구동해본다. - 겸사겸사 Slack Slash Command 로 전달되는 내용을 들여다본다. 두번째 포스팅. 로컬 PC 에서 Translation API 를 호출해본다. - 비용과 API 사용법을 알아보자 세번째 포스팅. 구현한 내용을 Cloud Functions 에 올려서 서비스한다. - 별도의 서버 구축없이 위의 기..
개요 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) 간단한 설명- 암호를 주고 받을 두 명이 (이하 앨리스와 밥이라 하겠다) 같은 비밀키를 가지고 있는다. - 앨리스가 메시지를 비밀키로 암호화 하여 보내면, 밥은 같은 비밀키로 복호화 ..
- Total
- Today
- Yesterday
- websocket
- notion
- go
- OpenAI
- API
- ORM
- 독서후기
- Bug
- 2023
- github
- strange
- Shortcut
- folklore
- solid
- 명상
- agile
- 잡학툰
- 클린 애자일
- 중용
- golang
- pool
- postgres
- Gin
- ChatGPT
- 체호프
- 영화
- intellij
- 인텔리제이
- 노션
- bun
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |