본문 바로가기

프로젝트

(28)
image파일 업로드 할때 리사이징 적용하기 이미지 리사이징을 도입한 이유는 S3 프리티어 저장 공간이 90% 이상 차면서 이미지 관리의 필요성을 느꼈습니다. 서버에 저장된 이미지의 용량을 최적화하면 저장 공간을 효율적으로 활용할 수 있습니다. 효율적인 용량 관리는 비용 절감에 도움이 될 수 있습니다. 그리고 사용자들은 다양한 디바이스에서 중고거래 사이트를 이용합니다. 이미지를 리사이징하여 다양한 디바이스에서도 적절한 크기로 보여줄 수 있습니다. 단순하게 용량을 제한 하는것 만으로도 무지막지한 용량의 이미지를 차단할 수 있는 장점이 있었다. java.awt.Graphics2D, Imgscalr, Marvin 등 이미지 리사이징 라이브러리 사용 시 ,이미지IO와 변환과정에서 3mb이상의 이미지는 리사이징하는데 상당히 오랜 시간이 소요된다. 아래와 같..
[SpringBoot] AWS S3로 이미지 업로드하기 일다 AWS에서 S3 버킷을 생성한다. 순서대로 만든다. IAM 사용자 권한 추가 S3에 접근하기 위해서는 IAM 사용자에게 S3 접근 권한을 주고, 그 사용자의 액세스 키, 비밀 엑세스 키를 사용해야 한다. 사용자를 만들고 권한을 설정한다. 설정후에 사용자 추가를 하면 액세스 키, 비밀 엑세스 키가 보여지는데 이 키들은 현재 화면에서 밖에 볼 수 없다. 저장해두자. Spring Boot로 파일 업로드 위에 s3 버킷 설정을 다해주면 이제 스프링부트 프로젝트만 수정해주면 된다. build.gradle에 의존성 추가 //S3 implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE' application.yml 작성하기..
1/15 getProfile말고 본인 프로필조회하는거 추가 프로필 수정시 비밀번호 변경은 따로 수정시 반환객체 태그검색시 태그가 하나만 반환되어나옴 리뷰검색시 제목 + 내용까지 같이 검색되도록 ReviewDto에 좋아요 갯수추가 유저랑 리뷰에 이미지 주소 추가(?) Test코드 작성 배형태 신고 html, Review Dto 수정, UserReportServiceTest 작성, repository test코드 작성 김건우 관리자페이지html , Admin,image,상품 좋아요 Service Test코드 작성 신승호 리뷰도메인 html, 댓글 html 이준영 상품 html , chat ServiceTest 채팅관련페이지 , 거래관련페이지
1/11 남은기능 소셜로그인 부분 + 테스트코드(서비스 레이어) Docker + CI/CD 부하테스트,스트레스 테스트 툴 - 배포이후에 테스트 하는게 좋음 Trouble shooting PathVariable, name 생략 문제 Controller에서 @PathVariable을 이용하여 Post, GetMapping 등 을 사용할때 발생 java.lang.IllegalArgumentException: Name for argument of type [java.lang.Long] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag. Spr..
1/10 회원신고 Entity 변경 → 신고회원, 신고당한 회원 외래키 2개로 repository에서 데이터 꺼내올때 optional 사용 유저 id(평가를 하는사람) , 상품 id , 거래점수 - 거래 Entity 사용자 평점은 평균으로 기능 테스트 - 수정사항유저 신고 - 중복으로 신고해도 괜찮을까 수정완료 product_like -> tb_product_like tb_reviewlike -> tb_review_like거래 완료테이블에 등록된 상품을 삭제할 경우 exception처리 - 수정필요 Product softDelete로 처리 거래 완료시 상품테이블의 finished컬럼 변경 - 판매자가 수동으로 처리 카테고리 수정 - 기존에 있는 카테고리일 시 exception처리 - 수정필요 유저 프로필 조회 -..
1/9 튜터님 피드백 속기 프론트는? javascript AJAX 사용하려고합니다. html(2~3개)을 다 만들어 놓고 react처럼 or html(10개)정도 만들어서 이동하는거(thymleaf) 중에 고민 => 이동하는게 훨씬 더 편하지만 그냥 쓰던거 쓰는게 좋아보임 html이동에 어려움 window.location.href ="/template/chat-room.html/; url로 이동은 하는데,, template는 정적인 페이지를 만드는 곳,,static으로 옮기는게 /chat-room.html로 수정 업데이트 꾸준히 필요에 의해 바꾸는게 좋아보임. 연습겸으로 사용하는 건 x 이유가 있어야함(QuearyDSL을 사용한 이유?) JPQL, QueryDSL의 장단점을 비교 분석하고, 우리가 사용하면 좋을 걸 정하자 Quer..
1/9 회의록 상품이나 리뷰 생성시 ResponseDto에 User정보가 들어가야한다. 이떄 User Entity를 그대로 사용하면 안되기때문에 User dto쪽에 각 도메인에서 사용할 UserResponseDto를 생성해준다. 상품에 지역 Enum 여러개 → 한개만 CharRoom 이라는 채팅방을 Entity로 가지는 상황에서 ChatMessage라는 엔티티를 구현할것인가? 현재상황에서는 ChatMessage를 구현하면 채팅한줄 칠때마다 ChatRoomRepository에서 ChatRoom을 꺼내오는 쿼리가 한번 나가고 ChatMessage가 저장되는 쿼리이렇게 최소 2번씩 나가는데 굉장히 비효율적으로 보인다.. → 일단 기능먼저 구현
1/8 회의록 게시글에 대한 신고 삭제 회원신고로 통일 코드컨벤션에 함수명 통일 추가 다음주 월요일까지 배포 마무리 Docker를 사용해야하나??? 튜터님은 무조건 추천 Docker쓰는 방향으로 1/8 진행 상황 정리 신승호 회원가입,로그인,프로필 수정 조회 완료 로그아웃 ,소셜로그인, RefreshToken, 가입시 이메일 인증, 회원신고,평가? 이메일인증보단 소셜로그인 배형태 리뷰,댓글,리뷰좋아요 CRUD 완료 POSTMAN 테스트 김건우 파일업로드 구현 관심상품 등록 이준영 상품,카테고리, 채팅(~ing) 거래, openapi 튜터님께 상의 후 재분배 Test코드 작성 - 작성하기에는 도메인이 너무 많다. 작성안해보신분들도 많다. 통합테스트보단 단위테스트 인텔리제이 Http로 통합테스트를 대체하는 방향도 고려 서..