안녕하세요~ 잘 지내셨나요?
벌써 1학기가 끝나가네요.. 그럼 곧 다가올 2학기를 맞이할 준비를 해야겠죠?!
2학기에는 스프링부트를 많이 사용한다던데요,
비전공 파이썬반에선 장고만 배웠기 때문에 스프링부트가 무엇인지 한번 찾아보았습니다!!

: Java 개발의 복잡성으로 시작된 도구가 스프링(Spring)입니다.
그리고 스프링 부트 (Spring Boot)는 스프링 프레임워크를
기반으로 하고 있으며, 스프링을 쉽고 편하게
시작할 수 있도록 도와주는 기술입니다.
이렇게 보았을 때, 장고는 파이썬을 기반으로 하는 웹 프레임워크이고 스프링부트는 자바를 기반으로 하는 웹 프레임워크라고 생각할 수 있을 것 같습니다.
MTV 패턴
(Model, View, Tamplate)
ORM 기반 프레임 워크
(객체 지행 프로그래밍에서 객체라는 개념을 구현한 클래스와 RDB에 쓰이는 데이터인 테이블을 자동으로 연결하는 것으로 SQL문이 필요 없다)
Python의 다양한 라이브러리를 사용할 수 있어 개발 속도가 빠르고 생산성이 크다.
기본적인 기능들이 기본 모듈로 제공된다.
빠르게 개발 진행이 가능하다.
인터프리터 언어라서 실행 속도가 느리다.
한국에서 많이 사용되지 않기때문에 한글로된 자료가 찾기 힘들다.
기본 모듈을 사용하여 원하는대로 커스텀을 하기가 힘들다.
MVC 패턴을 사용한다.
( Model, View, Controller )
관점 지향 프로그래밍(AOP)이다.
APO : OPP(모든 데이터를 현실에 빗대어 객체로 다루는 프로그래밍 기법)를 더욱 발전시키기 위한 개념, 각 기능별로 모듈화 해서 분리를 시킴
의존성 주입(DI)
각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜준다.
제어역행(IOC)
컨트롤의 제어권이 사용자가 아니라 프레임워크에게 있어서 스프링에서 사용자 코드를 호출한다
초기 설정이 간편하다.
자체적인 웹 서버를 내장하고 있어 빠르게 배포를
진행할 수 있다.
Tomcat과 같은 기본 HTTP 서버가 내장되어 있다.
XML 구성을 할 필요가 없다.
안정성, 신뢰성, 보안성
사용한 의존성 목록이 증가할수록 어플리케이션이 무거워지거나 개발환경이 복잡해질수도 있다.
컴포넌트들이 너무 다양해 배경지식이 적을 경우 선택에 어려움을 느낄 수 있다.
설정이 복잡하다.
기본 언어가 자바로 자바스크립트나 파이썬에 비교하면 난이도가 높다.
장고와 스프링의 특징, 장/단점을 비교해보았는데요, 아무래도 우리나라에서는 자바를 많이 사용하다보니 스프링부트도 많이 사용하시는 것 같습니다.
그럼 2학기가 되기전에 자바와 스프링부트를 공부하러 가야겠네요~~

우와 좋은 정보 감사합니다.!