[Querydsl] Spring Boot 3.0 이상 Querydsl 세팅 gradle
·
Server/Spring&Spring Boot
build.gradle 설정 plugins { ... id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } ... dependencies { ... implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakart..
[Spring] TomcatServletWebServerFactory Port 설정
·
Server/Spring&Spring Boot
인프런에 열린 토비님의 강의 초반부를 따라가던 도중 직접 톰캣을 실행시키는 부분이 있었다. application.properties에서 port설정을 8088로 변경했음에도 불구하고 8080 포트로 계속 연결이 되고 있었다. (8080은 현재 오라클 DB에서 사용하고 있는 상태.) 헛손질 TomcatServletWebServerFactory에 setPort를 하는 명령어가 있나 하고 찾아보니 딱히 나오지 않아, 인터페이스와 추상 클래스를 타고 올라가 봤다. 찾으러 뱅글뱅글 쭉쭉 타고 올라가다 보니 ConfigurableWebServerFactory에 setPort 하는 부분을 발견했다. 해당 인터페이스를 AbstractConfigurableWebServerFactory에서 구현을 해줬고, Abstract..
[Postman] DTO와 File을 동시에 전송하는 법
·
Server/ETC.
게시물을 업로드하면서, 해당 게시물의 썸네일을 이미지로 저장해야 하는 상황이 발생했다. API를 구성하고 테스트를 돌리기 위해 Postman을 실행시켰는데 에러가 발생했다. HttpMediaTypeNotSupportedException .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content-Type 'multipart/form-data;boundary=--------------------------186452156954590287007968;charset=UTF-8' is not supported] 다음과 같은 에러가 발생했다. 위의 에러는 컨트..
[Spring Boot] AWS S3에 파일 업로드
·
Server/Spring&Spring Boot
IAM 사용자 생성 사용자 이름을 입력하고 다음으로 넘어갑니다. 검토 후 사용자를 생성합니다. 생성된 사용자에 들어가서 보안 자격 증명의 액세스키를 생성합니다. 체크박스에 체크 후 다음 버튼을 클릭합니다. 태그 설명을 작성한 후 엑세스 키를 생성합니다. 액세스 키와 비밀키를 저장합니다. 이후로 확인이 어려우니 csv 파일을 다운로드하여 보관합니다. 스프링 build.gradle 설정 implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' Application.yml 설정 # multipart 설정 spring.servlet.multipart.max-file-size: 10MB spring.servlet.multip..
[AWS S3] 이미지 업로드/삭제 테스트
·
Server/Infra
이미지 업로드 해당 버킷을 선택합니다. 이미지 파일을 드래그해서 옮겨 올립니다. 다시 S3 버킷을 들어가면 업로드한 파일을 확인할 수 있습니다. 객체 URL을 누르면 업로드된 이미지를 확인할 수 있습니다. 삭제 버킷에서 삭제할 객체(파일)을 선택하고 삭제 버튼을 클릭합니다. 영구 삭제를 타이핑한후 삭제 버튼이 활성화되면 버튼을 눌러줍니다.
[AWS S3] 버킷 생성
·
Server/Infra
버킷 생성 AWS S3 페이지에서 버킷 만들기를 클릭합니다. 버킷 이름에는 사용자가 원하는 이름을 작성합니다. AWS 리전은 현재 살고 있는 지역(나라)을 선택합니다. 객체 소유권의 경우에는 현재 프로젝트 중이므로 다른 AWS 계정에서 사용할 수도 있으므로 ACL을 활성화하였습니다. URL을 입력하여 이미지가 업로드될 수 있도록 하기 위해 모든 퍼블릭 액세스 차단을 해제했습니다. 정책 설정 버킷 ARN 복사 정책 생성기 클릭 정책 생성기 Amazon Resource Name(ARN)에는 "버킷 ARN/*" 형식으로 입력. Add Statement 클릭 확인 후 Generate Policy 클릭 생성된 정책을 복사하여 정책생서기를 눌렀던 화면으로 돌아가 정책 부분에 붙여 넣습니다. 참조 [AWS] 이미지 ..
[GitLab] Branch CI/CD Pass 하는 방법
·
Server/ETC.
프로젝트를 진행하면서, 우리 프로젝트팀이 구성한 깃 브랜치 전략은 Master, Develop, Feature 3가지를 메인으로 브랜치를 구성한 후 HotFix를 유동적으로 관리하는 전략을 채택했다. 각자 feature에서 기능들을 만든 후 Develop으로 머지를 하고, 이상이 없으면 Master에 다시 한번 머지하는 방식으로 깃을 관리한다. 배포 오류 배포는 Master와 Develop부분에서 이뤄질 수 있도록 잠시 설정해뒀었는데 Develop에서 CI/CD jobs가 계속 failed 되는 현상이 발생되었다. 에러코드만 봤을 때는 로그인 관련 문제인 것 같았은데, 지금까지 이상이 없어서 괜찮은 것 아닌가?라는 생각을 했었다. 하지만 Master 부분에서만 머지를 했을 때, 또는 이 상태에서 Mast..
[Spring] test code에 대한 회고
·
Server/Spring&Spring Boot
거창한 회고는 아니다. 그냥 오랜만에 혼자 천천히 진행하고 있는, 학원의 종합 프로젝트를 진행하면서 무기한 보류 중인, 개인프로젝트의 코드를 다시 꺼내봤다. 현재 계정부분의 로그인, 회원가입만 구현되어 있는 작고 소중한 프로젝트이며, 여기서 구현 완료된 계정 부분의 컨트롤러 테스트 코드를 작성해 보았다. 테스트 코드 작성 전 나의 JOIN API public class MemberRestController { @PostMapping("/join") public Response join(@RequestBody @Valid final MemberJoinRequest dto) { MemberDto member = memberService.join(dto); return Response.success( Memb..
코드플리
'Server' 카테고리의 글 목록 (10 Page)