본문 바로가기

TIL

200107_TIL

오늘 배운 것

  1. 의사코드(pseudocode) 작성

    • 코딩을 하다보면 여러 가지 조건이 필요한 경우가 있다. 조건의 개수가 많고 복잡할 경우 머리만 믿고 덤볐다가 낭패를 보는 일이 생길 것이라고 생각한다. 그렇기 때문에 의사코드라는 것을 작성해야 한다고 이해했다.

    • 간단히 하자면 내 머리의 한계를 메모로 극복하기 위한 노력!

      • 알고리즘 문제를 작은 단위로 분해한다.
      • 분해한 단위마다 충족해야하는 조건을 일반적인 언어로 적어준다.
      • 작성한 의사코드들의 우선순위를 정한다.
      • 우선순위대로 참고하여 충족시킬 수 있는 코드를 작성한다.
  2. 디버깅하는 법

    • 디버깅은 코드를 작성하여 결과값을 반환했을 경우, 오류가 생긴다면 어디서 오류가 생긴 것인지 알아내는 과정이다.

      • 문법에서 에러가 난 경우, 오류 메시지를 분석하여 의미를 파악하고 위치를 파악한다.
      • 문법 에러가 아닌 로직 에러인 경우,
        • 문제 발생 원인 부분을 선정한다. (가설 설정)
          (한 번에 한 개의 가설을 설정한다. 여러 개 가설을 설정할 경우엔 모두 독립적인 가설을 설정해야 한다.)
        • console.log 를 활용하여 가설이 맞는지 검증한다.
        • 유용한 Test 방법에는 unit test 가 있다. (경우의 수를 정리하여 기대값과 실제값을 비교하는 방법)
  3. 모르는 것을 검색하는 방법

    • 모르는 것을 검색하는 방법에도 효율성이 중요하다. 검색의 결과물로 유용한 자료를 참고해야 하기 때문이다. 좋은 질문하기와 일맥상통인 것 같다.

      • 문제를 분석하여 구체화 한다. (keyword 를 설정한다는 의미)
      • MDN(Mozilla Developer Network) + keyword 로 검색한다.
      • MDN 설명을 이해하기 어렵다면 구글에 자연어 문장으로 검색한다. ex) array.sort() javascript
      • Stackoverflow 와 같은 Q&A 사이트를 참고한다.

ps. 별로 중요하지 않은 내용으로 치부할 수도 있다. 하지만 어디서나 기본이 가장 중요한 법! 생각하는 것보다 중요한 내용이다. 스스로 만들어낸 코드의 오류를 찾아내고, 찾아내지 못한다면 검색을 통해 학습하고, 그래도 모른다면 잘 아는 사람에게 물어보는 것. 단순하지만 반드시 거쳐야 할 과정이다.

'TIL' 카테고리의 다른 글

200113_TIL  (0) 2020.01.15
200110_TIL  (0) 2020.01.15
200109_TIL  (0) 2020.01.15
200108_TIL  (0) 2020.01.13
200106_TIL  (0) 2020.01.09