180919 TIL Lec2 학점계산기 & 에꼴 42

» 1막, TIL (Today I Learned), 코드스쿼드

에꼴 42 다큐 시청

  • 에꼴 42 관련 블로그 글
  • 에꼴 42 관련 다큐
  • 오늘 아침에 뭔가~ 기분이 안 좋고~ 갑자기 잘 안될 거 같고~ 막막하고~ 그래서 오자마자 위의 글과 다큐를 봤다. 호눅스가 공유해줘서 알게되었는데, 코드스쿼드와 어느 정도 교육관이 비슷한 것 같아 안심했다.
  • 문득 예전에 국제학교 다닐 때 한국과 전혀 다른 시스템(등수 없고, 반 이동 수업, 2시반 하교 등)에 감명받아서 나중에 이런 학교를 한국에 세우고 싶다~ 했던 게 떠올랐다. 그때부터 교육쪽에 관심을 갖게 된 듯…
  • 또 다큐를 보고 내가 지금 코딩을 배우는 것은 너무 잘한 결정이라는 생각이 다시 한번 들었다. 그리고 스멀스멀 올라오는 조급한 마음을 다시 한번 내려놓고 깊게 고민하고 나만의 코딩을 해나가야 하겠다는 생각이 들었다.
  • 에꼴 42 교장(?)은 프로그래머는 기술자가 아니라 예술가라고 생각한다고 한다. 그래서 어떠한 확실성이라는 틀에 가두고 코딩을 학습하는 대부분의 코딩 수업은 굉장히 위험하다고 말한다. 코드를 짜는 것은 창의적인 일이고 한계를 정하면 안되는 것인데 확실한 답? 틀? 안에서 배우면 그런 것들이 제한된다는 말을 하는 것 같다. 유념하자~~~

알고리즘

  • 빅오(Big-O) 복잡도 분석: Big-O notation의 의미 - 인풋의 크기가 충분히 커진 상태의 성능 = 최악의 성능을 의미
  • 에라토스테네스의 체
  • n^2나 n^n 으로는 시간초과가 나는 경우가 많다.

Step 1 refactoring

  • destructuring
    const values = {};
    const arr = [1,2,3,4,5,99];
    [values.for,,,values.foo] = arr;
    
  • result 부분 정리하기(비센스 tip `랑 $ 사용하면 + 안써도 된다고 한다!)
  • ` <- 얘의 이름은 백틱(backtick)
      values.grossMajorCredits = calculateCredits(data)[1];
      values.grossPoints = calculatePoints(data)[0];
      values.grossMajorPoints = calculatePoints(data)[1];
      values.gpa = (values.grossPoints / values.grossCredits).toFixed(2);
      values.mgpa = (values.grossMajorPoints / values.grossMajorCredits).toFixed(2);
      
      return values;
    }
     function gpaCalculator(scale){
      let result = "";
      const values = getValues(data);
      result = '4.5 기준: 총 평점 = ' + values.gpa + ' 전공 평점 = ' + values.mgpa + '\n' +
    

VSCode Theme 변경

  • dracula theme으로 변경했다!!! 아주 예쁨!!! dracula

9/18 (Tue) DONE

  1. 객체 메서드 더 공부(책 참고)
  2. Step1 PR feedback 반영
  3. setTimeout & 비동기 강의 공부
  4. 시간 되면 알고리즘 1문제

9/19 (Wed) To-Do

  1. 에꼴 42 다큐 시청
  2. 알고리즘 수업(10:30-12:30)
  3. Step 1 PR feedback 반영하여 수정