개요 Slack slash command 가 메시지를 보내올때에, 그것이 Slack 에서 보내온 것인지 검증해보자. 링크: https://api.slack.com/docs/verifying-requests-from-slack (참고) 현재까지 관련 포스팅 모음 - Golang: Github - Travis-CI - Heroku: https://jusths.tistory.com/69 - Slack slash command + Golang server: https://jusths.tistory.com/72 - slack slash command 는 무얼 보내주는 걸까: https://jusths.tistory.com/73 Signing secret Slack 에 앱을 등록하면 Slack 은 unique 한 ..
개요 원문: 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..
개요 프로그램 실행시간을 알아보는 unix 명령어인 time 에 대해 알아보자 링크: https://www.wikiwand.com/en/Time_(Unix)#/Real_time_vs_CPU_time 링크: https://engineering.purdue.edu/ECN/Support/KB/Docs/UserTimeVsSystemTime 정리1 리눅스에는 user mode 와 kernel mode 가 있다. user mode 는 사용자가 맘대로 할 수 있지만, kernel mode 는 system call 로면 접근할 수 있다. user time: user mode 에서의 소요시간 system time: kernel mode 에서의 소요시간 정리2 그런데 실제 소요시간인 real time = user + sy..
개요 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 버전 에 실험적..
개요 Windows 10 에서 WSL ((Windows Subsystem for Linux) 을 ConEmu 를 이용하여 본격적으로 써먹어본다. * WSL 과 ConEmu 는 은 설치되어 있는 것으로 가정한다. ConEmu 를 열면 WSL 이 똬악! Settings >> General 에서 {Bash::bash} 를 선택하면 된다. 시작 디렉토리를 정하고 싶다 Settgins >> Startup >> Task 에서 {Bash::bash} 를 선택해주고 --wsl 뒤에 -C~ 를 추가해준다. --wsl -C~ 여기서 ~ 는 리눅스에서의 홈 디렉토리를 가리키며 ~ 대신 원하는 디렉토리를 적어주면 ConEmu 를 실행했을때 이쪽 디렉토리에서 시작하게 된다. 이쁜 테마를 쓰고 싶다 기본적으로 제공하는 테마들도 ..
개요 아래 두 항목을 최대한 간단히 들여다 보려 함 1. WSL 에서 VIM 을 사용하려고 보니 7점대 version 이다. 최신 버전 설치하자 2. 최신버전 설치 가이드를 보니 apt-get 이 아니라 apt 를 쓰네? 이거 뭔지 함 들여다 보자. * (참고) WSL (Windows Subsystem for Linux) == Bash on Ubuntu on Windows vim 최신으로 update 하기 원문링크: https://itsfoss.com/vim-8-release-install/ TL;DR. 그냥 아래만 치면 된다. sudo add-apt-repository ppa:jonathonf/vim sudo apt update sudo apt install vim PPA란 무엇인가 - 링크: http..
- Total
- Today
- Yesterday
- websocket
- 오블완
- 독서
- ChatGPT
- 인텔리제이
- solid
- notion
- folklore
- 잡학툰
- 영화
- 클린 애자일
- go
- 2023
- strange
- 2024년
- Bug
- API
- 노션
- bun
- golang
- agile
- github
- 티스토리챌린지
- 엉클 밥
- 체호프
- intellij
- clean agile
- Gin
- OpenAI
- 독서후기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |