QueryDSL 소개
·
Spring
http://querydsl.com/http://querydsl.com/static/querydsl/5.0.0/reference/html_single/http://querydsl.com/static/querydsl/5.0.0/apidocs/QueryDSL이란?QueryDSL은 타입 안전하고 가독성 높은 쿼리를 작성할 수 있도록 도와주는 Java 기반의 라이브러리입니다.SQL과 유사한 문법으로 JPQL, SQL, JPA와 함께 사용할 수 있습니다.왜 QueryDSL을 사용할까?타입 안전성:쿼리를 작성할 때 컴파일 시점에 오류를 잡아줍니다.문자열 기반 쿼리(JPQL)와 달리 런타임 오류를 방지합니다.가독성:쿼리를 코드로 작성하므로 가독성이 뛰어나고 유지보수가 용이합니다.동적 쿼리 작성:조건에 따라 쿼리를 동..
스프링 OAuth2 클라이언트 세션 1 : 실습 목표 및 간단한 동작 원리
·
Spring Security/OAuth2
실습 목표OAuth2.0 클라이언트와 스프링 시큐리티 6 프레임 워크를 활용하여 신뢰할 수 있는 외부 사이트(구글, 네이버)로 부터 인증을 받고 전달 받은 유저 데이터를 활용하여 세션을 만들고 인가를 진행하는 방법. 인증받은 데이터는 MariaDB를 활용하여 저장하고 관리한다.구현인증 : 네이버 소셜 로그인, 구글 소셜 로그인 (코드 방식)인가 : 세션 방식을 통한 경로별 접근 권한인증 정보 DB 저장 후 추가 정보 기입OAuth2.0 인증 방식 시큐리티 동작 원리인증 서버와 자원 서버 및 우리의 서버 (코드 방식)버전 및 의존성Spring boot 3.4.1Spring Security 6.2.1OAuth2 ClientLombokSpring Data JPA - MariaDBGradle - GroovyIn..
스프링 JWT 심화 1 : 실습 목표
·
Spring Security/JWT
실습 목표스프링 시큐리티 단일  JWT 발급을 넘어 보안을 위한 여러가지 심화적인 구현 방법을 알아본다.
답글이 있는 게시판 만들기
·
Spring
1. 설계 개요1-1. 주요 필드 정의필드명설명seq글번호(순서). 게시판의 모든 글(댓글, 답글 포함)에 대해 고유한 번호. 자동 증가 (AUTO_INCREMENT).grp글그룹. 하나의 글과 그에 속한 모든 답글이 동일한 grp 값을 가짐.grps그룹 내 순서. 같은 그룹(grp) 내에서의 정렬 순서를 나타냄.grpl그룹 내 깊이. 댓글은 0, 답글은 1 이상으로 계층적 깊이를 나타냄.2. 테이블 구조2-1. 테이블 생성rep_board1 테이블은 댓글과 답글을 포함한 계층적 데이터를 관리합니다.CREATE TABLE rep_board1 ( seq INT AUTO_INCREMENT PRIMARY KEY, -- 고유 글번호 grp INT NOT NULL, ..
JSP로 페이징 구현하기
·
Spring
1. 변수 설명페이지 관련 변수변수명설명cpage현재 페이지 번호 (기본값: 1).recordPerPage한 페이지에 표시할 데이터 수 (예: 10개).blockPerPage한 화면에 표시할 페이지 블록 수 (예: 5개).totalRecord전체 데이터 개수.totalPage전체 페이지 수 (총 데이터 수를 페이지당 데이터 수로 나눈 값).skip현재 페이지에서 건너뛸 데이터 수 ((cpage - 1) * recordPerPage).2. 계산식 분석전체 페이지 계산전체 데이터를 기준으로 필요한 페이지 수를 계산합니다. (totalRecord - 1)로 계산하면 전체 데이터가 recordPerPage로 나누어떨어질 때도 올바른 페이지 수를 얻을 수 있습니다.totalPage = ((totalRecord -..
Spring Web - Controller와 RestController
·
Spring
어노테이션 간단 비교:@Controller = 웹 페이지 반환용 컨트롤러.@RestController = 데이터(JSON/XML) 반환용 컨트롤러 (@Controller + @ResponseBody).1. @Controller역할: 웹 애플리케이션에서 뷰(View)를 반환하기 위한 컨트롤러로 사용됨주요 특징:메서드의 반환값은 뷰의 이름(String)이 되며, 뷰 리졸버(View Resolver)를 통해 실제 뷰(예: JSP, Thymeleaf 템플릿)가 렌더링됩니다.모델(Model) 객체를 사용하여 뷰에 데이터를 전달할 수 있습니다.사용 예시: import org.springframework.stereotype.Controller;import org.springframework.ui.Model;impor..
Spring Boot - Spring Web
·
Spring
1. Spring Web이란?Spring Web은 웹 애플리케이션 개발을 위한 모듈, HTTP 요청과 응답을 처리하는 기능을 제공주요 컴포넌트 :Spring MVC(Model-View-Controller) :웹 애플리케이션의 구조적 설계 지원REST API 개발 :JSON, XML과 같은 데이터 형식으로 클라이언트와 서버 간 통신을 간소화Handler와 Controller :URL 요청을 처리하고 응답 데이터를 생성2. Spring Boot와 Spring WebSpring Boot는 Spring Web 모듈을 내장하여 설정 작업을 자동화한다.⇒ 최소한의 설정으로 HTTP 서버, REST API, HTML 렌더링 등을 쉽게 구현 가능내장 서버 :tomcat, jetty같은 웹 서버가 내장되어 별도의 설치 ..