프레임워크/Spring6 [Spring] HTTP 통신 흐름 과정 정리(w/MVC 패턴) ※ 3-way handshake는 TCP 통신에서만 발생한다[공통] 브라우저(클라이언트) HTTP request → 3-way handshake(최초 연결 시) → Nginx case1) 정적 페이지 (HTML, CSS, JS 파일 / 단순 이미지 파일)그냥 바로 다시 브라우저에 정적 페이지 반환 case2) 동적 페이지Nginx에서 로드 밸런싱(필요시) → Tomcat(SpringBoot) → Controller → Service → Repository → DB 그리고 다시 역순으로 쭈욱 돌아가서 HTTP response로 JSON, HTML 등을 반환 https://claremont.tistory.com/entry/%EC%9B%B9-%EC%A7%80%EC%8B%9D-%EC%9B%B9-%EC%84.. 2025. 3. 19. [Spring] 일반적인 스프링 프로젝트 세트 하나의 서비스를 제공하기 위해 여러 스프링 관련 프로젝트를 엮어 사용한다!보통 5가지의 프로젝트를 사용한다 1. 웹 애플리케이션 서버 개발: Spring Boot내장 웹 서버(예: Tomcat, Jetty)를 제공하여 별도의 WAS(Web Application Server) 설정 없이 애플리케이션을 실행할 수 있다!"Spring MVC 기반의 웹 애플리케이션"을 쉽게 개발 가능+ application.properties or application.yml을 활용한 직관적인 설정+ 자동 설정(Auto Configuration) 기능으로 개발 편의성 증가 보통 선택하는 의존성(dependencies)들로는 다음과 같다- Spring Web- Spring Data JPA- Spring Configuration.. 2025. 3. 19. [Spring] 롬복(Lombok) 라이브러리 기능 ㅇLombok 라이브러리: Java 개발에서 반복되는 코드를 줄여주는 라이브러리Java는 OOP 언어로 강력한 기능을 제공하지만, 반복적인 코드(보일러플레이트 코드)가 많아 개발 효율성을 저하시킬 수 있다. 이를 해결하기 위해 등장한 라이브러리가 Lombok이다. Lombok은 Java 코드에서 반복적으로 작성해야 하는 Getter, Setter, toString, 생성자 등을 자동으로 생성해 주는 어노테이션 기반 라이브러리이다. [Lombok의 주요 기능]@Getter 및 @Setter클래스 필드에 대한 Getter 및 Setter 메서드를 자동 생성import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class User { private.. 2025. 2. 4. [Spring] Maven vs Gradle https://claremont.tistory.com/entry/Maven%EC%9D%B4%EB%9E%80 Maven이란?ㅇMaven: Java 프로젝트의 라이프사이클 관리를 위한 빌드 도구빌드, 의존성 관리, 그리고 프로젝트 관리를 자동화하는 도구이다. Apache Software Foundation에서 개발한 오픈 소스 프로젝트로, 프로젝트claremont.tistory.comhttps://claremont.tistory.com/entry/Gradle%EC%9D%B4%EB%9E%80 Gradle이란?https://claremont.tistory.com/entry/Maven%EC%9D%B4%EB%9E%80 Maven이란?ㅇMaven: Java 프로젝트의 라이프사이클 관리를 위한 빌드 도구빌드, 의존성 .. 2024. 10. 6. [Spring] Gradle이란? https://claremont.tistory.com/entry/Maven%EC%9D%B4%EB%9E%80 Maven이란?ㅇMaven: Java 프로젝트의 라이프사이클 관리를 위한 빌드 도구빌드, 의존성 관리, 그리고 프로젝트 관리를 자동화하는 도구이다. Apache Software Foundation에서 개발한 오픈 소스 프로젝트로, 프로젝트claremont.tistory.comGradle은 Maven의 진화 느낌이기 때문에 위의 글을 먼저 읽고 오면 이해하기가 더 수월하다 :) Gradle은 Maven의 장황한 설정 파일과 에러가 쉽게 나는 문제를 해결하기 위해서 만들어진 빌드 도구ㅇGradle: Groovy 기반의 스크립트 언어Gradle은 Java와 같은 JVM 언어 프로젝트뿐만 아니라, 여.. 2024. 10. 6. [Spring] Maven이란? ㅇMaven: Java 프로젝트의 라이프사이클 관리를 위한 빌드 도구빌드, 의존성 관리, 그리고 프로젝트 관리를 자동화하는 도구이다. Apache Software Foundation에서 개발한 오픈 소스 프로젝트로, 프로젝트를 효율적으로 관리하고 빌드할 수 있도록 다양한 기능을 제공한다. 특히, 의존성 관리를 통해 프로젝트에 필요한 외부 라이브러리를 쉽게 가져오고 업데이트할 수가 있다. ※ 의존성이란?프로젝트에서 말하는 의존성은 소프트웨어가 정상적으로 작동하기 위해 필요한 외부 코드나 라이브러리를 의미한다. 예를 들어, 애플리케이션에서 데이터베이스에 접근하거나 HTTP 요청을 보내는 기능을 구현할 때, 개발자가 직접 모든 코드를 작성하지 않고 이미 만들어진 라이브러리를 사용하는 경우가 많다. 이때, 프로.. 2024. 10. 6. 이전 1 다음