180118-TIL

Reading time ~1 minute

오늘 한일

- 트렐로 리팩토링

  • 보통 URL 시작을 복수형(/boards)와 같이 구현 한다.

  • Service를 추가했다면 Controller에서 Repository 직접 접근하지 말고 구현을 BoardService로 위임한다.

  • @PostMapping("{bId}") 처럼 축약하지 않는다.

- 비밀번호 암호화 공부

  • 인증(authentication)

    애플리케이션의 사용자가 해당 사용자가 주장하는 본인이 맞는지 확인하는 절차

    보통 로그인과 같은 과정을 통해 본인이 맞는지 확인하는 과정

  • 인가(authorization)

    인증을 완료한 사용자가 특정 자원에 대해 접근할 수 있는 권한이 있는지의 여부를 확인하는 절차

    인가는 인증된 주체를 하나 이상의 권한(보통 역할)에 매핑하는 작업과 특정 자원에 대한 접근 권한이 있는지를 확인하는 작업으로 나뉜다.

  • 단방향 해시, 솔트(salt), 다이제스트

    다이제스트_생성

- DB 강의

  • 추천 도서 : 데이터베이스 첫걸음

  • MySQL 설치 방법

  • JOIN에 관한 내용

  • 트랜잭션의 성질, Lock, 트랜잭션 Isolation Level

    • MySQL default: Repeatable Read

    • MySQL 가능한 레벨

      READ-UNCOMMITTED
      READ-COMMITTED
      REPEATABLE-READ
      SERIALIZABLE


오늘 느낀점

  • 컨트롤러에대한 접근 URL을 만들면서 고민한 부분들을 포비가 피드백을 해주셔서 기분 좋게 고민을 할 수 있었다. 이전까지는 URL을 어떻게 만들지 확신이 안 섰는데 오늘의 피드백을 통해서 방향성을 잡아 갈 수 있을 것 같다. 추가로 URL쪽 한가지와 Service쪽에서 궁금한 부분이 있는데 그건 내일 질문 해야겠다.

  • 트렐로 기능 구현을 일주일 정도 걸려 일정부분 했는데 돌이켜 생각해보니 이렇게 오래 걸릴 부분은 아니였던 것 같다. 지금 하라고하면 모델을 고민하는 단계부터 2~3일이면 할 수 있을 것 같다. 시간을 많이 소비한 것 같아 아쉽긴 하지만 내가 어느 부분이 부족한지 알게 되었다.(디비디비디비, JPA) 또, 보안 공부를 바로 안하고 추가적으로 미비된 기능(Board, Deck, Card)을 구현 한 덕에 이제는 할 수 있다는 생각이 확실히 들게 된 것 같다.

    하지만 보안이 늦어진 만큼 해당 공부를 어디까지 할 수 있을지 모르겠는데 일단 빡시게 해봐야 겠다.

  • 호눅스의 디비 강의를 들었는데 디비를 바라보는 시각이 조금은 바뀐것 같다. 생각해보면 트랜잭션에 대해서 지금까지는 책의 설명만 봤는데 누군가의 강의를 듣는 경험은 처음인 대다가 그 사람이 무려 호눅스다 보니 재밌고 쉽게(일단 그 순간은…) 이해 할 수 있었다. 가장 큰 소득은 디비를 어떻게 공부 할 까 방향성을 잡을 수 있을 것 같다. 게다가 일단 추천 받은 책이 있는데 언제 볼지는 모르겠지만 내일 도착 할 듯 싶다.


내일 할일

  • trello 구현하기

    • 비밀번호 암호화 하여 저장, Spring Security 기반 로그인