본문 바로가기

portfolio4

Pageable 이용한 페이징 게시판 목록조회에 페이징을 적용해보자. Repository Spring Data JPA 에서는 Pageable 기능을 지원해주기 때문에 아주 손쉽게 페이징을 할 수 있다. findAll 메서드를 사용하고 우리는 Pageable만 만들어서 넘겨주면 되는것이다. 한번 구현해보자. 먼저 Repository에 메서드를 생성 해준다. public interface BoardRepository extends JpaRepository { Page findAll(Pageable pageable); } Service public Page findAll(Pageable pageable) { int page = pageable.getPageNumber() - 1; // Pageable은 내부적으로 0부터 시작하기때문에 싱크.. 2023. 8. 13.
게시판 crud 작업 Entity 모든 테이블을 생성하지 않고 우선 게시판 CRUD를 위해 Board 테이블만 생성하겠다. @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @AllArgsConstructor @Builder @Entity @Table(name = "board") public class Board extends BaseTime { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "board_id") private Long id; @Column(nullable = false) private String title; @Lob @Column(nullable = false) priva.. 2023. 7. 10.
Jasypt를 사용하여 properties(yml) 주요 정보 암호화 Jasypt 먼저 yml 파일은 양방향 암호화가 가능해야 한다. 그 중 많이 사용하는 라이브러리인 Jasypt(Java Simplified Encryption) 를 적용해보자. 왜 ? 왜 암호화를 해야하는지 의문이 들 수 있을 것 같다. 클라우드 환경에서 RDS를 사용하고 있고 해당 정보를 yml 파일로 관리하고 있다고 가정해보자. 이 경우, 형상 관리 시에 항상 .gitignore로 설정하여 커밋하지 않거나 private 프로젝트로 진행한다면 문제가 없을 수도 있다. 하지만 public 프로젝트와 더불어 내 yml 파일을 커밋했다면 ? 나의 RDS 정보가 그대로 노출 될 수 있는 심각한 문제가 발생할 수 있다. 따라서 우리는 암호화를 진행해야 한다. dependency 추가 implementation .. 2023. 7. 9.
프로젝트 설계 1. 프로젝트 목적 * 내가 경험한 기술적인 지식과 경험을 공유하기 위한 블로그 플랫폼 제작 * 포트폴리오 제작 2. 기술 스택 * Back-End : Java11, Spring Boot, Spring Security, JPA, QueryDsl * Front-End : HTML, CSS, JS, Bootstrap, Thymeleaf * DB : Mysql * 형상관리 : Git * Devops : AWS, Jenkins(CI/CD) 3. 주요 기능 * 사용자 인증 : 회원가입, 로그인, 로그아웃 기능을 구현하여 사용자 인증 처리 * 게시물 관리 : 게시물 CRUD 기능 및 페이징 처리 * 댓글 관리 : 댓글 CRUD 기능 * 검색 기능 : 제목, 내용, 작성자 등을 기준으로 게시물 검색 4. DB 설계 .. 2023. 7. 9.