Spring Framework 역사
Servlet ⇒ JSP ⇒ Spring ⇒ Spring Boot
applet 작은 Application ( 1995)
- 브라우저에서 자동으로 작은 프로그램을 다운 받아 브라우저에서 프로그램을 실행하는 것
- let 작다
- Flash 탄생으로 지지부진
EJB (1999) Enterprise
- CGI 멀티 스레드 불가. 요청이 올 때마다 프로세스 생성. 사용자 요청 처리 어려움
→ Java Servlet 멀티 스레드 지원
- Servlet가 JSP로 발전 ( 같다)
- 대기업은 사용자가 많음. EJB 복잡
Spring (2004)
- 웹 폭발적 성장 시기 → 웹사이트 수가 증가 → 유지 보수 문제 → Framework 탄생
- Framework 장점
- 유지보수
- 생산성 높음
Spring Boot (2014)
- Spring 경량화, 설정 간편
- 2020 - Spring 5.3 , Spring Boot 2.5
- Oracle JDK vs. Open JDK
- SUN 회사 Orcacle이 매수 - Java, MySQL,
Oracle jdk
- 공식 jdk
Open JDK - 오픈 소스로 만들어진 JDK
- IBM, RedHat, Amazon
- Oracle이 11버전부터 오픈소스로 JDK 품. 차이가 없어짐
버전 접미사
GA General Availability
- 일반 대중에게 공개될 정도로 릴리즈 됨.
통합개발 환경
- 과거에는 컴파일러, 디버거, 인터프리터 분리되었는데, 이를 합친것.
- STS 이클립스 + Spring 플러그인
- STS3 Spring FW, Spring Boot , STS4 Spring Boot만 개발 가능
IntelliJ무료 Spring 지원 X, Spring Boot 만 가능
Java Spec-3
- SE Standard Edition 일반
- EE Enterprise 서버용 (많은 사용자들 )
- tomcat 이 JEE 일부만 구현 (Servlet, JSP, EL 등)
- ME Micro 소형기기 ex. atm, 핸드폰
VCS Version Control System
소스(파일)의 버전 관리
- SVN 무료. subversion 무료
- 단순
- Git 무료 복잡. 강력
JAVA_HOME
- 톰캣이 jdk가 어디에 설치되어있는지 확인하는 용
프로젝트 종류
- Spring Starter Project Spring Boot Project
- Spring Legacy Project Spring Project
Cloud Computing
- Cloud 인터넷.
- 서버 여러 대를 클라우드 서비스를 이용해 자원을 마음 대로 사용
- 하드웨어 추상화 하드웨어에 직접 접근할 필요 없이, 서비스에 요청하면 자원 할당 받아 작업 처리 가능
추상화 = 구체화 반대
장점
- 관리 용이
- 확장성
EC2 웹 호스팅
- 가상 컴퓨터(인스턴스) 만들고, 그 안에 운영체제 및 톰캣 설치
S3 Simple Storage Service
- 확장성 필요한 경우 공간을 더 가져다 사용 가능
- 내구성 데이터 깨진 경우 복구
RDS Relational DB
- 모니터링
- 백업
cf. on - Premise EC2에 DB 설치하면 직접 모니터링과 백업을 해줘야함.
- 서버를 직접 운영하는 방식
Serverless 서버 작업을 서버 내부가 아닌 클라우드 서비스로 처리
- 서버가 없다 x
- ex. RDS
CDN 이미지 or 라이브러리 같은 정적 리소스를 빨리 제공해주는 서비스