당신의 이유는 무엇입니까 꿈에도 몰랐다. 아무도 모르게 죽어 갈 남자가 2년 후의 내가 될 줄. 제7회 브런치북 출판 프로젝트 대상 수상작 답이 있다면, 알 수 있는가가 책 로 출간됐다. www.aladin.co.kr 뜨겁게 살아낸 누군가가, 자신을 적나라하게 드러낸 글을 읽으니 가슴이 뛰었다. 더 열심히 달리고, 더 뜨겁게 도전하고 싶어졌다. "상황에 나를 온통 내주고 자동으로 슬퍼하고, 자동으로 기뻐하고, 자동으로 괴로워한다. 인생의 주체가 내가 아니라 상황이 되어 버린다." 62p 내 몸안에 생성되어 있는 자동분류기에 나를 내맡긴 것이다. 이를 극복하기 위해서 "그제야 나는 스스로에게 묻는다. 그렇다면 무엇을 바꾸어야 하고, 어떻게 해야 하는가?" 64p 자동분류기의 존재를 인식하고 이를 객관적으로..
Photo by Austin Distel on Unsplash 드디어 마지막 Dependency Inversion Principle 이다. - Single Responsibility Principle - Open/Closed Principle - Liskov Substitution Principle - Interface Segregation Principle - Dependency Inversion Principle Dependency Inversion Principle "High-level modules should not depend on low-level modules. Both should depend on abstractions. Abstractions should not depend on de..
Photo by Austin Distel on Unsplash Liskov Substitution Principle에 이어지는 Interface Segregation Principle을 알아보자 - Single Responsibility Principle - Open/Closed Principle - Liskov Substitution Principle - Interface Segregation Principle - Dependency Inversion Principle Interface Segregation Principle "Clients should not be forced to depend on methods they do not use." - Robert C. Martin Segregation ..
Photo by Austin Distel on Unsplash 세 번째 Liskov Substitution Principle이다 - Single Responsibility Principle - Open/Closed Principle - Liskov Substitution Principle - Interface Segregation Principle - Dependency Inversion Principle Liskov Substitution Principle Dave Cheney on YouTube: https://youtu.be/zzAdEt3xZ1M?t=615 참고 - OOP에서의 Liskov Substitution Principle OOP, 즉 Class가 있는 언어에서는, 슈퍼클래스를 물려 받은 파..
Photo by Austin Distel on Unsplash 이번에는 Open/Closed Priciple을 알아보자 - Single Responsibility Principle - Open/Closed Principle - Liskov Substitution Principle - Interface Segregation Principle - Dependency Inversion Principle Open/Closed Principle "Software entities should be open for extension, but closed for modification." - Bertrand Meyer, Object-Oriented Software Construction OOP 클래스를 기반으로한 언어..
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..
- Total
- Today
- Yesterday
- 잡학툰
- Gin
- 클린 애자일
- 중용
- Shortcut
- 2023
- ChatGPT
- golang
- websocket
- API
- solid
- intellij
- bun
- Bug
- go
- 영화
- 체호프
- strange
- github
- ORM
- 명상
- notion
- agile
- 인텔리제이
- 노션
- postgres
- folklore
- 독서후기
- OpenAI
- pool
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |