<야심 차게 시작한 Django 공부>
나는 다행히도 개인적인 토이 프로젝트로 진행하고 싶은 소소한 아이템들이 많다 (구현할 실력이 아직 없을 뿐..). 지금 내가 가장 좋아하는 취미는 다트인데, 여러 다트 게임 중 크리켓(Cricket)이라는 게임을 가장 좋아한다. 그래서 가장 먼저 진행하고 싶던 프로젝트는 크리켓의 점수를 계산하는 웹이었다. 코로나로 인해 펍에서 다트를 할 수가 없으니, 금방 계산기를 만들 수만 있다면 친구들과 집에서 다트를 하며 놀고 싶었다. 그리고 크리켓은 승리 조건과 점수 계산이 제법 복잡해서 혼자 끙끙 앓으면서 코딩 공부하기에 딱 좋을 것 같았다!
김칫국을 마음껏 마시는 건 불법이 아니라서.. 나는 이 크리켓 계산기에 플레이어 별로 게임 데이터를 수집하고, 분석을 통해 승패를 예측하는 알고리즘을 '언젠가는!' 구현하고자 했다. 따라서 자바보다는 파이썬에 더 매력을 느꼈다. 하지만 파이썬으로 웹을 구축하는 프레임워크에 대한 지식은 전무한 상태였다. 다행히도 11월의 블랙프라이데이에 눈 뒤집혀 뭐가 뭔지도 모르고 일단 질렀던 Udemy의 인강 중 장고(Django)를 다루는 강의가 있었다. 알아두면 해가 될 것 없으리라 생각해 일단 공부를 시작했다.
학원 공부를 따로 하며 남는 시간 틈틈이 장고 공부를 했다. 자바 스프링과 비교했을 때 장고에 대한 첫인상은 아슬아슬함이었다. 별로 코딩한 것들이 없는데? 이거 이대로 돌려도 되는 건가?라는 생각이 초반을 장악했지만, 이내 장고의 DRY(Don't Repeat Yourself) 설계 철학에 매료된다. Model과 View의 간결하고 깔끔한 티키타카와 Admin의 유요함에서 섹시함을 느끼기까지 했다! 그렇게 신나게 공부해가면 클론 프로젝트 파트까지 클리어했는데! 내가 들었던 강의(CRUD를 깊게 다루느라) 만으로는 크리켓 계산을 구현할 수 있는 웹을 설계할 방법을 전혀 모르겠는 것이었다!
<DJango vs Algorithm>
개인 시간을 투자해 공부할 주제의 선택지는 두 가지가 있었다.
- 장고를 더 깊게 공부하여 크리켓 계산기를 구현할 방법을 찾아낸다.
- 알고리즘의 기본을 공부한다.
알고리즘을 공부한다는 뚱딴지 같은 옵션이 왜 튀어나왔나 설명을 하면, 장고를 공부하며 크리켓 점수를 계산하는 코드를 짜는데 그것이 생각보다 재미있었다! 그 과정이 절대 쉽지는 않았지만(다트도 포함하여 보통은 나의 흥미와 실력은 별개의 문제다..!) 내 머리와 손에서 나온 코드가 원하는 계산을 착착해나갈 때 그 기분이 참 짜릿했다. 하지만 이 코드를 분명 더 깔끔하고 좋은 성능을 낼 수 있게 수정할 수 있는 길이 있을 것만 같았다.
곧 취업을 해야하는 상황에서 프레임워크 숙련도를 높이는 것이 더 현명하지 않을까라는 생각이 있었지만, 혼자 공부한다는 것의 장점이 무엇인가! 포트폴리오는 몇 달 동안 계속 허전해지겠지만, 기본을 중허게 여기는 초심을 지키고자 알고리즘 공부를 선택하기로 한다!
+ 장고로 크리켓 계산기를 구현하는 것은 생각보다 많은 공부가 필요한 것 같아서, CRUD의 기본 활용을 숙련시키고자 다른 사이드 프로젝트를 구상하였다! 원래 계획했던 것들에서 아무것도 거둔 것은 없지만 일단 공부하고 싶은 게 생기니 즐겁다! 크리켓은 코로나 종식되면 펍에서 하기로!
<Algorithm Win!>
SQLD를 독학하며 크게 깨달은 것이 있다면. 나는 코딩을 책으로 공부하는 것이 상당히 비효율적이라는 것이다(SQLD 시험은 낙방하였다! 하하하!). 그리하여 알고리즘 공부는 인터넷 강의의 도움을 받기로 계획하고 패스트캠퍼스의 강의를 선택하였다. 패스트캠퍼스 강의를 선택한 이유는 그다지 대단하지는 않다. 일단 커리큘럼 구성이 탄탄해 보였고, 전 직장에서 친했던 동료가 지금 패스트캠퍼스에 근무하고 있는데 내가 Udemy에서 강의를 잔뜩 샀다고 자랑했다가 면박을 받아서 이번 기회에 옛 동료에 대한 의리를 지키고 싶었다.
그렇게 2021년 첫 개인 공부는 자료구조와 알고리즘이 되시겠다! 오랜만에 모국어로 인터넷 강의를 들으니 감격스러웠다. 앞으로 이론은 조용히 혼자 공부하고 블로그에는 문제 풀이의 과정을 문서화하여 포스팅할 계획이다. 오늘도 신난다!
'Home' 카테고리의 다른 글
치즈체이서 (Cheese Chaser)? (0) | 2020.12.30 |
---|