🚗 Backend Toy Project/Photogram

    [Photogram] 검색 기능 구현

    헤더 부분에 입력창을 배치하여 검색 기능을 추가해보았습니다. 추가로, 검색된 리스트에서 특정 사용자 이름을 클릭할 경우 해당 사용자의 프로필 페이지로 이동하도록 구현하였습니다. 사용자 이름을 기준으로 검색을 진행하여 해당되는 사용자 리스트를 보여줄 수 있도록 구현해보았으며, 이후 게시글의 태그 기능을 추가하여 태그를 기준으로 게시글 또한 검색할 수 있도록 구현해볼 예정입니다. 📝 Controller 먼저 컨트롤러에는 클라이언트의 요청을 전달받을 수 있도록 함수를 구현해주었습니다. 해당 함수는 사용자가 태그에 입력한 값을 전달받아 사용합니다. /* 검색 */ @GetMapping("/user/search") public String search(String search, Model model) { List..

    [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..

    [Photogram] 댓글 구현

    이번 시간에는 댓글을 작성하고 삭제하는 기능을 구현해보려고 합니다. 📝 Entity 우선 아래와 같이 댓글(Comment) 객체를 구현하였습니다. package com.cos.photogram.domain.comment; ... @Data @Builder @NoArgsConstructor @AllArgsConstructor @Entity public class Comment { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(length = 100, nullable = false) private String content; @JsonIgnoreProperties({"images"}) @JoinColumn(na..