🚗 Backend Toy Project/Photogram

    [Photogram] 프로필 페이지 - DB에 이미지 업로드

    이전시간까지는 서버에 이미지를 업로드 해보았고 이번에는 데이터베이스에 이미지를 저장해보려고 합니다. 📝 Service 우선 이전 시간에 작성했던 upload() 함수에 코드를 추가해주었습니다. package com.cos.photogram.service; ... @RequiredArgsConstructor @Service public class ImageService { private final ImageRepository imageRepository; @Value("${file.path}") private String uploadFolder; public void upload(ImageUploadDto imageUploadDto, PrincipalDetails principalDetails) { UUI..

    [Photogram] 프로필 페이지 - 서버에 이미지 업로드

    📝 View 현재 사진 업로드 페이지의 일부는 다음과 같이 구현되어 있습니다. 업로드 여기서는 POST 요청을 통해 전달하는 데이터의 타입이 file과 text 두 개이므로 enctype을 multipart/form-data로 지정해준 모습입니다. 📝 Image 이미지 개체는 다음과 같이 구현하였습니다. package com.cos.photogram.domain.image; ... @Data @Builder @NoArgsConstructor @AllArgsConstructor @Entity public class Image { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @JoinColumn(name = "user_id..

    [Photogram] 구독하기

    📝 연관관계 구독하기 기능을 구현해보기 전에 먼저 연관관계부터 파악해보겠습니다. 한 명의 사용자는 여러 명의 사용자를 구독할 수 있으며, 한 명의 사용자는 여러 명으로부터 구독을 받을 수 있습니다. 즉, 둘의 관계(User, User)는 각각 1:N, N:1로 N:N이 됩니다. 다만 개체의 관계를 N:N 관계로 표현하는 것이 그렇게 좋은 방법은 아니므로 이를 1:N 두 개를 사용하여 구현하려고 합니다. 이를 자바 코드로 살펴보면 다음과 같습니다. package com.cos.photogram.domain.subscribe; ... @Data @Builder @NoArgsConstructor @AllArgsConstructor @Table( //데이터베이스에서 두 개의 컬럼에 대해 unique 제약조건 설..

    [Photogram] 회원정보 수정

    📝 View 회원정보 수정 기능을 본격적으로 구현해보기 전에 먼저 회원정보 변경 창에 생성되어 있는 모든 입력란에 현재 접속중인 사용자의 정보가 들어가 있을 수 있도록 하려고 합니다. 이를 위해 먼저 View 페이지에 아래와 같은 코드를 추가해주었습니다. 위 코드를 통해 우리는 현재 접속중인 사용자에 대한 정보를 'principal'이라는 변수를 통해 ${principal.user.id}와 같이 접근할 수 있습니다. 이름 유저네임 패스워드 웹사이트 소개 ${principal.user.bio} 개인정보 비즈니스나 반려동물 등에 사용된 계정인 경우에도 회원님의 개인 정보를 입력하세요. 공개 프로필에는 포함되지 않습니다. 이메일 전화번호 성별 제출 📝 JavaScript View 단의 코드를 보면 회원정보 수..