brunch

You can make anything
by writing

C.S.Lewis

by 노다 Oct 11. 2020

비전공자도 알아야 하는 컴공 지식

코딩 초보자들을 위한 로드맵

    오늘자로 코딩 캠프를 시작한 지 딱 3주가 지났고 어느새 주니어 파트의 절반을 지나왔다. 주 6일 하루에 열두시간씩 영어로 강의 듣고 말 엄청 빠른 원어민들 사이에 끼어 페어 프로그래밍 하다 보니 정작 코딩보다는 영어실력이 더 많이 늘고 있는 것 같지만..ㅋㅋ 그래도 그동안 정말 많은 걸 배웠다.

하루종일 회의실에 쳐박혀있다보면 시간과 정신의 방에 갇힌건가 싶기도....

    코드웍스의 주니어 커리큘럼을 따라가다 보니 인텐시브 하게 프로그래밍 전반적인 부분들을 다 다뤄주겠다는 의지가 엿보이는데 주니어 레벨이 잡인터뷰를 볼 때 반드시 알아야 하는 개념 위주로 훑어주는 느낌이다. 아래는 지금까지 공부해온 이론 부분의 토픽들인데 컴공 지식을 공부해야겠긴 한데 도대체 어디부터 손을 대야 하나 막막한 비전공자들에게 도움이 될까 하여 공유해본다. 각 항목별 상세한 내용들은 이미 인터넷에 고수님들이 자세하게 설명해놓은 자료가 넘쳐나므로 나 같은 쪼렙의 사족은 굳이 덧붙이진 않겠다. (참고가 될만한 자료들은 링크로 걸어둘게요)


1. Advanced Javascript

- Types, values and properties, property descriptor, Hoisting,

- Scope & Closure

- Function expression vs function declarations

- Context (this, call, bind)

- Classes / sub-classes (Pseudoclassical Pattern(ES5) vs ES6)

- Prototype inheritance and Prototype Chain

- Event Loop

- async / await

- 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*

- Linked List*

- Set*

- Tree*

- HashTable*

- Binary Search Tree

- B Tree

- Heap

- Graph

- Trie


4. Algorithm (별 표시된 항목들은 직접 구현할 줄 알아야 한다)

- BigO notation : Time & space complexity analysis

- BFS(Breadth-First-Search)

- DFS(Depth-First Search)

- Insertion sort*

- Selection sort*

- Bubble sort*

- Merge sort*

- Quick sort

- 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

-Bitwise operation

-MVC (Model view controller)

 

    이렇게 다 적어놓고 나니 새삼 내가 이걸 3주 만에 다 배웠다는 게 믿기지가 않고여...힘들거라고 예상은 했지만 생각보다 진짜 더 힘들다ㅠㅠ (코스 시작한 이후로 책상에만 앉아있었는데 3킬로가 빠졌다...) 때로는 강의를 몇 번이나 돌려 듣고도 이해가 안 가는 바람에 코드 한 줄 제대로 못 적겠어서 혼자 구석에 처박혀 울기도 하고 하루 종일 한 문제만 팠는데도 답이 안 나와서 파트너랑 바닥에 드러눕기도 하면서..ㅋㅋ 아등바등 어떻게든 버텨오고 있다^_ㅠ 그래도 고생 끝에 모든 테스트를 패스했을때의 희열감, 내가 원하는대로 콘솔에 결과가 출력될때의 뿌듯함 덕분에 힘들긴 해도 하루하루 새로운 걸 배워간다는 즐거움이 더 크다. 부디 남은 9주도 무사히 지나가길...

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari