Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Spring을 사용해야하는 일도생기고..기존 알고 있는 웹프레임워크도 정리겸

겸사겸사 Spring을  먼저 정리하기시작하였습니다.


FullStack 웹 프레임웍이라 수많은 기능들이 있으며, 운영은 제외하고

웹 개발에서 몇가지 주요요소인

  • 라우터 처리
  • Rest 메서드 정의
  • Json 처리방식
  • MVC및 View템플릿선택
  • DB 객체 핸들링
  • 경량화(마이크로서비스)할수 있는지여부?

몇가지 요소의 사용방법이 언어가달라도 요즘 웹프레임워크에서 거의 비슷합니다.


SPRING의 DB 제어요소를 살펴보니, 큰 분류로 마이바티스/JPA  두가지가

있었으며 국내의 압도적인 사용률과 협업이슈와는 무관하게,

직관적으로 JPA가 JAVA진영의 ORM 표준으로 자리잡고 있고

DB를 설계하고,제어할수있는 가장 진보되고 일괄적(OOP)인 방식으로 느껴졌습니다.


ORM: 오브젝트를 모델링과 일치(연관)시키는것 이라고 해두겠습니다.



그림만 보면, 우리가 설계한 오브젝트가 데이터베이스화 되어( 오브젝트의 영속성부여라고 표현하기도합니다.)

DB에서 발생하는 일을 신경쓸 필요가 없어 보이거나 성능에 관여할수 없는것처럼 보입니다.

하지만, 위그림은 데이터를 객체지향적으로 다루는방법과 동시에 데이터베이스 설정및 개발방법을

함께 익혀야한다는것을 의미합니다.

JPA는 데이터를 설계하고 최종 화면에 표현하기까지 수많은 번거로운 일들을 줄여주지만

JPA가 DB를 이해하고 있는것을 이해하지못하면, 대부분의 기능에 제약이걸리거나 사용할수 없다라는것입니다.

처음부터 테이블이될 오브젝트 설계를, JPA의 가이드라인을 준수하여 착실하게 해야한다는것입니다.

필수적으로 내가 설계한 Class와 실제 생성되는 Table이 서로 무엇을 포함하고 어떤 관계형성을 가지고 있는지

명확한 차이를 알아야 하는것입니다. 

그것이 처음에 답답하였고, 본질적인 문제는 내가  JPA가 이해하는 수준에서 데이터베이스를 모르고 있었구나

깨닫는순간  DB와 함께 JPA를 배워야하는 이유가 되었습니다.  

이것은 신기술에 대한 갈망이라기보다, 기존에 모르고 있거나 잘못알고 있는 DB를 다시 배우기위함입니다.



참고링크