본문 바로가기

Team Project64

TIL(51) JPA 관련 에러 고치기 Facts ✅ til repository 수정 ✅ til_search 기능 부분 bug fix Findings 🤔 1차 Error 문제점 처음 JpaRepository에서 쿼리를 요청했을 때, 데이터를 가져와주지 않고 에러가 났다. 🥲 문제 원인 원인을 찾아본 결과, findBy{Column명}을 해줄 때, 기본적으로 column명은 _가 없어야 한다. 해결 그러므로, Entity에 있는 테이블의 컬럼명들을 다 snake case에서 cammel case로 변경해주었다. 위의 방법 외에도 해결방법이 없는지 구글링한 결과, hibernate 설정 파일에서 CamelCase → SnakeCase 변환을 위해선 별도로 설정을 해야 한다는 것을 알게 되었다. 🤔 2차 Error 문제점 TilView가 True이.. 2021. 12. 27.
TIL(50) S3를 이용한 사진 업로드 기능 속도 개선하기 Facts ✅ S3를 이용한 사진 업로드 기능 속도 개선 Findings 문제점 프로젝트를 Flask/Python → Spring/Java로 바꿔주면서, S3와 CloudFront를 이용한 사진 업로드 API 호출 속도가 느려졌다. 🐢 💦 문제 원인 문제의 원인을 파악해보자. S3 이미지 업로드 기능을 위한 Python의 라이브러리는 Boto3를 사용해주었다. Spring으로 바꾸면서, S3 이미지 업로드 기능을 위한 Java의 라이브러리는 amazonS3.putObject()가 있어 이것으로 변경해주었다. 🤔 둘의 라이브러리의 속도 차이가 왜 날까? 멀티 스레딩 기술의 유무 차이로 추측이 되는데, 둘의 라이브러리의 내부 원리를 찾아보자. 1️⃣ Python의 Boto3 Boto3의 공식문서를 보면, S.. 2021. 12. 27.
TDP Final Starting Assignment (21.12.13 ~ 21.12.31) To Do [x] 고객의 피드백을 받아 기능 개선하기, 프론트엔드 수정하기 [x] 배포 확장 [x] 모니터링 시스템 만들어, product 서버의 에러를 바로 확인할 수 있게 만들기 [x] 예외처리하기 마지막 프로젝트는 고객에게 피드백 받아 기능 개선도 해보고, 테스트도 해보기로 했다. 그리고, 컨테이너 기술을 배워보고 싶어서, 팀원 모두가 같이 도커를 배워보고, Docker 환경의 EB + Docker + AWS ECR + GithubAction으로 무중단 배포도 해보기로 했다. 그리고 기능이 어느정도 구현되어 있어서, 자유롭게 이슈 할당해서 해보고 싶은 기능을 추가하기로 했다. 2021. 12. 27.
TDP 3차 회고록 (2021.12.10) 🚧 Keep 1. 개인 면담 1:1 피드백으로 유지할 것과 개선 방향을 깊게 나눌 수 있었어요 ❗ 2. Notion 에 버그 리포팅 버그 리포팅을 통해 내가 찾지 못한 오류를 팀원들이 발견하고 수정할 수 있어요 ❗ 3. Git의 다양한 기능을 사용하여, 프로젝트의 진행사항을 확인 위키, issue, milestone, pull request 등 다양한 기능 사용하여 기록을 남겼어요 ❗ 4. 백엔드 기능에 집중 팀원 모두가 백엔드 기능에 참여하여 각자 배울 점이 많았어요 ❗ 5. 연속적인 자동 배포 연속적인 자동 배포가 되게 하여, 서버의 상태와 기능에 대한 확인을 쉽게 할 수 있었어요 ❗ 6. 보안 강화 설정값 처리, 방화벽, SSL 인증서 등 여러 요소들을 적용하여, 보안을 강화시켰어요 ❗ 🤔 Prob.. 2021. 12. 27.
TIL(49) 21-12-09: CORS 에러 해결하기 Facts ✅ 프론트엔드 아키텍처와 백엔드 아키텍처 연결 ✅ CORS 에러 fix ✅ API 통신 확인 Findings SOP (Same Origin Policy) Same Origin Policy의 약자로, 웹 브라우저의 브라우저 보안을 위해 Same-Origin(프로토콜, 호스트, 포트가 같은) 서버로만 리소스를 주고 받을 수 있도록 하는 정책이다. 왜 다른 출처의 리소스를 사용하는 것을 제한할까? SOP를 이용해 악의적인 리소스를 분리해서 공격의 경로를 줄일 수 있기 위함이다. 하지만, 클라이언트와 서버를 분리하여 개발하는 경우가 많기에, 다른 도메인간에 API 통신을 허용을 위해서 CORS가 등장했다. CORS (Cross Origin Resource Sharing) CORS는 Cross-Orig.. 2021. 12. 27.
TIL(48) 21-12-08: API 문서 자동화와 테스트 코드 작성하기 (Using RestDoc) Facts ✅ 테스트 코드 작성 Using mockMvc - 로그인, 회원가입 ✅ API 문서 자동화 Using RestDoc Findings mockMvc를 사용하여 테스트 코드를 작성하면, 포스트맨을 사용할 필요가 없다. 포스트 맨에서 테스트 하는 것을 mockMvc로 수행하는 것이다. 여기서 테스트를 해보고 테스트 케이스를 만들 수도 있고 RestDoc까지 추가로 사용하면, 테스트를 통해, API 문서화를 할 수 있다. mockMvc를 사용하여, 회원가입과 로그인 부분을 테스트를 했다. mockMvc를 사용하여 통합 테스트하고, RestDoc 설정까지 추가하여 API 문서 자동화할 수 있게 해주었다. @ExtendWith({RestDocumentationExtension.class, SpringEx.. 2021. 12. 27.