티스토리 뷰
Photo by John Schnobrich on Unsplash
2021-11-06(토) Golang Weekly 메일링리스트에서 Go와 관련한 행사에서 발표한 영상을 소개받았다.
4 Great Talks from Google's Go Day 2021 — It took place just yesterday but you can register to watch the talks (which are all reasonably short and ideal for lunch breaks!) on demand now.. or you can use our links direct to the YouTube versions ;-)
|
아래와 같이 영상 4개를 본 소감을 정말 간단히 정리해둔다
두 영상은 Go가 짱 좋다는 이야기이다.
첫 번째 영상은 Go가 기업이 비즈니스를 사용하는데 좋다는 이야기
두 번째 영상은 아메리칸 익스프레스가 2016년부터 Proof of Concept부터 시작해서 지금까지 잘 써왔다는 이야기이다.
* Proof of Concept(POC)란 새로운 기술을 실제로 사용하기 전에 시험, 검증해보는 단계를 말한다
세 번째 영상은 Go를 잘 쓸 수 있도록 만든 두 툴인 gopls와 Delve 이야기이다
TDD를 습관으로 만들어보고 싶다 막연히 생각해봤었는데 함수 하나씩 만들때마다 여기서 소개하는 방식대로 unit test를 자동 생성하고, debugging을 해보는 연습을 해보고 실전에서 해보는 것도 TDD로 가는 중간 단계로 나쁘지 않겠다 싶었다.
네 번째 영상은 Go 1.18에 추가될 Generic에 대한 이야기이다. Generic은 매우 단순하게 말하자면 함수나 메서드를 만들때에 Type을 특정하지 않고 짜고, 런타임에서 type이 결정되어 동작하는 것을 말한다. 즉, int를 위한 함수 하나, string을 위한 함수 하나, 이런식으로 여러개를 짤 것을 하나의 함수로 해결할 수 있는 것이다.
간단한 사용법 설명은 이전에도 몇 번 보았던 내용이고, 이 영상에서 인상적이었던 것은 마지막 부분의 두 가지 이야기였다.
Aboid boilerplate. Corollery: don't use type parameters prematurely; wait until you are about to write boilerplate code
타입별로 반복되는 코드라 생각하고 바로 Generic으로 짜지 말고, 일단 타입별로 짜다가 이거이거 반복이네 싶다고 느껴질때에 Generic으로 리팩터링하라는 것이다.
It is essential to have good tools, but it is also essential that the tools should be used in the right way
- Wallace D. Wattles -
기능 추가와 관련한 논란이 많았던 Generic이다 보니 이렇게 말을 보태었다 싶다. Generic은 좋은 툴이지만 제대로 써야 한다고 언급을 하는 것이다.
'golang' 카테고리의 다른 글
Golang: Websocket masking과 cache poisoning (0) | 2021.11.22 |
---|---|
Golang: Websocket 이해하기 (1) | 2021.11.17 |
Golang Gin Gonic - 5. Middleware (0) | 2021.10.05 |
Golang Gin Gonic - 4. Grouping API (0) | 2021.10.04 |
Golang Gin Gonic - 3. Post files to API server (0) | 2021.10.01 |
- Total
- Today
- Yesterday
- ChatGPT
- Shortcut
- go
- folklore
- 클린 애자일
- solid
- 제이펍
- 잡학툰
- 독서
- notion
- 노션
- 체호프
- 2023
- agile
- 인텔리제이
- Gin
- strange
- intellij
- 오블완
- OpenAI
- API
- 영화
- websocket
- bun
- 독서후기
- golang
- 티스토리챌린지
- clean agile
- github
- Bug
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |