분류 전체보기 (261) 썸네일형 리스트형 S3 버킷 생성과 스프링부트로 S3에 이미지 저장하기 구현 버킷 : 저장소객체 : 버킷에 업로드된 파일S3 버킷 생성하기퍼블릭 엑세스 차단 해제 그리고 그대로 생성하면 됨 버킷에 정책 ( 권한(Permission)을 정의하는 JSON 문서)추가여기서 정책 추가 s3 -> gerobject 리소스 추가하기 S3에 파일 업로드 할 수 있도록 IAM에서 액세스 키 발급받기백엔드 서버가 S3에 접근해서 파일을 업로드할 수 있어야 한다. S3에 접근할 수 있는 권한을 받기 위해 IAM이라는 곳에서 권한을 부여받아야 한다. 사용자 생성 정책 생성 엑세스 키 만들기 발급 완료, 저 두 키는 따로 저장해 놔야 함 스프링부트로 S3에 이미지 저장하기users 테이블에 imageUrl필드를 추가하여 저장된 프로필 이미지의 url을 저장하여 user 조회시 함께 조회이미지 제목이.. RDS 구축하고 EC2에 연결하기 RDS 생성RDS에 들어가서 데이터베이스 생성을 누르자 . 설정 퍼블릭 엑세스 예로 변경 추가구성에서 백업 끄고 이름 설정하기 RDS 보안그룹 생성하기 생성한 보안그룹을 RDS에 붙이기해당 RDS로 이동 후에 보안그룹 수정 RDS 파라미터 그룹 추가하기1. 아래 속성 전부 utf8mb4로 설정하기character_set_clientcharacter_set_connectioncharacter_set_databasecharacater_set_filesystemcharacater_set_resultscharacter_set_server참고) utf8 대신에 utf8mb4를 사용하는 이유는 ‘한글’ 뿐만 아니라 ‘이모티콘’도 지원이 가능하도록 하기 위해서이다.2. 아래 속성 전부 utf8mb4_unicode_c.. Spring 프로젝트 AWS에 배포하기 인스턴스 생성먼저 지역을 선택한다! 아래와 같이 설정 키 페어 만들어 주고 보안그룹 설정하기 스토리지 구성 시작하기 누르면 끝 탄력적 IP 적용하기그냥 기본값으로 적용하면 된다 만들어진 탄력적 ip주소를 내 인스턴스와 연결한다 인스턴스 선택 누르고 연결 누르면 끝! EC2 인스턴스에서 어플리케이션 실행하기Ubuntu 환경에서 JDK 설치$ sudo apt update && /sudo apt install openjdk-17-jdk -y 잘 설치됐는지 확인$ java -version잘 설치됐다고 나온다! Spring Boot 프로젝트 clone하기$ git clone 주소$ cd 해당 파일 설정 파일 만들어주기cd src/cs main/lsmkdir -p resourcescd resources/vi ap.. AWS 인스턴스 생성 : Nginx에서 443 포트 열기 인스턴스 설정 및 보안 설정 바꿔주기Nginx를 시작하기 위해서 먼저 인스턴스를 만들고 보안 설정을 변경해줬다처음엔 22만 열려 있기 때문에 HTTP와 HTTPS 포트를 추가하고 ip는 모든 ip로 설정하기! 그 다음 인스턴스에 connection 후 서버를 켜기 위해서 Nginx 관련 명령어를 입력해준다 설치$ sudo apt-get update$ sudo apt-get install nginx Nginx 시작 및 활성화 상태 보기 : 실패$ sudo service nginx start$ sudo service nginx status 활성화 중이라고 아주 잘 뜬다! 그 러 나...... 아래와 같이 뜨는 것이다.....분명히 보안 설정에서 http랑 https를 둘다 추가 해줬는데 말이다 😂 Ngin.. DS_Store 파일 삭제하기 해당 프로젝트 터미널에 명령어 입력find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch -f git ignore 파일에 추가 commit 하기 완료! intellij 프로젝트 내부에 작업물이 안 보일 때 해결방법 문제 : intellij 프로젝트 내부에 작업물이 보이지 않음-> Spring boot application.properties 인식 오류도 동일 코드를 짜다가 렉이 좀 걸리는 것 같아서 인텔리제이를 종료하고 다시 실행했더니 프로젝트 내부에 내용물들이 하나도 보이지 않았다!!!!구글링 결과 .idea를 지우고 재시작하면 된다고 했다!! 프로젝트 경로에서 아래 명령어를 수행하고 인텔리제이를 재시작하면 된다!!ls -arm -rf .idea 양방향 연관관계와 영속성 전이 (Cascade) / Fetch / 페이징 정렬 / Dynamic Insert,Update Cascade (영속성 전이)다대일에서 일쪽에 즉, 부모에 걸어야 함(게시물과 댓글 중 게시물에)양쪽 엔티티의 라이프사이클이 동일하거나 비슷할 때 거는 것영속성 전이는 현재 엔티티에서만 전이되야 함 → 댓글을 게시물이 아닌 다른 곳에서 하면 안 됨옵션 종류ALL : 전체 상태 전이PERSIST : 저장 상태 전이REMOVE : 삭제 상태 전이MERGE : 업데이트 상태 전이REFERESH : 갱신 상태 전이DETACH : 비영속성 상태 전이예를 들어 Cascade.REMOVE를 하면 게시물이 삭제됐을 때 댓글도 삭제됨@Entitypublic class Parent { @Id @GeneratedValue private Long id; private String name; .. 영속성(persist,merge..)과 쓰기지연 객체지향과 RDB의 차이를 해결하기 위해 ORM 이 해결해야하는 문제점상속매핑정보에 상속정보를 넣어준다. (@OneToMany, @ManyToOne)관계객체는 참조를 통해 관계를 가지며, 방향을 가짐, rdb는 외래키를 설정하여 join시에만 참조가 가능함→ 매핑정보에 방향정보를 넣어준다.(@JoinColumn, @MappedBy)탐색객체는 컬랙션도 잘 탐색하고 참조를 통해서 다른 객체도 순회가 가능함, rdb는 탐색 시 조인이나 추가 쿼리가 발생함→ 매핑/조회 정보로 참조탐색 시점을 관리한다.(@FetchType, fetchJoin()) 영속성데이터를 생성한 프로그램이 종료되어도 데이터가 종료되지 않는 특성데이터를 파일이나 db에 저장함으로써 데이터에 영속성을 부여 영속성 컨텍스트 (Persistenc.. 이전 1 2 3 4 5 6 ··· 33 다음 목록 더보기