개요 원문: https://dave.cheney.net/2014/03/19/channel-axioms 참고링크 - channel 의 초기값 nil 은 무쓸모일까? https://goo.gl/K72ZNU Axioms 란 공리라고 쓰는게 맞겠지만 자명한 이치라고 풀어써본다. 자명하다는 건 따로 설명이나 증명할 필요조차 없다는 것을 말한다. 따라서, 여기서는 Golang Channel 의 그야말로 자명한 이치를 알아보는 것이다. → 번역에 가까운, 원문을 나 자신이 이해하고 정리하며 쓰는 글이다. 개발자가 막연히 받아들이는 채널의 개념 1) 값들이 들어오고 나가는 Queue 2) Channel 이 꽉 차거나, 비어 있으면 블록된다. - 꽉 차있는데 넣으려 하거나, - 비어있는데 빼내려 하면 코드의 그 부분에서..
개요 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
- clean agile
- OpenAI
- Gin
- 독서후기
- MCP
- agile
- postgres
- 잡학툰
- API
- middleware
- 영화
- golang
- notion
- gocore
- Echo
- websocket
- solid
- github
- 오블완
- ChatGPT
- strange
- backend
- 독서
- Bug
- 인텔리제이
- bun
- intellij
- 티스토리챌린지
- 클린 애자일
- go
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |