현 시점에서 필자의 주관적인 견해로 공부하고 노력해야 한다고 생각한 점을 나열합니다.

1. 알고리즘 / 자료구조


  • 지난 날 :
    • 백준, 프로그래머스, Leetcode 의 문제를 무작정 풀었다.
  • 앞으로 :
    • 알고리즘 & 자료구조의 종류/개념을 익히고 기본적인 코드 구현을 Javascript로 구현해본 뒤, 해당 종류/개념에 맞는 문제를 위 사이트에서 다시 해결 해 봐야겠다.

2. CSS 와 React 로 Component 를 구현


  • 지난 날:
    • CSS framework 에 너무 의존하여 코드를 가져다 쓰기만 했다.
  • 앞으로 :
    • 외부 라이브러리의 도움을 받지않고 pure css 를 react 에 입혀 framework들이 제공하는 컴포넌트들을 최대한 많이 만들어 보겠다.

3. React Life Cycle


  • 지난 날:

    • 전반적인 이해가 부족했다. Mounting 에 관련된 몇몇 Method 만 어렴풋이 이해했다. 이외에도 constructor 부터 render 까지 scope 또한 이해가 부족했다.
  • 앞으로:

    • React 생명주기의 start - end 까지 props 와 state 의 변화를 관찰할 수 있는 간단한 app 을 만들어봐야겠다.

4. 브라우저와의 호환성


  • 지난 날:

    • IE, chrome, safari, firefox 등 css 를 responsive 하게 만들때 따로 설정해줘야하는 부분이 있다고만 들었다.
  • 앞으로:

    • 대표적으로 위 4가지의 브라우저에서 프론트를 짤때 주의해야하는 부분과 각 브라우저의 특성까지 공부하면 좋을거 같다.

5. 다양항 git 커맨드들


  • 지난 날:

    • 단순히 terminal 에서 add, commit, push와 같은 비교적 간단한 작업들만 수행했고, log나 수정 사항을 알기위해 diff 정도만 사용했다. 협업시 사용 될만한 커맨드들의 숙지가 미흡했다.
  • 앞으로:

    • ammend 나 rebase 등 협업이나 수정사항이 있을때 사용해 볼수 있는 git 커맨드도 익히면 좋을 것 같다.

6. DOM 에 대한 이해


  • 지난 날:

    • 단순히 사전적인 의미인 Document object model 정도와, react 는 가상 dom 을 사용하여 성능 부분의 개선을 준다고로만 알고있다. 브라우저와 관련되어 있다는 정도만 알지 정확히 잘 모른다.
  • 앞으로:

    • DOM 에 대한 확실한 이해와 나아가서는 사용자들이 어떻게 브라우저를 통해 interaction 하는지 알아봐야겠다.

7. Line by Line understanding


  • 지난 날:

    • Learning by doing 이라고 그냥 강좌를 따라하고 만들기에만 급급했던 것 같다. Learn by doing 이 나쁜 방법은 아니지만, 복습이 없고 자기가 뭘 하고있고 작성한 코드가 어떤 역할을 하는지 이해를 하지 못하면 나쁜 방법이다.
  • 앞으로:

    • 왠만하면 모든 코드들 위에 comment 를 달고 나아가서는 화이트보드에 손코딩 까지 해봐야겠다. 사람인지라 알고 있고 많이 접하는 코드라인 일지라도, 공부하는 입장에서는 주석을 달아놓는게 복습할때도 용이할 것이라고 생각한다.

8. 사용하는 Libaray/framework 의 이해


  • 지난 날:

    • 가장 중요한 부분이다. 특히 css 부분에서 의존도가 너무 높았다.
  • 앞으로:

    • css-framework-explore 라는 개인적인 repo를 만들고 라이브러리를 사용한 component 와 pure css 로 만든 component 를 비교해서 모아둘려고 한다. React boot-strap 부터 시작해서 bulma 등 css 라이브러리들을 심층적으로 파악하는 노력이 필요할 것 같다.