Til Home

2020-06-04-TIL

Fact

  • 오늘 아침에 문제 3개를 풀었다. 하나는 어제 효율성 통과 못 했던 것을 다른 사람 풀이를 참조하고 다시 풀었다. 그 문제는 큰 수 만들기라는 문제였다. 그 후에 구명보트라는 문제를 풀었다. 정확성은 다 통과됐지만 효율성을 하나도 통과를 못 시켰다. nlogn으로 풀어야 했는데 nlogn 이상으로 시간 복잡도로 풀었더니 안됐다. 마지막에는 짝 프로그래밍으로 다트 게임을 풀었다.
  • 오후에는 객체지향의 사실과 오해 그룹 스터디를 했다. 6장에 대한 스터디를 했다.
  • NextStep 문익점 ”내가 TDD, 리팩토링에 집착하는 이유”와 ”학습 테스트와 단위 테스트” 동영상을 시청했다. 시청 후 1단계 - 학습 테스트 실습을 했다. 테스트로 함수들이 어떻게 동작하고 어느 경우에 터지는지 테스트로 이것저것 넣어보고 공부했다.

Feelings

  • 효율성 문제는 너무 어렵다. 그래도 쀅 앤드가 되려면 해야 한다. 효율 문제 풀었었는데 내 코드가 다른 사람에 비해 300배 더 걸렸다. 효율이 300배 차이 나면 돈이 300배 차이다. 끔찍하다.
  • 티뒤뒤~ 뒤뒤뒤~ 알뒤뒤~ 클뒤뒤~ 피뒤뒤~

Findings

  • ‘a’는 char이고 “a”는 String type이다.
  • tdd란 프로그래밍 의사 결정과 피드백 사이의 간극을 의식하고 이를 제어하는 기술이다.
  • TDD는 테스트 기술이 아니라 분석 기술이며, 설계 기술이다.
  • TDD 사이클은 test실패로 시작해서 test 통과 시킨후에 리펙토링한다. 그후에 다시 반복한다.
  • TDD의 핵심은 큰 단위를 작은 단위로 나눠 빠르게 실패하고 피드백을 통해 지소고적으로 개선, 달성하기 힘들 것으로 생각하는 일에 도전할 수 있는 용기이다.

Future Action

  • 짝 프로그래밍을 자주 안 했더니 소통의 방법을 잊어버렸다. 다음에는 소통의 능력을 더 키우기 위해서 짝 프로그래밍을 자주 해야 할 것 같다.
  • 책에 많은 유익한 정보가 많다고 느껴진다. 책을 자주 읽도록 하자.