최근 자주 언급되는 언어부터 프레임워크까지 개념 정리를 하고 넘어가고자 한다.
이를 주로 사용하는 백엔드 개발자가 되기 위해선 꼼꼼히 정확하게 이해해보자 🌱
Java
public class JavaProject {
// Java를 처음 접하면서 보게되는 코드
public static void main(String[] args) {
System.out.println("Hello World");
}
}
- 객체지향적 프로그래밍 언어
- 스프링의 근간이 되는 언어(한글)
- 스프링은 자바 뿐 아니라 코틀린, 그루비로도 사용할 수 있으나 여기서는 자바로 진행
- 스프링 자체도 거의 대부분 자바로 만들어져 있음
JSP (Java Server Page)
- 자바로 프론트엔드를 엮어서 사용하는 개념
- 프론트와 백이 모두 JAVA를 사용해서 페이지를 만듬
⇒
화면
+자바 빈(객체)
Spring Framework
- 자바를 사용한 오픈소스 프레임워크
- 기업용 어플리케이션을 만드는데 대부분 사용
ex ) 자바(한글)를 이용해서 어플리케이션(책)을 쓰기 위해 활용하는 프레임워크(여러 툴이 있는 템플릿)
- 스프링 내에는 웹 개발에 필요한 모든 기술이 다 담겨있지만, 같은 기능을 하는 기술들은 스프링이 주관적으로 선택
자바, 서블릿, J2EE
——>스프링 프레임워크
어려웠던 자바가 프레임워크를 통해 좀 더 간결해졌다.
라이브러리 : 특정한 한 상황에 맞춰서 그 상황에서만 활용되는 기능에 집중
프레임워크 : 하나의 어플리케이션을 통째로 담아낼 수 있는 큰 영역을 다룸
Framework vs Library : https://for-if.tistory.com/55
Spring boot
- 스프링 부트를 다운 받으면 바로 실행할 수 있고, 필요한 어플리케이션만 만들면 되는 구조
- 스프링 기반으로 자주 사용되는 설정으로 손쉽게 개발할 수 있게 해주는 상위 프레임워크
ex ) 스프링(각종 도구가 있는 템플릿)보다 한층 더 편리한 프레임워크(ppt)
ex ) 스프링이 ‘집’이라면, 스프링 부트는 스프링의 ‘지붕’과 같은 개념
⇒ 스프링부트 = 스프링 + 웹 서버 + 웹 어플리케이션 서버(톰캣)
∴ 스프링은 아파치 톰캣(웹서버+웹어플리케이션서버)를 따로 설치해야한다.
✨
웹 서버 vs 웹 어플리케이션 서버
- 웹 서버
- 데이터를 제공하는 역할
- 모든 사람에게 공통인 페이지를 볼 경우를 대응 (정적인 페이지)
- 웹 어플리케이션 서버
- 모두에게 각각 다른 페이지를 볼 경우를 대응 (동적인 페이지)
- Apache (재단)
“Tomcat” : 웹서버 + 웹 어플리케이션 서버가 모두 각각 들어있는 서버 제품
- 웹 어플리케이션(톰캣 등) 서버 내장
└ 스프링은 로컬에서 배포를 해서 톰캣을 띄우고 동작을 진행시켰는데, 부트는 자체적으로 톰캣을 내장하고 있음
- 자동 설정, 설정 표준화
└ 원한다면 모두 마음대로 설정할 수 있음
Uploaded by N2T