개요 Slack slash command 를 사용할때에 HTTP POST reqeust 를 통해 보내주는 내용이 궁금하다 그것을 Golang 으로 처리하는 방법을 알아보자. httprouter 를 사용하여 조금 코드를 변경하였다. - GitHub 소스코드 위치 (현재 포스트 내용): https://github.com/nicewook/slack_slash_cmd/tree/master/version2 덤1. serveo 를 써보자. 개발시 로컬서버를 포트포워딩하여 ip에 도메인명을 할당해주는 서비스이다. https://serveo.net/ 덤2. gin 을 써보자. nodejs 의 nodemon 처럼, 소스 변경시 자동으로 서버를 재실행하게 해준다. https://github.com/codegangsta/g..
개요 1. Slack slash command 를 받고 회신하는 서버를 golang 으로 짜보자 2. 덤으로 (Heroku ) 등에 올리기 전에 ngrok 을 이용한 로컬 개발을 하자. 이후에, - httprouter 를 사용해보자. 세세한 기능은 부족하지만, 빠르고 깔끔하다는 평이다. - Heroku-CI 도 사용해보고 Heroku 에도 올려보자 참고링크: https://goo.gl/VDn4m9 httprouter: https://github.com/julienschmidt/httprouter ngrok Slack 에서 제공하는 링크: https://api.slack.com/tutorials/tunneling-with-ngrok 로컬에서 server 를 돌리면 (예를 들어 http://localhost..
개요 time.Sleep 시에 나오는 time.Duration 을 이해해보자 참고링크: https://www.ardanlabs.com/blog/2013/06/gos-duration-type-unravelled.html 참고링크: https://stackoverflow.com/a/41503910/6513756 궁금증 Playground: https://play.golang.org/p/vuHqO4Jxr04 time.Sleep(time.Duration(2) * time.Millisecond) 는 2ms 동안 sleep 하게 되는데 timeout := 2 time.Sleep(time.Duration(2) * time.Millisecond) 는 에러가 난다. time.Duration time package 의 D..
개요 CI, CD 라고 한다. Continuous Integration / Continuous Delivery (또는 Deployment) Lint, Test 등도 포함되겠지만 여기서는 씸플하게 최소한 만을 적용해본다. 1) Local PC 에서 golang 웹서버를 만들고, 추가 Feature 를 구현할때마다 Github 에 push 하면 2) Github 와 연결된 Travis-CI 에서 자동으로 빌드가 되고, 그 결과를 볼 수 있으며 → CI 3) 다시 Github 와 연결된 Heroku app 으로 자동 배포된다. → CD 즉, Local PC 에서 구현한 수정사항을 Github 에 push 하기만 하면, 빌드가 되고 - 더해서 Lint, Test 까지 하게 할 수 있으며 - 실제 서비스까지 업데..
개요 - golang dependency 관리를 위한 Go Modules 를 간략히 알아본다. - official 링크: https://github.com/golang/go/wiki/Modules- 참고링크 (라기보다는 이 링크를 따라 하였음)- 이 게시물은 개인의 정리차원이며 아래의 링크를 들여다보시길 추천함- https://goo.gl/hXbAQm * TMI. dependency 란? - app 이 동작하기 위해 필요한 모듈이나 라이브러리를 말한다. - app 만 덩그러니 있어서는 동작하지 않으니, dependency 관리가 필요하다. Go 1.11 Modules - Russ Cox 가 제안한 vgo project 가 패키지 버저닝을 위한 go 공식 프로젝트로 채택됨.- Go 1.11 버전 에 실험적..
개요 원문링크: https://medium.com/@xoen/golang-read-from-an-io-readwriter-without-loosing-its-content-2c6911805361* 음… 이건 거의 원문 번역이 되어 버리는 듯 합니다. 이런 상황을 가정해보자 1) HTTP Request 를 받았다. 2) Request 의 body 내용을 보고 이런저런 처리를 한 다음에3) 본격적인 처리를 하는 Controller 에게 Request body 를 넘겨주고 싶다. 시도와 낭패 Request body 를 byte string 으로 읽어내려면 ioutil.ReadAll() 을 쓰면 된다. var bodyBytes []byte if body != nil { bodyBytes, _ = ioutil.R..
개요 - Windows 에서 git bash command 창에서 vim 으로 golang 프로그래밍을 해보니 재미있는데 - vim-go 라는 플러그인도 설치해보고 싶다 → 에서 출발한 포스팅입니다. - 시행착오후 현재 컴퓨터에서는 동작하지만 아래 내용을 따라해도 문제가 발생할 수 있습니다. - 문제 발생시 알려주시면 포스트 수정에 도움이 되겠습니다. 1) git for windows 를 설치하여 git bash 를 사용할 수 있는 상황에서 2) Vim 의 Plugin 을 관리하는 vim-plug 를 설치하고 3) golang 개발을 위한 vim-go 플러그인을 설치하자 * golang 개발환경은 이미 갖춰진 것으로 한다. vim-plug 설치 - 링크: https://github.com/junegunn..
- Total
- Today
- Yesterday
- ChatGPT
- websocket
- notion
- folklore
- 독서후기
- golang
- 2023
- 제이펍
- go
- 독서
- bun
- agile
- 체호프
- API
- github
- Bug
- 잡학툰
- strange
- 노션
- 인텔리제이
- OpenAI
- 오블완
- 영화
- 클린 애자일
- intellij
- clean agile
- 티스토리챌린지
- 엉클 밥
- solid
- Gin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |