부트캠프 4

부트캠프 회고록

2023년 10월 20일을 끝으로 6월 26일부터 참여했던 부트캠프가 끝났습니다. 4개월 조금 안되게 참여하면서 많은 것을 배우고 성장했다고 생각합니다. 배운 점 & 성장한 점 - 기술적인 부분 1. 단순 CRUD 외에 Spring Cache, AOP, JWT 활용 등 한 단계 높은 기술들을 다루면서 프로젝트를 진행하며 백엔드 관점에서 한 단계 더 깊게 코드를 볼 수 있는 능력을 길렀습니다. 2. 마지막 프로젝트에서 Spring Batch를 사용해서 대용량 처리를 해보고, Pessimistic Lock(비관적 락)으로 동시성 문제를 처리해보면서 백엔드 개발자 채용공고에 적혀있는 '대용량 데이터 처리', '대용량 트래픽 처리'와 같은 문구에서 뜻하는 바가 무엇인지 알게 되었고, 조금씩 발을 들여놓게 되었습..

부트캠프 2023.10.24

세 번째 팀 프로젝트 회고 - 쿠폰, 회원 등급 담당

기간: 2023.08.28 ~ 09.22 개발환경: Java, Spring, AWS EC2/RDS/S3, Rabbit MQ 의류 쇼핑몰 백엔드 5명, 프론트엔드 5명이서 개발 나의 역할: 쿠폰, 회원 등급 담당 목표: 동시성 처리하기 - Lock 사용, synchronized 사용 등, Spring batch 사용해서 대용량 처리하기, JMeter로 성능 테스트하기 1. 동시성 문제 해결(쿠폰) synchronized 키워드 Java에서 제공하는 키워드 메소드 단위에 락이 걸리거나 서비스 인스턴스에 락이 걸리는 등 너무 큰 단위로 락이 걸려서 효과적이지 않았습니다. 성능 이슈 하지만,, 다른 방법, JPA에서 Lock 걸기 낙관적 락 - 기본적으로는 경합상황이 벌어지지 않는 것을 가정 - 커밋하고 충돌이..

부트캠프 2023.09.22

두 번째 팀프로젝트 회고 - 상품 조회, 옵션 및 AWS RDS 담당

기간: 2023.08.14~08.25 개발환경: Java, Spring, AWS RDS/EC2 고양이 용품 쇼핑몰, Roupang 백엔드 6명, 프론트엔드 5명이서 개발 백엔드 역할 분배: 회원 2명, 마이페이지와 장바구니 2명, 쇼핑몰과 판매자: 2명 나의 역할: 쇼핑몰 - 상품 옵션, 상품 조회, 검색 및 AWS RDS 관리 담당 목표: Stream API 많이 사용하기, 검색 및 조회 부분에서의 성능 향상 1. 복잡한 옵션 테이블 이커머스의 경우, 상품 옵션 관련된 부분을 NoSQL로 처리하는 것으로 알고 있었습니다. NoSQL은 스키마 변경이 자유로워서 확장성이 좋기 때문이고 배열로 값을 저장할 수 있기 때문입니다. 하지만, 저희 프로젝트 요구사항에 MySQL을 사용하라는 것이 있었습니다. 따라서..

부트캠프 2023.08.29

첫 번째 팀프로젝트 회고 - JWT 담당

기간: 2023.08.07~08.11 (근데 사실상 3.5일정도 진행했다.) 개발환경: Java, Spring, AWS RDS 게시판 만들기 총 5인 백엔드 개발 협업 프로젝트 - 나의 역할: JWT 부분 담당 목표: JWT 토큰을 이용하여 유저 관련 기능, 로그인 기능을 개발할 때, Spring Security를 이용하는 것보다 쉬운 방법을 찾아보자! Argument Resolver를 이용해보자!HandlerMethodArgumentResolver를 implements한 MemberArgumentResolver를 만들었습니다. supportsParameter와 resolveArgument 두 가지 메소드를 오버라이드하여 사용하였습니다. MemberArgumentResolver가 JWT 토큰의 내용을 A..

부트캠프 2023.08.11