2021-06-28 TIL

K PizzaCola·2021년 6월 28일
0

TIL

목록 보기
20/44
post-thumbnail

Today I Learn / Do

  • TDD By Example : 17장 까지
    • Money라는 예제를 가지고 TDD를 이용하여 여러가지 기능들을 구현했다. 책에서 이야기하는 TDD의 주기는 다음과 같다.
      • 작은 테스트를 추가한다.
      • 모든 테스트를 실행하고, 실패하는 것을 확인한다.
      • 코드에 변화를 준다.
      • 모든 테스트를 실행하고, 성공하는 것을 확인한다.
      • 중복을 제거하기 위해 리팩토링한다.
    • 글로 적으면 간단해보이지만, 하나 하나가 매우 중요하고, 깊게 생각하면 전혀 간단하지 않다.
    • 작은 테스트를 추가한다를 생각해보면, 어떤 기능을 테스트로 넣을 것인지에 대해서 생각해볼 수 있다. 처음 테스트에 대해서 배웠을 때도 요구사항 하나 당 테스트 하나 라고 했다. 그런데 개발을 진행하면서 처음 요구사항을 분석했을 때는 생각하지 못 했던 것이 추가된다.
    • 중복을 제거하기 위해 리팩토링한다 라는 내용도 처음에는 전체 코드 분량이 매우 작았기 때문에 중복이 어디인지 이해하기 쉬웠지만, 점차적으로 구현이 추가되면서 테스트 코드를 작성한 뒤에 중복을 찾기 어려워 어디를 리팩토링할 지 등이 어려웠다.
    • 그 외에도 아직 공부하는 중인 내가 알지 못했던 프로그래밍 기법 (특히 메타포)들이 나왔다. 디자인 패턴도 이후에 공부해야 겠다.
    • TDD 해보며 요구사항을 테스트 코드로 작성하고, 그에 맞춰 코드를 구현하는 것이 재미있었다.
    • 근데 여전히 웹 개발을 하면서 컨트롤러, 서비스, 레포지토리 등은 어떤 식으로 테스트할지 모르겠다.
  • 알고리즘 풀이
    • 프로그래머스 2단계 몇개
    • 프로그래머스 1단계는 어제 다 풀었다.
  • 노트북 설정
    • GNOME에서 창 최대화할 때 타이틀바 없애기

Good

  • TDD by Example 책 거의 절반을 봤다.
  • 노트북 설정하는 게 재밌다.

Bad

  • 알고리즘을 단순히 문제 풀이로만 공부하면 안되겠다. 이론서 보면서 공부해야겠다
  • 글로 적을 것들이 쌓이기만 한다. 빨리 정리해야할텐데...
  • 포트폴리오로 사용할 토이프로젝트가 여전히 생각이 안난다.

To do

  • 알고리즘 공부
  • TDD By Example 나머지 절반
  • 토비의 스프링 3.1
  • JPA 공부
  • Head First SQL
  • DB 공부
profile
공부하는 개발자입니다.

0개의 댓글