드디어 악명 높던 JPA를 배울 시간~!✨
그 전에 !!! JPA에 정복하기 위해서는 준비를 탄탄히 하는데 중요하게쬬?!🌟
사전 지식들을 다지러 가봅시다~!
validation 유효성 검사 ?
- null이냐? not null이냐?를 알아보는 것
- 유요한 데이터인지 검사하는 것
- 백엔드/프론트엔드에서 하는 유효성검사가 다를까?
- 만약 다르다면 어떤 시점으로 보는가?
- 같은 유효성검사를 해야 할 때 어디에서 할 것인가?
- 백엔드와 프론트엔드 둘다? 두 군데에서 모두 암호화할듯!
- 그렇다면 중복된 로직을 사용하는 건가? NO! 다른 로직을 통해 암호화
- 프론트엔드에서 한다면? 프론트에서 암호화해서 넘겼을 때, 백은 검사안해도 될까? 암호화 안해도 될까? -> 생각해보기!
- 백엔드에서 한다면? 서버를 따로 띄울때 프론트엔드에서 보낸 날 것의 비밀번호를 가로챌 수 있음
데이터베이스를 왜쓸까?
- 데이터가 뭔가요❓데이터베이스에 들어가야하는 데이터
- 데이터베이스 왜쓸까? 자료구조를 왜 사용하는 지에 대한 이유와 동일하게 효율적으로 데이터를 쉽고 빠르게 사용하기 위해 사용하지!
즉 데이터베이스는 검증된 데이터가 체계적으로 모여있어서 나중에 사용할 때, 효율적으로 데이터를 찾아서 쓸 수 있는 멋진 공간이다!
- DB엔진: 코어
- DBMS: DB엔진을 인터페이스로 한겹 감싸서 managment system을 사용
정규화/반정규화
- 정규화란? 쪼개기
: 데이터베이스의 컬럼이 많을 때, 중복된 데이터가 많을 때 중복된 데이터를 많이 사용하면 메모리 사용량이 크고, 불필요한 비용이 듦
-> 유지보수에 좋음
- 반정규화란? 합치기
: join을 많이 해야할 때, 데이터를 조회할 때 많은 시간이 걸릴 때
최대 제 3정규화까지 사용!
- 🌟 sub query
- 🌟 select join
- 🌟 union
EOF exception은 언제 발생?
- connection이 끊겼을 때
- 권한이 없을 때
- 도커에서 포트 넘버가 다를때
3307:3306 외부에서 도커 들어울때, 안쪽에서 처리할때 각각 포트 넘버
이제 본격적으로 JPA(+jdbc)에 대해 배워봅시당~!☛ 다음 블로그