[일주일 만에 배우는 GO] CH.0 Go study plan

새로운 언어를 공부하다보면, 생각보다 기초를 공부하는 시간이 소모적이라는 생각이 들어 조금 더 효율적인 학습방법을 정리해보고 싶어 글로 남겨둡니다.
최근 오픈소스에 기여하고 싶다는 생각이 점점 커지다 보니, 이직 전에 golang
에 더 익숙해지고 싶다는 생각을 하게되었습니다.
또 혹시 새로운 프로젝트의 백엔드 웹 서버를 만들어야 될 수도 있어, 이 프로젝트 또한 go
와 gin
을 사용해 개발해보고 싶다는 생각들이 변곡점
을 이루면서

변곡점(變曲點, inflection point)
부랴부랴 나는 어떻게 Go 언어를 배웠나 를 토대로 계획해본 go 학습 계획입니다.
tl;dr
영상에서 니꼬가 새로운 언어
를 학습하는 합리적인 방법을 공유해주고 있는데요, 정리하면 다음과 같습니다.
- 공식문서
- 기초 문법
- 익숙한 언어들과 비교 (✍️ python과 공통점 차이점 비교글 작성)
- ASAP code (✍️ graph Tree관련 1문제)
- 튜토리얼 (✍️ best practice copy)
- 나만의 프로젝트 (✍️ migration tidify)
Go plan
가장 먼저 공식문서에서는 언어가 등장한 배경과 철학을 분석합니다. 또한 어떤 필드에서 해당 언어가 사용되는지를 파악하여 커뮤니티의 특성과 채용/이직에 대한 목표를 세울수 있습니다. 마지막으로 해당 언어가 사용되는 레퍼런스를 리서치합니다.
-
공식문서
- 언어 철학
- who used (사용 필드/커뮤니티 분석)
- best practice 레퍼런스 리서치
1의 과정에서 배경지식을 얻었다면, 기초문법을 빠르게 훓어봅니다. 익숙하지 않은 키워드들만 terminology로 정리해보는 것도 좋고, cheatsheet를 훑어보는 것 또한 좋은 방법이라 생각합니다.
- 기초 문법
- 키워드 위주로 최대한 빠르게
이후 익숙한 언어와 비교해보면서, 기존의 정보들과 link를 만들어갑니다. 이 방법은 기억력 측면에서 유용한 방법이라 생각합니다.
- 익숙한 언어들과 비교
- equvalance
3의 과정에서 공통/차이점을 훝어 보았다면 바로 기초문법들을 사용해서 코드를 작성해봅니다.
익숙한 graph(tree
)관련 알고리즘을 풀어보면 class를 사용해볼 수 있어서 유리할 것 같습니다.
-
code ASAP
- 2-3에서 배운 문법 활용
기초 문법을 빠르게 쳐보았다면 best practice를 분석해봅니다.
-
튜토리얼
1
에서 찾은 best practice- 또는 유명한 오픈소스 / 튜토리얼 fork 후 일부분 로컬에서 재조립
마지막으로 나만의 프로젝트를 빠르게 만들어봅니다. 프로젝트의 규모는 TODO
따위의 간단한 crud 비즈니스 로직을 가진 주제면 더 좋을 것 같습니다. 저의 경우에는 tidify
프로젝트가 가장 비슷한 규모라고 생각되어 tidify 프로젝트를 migration 해보는 걸 목표로 해보고 싶습니다. 하지만 현실적인 시간을 고려해서 tidify가 부담스럽다면 (gin
프레임워크를 따로 배우는 시간이 필요) 간단한 TODO 프로젝트 만드는 걸 1차 목표로 진행해보겠습니다.
- 나만의 프로젝트
- 최대한 익숙한 프로젝트 주제
- i.g
TODO
또는기존 프로젝트 migration
conclustion
개인적으로 계획을 세우는 걸 좋아하지만, 금방 싫증을 느끼다 보니 더 현실적이고 체계적으로 계획을 세우고 싶은 니즈가 생겼던 것 같습니다.
이렇게 6가지 순서를 진행하는데 제게 가장 맞는 방법은 스피드
라고 생각이 됩니다.
저 같은 경우는 흥미가 빨리 바뀌기 때문에 해당 과정을 일주일동안 해보는 걸 목표로 잡고 진행해볼까 생각합니다.
1~4
: 1일5
: 2일6
: 4일
총 일주일 과정을 목표로 기록해보겠습니다.