본문 바로가기
반응형

전체 글95

[springboot] RESTful API RESTful API는 REpresentational State Transfer (상태 전달 표현) 아키텍처 스타일을 기반으로 한 웹 API입니다. REST는 웹 서비스의 설계를 위한 아키텍처적 규칙과 제약을 따르며, HTTP 프로토콜을 통해 자원(Resource)을 정의하고, 이를 HTTP 메서드(GET, POST, PUT, DELETE 등)로 처리하는 방식입니다.RESTful API의 주요 특징자원(Resource): RESTful API에서는 "자원"이 기본적인 개념입니다. 자원은 웹에서 처리하고자 하는 대상이며, URL을 통해 식별됩니다. 예를 들어, "책"이라는 자원을 다룬다면, 그 책은 http://example.com/books/123와 같이 URL로 표현됩니다. 여기서 123은 특정 책의 .. 2025. 1. 14.
[springboot] 쿼리스트링(Query String)과 주소변수매핑(Path variable) Spring Boot에서 URL 매핑을 사용할 때, 쿼리스트링과 Path Variable (/book/{bookId})은 URL에서 데이터를 전달하는 두 가지 주요 방법입니다. 이들의 차이점과 사용 사례를 설명하겠습니다.1. 쿼리 스트링 (Query String)쿼리 스트링은 URL에서 "?" 기호 뒤에 key-value 쌍으로 데이터를 전달하는 방식입니다. 여러 개의 파라미터를 **"&"**로 구분하여 전달할 수 있습니다. 쿼리 스트링은 URL의 끝에 위치하며, 서버에서 해당 파라미터들을 추출하여 처리합니다.예시:http://example.com/books?title=java&author=John위 URL에서 쿼리 스트링은 ?title=java&author=John 부분입니다. 이 URL은 title과.. 2025. 1. 14.
[네트워크] 인증 방식 (쿠키, 세션, 토큰 JWT) 및 로그인 세션ID 저장 과정 인증 / 인가1. 인증 (Authentication):인증은 해당 유저가 실제 유저인지 확인하는 과정예를 들어, 사용자가 로그인할 때 ID와 비밀번호를 입력하면 시스템은 이를 확인하여 사용자가 누구인지 확인합니다.인증 방식은 비밀번호, 생체 인식, OTP(일회용 비밀번호), 보안 토큰 등 다양합니다.즉, **"누구냐?"**라는 질문에 답하는 과정입니다.2. 인가 (Authorization):인가는 인증된 유저가 어떤 자원에 접근할 수 있는지, 어떤 행동을 할 수 있는지를 결정하는 과정입니다.예를 들어, 로그인한 사용자가 특정 파일을 열거나 수정할 수 있는 권한을 갖고 있는지 확인합니다.즉, **"이 사용자는 무엇을 할 수 있느냐?"**라는 질문에 답하는 과정입니다.정리인증: 사용자의 신원을 확인하는 과정.. 2025. 1. 13.
[springboot] DI(Dependency injection) DI(Dependency injection)는 클래스가 자신이 필요한 의존 객체(즉, 다른 클래스의 인스턴스)를 스스로 생성하지 않고 외부에서 제공받는 방식입니다. 즉, 의존성(다른 객체)을 주입해줌으로써 객체 간의 결합도를 낮추고, 객체의 생성과 관리의 책임을 외부에 위임합니다. 1. 스프링 부트에서 DI 설정 기본 구조스프링 부트에서 DI를 사용하는 과정은 크게 두 가지 주요 단계로 나눌 수 있습니다:컴포넌트 스캔: @Component 및 그 하위 어노테이션(@Service, @Repository, @Controller 등)을 사용하여 객체를 스프링 컨테이너에 등록.자동 의존성 주입: @Autowired를 사용하여 의존성 객체를 주입받기.스프링 부트는 기본적으로 어노테이션 기반의 설정을 사용하며, 자.. 2025. 1. 12.
[springboot] maven VS gradle Maven과 Gradle은 둘 다 빌드 도구로, Java 기반 애플리케이션을 포함한 다양한 프로젝트에서 의존성 관리, 빌드 자동화, 배포, 테스트 등을 처리하는 데 사용됩니다. 하지만 두 도구는 설계 철학, 사용법, 성능 등에 있어 몇 가지 중요한 차이점이 있습니다.아래에서 Maven과 Gradle의 주요 차이점들을 비교하겠습니다.1. 빌드 스크립트 언어Maven:XML을 사용하여 빌드 설정을 정의합니다.pom.xml 파일을 통해 의존성, 플러그인, 빌드 구성 등을 설정합니다.XML은 선언적인 방식이지만 다소 장황하고 읽기 어려운 경우가 있습니다.예시 (pom.xml): org.springframework spring-webmvc 5.3.0 Gradle:**DSL (Domain Specific Lang.. 2025. 1. 12.
[spring] servlet-context.xml, root-context.xml, pom.xml, web.xml 차이점 1. root-context.xml의 역할root-context.xml은 애플리케이션 전체에 공통적으로 사용되는 Bean을 정의하는 스프링 설정 파일입니다. 여기에는 비즈니스 로직을 처리하는 서비스(@Service), 데이터 액세스를 처리하는 DAO/Repository(@Repository), 공통적인 유틸리티 등을 정의합니다.예시:서비스 계층 (@Service)데이터 접근 계층 (@Repository)예외 처리, 공통 컴포넌트들 (@Component)root-context.xml 예시 : --> 2. servlet-context.xml의 역할servlet-context.xml은 Spring Web MVC 애플리케이션에서 웹 관련 설정을 처리하는 파.. 2025. 1. 12.
반응형