🚗 Backend Toy Project

    [스프링부트 게시판] 29. 추천 기능 구현

    게시글에 추천 버튼을 추가하여 다른 사람의 게시글을 추천할 수 있도록 구현하였습니다. 다만 본인이 작성한 게시글의 경우에는 추천이 불가능하며 한 명의 사용자는 하나의 게시글에 한 번의 추천만 가능하도록 하였습니다. 이후 해당 기능을 이용하여 조회수 및 추천수를 기준으로 정렬할 수 있는 기능을 추가해보고 싶었습니다. 📝 Recommend 우선 추천 엔티티를 아래와 같이 구현해주었습니다. package com.cos.blog.model; ... @Entity @Data @AllArgsConstructor @NoArgsConstructor @Builder @Table( uniqueConstraints = { @UniqueConstraint( name = "recommend_uk", columnNames = {..

    [스프링부트 게시판] 28. 게시글 검색 기능 구현

    간단하게 게시글 검색 기능을 구현해보았습니다. 사실 작성자, 제목, 내용을 선택하여 검색할 수 있도록 구현해보려고 하였으나 기존에 작성해놓은 코드를 바탕으로 수정하며 작성하다보니 구현하는게 꽤 복잡하여, 포기하고 글 제목을 기준으로만 검색할 수 있도록 구현하였습니다. 나중에 기회가 된다면 최소한 작성자를 기준으로 검색하는 기능까지는 추가해보려고 합니다. 📝 BoardRepository 우선 사용자가 작성한 키워드를 전달받아 DB에서 데이터를 뽑아올 수 있도록 아래와 같은 코드를 작성해주었습니다. package com.cos.blog.repository; ... // @Repository public interface BoardRepository extends JpaRepository{ ... Page f..

    [Photogram] OAuth2 페이스북 로그인

    이번시간에는 페이스북 로그인을 구현해보려고 합니다. 📝 의존성 추가 OAuth2 로그인을 위해서는 우선 라이브러리가 필요합니다. org.springframework.boot spring-boot-starter-oauth2-client 📝 앱 등록 및 앱 설정 다음으로 페이스북 개발자 사이트(https://developers.facebook.com/?locale=ko_KR)에 접속하여 로그인을 수행하고 아래와 같이 새로운 앱을 만들어주었습니다. 📝 application.yml 다음으로 위에서 생성한 앱 정보에 따라 아래와 같이 application.yml 파일에 해당 앱의 정보를 저장해줍니다. spring: ... security: ... oauth2: client: registration: faceboo..

    [Photogram] 유효성 검사 자동화 - AOP 처리

    웹 페이지의 대부분의 기능을 구현해보았으니 이번에는 메인 코드와 섞여 있는 유효성 검사 부분을 따로 뽑아내어 코드를 간결하고 보기 좋게 만들기 위해 AOP 처리를 진행해보겠습니다. Spring AOP(Aspect Oriented Programming) 💡 AOP(Aspect Oriented Programming)란? 기존에는 개발자 또는 운영자에게 필요한 코드를 비즈니스 로직 코드와 함께 작성하였습니다. public int total() { long start = System.currentTimeMillis(); int result = kor + eng + m daegwonkim.tistory.com 📝 의존성 추가 AOP 처리를 위해서는 우선 아래와 같이 라이브러리를 추가해주어야 합니다. org.spr..