Versions Compared

Key

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

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

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


FullStack 웹 프레임웍이라 수많은 기능들이 있으며, 운영은 제외하고웹 개발에서핵심이되는불르는 많은 웹개발툴들이, 배포및 자동방식은 제외하고

몇가지 요소의 사용방법및 언어가달라도 공통적인 요소가 있습니다.

  • 라우터 처리
  • Rest 메서드 정의
  • Json 처리방식
  • MVC및 View템플릿선택
  • DB 객체 핸들링

...

  • 경량화(마이크로서비스)할수 있는지여부?


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

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

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

DB를 설계할수있고테이블 관계구조를 객체지향적으로 설계하고,제어할수있는 가장

진보되고 일괄적인 객체지향의 장점을 살린 방식으로 느껴졌습니다보여집니다.


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


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

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

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

함께 익혀야한다는것을 의미합니다. SQL문을 통해 어플리케이션 개발을 하였을때는 SQL문 자체가

성능을 위해 올바르고 일괄적인 방법을 제시해주지 않습니다. 자유도가 높아서 기능이 작동되면

그것이 튜닝문제로 가기전까지 아무런 문제가 안되었기때문입니다.

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

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

그것이 처음에 답답하고, 내가  JPA가 이해하는 수준의 데이터베이스를 모르고 있었구나 깨닫는순간

다루는방법과  관계형 데이터베이스를 잘다루는방법을

함께 익혀야한다는것을 의미하는것으로 , 연구대상으로 지정하였습니다DB와 함께 JPA를 배워야하는 이유가 되었습니다. 그리고 시작하였습니다.


참고링크