질문, 피드백 등 모든 댓글 환영합니다. 소개 객체 지향 개발 원칙인 SOLID의 이해를 높이기 위해 진행한 프로젝트입니다. 간단한 도서 대출 시스템을 SOILD 원칙을 준수하도록 설계하여 개발했습니다. 해당 프로젝트 주제의 퀄리티보다 SOLID 원칙을 따라 설계하
질문, 피드백 등 모든 댓글 환영합니다.https://hhj-community.herokuapp.com 에서 프로젝트를 확인하실 수 있습니다. heroku의 저비용 서버와 무료 db 사용해 속도가 다소 느리고 첫 접속이 특히 오래 걸릴 수 있습니다.(보안 수준
질문, 피드백 등 모든 댓글 환영합니다.지금까지 제작한 프로젝트를 Heroku echo dyno 를 통해 배포하겠습니다.해당 블로그는 기록을 위해 작성했습니다. 자세한 배포 과정에 대해선 블로그 1, 블로그 2 참고해주세요.배포 url : https://hhj
질문, 피드백 등 모든 댓글 환영합니다.지난 블로그에서 다뤘던 정렬, 페이징에 이어 검색 기능을 개발합니다.기존의 Spring data JPA 만을 사용하여 검색 기능을 구현하게 되면 코드가 매우 복잡해집니다. 특히 검색 조건이 여러개일 경우(제목, 내용, 작성자 등)
질문, 피드백 등 모든 댓글 환영합니다.JPA로 엔티티를 조회할 경우 일반적으로 id를 기준으로 조회하므로 asc(오름차순) 정렬이 기본적으로 사용됩니다.보통 커뮤니티 게시글을 살펴보면 게시글 리스트는 주로 내림차순으로 조회하고 상세 게시글에 달린 댓글은 오름차순으로
질문, 피드백 등 모든 댓글 환영합니다.스프링에서 자주 사용되는 필터와 인터셉터에 대해 알아보겠습니다.필터와 인터셉터는 스프링 MVC에서 공통 관심 사항을 처리하기 위해 사용합니다.예를 들어 대부분의 서비스는 로그인 이용자와 비로그인 이용자가 접근할 수 있는 서비스가
질문, 피드백 등 모든 댓글 환영합니다.엔티티를 수정, 삭제하는 방법에 대해 알아보겠습니다.엔티티를 단순히 저장 시키는 것과는 다르게 주의해야할 부분이 있으니 잘 알고 사용하셔야 합니다.먼저 사용할 객체를 보겠습니다.엔티티를 수정하는 방법에 변경 감지 (더티 체킹)이라
질문, 피드백 등 모든 댓글 환영합니다.이 프로젝트에는 구조적인 문제점이 크게 두 가지 있습니다.처음에 예상은 했지만 더 심한 문제를 가진 Post 테이블의 commentNum, heartNum 컬럼cascadeType.REMOVE 설정과 변경 감지 기능으로 인한 단일
질문, 피드백 등 모든 댓글 환영합니다. 스프링 인터셉터를 활용하여 자신의 게시글, 댓글 수정/삭제 로직에 접근을 막는 기능을 개발합니다.Configurer인터셉터를 등록하고 적용될 URL을 지정합니다.PostInterceptor전체적인 로직은 1. 요청 URI 조회
질문, 피드백 등 모든 댓글 환영합니다.
질문, 피드백 등 모든 댓글 환영합니다.요구사항에 맞춰 엔티티를 개발합니다. 개발 순서는 핵심 필드 -> JPA 연관관계 매핑 -> Auditing -> 비지니스 로직 순으로 개발합니다.Member -> Post -> Comment -> Heart 순으로 개발하겠습니다
지난 스프링 프로젝트인 ToDo List가 잘 마무리 되었고 다음 프로젝트를 진행하고자합니다. ToDo List 프로젝트는 스프링과 JPA를 기반으로 단순한 예제의 CRUD 기능을 구현하고 프레임워크를 체험하고 익숙해지는 것이 목표였습니다.스프링이 무엇인지 감을 확실히
블로그를 참고하여 작성했습니다.기본적으로 HTML form 태그에선 GET, POST 요청만 할 수 있습니다.때문에 form 태그에 히든 태그를 포함하는 방식으로 다른 method 요청을 구현할 수 있습니다.위 처럼 직접 form 태그 안에 히든 태그를 작성하지 않고
질문, 피드백 등 모든 댓글 환영합니다.heroku eco dyno를 이용하여 프로젝트를 배포해보겠습니다.헤로쿠에서 eco dyno 서비스를 출시한지 얼마 지나지 않아 한국어로 작성된 블로그를 잘 찾아볼 수 없어 Heroku는 free dyno 서비스를 2022년 11
질문, 피드백 등 모든 댓글 환영합니다.지금까진 기능 구현에 초점을 맞추느라 무분별하게 쿼리를 발생시켜왔는데 이를 개선해보겠습니다.기존에는 회원 가입 시 중복인 LoginId가 있는지 조회하기 위해 findByLoginId()로 조회를 했었습니다.조회된 Member를
질문, 피드백 등 모든 댓글 환영합니다.본격적으로 이전 블로그에서 설정한 Spring Security를 프로젝트에 적용하겠습니다.이전까진 로그인과 사용자 인증, 인가를 직접 구현했지만 스프링 시큐리티가 제공하는 기능을 사용하도록 기존 코드를 수정해 주겠습니다.스프링 시
질문, 피드백 등 모든 댓글 환영합니다.프로젝트를 진행하며 가장 신경쓰이고 아쉬웠던 부분이 보안 부분이었습니다.높은 수준의 보안을 적용하기는 힘들지만 스프링에서 제공하는 Spring Security 프레임워크를 이용하여 보안 수준을 높여보도록 하겠습니다.참고 : 기존의