JPA에 맞서기 위한 준비!

가언·2024년 7월 28일
post-thumbnail

드디어 악명 높던 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)에 대해 배워봅시당~!☛ 다음 블로그

profile
@gari_guri

0개의 댓글