1. S3 버킷 생성 - 설정 퍼블릭 엑세스는 "새 ACL을 통해 부여된 버킷 및 객체에 대한 퍼블릭 엑세스 차단" 이 권한만 필요하지만 버킷 정책을 변경할 예정이니까 전부 풀어두겠습니다! 만든 버킷의 권한에 들어가서 정책 편집을 눌러줍니다. 저희는 정책 생성기로 들어가기 전에!! ARN을 복사해둡시다! 액션은 사용하는 동작 넣으시면 됩니다! ARN 뒤에 /*는 모든 파일에 적용이라는 뜻인데 폴더가 있다면 /foldername/* 이런식으로 응용하시면 됩니다. 설정 확인한번 해주고 버튼 누르면 이런 창이 뜨는데, 복사해서 버킷 정책 페이지에 넣어줍시다. S3 설정 끝! 2. IAM 생성 추가할 수 있는 정책은 다양하지만, 지금은 S3만 필요하니 하나만 추가하였습니다. AmazonS3FullAccess를 ..
문제상황 여러 개의 파일과 단일 데이터를 받고자 하는데, 이때 클라이언트측에서 보내는 파일의 순서가 중요합니다. 즉, 클라이언트에서도 파일의 순서를 정확히 알고 전달해야 하며, 서버또한 파일의 순서대로 데이터를 생성해야 합니다. 찾은 해결 방법은 3가지 정도 있었습니다. 1. 사진을 Base64로 인코딩하여 JSON을 이용하여 전달받기 문제점 더보기 1. base64로 이미지를 변환하는 경우 최대 33%까지 파일 크기가 증대되어 네트워크 대역 낭비가 심하다고 한다. 2. Spring은 특정 크기 이상의 데이터가 오면 요청을 해석하지 못한다. 2. 파일 데이터 리스트와 단일 데이터들을 @RequestPart, @RequestParm 등을 사용하여 받기 public void create( @RequestPa..
주요 어노테이션! 엔티티 매핑 어노테이션 @Entity: JPA에서 엔티티를 정의하기 위해 필요한 어노테이션입니다. @Table: 엔티티와 매핑할 테이블을 지정할 때 사용합니다. @Column: 엔티티 필드와 테이블 컬럼을 매핑할 때 사용합니다. 기본 키 매핑 어노테이션 @Id: 엔티티의 기본 키를 지정할 때 사용합니다. @GeneratedValue: 기본 키 값을 자동으로 생성할 때 사용합니다. 필드와 컬럼 매핑 @Enumerated: Enum 타입 필드를 매핑할 때 사용합니다. @Temporal: java.util.Date와 java.util.Calendar 타입 필드를 매핑할 때 사용합니다. @Lob: BLOB, CLOB 타입 필드를 매핑할 때 사용합니다. 연관관계 매핑 어노테이션 @ManyToOn..
3장에서는 엔티티 매핑에 대한 내용을 다루고 있습니다. 엔티티 매핑: 객체와 관계형 데이터베이스의 테이블을 매핑하는 것을 의미합니다. 이를 통해 객체를 데이터베이스에 저장하고 조회할 수 있습니다. 영속성 컨텍스트: 엔티티를 영구 저장하는 환경입니다. 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리합니다. 엔티티의 생명주기 비영속: 영속성 컨텍스트와 전혀 관계가 없는 상태 (저장을 안 한 상태) 영속: 영속성 컨텍스트에 저장된 상태 (저장한 상태 //em.persist()) 준영속: 영속성 컨텍스트에 저장되었다가 분리된 상태 (//em.detach(), em.clear(), em.close()) 삭제: 삭제된 상태 (//em.remove()) 영속성 ..