2022. 12. 15. 21:36ㆍ기록/TIL
[TIL] Today I Lerned - 221215
221215 기록
기록
DB를 구현하는 것에는 꼭 외래 키를 사용해야 하는 것으로 지금까지 알고 있었다. 그러나 어제 키워드를 알고 오늘 검색을 하면서 알아본 결과 실무에서는 외래 키를 사용하지 않고 설계를 들어가는 곳도 있다는 것이었다. 다만 찾아보니 각자 장단점이 존재하였다.
외래 키를 사용하면 빠른 접근이 가능하지만 추후에 테이블 단위로 변경 사항이 생기면 해당 외래 키로 인해 해당 데이터 처리 및 수정 사항 반영에 문제가 생길 수 있다는 점이었다.
외래키를 사용하지 않는 경우는 결국 데이터 베이스는 데이터만 관리하고 Backend 쪽은 서버를 다뤄야 하는 상황에서, 관계형 데이터베이스를 사용하게 되면 코드의 작성이 데이터베이스에 치중이 되면서 작성이 되기 때문이다. 추후에 테이블 수정에 외래 키로 따로 겹쳐지는 부분이 없기에 유리한 부분이 존재하지만, 외래 키를 사용하여 연관 테이블에 접근하는 경우에 시간을 더 잡아먹게 된다.
이 부분에 대해 오늘 나온 결론은 외래키 사용으로 인한 각각의 장단점이 존재한다. 그리고 데이터의 가치의 경중에 따라 외래 키를 설정하냐 안 하냐가 나눠지는 것이다.
오늘의 경우 기존의 page 개인 과제에 JWT를 이용하여 로그인을 구현하려고 하였다. 다만 기존에 있던 page의 객체를 고치고 새로 user entity를 작성하면서 프로젝트를 새로 구현하여 만드는 것이 더 빠르지 않을까라는 생각을 하였다. 기존의 것을 유지 혹은 연관시키면서 새로운 entity를 추가하고 기능을 구현하는 작업은 좀 더 많은 생각을 가지게 하였다.
- 기존 Post에 존재하는 username, password는 user의 필드명과 겹친다.
- post 부분의 해당 필드를 user로 변경
- 기존에 post에서 get으로 가져오던 부분에서 문제가 발생
- 전체를 변경 or 되돌리기
- 일단은 로그인 기능의 작동 여부 파악을 위해 기존의 방법으로 되돌림
- JWT 사용, 로그인
- 이전에 한 내용이고 흐름은 어느정도 파악을 했다고 생각
- 기존 내용을 가져오면서 해당 토큰을 response에 넣어주는 방식
- 정규표현식
- 회원가입에 사용되는 아이디 및 비밀번호의 양식을 지정하기 위해 사용
- @validate 해당 들어오는 객체가 정규식과 맞는지 확인하고 자동적으로 결괏값을 반환해주는 역할
- 요구사항에 존재하는 response 반환값 맞춰주기
- ReactDto로 message, status code를 넣어서 같이 반환하는 방식으로 마무리
프로그램의 설계를 처음에 잘 해놓으면 추후 확장 및 수정 단계에서도 시간을 덜 잡아먹는다는 생각을 가지고 계속 수정하고 있다.
'기록 > TIL' 카테고리의 다른 글
[TIL] Today I Lerned - 221219 (0) | 2022.12.19 |
---|---|
[TIL] Today I Lerned - 221216 (0) | 2022.12.16 |
[TIL] Today I Learned - 221214 (0) | 2022.12.14 |
[TIL] Today I Learned - 221213 (0) | 2022.12.13 |
[TIL] Today I Learned - 221212 (0) | 2022.12.12 |