Photo by Austin Distel on Unsplash SOLID는 여러 번 마주쳤지만 제대로 이해했다고는 못하겠다. 이번에는 실제 Go 코드를 통해 이해해 보려 한다. SOLID를 따르는 Go 코드는 어떤 모양이어야 할까? Dave Cheney의 발표내용을 기반으로 하여 알아보았다. - Dave Cheney posting: https://dave.cheney.net/2016/08/20/solid-go-design - Dave Cheney YouTube: https://youtu.be/zzAdEt3xZ1M SOLID가 무엇인지 위키부터 찾아보자. https://www.wikiwand.com/en/SOLID In object-oriented computer programming, SOLID is a..
Photo by Clay Banks on Unsplash CI/CD는 알지만 CI/CD를 실무에서 써본 적은 없다. GitHub Action을 이용해서 Heroku로 deploy 되도록 해보았다. 1. Local PC에서 코드를 수정하여 2. GitHub repo에 git push를 하면 3. GitHub Action에 설정한대로 Heroku로 자동 deploy 하게 하는 것이다. 즉, 실제로 Heroku에 서비스하고 있다면, 단지 GitHub repo에 push 해주는 것 만으로 변경사항이 서비스에 반영이 되는 것이다. 아래 링크를 참고하여 최소한의 구현과 경로로 전체 구현흐름을 잡아보겠다. 자세한 내용과 선택사항은 링크의 내용을 참고한다. 아래 참고링크에서 제공하는 action을 사용하였지만 그 상세..
Photo by Paweł Czerwiński on Unsplash custom 하게 timeout을 설정한 http client를 생성해서 사용하자는 포스팅을 하였다. https://jusths.tistory.com/203 그런데 context를 사용하는 방법도 있다. 이 경우에는 중간에 취소를 할 수 있다는 장점까지 있다. context timeout playground: https://play.golang.org/p/X46kgspmjTw - 여기서 실행은 되지 않는다. 코드만 참고하자 - 실행은 별도로 PC에서 테스트하거나 https://repl.it 사이트에서 테스트하자 1) ctx를 만든다. - 어떤 context 이건 처음 생성은 context.Background() 이다. - 그렇게 최초 생..
Photo by Paweł Czerwiński on Unsplash TL;DR - Go언어의 default http client는 timeout이 없다. Request를 보내서 response가 올때까지 무한정 기다린다. - 따라서 custom 하게 timeout을 설정한 http client를 생성해서 사용하자 모범 답안 playground: https://play.golang.org/p/CdazCatBjrS - 여기서 실행은 되지 않는다. 코드만 참고하자 - 실행은 별도로 PC에서 테스트하거나 https://repl.it 사이트에서 테스트하자 1) c 라는 timeout 설정이 들어가있는 http.Client를 생성한 다음, HTTP request를 보내면 2) httptest.NewServer()로..
Photo by CDC on Unsplash 1) 공공데이터 오픈API를 신청해서 데이터 얻기 https://jusths.tistory.com/199 2) 데이터를 먹기좋게 요리하기 https://jusths.tistory.com/200 3) 데이터를 차트로 만들어서 웹서비스 하기 https://jusths.tistory.com/201 4) Heroku 에 올려서 서비스하기 https://jusths.tistory.com/202 GitHub: https://github.com/nicewook/corona-visual-server Heroku app: https://corona-weeks.herokuapp.com/ Heroku 준비하기 윈도우 10 에서 Heroku 에서 제공하는 가이드를 따라가본다. He..
Photo by CDC on Unsplash 1) 공공데이터 오픈API를 신청해서 데이터 얻기 https://jusths.tistory.com/199 2) 데이터를 먹기좋게 요리하기 https://jusths.tistory.com/200 3) 데이터를 차트로 만들어서 웹서비스 하기 https://jusths.tistory.com/201 4) Heroku 에 올려서 서비스하기 https://jusths.tistory.com/202 GitHub: https://github.com/nicewook/corona-visual-server Heroku app: https://corona-weeks.herokuapp.com/ 차트 만들기 이제 차트를 만들어보자 이용한 패키지는 https://github.com/go-..
Photo by CDC on Unsplash 1) 공공데이터 오픈API를 신청해서 데이터 얻기 https://jusths.tistory.com/199 2) 데이터를 먹기좋게 요리하기 https://jusths.tistory.com/200 3) 데이터를 차트로 만들어서 웹서비스 하기 https://jusths.tistory.com/201 4) Heroku 에 올려서 서비스하기 https://jusths.tistory.com/202 GitHub: https://github.com/nicewook/corona-visual-server Heroku app: https://corona-weeks.herokuapp.com/ 데이터를 먹기좋게 요리하기 다음과 같은 프로세스로 원하는 데이터를 만들어보았다. 1. 먼저 ..
Photo by CDC on Unsplash 코로나 바이러스 실시간 확진자 현황을 수시로 보는 버릇이 생겼다. - 코로나 현황 사이트: https://corona-live.com/ 하루에도 여러 차례 챙겨보다보니 가장 많이 보는 것들중 하나가 지난 주 같은 요일과의 확진자 수 차이였다. 하루 전날과의 차이는 크게 의미를 찾기 힘들고, 월별 비교는 또한 지나치게 큰 시차가 있기에 현 시점에서 지난 1주차, 2주차, 3주차를 비교한 자료가 아쉬웠다. 그래서 만들어 보기로 함 프로세스는 크게 네 단계로 만들어보았다. 1) 공공데이터 오픈API를 신청해서 데이터 얻기 https://jusths.tistory.com/199 2) 데이터를 먹기좋게 요리하기 https://jusths.tistory.com/200 3..
- Total
- Today
- Yesterday
- 클린 애자일
- API
- Bug
- bun
- pool
- folklore
- ChatGPT
- solid
- OpenAI
- notion
- 명상
- 영화
- 노션
- strange
- github
- Gin
- 인텔리제이
- intellij
- 독서후기
- ORM
- agile
- go
- websocket
- Shortcut
- golang
- 2023
- 잡학툰
- postgres
- 중용
- 체호프
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |