코딩 초보자들을 위한 로드맵
오늘자로 코딩 캠프를 시작한 지 딱 3주가 지났고 어느새 주니어 파트의 절반을 지나왔다. 주 6일 하루에 열두시간씩 영어로 강의 듣고 말 엄청 빠른 원어민들 사이에 끼어 페어 프로그래밍 하다 보니 정작 코딩보다는 영어실력이 더 많이 늘고 있는 것 같지만..ㅋㅋ 그래도 그동안 정말 많은 걸 배웠다.
코드웍스의 주니어 커리큘럼을 따라가다 보니 인텐시브 하게 프로그래밍 전반적인 부분들을 다 다뤄주겠다는 의지가 엿보이는데 주니어 레벨이 잡인터뷰를 볼 때 반드시 알아야 하는 개념 위주로 훑어주는 느낌이다. 아래는 지금까지 공부해온 이론 부분의 토픽들인데 컴공 지식을 공부해야겠긴 한데 도대체 어디부터 손을 대야 하나 막막한 비전공자들에게 도움이 될까 하여 공유해본다. 각 항목별 상세한 내용들은 이미 인터넷에 고수님들이 자세하게 설명해놓은 자료가 넘쳐나므로 나 같은 쪼렙의 사족은 굳이 덧붙이진 않겠다. (참고가 될만한 자료들은 링크로 걸어둘게요)
1. Advanced Javascript
- Types, values and properties, property descriptor, Hoisting,
- Function expression vs function declarations
- Classes / sub-classes (Pseudoclassical Pattern(ES5) vs ES6)
- Prototype inheritance and Prototype Chain
- Promise
*더 자세한 내용들은 아래 깃허브 링크를 참고하면 좋음
: 33 Concepts Every JavaScript Developer Should Know
( https://github.com/leonardomso/33-js-concepts )
2. Test Frameworks (아래 키워드들로 구글링 해볼 것)
- Type of test : Unit / Integration / E2E test
- Development Approach: Test driven development / Behavior driven development
- Test Frameworks : Mocha, Jasmine, Jest
3. Data Structure (별 표시된 항목들은 직접 구현할 줄 알아야 한다)
- Stack*
- Queue*
- Set*
- Tree*
- Binary Search Tree
- B Tree
- Heap
- Graph
- Trie
4. Algorithm (별 표시된 항목들은 직접 구현할 줄 알아야 한다)
- BigO notation : Time & space complexity analysis
- BFS(Breadth-First-Search)
- DFS(Depth-First Search)
- Backtracking* (Solve N Rooks & Queens problem)
5. Networking (아래 키워드들로 구글링 해볼 것)
- Protocol
- Address formats, port range
- LAN & WAN
- URL structure
- DNS (Domain name system)
- Http(s)
- Server, Router, Port
- REST Api
- Status Code
- Ajax
- CORS
- Websocket
6. Back-end Frameworks (공식 문서 보고 따라 하면서 서버 구현해볼 것)
- Node js
- Express
- Koa
7. etc
-MVC (Model view controller)
이렇게 다 적어놓고 나니 새삼 내가 이걸 3주 만에 다 배웠다는 게 믿기지가 않고여...힘들거라고 예상은 했지만 생각보다 진짜 더 힘들다ㅠㅠ (코스 시작한 이후로 책상에만 앉아있었는데 3킬로가 빠졌다...) 때로는 강의를 몇 번이나 돌려 듣고도 이해가 안 가는 바람에 코드 한 줄 제대로 못 적겠어서 혼자 구석에 처박혀 울기도 하고 하루 종일 한 문제만 팠는데도 답이 안 나와서 파트너랑 바닥에 드러눕기도 하면서..ㅋㅋ 아등바등 어떻게든 버텨오고 있다^_ㅠ 그래도 고생 끝에 모든 테스트를 패스했을때의 희열감, 내가 원하는대로 콘솔에 결과가 출력될때의 뿌듯함 덕분에 힘들긴 해도 하루하루 새로운 걸 배워간다는 즐거움이 더 크다. 부디 남은 9주도 무사히 지나가길...