코드 훔쳐보는 변태 코더
춤 좋아하는 백엔드 개발자(였으면 좋겠다)
22-12-22 TIL

어제의 목표 🤔

  • 컨트롤러 테스트 코드 작성하기 ⭕️
    • 성공적!
  • 동적 계획법/분할 정복, 고급 정렬 알고리즘 정리하기 ⭕️
    • 동적계획법/ 분할정복 정리 후 병합정렬까지 마무리 (퀵정렬은 다음에)
  • 알고리즘 2문제 풀이 ❌
  • JPA 책 읽고 정리하기 ❌

오늘 진행한 것들 🤔

  • 컨트롤러 테스트 코드 작성하기

  • 나를.. 테스트의 신이라 불러주겠니 ..?
  • 동적계획법/ 분할정복 정리

  • 아직 퀵정렬을 배우지 못해서 글을 업로드하지 못했다 ;(

오늘의 배운 점 🤔

  • 컨트롤러 테스트 코드 작성하기
    • 오늘도 정말 많은 수확이 있었습니다.
    • 기존에 비즈니스 로직 단위 테스트는 어느정도 이해한것 같았지만 제 오랜 소원인 mvc 단위테스트를 밥먹듯이 성공시키는걸 오늘 이루게 되었습니다.
    • given when then 에 대한 이해도가 올라간 상태에서 다시 작성하니 테스트가 쉬웠습니다.
    • 그냥 거의 드라마 각본 짜는 수준으로 코드를 작성하다보면 성공하는것 같습니다.

  • 코드의 일부입니다만.. 이제 이 코드의 맥락을 이해할 수 있습니다. 너무 뿌듯합니다.
    • 규모가 프로젝트 내에서 큰 편이었던 세 도메인의 컨트롤러 테스트를 모두 완료했습니다.
    • 이제 jpa repository 테스트만 작성하고 마무리하면 저도 어디에 제출할 수 있는 포트폴리오가 생깁니다. 뿌듯합니다.
  • 동적 계획법 (다이나믹 프로그래밍) / 분할정복 ( 병합정력까지 ) 정리
    • 동적 계획법은 그냥 단순히 어떠한 알고리즘을 구현할때 , 입력 크기가 작은 문제들부터 해결한 후 해당 문제들의 답을 기억해놓고 다음 문제 풀이에서 계속 사용하는 식으로 구현한다는것을 알게 되었습니다.
      • 예를 든다면 1부터 10까지의 합을 구할때, 단순 재귀 호출을 사용하면 매번 매 수마다 처음부터 해당 수까지의 합을 구해야하는데, 동적 계획법 같은 경우에는 해당 수의 결과값들을 저장해놓고 불필요한 계산을 하지 않게 도와줍니다.
        • 1부터 10까지의 각 수별 합을 구한다면, 10개의 인덱스를 가진 배열을 생성해 매 수마다 결과를 배열에 저장해 다시 처음부터 계산하지 않도록 해줍니다.
        • 상향식 접근법 입니다.
    • 분할정복은 해당 문제를 더이상 분리할 수 없을때까지 쪼갠 후 병합하면서 해답을 찾는 방식입니다.
      • 분할 정복을 구현한 예로 병합정렬을 학습했습니다.
        • 한 배열을 정렬할때 재귀 호출로 하나의 배열로 더이상 쪼갤 수 없을때까지 두 배열로 쪼갠 후 각각의 배열마다 포인트를 생성해 값을 비교해가면서 정렬하면서 병합합니다.
        • 포인터가 인덱스를 모두 순회하면 해당 배열의 값들을 정렬 배열에 저장후 리턴합니다.
        • 재귀호출이 아직은 익숙하지 않지만 직접 구현해보니 나중에 잘할 수 있겠다 라는 생각이 듭니다.

내일 목표 🤔

  • 내일 휴가니까 끝내주게 쉬기

내일도 화이팅!

 

'TIL' 카테고리의 다른 글

22-12-28 TIL  (0) 2022.12.28
22-12-26 TIL  (0) 2022.12.26
22-12-21 TIL  (0) 2022.12.21
22-12-20 TIL  (0) 2022.12.20
22-12-19 TIL  (0) 2022.12.19
  Comments,     Trackbacks