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..
exec 패키지를 이용하면 Go 프로그램 내에서 외부의 프로그램을 실행할 수 있다. 깊이 들어가서 파헤치지는 않았으며 간단한 사용법 몇몇을 알아보자. 예제 링크: https://play.golang.org/p/GTbfAx2lCTM 간단한 실행이다. $ls -al 을 실행한 것이다. 1) cmd 를 만들고 2) cmd를 Run 한 것이다. 그런데 아무런 결과도 출력되지 않는다. Go 프로그램은 알 수 없지만 별도의 스레드에서 실행이 되고 그 스레드의 os.Stdout으로 출력되고 끝난 것이다. 예제 링크: https://play.golang.org/p/16DdYm5nkjn cmd.Stdout = os.Stdout 한 줄만 적어주면 해당 command가 실행된 스레드의 출력이 현재 Go 프로그램에서의 출력으..
Go의 슬라이스는 배열과 비슷한 듯 다르다. 슬라이스는 세 개의 필드를 가진 데이터 구조이다. 포인터: 실제 값이 들어있는 배열의 주소를 가리킨다 Length: 값이 들어있는 길이를 가리킨다. Capacity: 실제 값은 들어있지 않지만 미리 확보해놓은 메모리 공간이라 생각하면 된다. Capacity 이내 에서는 append를 하더라도 다른 곳으로 메모리를 재할당 할 필요가 없다. 저장하는 메모리 공간을 이사할 필요가 없다는 것이다. 적절할지 모르겠지만 비유를 해본다. 아파트의 방에 한 명씩 살아야 한다고 하자...
Photo by Muhannad Ajjan on Unsplash 개요 하나의 구조체의 필드가 너무 길면 한눈에 보기 어렵다. 그렇다고 구조체 속에 구조체를 넣어서 구조화하면 너무 정신이 없다. 실무에서 아래와 같이 적용을 해보니 편하여 공유해본다. JSON marshaling/unmarshaling 에 대한 이해에 도움이 되기도 하였다. 더 좋은 방법이 있거나, 잘못알고 있는 부분이 있다면 알려주시면 좋겠다 * omitempty 태그도 언급하면 좋았겠지만 이번 글에서는 제외하였다. * 예제의 몇몇 error 처리는 예제코드의 길이를 줄이려 생략하였다. 모든 에러는 처리되어야 한다. 기본 구현 Playground: https://play.golang.org/p/jmVzyTFeXZR 필드들을 나열하여 정의한..
- Total
- Today
- Yesterday
- 잡학툰
- github
- OpenAI
- notion
- websocket
- 체호프
- 클린 애자일
- Gin
- 인텔리제이
- 명상
- Bug
- 독서후기
- 2023
- pool
- 노션
- API
- ChatGPT
- 영화
- Shortcut
- ORM
- golang
- intellij
- agile
- folklore
- go
- postgres
- 중용
- solid
- strange
- bun
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |