늦은 프로그래밍 이야기

11주차 WIL 본문

내일배움캠프/TIL, WIL

11주차 WIL

한정규 2023. 1. 15. 19:51

이번주 알게 된 점

SQL강의

이번 주는 SQL 강의를 듣는 주차여서 하루하루 SQL 강의를 들었다. 사전캠프에서 들었던 SQL강의에서는 조회에 관련한 내용만 다뤘었는데, 이번에 조회 이외의 기능에 대해 알게 되었다. 아직 내용 정리를 하지 못했는데, 다음에 SQL을 사용할 때 모르는 부분을 빠르게 찾아볼 수 있도록 시간을 조금씩 내어 내용 정리를 해야할 것이다.

알고리즘

이번 주에 알고리즘 문제를 제법 많이 풀었다. 하루 한 문제에서 두 문제 정도 풀었는데 알고 있는 풀이 방법도 있었고 풀이 방법은 알지만 구현하는 법을 모르거나 풀이 방법을 모르는 것은 찾아본 경우도 더러 있었다. 이번 주부터 알고리즘 문제를 풀면서 다른 사람의 풀이를 보고 작동 방식이나 의도들을 살펴보는 것을 처음 해보았는데 아주 도움이 많이 된 것 같다. 그냥 정답만 맞추는 것 보다 문제의 의도를 파악하고 적당한 방식으로 잘 풀어야 한다는 것도 알게 되었다.

개인과제 리팩토링

대댓글을 팀프로젝트에서 구현한 방식과 다르게 계층형으로 구현하고, 기존에 계층형 카테고리의 방식과도 조금 다르게 구현해 보았다. 그동안 연관관계를 맺어주면 좋지 않다는 말이 있어서 맺었던 연관관계를 다 끊고, id참조를 사용해서 리팩토링을 하였으나, 댓글 혹은 게시글을 삭제할 때 하위에 있는 대댓글 혹은 댓글과 대댓글이 같이 삭제되는 기능을 구현하다가 연관관계의 필요성을 느끼고 ManyToOne의 연관관계만 설정하여 코드를 리팩토링 하였다.


이번주 목표

개인과제 리팩토링 해보며 팀프로젝트에서 내가 구현하지 않은 기능들을 직접 구현해보기

개인과제를 리팩토링 해보긴 하였지만, 이번 주 내로 모든 기능을 리팩토링 해보며 구현해보려 했는데 내가 구현하지 않은 기능들을 모두 구현해 보지는 못하였다. 좋아요 기능을 구현하지 못했는데 오늘 남은 시간 내로 리팩토링 해보며 구현해보고 다음 주에는 팀 프로젝트에 집중해야 할 것이다.

이펙티브 자바 책에서 하루 1아이템 이상 읽어보고 팀프로젝트나 개인과제 리팩토링 해보기

이번 주에 강의 주차여서 시간이 꽤 널널할 것 같아서 저번주 WIL에 다음 주 목표로 이펙티브 자바를 읽는 것을 추가 하였는데 강의를 듣고, 알고리즘 문제를 풀고 다른 사람의 풀이를 정리하고, 리팩토링한 것에 발생한 문제들을 정리하고 해결하다 보니 생각만큼 시간이 남지 않았다. 다음 주는 팀 프로젝트 기간이긴 하지만, 팀 프로젝트를 진행하면서 이펙티브 자바에 나오는 내용들을 적용해 보도록 해봐야겠다.

알고리즘 문제 하루에 최소 1문제 이상 풀어보기

그동안 알고리즘을 너무 소홀히 하여서 하루 1문제로 적게 목표를 잡았지만, 이번 주는 하루 두 문제씩 풀 수 있었다. 강의 주차여서 시간이 조금 남아서 2문제를 풀 수 있었던 것인지 몰라도 1문제는 적은 것 같은 느낌이 들었다. 앞으로는 최소 어려운 문제 1문제, 쉬운 문제 1문제 하루 총 2문제 이상씩 풀어서 프로그래머스 0레벨과 1레벨은 모두 풀 수 있도록 해야겠다.

공부를 진행하며 WIL의 모든 목표를 달성하기

이펙티브 자바를 읽지 못하여 모든 목표를 달성하는데 실패하였다. WIL에 다음주 목표를 적기 시작한 후로 한번도 목표를 달성하지 못하였다. 적당한 목표를 설정하고 달성하며 목표를 달성했다는 만족감을 통해 계속 목표를 달성할 수 있는 동기부여를 만들어 나가는 것이 중요할 것 같다.


다음주 목표

  • 알고리즘 쉬운 문제 1문제 이상, 제시된 문제 혹은 정답률 낮은 문제 1문제 이상 총 2문제 이상 풀기
  • 이펙티브 자바의 아이템 1개 이상 팀프로젝트나 개인과제 리팩토링에 적용해보기
  • 다다음주 JPA 심화 대비
    • @Query 어노테이션을 사용하여 직접 쿼리문을 작성하였을 때와 JPA에서 제공하는 메소드와의 차이점 알아보기
    • 연관관계 설정했을 때의 장점과 단점 알아보기

Comments