↓ ↓ ↓
Spring Tool Suite
이클립스 베이스에 Spring F/W plugin이 자동으로 추가된 IDE
즉, 스프링에 특화된 이클립스
라이브러리와 프레임워크의 공통점
누군가가 쓴 코드를 우리의 프로젝트를 위해서 가져다 쓰는 것.
우리의 코딩 삶을 윤택하게 하기 위해서 가져다가 쓰는 것.
라이브러리와 프레임워크의 차이점
→ 누가 누구를 컨트롤 하는가 ?
내가 코드를 컨트롤 하는가 ? 모든 결정을 다 내림 (내가 운전)
vs
누군가 정해준 규칙을 따라하고 있는가 ?
라이브러리
ex) jQuery
내가 웹사이트를 코딩하고 있는데, 내가 필요할때 "내가" 제이쿼리를 소환한다.
코딩하다가 필요할 때 제이쿼리를 부르며 내가 코딩해나가는 것.
쉽게 대체할 수 있다.
내가 원하면 제이쿼리를 다른걸로 대체해도 되고 프로젝트가 망가지지 않고 대체는 쉽게할 수 있다.
시간 절약을 위해 소환하는 것이기 때문이다.
프레임워크 안에서 불러와서 사용하는 것이다.
프레임워크
프레임워크는 부르는 것이 아니다.
"프레임워크"가 나를 부른다.
프레임워크로 일을 할 때는 프레임워크의 규칙을 따라야 한다.
프레임워크가 어떻게 하라고 알려준다. 어디에 코드를 넣어야 하는지 등등
프레임워크가 나에게 규칙을 알려준다. 어디에 템플릿을 넣고, 컨트롤러를 넣고, 뷰를 넣고 등등
규칙을 따라해야만 정상작동한다.
내가 컨트롤하는 것 없이 규칙을 따라야한다.
ex) 장고 웹 프레임워크, Spring
내가 장고를 부르는 일은 없다. 그저 장고 문서를 보면서 장고 규칙에 따라 코드를 잘 넣어두면 장고가 그것을 실행시킨다.
Plug-in
어떤 특정한 하나의 문제를 해결하기 위한 컴포넌트(component)
즉, 사람들이 자주 사용할만한 기능들을 직접 일일이 구현할 필요 없이 필요한 기능들만 그때 그때 찾아서 사용할 수 있도록 만들어 놓은 것이 플러그인이다.
라이브러리보다 조금 더 작은 개념.
플러그인의 집합이 라이브러리라고 보면 된다.
딱히 구분하여 쓸 필요 없이 import해서 사용 가능하다는 점에서 플러그인과 라이브러리는 거의 동일시되어 불리고있다.
STS4를 통해 'MVC 프로젝트'를 생성하길 원한다면 "STS3 tool"을 설치해야 한다.
※ Q. 난 학원에서 Spring Starter Project로 생성하여 MVC 패턴을 만들어줬는데, 여기서 STS에서 제공하는 Spring Legacy Project의 Spring MVC Project와 어떤 점이 다른건지 ??
※ A. Dynamic Web Project는 동적페이지라는 차이점이 있고 maven 설정을 따로 해줘야 하는지, STS plug-in을 별도로 설치해줘야 하는지의 차이인 것 같다.
* 정적 / 동적 웹 페이지
- 정적 웹 : 회사 소개 페이지, 별다른 로그인 없이 페이지는 어떤 디바이스나 상황에 상관없이 항상 일정한 화면을 제공해준다. 따로 데이터베이스가 필요하거나 복잡한 비즈니스 로직이 필요하지 않다.
- 동적 웹 : 클라이언트의 요청에 따라 다양한 화면을 제공해준다. 우리가 로그인을 한 후 마이페이지를 들어가면 각기 다른 정보를 확인할 수 있다. 웹 어플리케이션 서버(WAS)는 복잡한 비즈니스 로직, 데이터 베이스와 통신 등을 책임진다. 웹 서버는 WAS와 통신해서 얻은 결과값을 바탕으로 가공 작업을 거친다.
→ 기존 학원에서 사용하던 방식은 Spring Starter Project 로 프로젝트를 생성했는데, 두가지 방식의 차이점이 무엇인지 ?
https://datamoney.tistory.com/160
https://velog.io/@matcha_/Spring-%EC%8A%A4%ED%94%84%EB%A7%81Spring-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0
→ 위에있는 블로그를 참고해서 다시 정리한 블로그. 정리가 잘 되어있어서 참고하면 좋을 것 같다.
톰캣 8.5 버전이 안정적이라 많이 사용하고 있지만 나는 그냥 최신버전으로 설치하기도 했고 문제가 없었기 때문에 9.0으로 진행
https://eunoia3jy.tistory.com/45