본문 바로가기
[패스트캠퍼스] Spring/스프링의 정석 : 남궁성과 끝까지 간다

CH.01 Spring 시작하기

by 엑츄얼리 2022. 4. 27.

01. Spring Framework는 무엇일까?

 강의 대상 : 웹 사이트를 만들어보고 싶은 사람

 목표 : Spring의 기본 원리 이해, Spring으로 웹 사이트 구축 & AWS 배포 + Web에 대한 이해

 선수 과목 : JAVA, HTML, CSS

 강의 자료 : https://github.com/castello/Spring_basic 

 

GitHub - castello/spring_basic: 남궁성의 스프링 기본 강의 @fastcampus.co.kr

남궁성의 스프링 기본 강의 @fastcampus.co.kr. Contribute to castello/spring_basic development by creating an account on GitHub.

github.com

 

강의 내용

 1. Spring Framework를 배울 준비 - 개발도구, 설치, 설정

 2. Spring MVC - 웹의 기초, HTTP, TCP, IP

 3. Spring DI     |

 4. Spring AOP  | Spring의 핵심 개념

 5. MyBatis - DB

 6. REST Api

 7. Spring MVC로 웹사이트 만들어 보기 with AWS

 

 

Spring Framework 공부 방법

 1. 원리보다 사용법에 익숙해지기

 2. 자바 기본은 매일 복습 => 어려울수록 자바에 몰두

 3. 이론보다 실습, 반복

 4. 에러 메시지에 답이 있다 => 에러 메시지를 지속적으로 확인하는 습관

 

 

Spring Framework의 역사

 

 


02. 개발도구 소개

JDK : JAVA 11 (Java 11부터는 Oracle JDK와 open JDK가 동일)

 a. Oracle JDK (공식)

 b. open JDK : IBM, RedHat(Linux), Amazon

 => openJDK : GA (General Availability : Product가 일반 대중도 사용할 만큼 개발됨)

 

Java Spec

 SE (Standard Edition) : 일반 사용자

 EE (Enterprise Edition) : Server

 ME (Micro Edition) : 소형기기

 

 

통합 개발 환경 (IDE - Integrated Development Environment)

 - STS3 : Eclipse + Spring plugin

 

 - STS4 : Spring Boot

 

 - Intellij

 

 - 웹 서버 : Tomcat9 (JarkartaEE : JavaEE의 일부만 구현)

 * 직접 실행 방법(cmd)

cd [Tomcat9 Directory]
startup

 

 - 웹 브라우저 : Chrome

 

 - 데이터베이스 : MySQL 5.7

 

 

05. AWS에 서버 구축하기

1. AWS란?

 Amazon에서 제공하는 Cloud Service

 * Internet Cloud Computing : Cloud Service를 통해 요청하는 만큼 Server에서 사용 가능

 관리가 쉽고 빠르고 유연한 확장성을 가지며, 필요할 때만 사용하고, 사용한 만큼만 지불

 

 

 - Amazon EC2

 크기 조정이 가능한 컴퓨팅 용량을 클라우드에서 제공하는 웹 서비스

 => 웹 호스팅, 인스턴스(가상 컴퓨터)생성 및 windows + tomcat 설치

 

 - Amazon S3

 확장성, 가용성, 내구성을 가진 데이터 저장 공간 (Simple Storage Service)

 * 가용성 : 여러 instance에서 접근 가능,  내구성 : 데이터 손실시 복구 보장 (Durability)

 

 - Amazon RDS (Relational Database Service)

 관계형 DB관리 서비스, 관계형 DB(MySQL, Oracle 등)을 모니터링 및 주기적 백업

 * DB는 Instance와 RDS를 통해 관리 가능

 

 * a. on-Premise : 서버를 직접 운영하는 방식

   b. Serverless : 서버 작업을 서버 내부가 아닌 Cloud Service로 처리

   c. Region : 데이터 센터가 물리적으로 존재하는 곳 (IDC)

   d. CDN : 정적 리소스를 빠르게 제공할 수 있게 전세계의 캐시 서버에 복제해주는 서비스

 

 

06. AWS에 서버 구축하기 

 1. 인스턴스 생성하기

 EC2 -> Instance 시작 -> AMI(Microsoft Windows Server Base) -> Instance Type(t2.micro)

 -> key-pair 생성(RSA)(.pem)

 

2. 가상 클라우드 서비스(Tomcat)에 접속

 인스턴스에 연결 -> RDP Client -> 원격 데스크톱 파일 다운로드

  -> RDP 클라이언트 탭에서 암호해독을 통해 사용자 ID + PW를 통해 원격 접속

  -> JDK11, Tomcat9 다운로드 (Local 에서 복사 붙여넣기)

  -> 원격에 환경변수 설정(JAVA)

  ->(원격환경에서) http://localhost:8080

  -> 방화벽 -> Advanced Setting ->Inbound Rules -> new roles -> port -> Specific localhost:8080 생성

  ->EC2 보안 그룹(Instance) -> 인바운드 규칙 (모든 TCP 허용) 

  -> 인스턴스 -> 네트워킹 -> 퍼블릭 IPv4 주소 + :8080 을 통해 가상 클라우드 서비스 접속(Tomcat)

 

댓글