개요 지난 포스팅에서는 https://jusths.tistory.com/151 1) Local PC 에서 돌아가는 HTTP Server 를 구현하여 2) (serveo.net 서비스를 이용해) Port forwarding 하여2) Slack App 에서 오는 HTTP Reqeust 를 받아 처리하고 회신하게 구현했었다. 이번에는 Google Cloud Functions 로/tz, /tzn, /tns 명령이 HTTP Reqeust 를 보내는 세 개의 endpoint 를 처리하게 해보자. - 하나의 Cloud function 으로 세 endpoint 를 처리하지 못하고, 세 개의 Cloud functions 를 만들어야 했다. 참고 링크 GitHub 구현코드 링크: https://github.com/nice..
개요 Slack 에서 다른 timezone 의 팀원과 대화를 나누는 경우, 업무시간이 지났는데 말을 거는건 아닌가 싶어서 팀원의 현재시간이 궁금할때가 많았다. 이때 간단한 Slack Slash Command 로 해당 timezone 의 현재시간을 확인할 수 있도록 구현해 본다. 목표 1./tz [zoneName or Time] 입력을 받으면 정규식으로 변환해서 찾아내기 - 예를 들어 시드니의 현재 시간을 알고 싶으면 /tz syd 만 치면 되도록 한다. 2./tzn, /tzs 뉴욕시간, 서울시간 바로 나타내기3. 월-금 업무시간인지 여부를 색깔로 표시하기 - 국가별 공휴일과 근무시간까지 체크하는 건 너무 오버인듯 하여 월-금, 9 to 6 만 체크한다. 참고 링크 Timezone database name..
개요 github.com/rs/xid 패키지의 GUID 생성 방법을 챙겨보자 관련링크- GoDoc: https://godoc.org/github.com/rs/xid- GitHub (sourcegraph) : https://sourcegraph.com/github.com/rs/xid xid 에 대하여 GUID generator 이며 Mongo Object ID 알고리즘을 사용한다. - 링크: https://docs.mongodb.org/manual/reference/object-id/ - 4-byte value representing the seconds since the Unix epoch, - 3-byte machine identifier, - 2-byte process id, and - 3-byte ..
개요 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 에 올려서 서비스한다. - 별도의 서버 구축없이 위의 기..
- Total
- Today
- Yesterday
- OpenAI
- 엉클 밥
- solid
- 2023
- agile
- API
- 영화
- Bug
- 인텔리제이
- Gin
- bun
- clean agile
- go
- 오블완
- 클린 애자일
- github
- 티스토리챌린지
- intellij
- 노션
- golang
- folklore
- websocket
- 제이펍
- 독서
- notion
- 독서후기
- 체호프
- ChatGPT
- strange
- 잡학툰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |