[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..
[코드스테이츠 백앤드 부트캠프 42기] 합격 후기
·
회고록/Archive
벌써 작년이 되어버린 일이지만, 짧게나마 합격 후기(?), 기록(?)을 남기고 싶어서 글을 작성하게 되었다. 국비 지원 교육이 한 차례 끝이 나고 난 후 교육의 필요성을 느끼고 있던 내 입장에서는 부트캠프 수업이 꼭 듣고 싶었다. 그래서 국비지원 교육의 파이널 프로젝트를 진행하던 도중, 8월 28일에 멋쟁이 사자처럼을 이미 지원한 상태였다. 멋쟁이 사자처럼의 지원이 끝나자마자 9월 초 코드스테이츠 지원이 열렸다. 지원했던 멋쟁이 사자처럼의 교육 과정이 탈락으로 끝날 것을 대비해야 했으므로 다른 교육과정에 지원하는 것은 당연한 수순이었다. (그 당시 달력에 우아한 테크코스, 멋쟁이 사자처럼, 코드스테이츠, 사피, 프로그래머스의 지원 일정이 적혀있었다.) 코드스테이츠의 과제로는 자기소개서, 인적성 문제, 코..
[JPA Error] Either use @Param on all parameters except Pageable and Sort typed once, or none at all
·
Server/Error
문제 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'recommendRestController' defined in file [\controller\RecommendRestController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'recommendService' defined in file [\service\RecommendService.class]: Unsatisfied dependency expressed through const..
[JPA Error] jakarta.persistence.TransactionRequiredException: Executing an update/delete query
·
Server/Error
문제 프로젝트를 진행하며 엔티티 수정 로직을 구현하던 도중 다음과 같은 에러가 발생했다. jakarta.persistence.TransactionRequiredException: Executing an update/delete query 에러가 발생한 로직 Service public RecommendModifyResponse modifyPost(String userEmail, Long recommendNo, RecommendModifyRequest request) { // 글을 작성하는 Member 확인 Member member = validateGetMemberInfoByUserEmail(userEmail); // 수정 글 확인 Recommend recommend = validateGetRecommen..
[Team Project] 멋사 백엔드 스쿨 종합 프로젝트 - 엔드포인트 정리
·
회고록/Archive
1차 엔드포인트 정리 HTTP Method Endpoint Entity 분류 상세 엔드포인트 분류 GET /api/v1/member/followers Follow 내 피드에서 나의 팔로워 조회하기 api/v1/member GET /api/v1/member/followings Follow 내 피드에서 나의 팔로윙 조회하기 api/v1/member GET /api/v1/faq FAQ FAQ 전체 조회하기 api/v1/faq GET /api/v1/faq/{faqCategory} FAQ FAQ 카테고리로 조회하기 api/v1/faq GET /api/v1/faq/searches/{keyWord} FAQ FAQ 키워드 검색으로 조회하기 api/v1/faq GET /api/v1/faq/{faqNo} FAQ FAQ 클..
[Team Project] 멋사 백엔드 스쿨 종합 프로젝트 - 아이디어톤
·
회고록/Archive
아이디어톤 문화라는 아이템으로 모이게 된 팀으로 최대한 해당 도메인을 살릴 수 있는 아이템이 무엇이 있을지 이야기를 나누었다. 기획에 주어진 시간은 이틀, 약 8시간 정도. 목요일 오후 4시부터 6시까지 아이템에 대한 이야기를 나누고 금요일 오전 내로 아이템을 결정하고 오후에 발표 자료를 만들어야 했다. 최대한 콘텐츠가 메인을 이루는 아이템은 제외했다. 우리는 개발을 하는 사람이지 콘텐츠를 만드는 사람이 아니므로, 콘텐츠가 빠졌을 때 매력 없는 아이템은 필요없다고 판단했다. 아이디어 확정 최종적으로 내미콘(내가 미는 콘텐츠)이 결정되었다. 한 줄 소개 뜨지 못해 아쉬운 음악, 팬심 포인트로 투자하고 홍보해보자 타겟 유저 본인만 알고 있던 음악을 자랑하고, 그 음악을 차트에 올리고 싶은 사람들 새로운 음악..
코드플리
코드 플레이 리스트