🌱 Spring 8

스프링 부트로 웹을 개발한다는 것은? (정적 컨텐츠, MVC와 템플릿 엔진, API)

웹 개발은 크게 세 가지 영역으로 나눌 수 있습니다. - 정적 컨텐츠 - MVC와 템플릿 엔진 - API 첫 번째, 정적 컨텐츠. 파일 그대로 웹 브라우저에 내려줍니다. 웹 브라우저로부터 내장 톰캣 서버가 먼저 요청을 받고, (1) 스프링은 컨트롤러가 우선순위가 더 높기 때문에 컨트롤러에서 먼저 찾아봅니다. (2) 맵핑된 컨트롤러가 없다면 resources:static/ 폴더를 탐색합니다. 해당 폴더에 맵핑된 html이 있다면 반환합니다. 정적 컨텐츠는 이런 식으로 진행됩니다. 두 번째, MVC와 템플릿 엔진. MVC란 Model-View-Controller의 약자로, 여기서 각각의 역할은 다음과 같습니다. Model (모델): - Controller에서 처리된 비즈니스 로직 결과 보유 - 데이터베이스와..

🌱 Spring 2023.12.20

iTerm에서 스프링 부트 애플리케이션 빌드 및 실행하기 (Gradle)

스프링 부트 애플리케이션은 보통 IDE에서 실행하지만, 콘솔에서도 빌드하고 간편하게 실행할 수 있습니다. 방법은 다음과 같습니다. // 빌드 ./gradlew build // 이동 cd build/libs // 실행 java -jar hello-spring-0.0.1-SNAPSHOT.jar 위 명령어는 프로젝트를 정리하고 필요한 종속성을 다운로드한 뒤에 소스 코드를 컴파일하고 실행 가능한 JAR 파일이나 WAR 파일과 같은 패키지를 생성합니다. 스프링 부트의 경우, 일반적으로 생성된 JAR 파일을 실행하면 내장된 서버를 통해 애플리케이션이 실행됩니다. 빌드가 완료되면 생성된 패키지를 사용하여 스프링 부트 애플리케이션을 배포하거나 로컬에서 실행할 수 있습니다. Reference 스프링 입문 - 코드로 배우..

🌱 Spring 2023.12.20

스프링부트 웹 서비스 AWS에 자동 배포하기

1. AWS EC2 구축 - 2022년에도 그대로 사용 가능 4) 스프링부트로 웹 서비스 출시하기 - 4. AWS EC2 & RDS 구축하기 이번 시간엔 SpringBoot를 운영할 AWS 환경을 구축하겠습니다. (모든 코드는 Github에 있습니다.) Tip) 운영 서버는 크게 클라우드 서비스(AWS, Azure 등) 과 호스팅 서비스(Cafe24, 코리아호스팅 등)을 이용 jojoldu.tistory.com 2. EC2에 자바 11 설치 jdk11는 아마존에서 제공하는 Open JDK Amazon Coretto를 사용하여 설치 가능 # amazon-corretto 다운로드 sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x6..

🌱 Spring 2022.11.23

자바 문자열에 섞여있는 HTML 코드 빼기

→예제 코드 package com.mylibrary; import org.jsoup.Jsoup; public class MyTest { public static void main(String[] args) { System.out.println(Jsoup.parse("검색").text()); } } →출력 검색 →사용법 (1) Jsoup을 사용한 방법으로 Jsoup 라이브러리가 추가되어있지 않다면 다운로드 https://jsoup.org/download (2) 프로젝트 라이브러리에 다운로드한 jar 추가 (3) 사용 import org.jsoup.Jsoup; public class MyTest { public static void main(String[] args) { System.out.println( ..

🌱 Spring 2021.10.16

서블릿

서블릿에 대해 알아보자. 회원 가입 웹페이지에 HTML Form이 있고, 이름이랑 나이를 넣고 전송을 한다고 가정해보자. 이 과정을 HTML POST로 데이터를 저장하려고 하면 서버에서 처리해야 하는 업무는 정말 많다. ---------------------------------------------- ~ 서버에서 처리해야 하는 업무 순서 ~ 1. 웹 애플리케이션 서버 직접 구현 2. 서버 TCP/IP 연결 대기, 소켓 연결 3. HTTP 요청 메시지를 파싱 해서 읽기 4. POST 방식, /save URL인지 확인 5. Content-Type 확인 6. HTTP 메시지 바디 내용 파싱 7. 저장 프로세스 실행 8. 비즈니스 로직 실행 (

🌱 Spring 2021.05.17

웹 서버, 웹 애플리케이션 서버 (WAS), 웹 시스템 구성

웹은 다 HTTP 기반으로 통신을 한다. 웹 브라우저에서 URL을 치면 인터넷을 통해서 서버에 접근을 하고 서버에서는 HTML을 만들어서 클라이언트에게 내려주면 웹브라우저가 받은 HTML로 우리에게 보여준다. 그런데 클라이언트에서 서버로 데이터를 전송할때 서버에서 클라이언트로 데이터를 응답할때 이때 다 http 기반으로 동작하게 된다. 모든것이 Http를 기반으로 데이터를 주고 받는다. HTML, Text, Image, 음성, 영상, 파일, JSON, XML, API ... 거의 모든 형태의 데이터를 전송 가능하다. 서버간에 데이터를 주고 받을때도 HTTP를 대부분 사용한다. 웹 서버란? HTTP 기반으로 동작한다. 정적 리소스와 기타 부가기능을 제공한다. 정적 리소스라는것은 특정 폴더 디렉토리에 이미지..

🌱 Spring 2021.05.10

JVM의 Garbage Collector

[10분 테코톡] 👌던의 JVM의 Garbage Collector https://www.youtube.com/watch?v=vZRmCbl871I 내가 이해한만큼 정리 Garbage Collection 과정 1. Garbage Collector 가 Stack 의 모든 변수를 스캔하면서 각각 어떤 객체를 참고하고 있는지 찾아서 마킹한다. 2. Reachable Object 가 참조하고 있는 객체도 찾아서 마킹한다. 3. 마킹되지 않은 객체를 Heap 에서 제거한다. 1,2번을 Mark , 3번을 Sweep 작업이라고 한다. 그래서 Garbage Collection의 과정을 Mark & Sweep 과정이라 한다. Heap 은 New Generation 과 Old Generation 으로 구분되는데, New G..

🌱 Spring 2020.12.20