항해 플러스 12

99클럽 코테 스터디 TIL 2일차

오늘의 학습 키워드 : HashMap1. HashMap : 데이터 저장할 때 key와 value가 짝을 이루어 저장, 데이터를 저장할 때 Key값으로 해시함수 실행한 결과를 통해 저장위치 결정.2. HashMap은 특정 데이터의 저장위치를 해시함수를 통해서 바로 알 수 있고 데이터 추가, 삭제, 검색이 빠름3. HashMap은 Key 값을 통해서만 검색이 가능, HashMap의 Key값은 중복될 수 없고, Value 값은 Key 값이 다르다면 중복이 가능.  HashMap 메서드데이터 저장1. V put(K key, V value) : key와 value를 저장.2. void putAll(Map m) : Map m의 데이터를 전부 저장3. V putIfAbsent(K key, V value) : 기존 ..

항해 플러스 2024.05.21

백엔드 4기 WIL 제출

문제 이번 주차를 지나며 겪었던 문제가 무엇이었나요?책임 분리를 통한 애플리케이션 설계 챕터에서 다루었던 Application Event, Kafka 비동기 메세지 통신을 통한 책임 분리 파트등에 대한 코드작업이 어려웠다. 트랜잭션 변경로직을 어떻게 구성할지와 비동기 상태는 어떻게 적용할지에 대해 고민하는 중에 있다.  시도 문제를 해결하기 위해 어떤 시도를 하셨나요?발제 자료를 더 깊게 학습  해결 문제를 어떻게 해결하셨나요?-  알게된 것 문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?비즈니스 로직과 트랜잭션의 범위에 대한 여러가지 문제 상황 Case애플리케이션 이벤트를 통한 관심사를 분리 상황에서 검증,재고 차감, 주문, 결제 등 많은 관심사에 대한 구분 방법(EventPublish..

항해 플러스 2024.05.18

[백엔드 4기] 9주차 팀별 회고 노트

### 1. 문제 **(과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제)**이번 주차를 지나며 겪었던 문제가 무엇이었나요?이커머스 프로젝트에 유저 포인트 사용/충전에 대해서 History를 남기고, 인덱스 고려등을 많이 하지 않은거 같아서 조금 어려운 부분이 있었습니다. ### **2. 시도**문제를 해결하기 위해 어떤 시도를 하셨나요?시도라기 보다는 주문아이템 테이블에 대해서 orderId를 이용해서 인덱스를 걸거나, 사용자 포인트 사용/충전에 대해서 History를 남기는 것을 차주에 진행해야 할 거 같습니다. ### **3. 해결**문제를 어떻게 해결하셨나요?- ### **4. 알게된 것**문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?DB 조회 쿼리 성능 개선을 위해 Index..

항해 플러스 2024.05.11

[백엔드 4기] 8주차 팀별 회고 노트

이번 주차를 지나며 겪었던 문제가 무엇이었나요?=> 동시성 문제를 이해하고 각 이슈에 대해서 적절한 동시성 문제를 분석하고 반영하는데 조금 어려움이 있었다. 문제를 해결하기 위해 어떤 시도를 하셨나요?=> DB락(낙관적 락, 비관적 락), Redis 분산락 등 다양한 해결방법을 찾아보고 학습하였다. 문제를 어떻게 해결하셨나요?=> DB, 분산락 등 여러가지 방법등을 학습하고 프로젝트에 반영   문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?=> 레디스를 활용한 분산락 방식에 여러가지 방식이 있다는 것을 파악하였고 프로젝트에 적용하려고 시도 이번 주를 마무리 하며 나에게 만족했던 부분은 무엇인가요?=> 레디스등 분산 락 적용시 락 획득과 트랜잭션의 순서 중요성을 배우는데 스스로 많은 도움이 ..

항해 플러스 2024.05.04

[백엔드 4기] 7주차 팀별 회고 노트

[WIL 작성 키워드] 문제 이번 주차를 지나며 겪었던 문제가 무엇이었나요?CI / CD 과정에서 CI 과정에 집중하고 CD 과정은 대체로 진행을 하지 않았습니다.그리고 CI 과정에서 빌드 뿐 아니라 lint, coverage ( jacoco ) 등 다른 장치를 포함시키는 과정을 진행하지 않아 차후에 천천히 진행해야 할 거 같습니다. 시도 문제를 해결하기 위해 어떤 시도를 하셨나요?Github Action에 대해 자세히 공부하고 연동되는 여러가지 내용을 반영하면서 CI에 대해 제대로 다루어 보는 시간을 따로 가져야 할 거 같습니다. 그리고 추후에 AWS ECR / ECS 등등 여러 콘솔을 다루면서 CI / CD 통합과정을 제대로 해보는 과정을 진행할 예정입니다. 해결 문제를 어떻게 해결하셨나요?- 알게된..

항해 플러스 2024.04.27

[백엔드 4기] 6주차 팀별 회고 노트

KPT 중심의 회고록(WIL)을 작성합니다. Keep : 현재 만족하고 계속 유지할 부분 코드를 작성하고 부족한 부분은 다른 조원들의 깃허브를 참고하고 피드백 받는 과정을 계속해서 유지하고 싶습니다. 그리고 저녁 멘토링 시간 때 코치님들과 다른 조원들은 어떻게 진행해가고 있는지를 공유하고 파악해나가면서 이 부분을 이어나가고 싶습니다. Problem : 개선이 필요하다고 생각하는 문제점 API 구현 및 테스트 및 해야할 todo list를 계속해서 미루는 과정을 고쳐야 할 거 같습니다.. 그리고 TDD를 하는 과정에서 테스트 코드를 먼저 작성하고 API 구현을 넘어가야 하는데 api 구현을 먼저하고 테스트 코드를 작성하는 과정이 생겨서 한 일관성 있는 방식을 정해놓고 앞으로 남은 과제를 진행해야 할 거 같..

항해 플러스 2024.04.20

백엔드 4기 WIL 제출

문제 이번 주차를 지나며 겪었던 문제가 무엇이었나요? => 비즈니스 별 단위 테스트 및 통합 테스트 적용 시 정확한 개념을 적립하지 못했던거 같습니다. 시도 문제를 해결하기 위해 어떤 시도를 하셨나요? 1주차 ~ 3주차까지 배운 개념을 다시 한번 살펴보고 다른 조 팀원들의 코드를 살펴보았습니다. 해결 문제를 어떻게 해결하셨나요? => 멘토링 시간에 Repository(통합테스트로 구현), Controller(통합테스트로도 구현, 단위테스트 진행 예정), Service별로 단위 테스트, 통합 테스트를 구분해서 작성하는 방법을 찾아보고 적용하였습니다. 알게된 것 문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요? => 테스트 코드 작성 시 더미 객체를 생성하고(e.g, Fixture Monkey ..

항해 플러스 2024.04.13

[백엔드 4기] 5주차 팀별 회고 노트

### 1. 문제 **(과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제)**이번 주차를 지나며 겪었던 문제가 무엇이었나요?=> 비즈니스 별 단위 테스트 및 통합 테스트 적용 시 정확한 개념을 적립하지 못했던거 같습니다.### **2. 시도**문제를 해결하기 위해 어떤 시도를 하셨나요?1주차 ~ 3주차까지 배운 개념을 다시 한번 살펴보고 다른 조 팀원들의 코드를 살펴보았습니다.### **3. 해결**문제를 어떻게 해결하셨나요?=> 멘토링 시간에 Repository(통합테스트로 구현), Controller(통합테스트로도 구현, 단위테스트 진행 예정), Service별로 단위 테스트, 통합 테스트를 구분해서 작성하는 방법을 찾아보고 적용하였습니다.### **4. 알게된 것**문제를 해결하기 위해 시도하며 ..

항해 플러스 2024.04.13

백엔드 4기 WIL 제출

문제 이번 주차를 지나며 겪었던 문제가 무엇이었나요? 시퀀스 다이어그램 및 ERD 작성에 있어서 모르는 것도 많고 이슈가 많아서 어려움을 겪었습니다. 시도 문제를 해결하기 위해 어떤 시도를 하셨나요? 시퀀스 다이어그램 및 erd를 지원해주는 여러 사이트 및 툴을 참고하였습니다. 해결 문제를 어떻게 해결하셨나요? 멘토링때 코치님이 말씀해주신 피드백을 반영하고 ERD에서 고려해야할 요소를 생각하면서 작성하였습니다. 알게된 것 문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요? 개발단계 전 마일스톤으로 일정을 관리하고 시퀀스 다이어그램 및 플로우 차트를 통해서 개발흐름을 파악하고 이에 필요한 API Spec과 Mock API를 작성하는 것을 배우게 되었습니다. 지난 목표 회고 지난 주에 설정해두었..

항해 플러스 2024.04.06

[백엔드 4기] 3주차 팀별 회고 노트

Keep : 현재 만족하고 계속 유지할 부분=> 궁금한 부분이나 개념중에 학습이 필요한 내용은 팀원들끼리 여러가지 피드백을 주고받으면서 진행해왔고 앞으로도 평일 정기모임때 이슈사항이 생기면 계속해서 공유해야 할거 같습니다. Problem : 개선이 필요하다고 생각하는 문제점=> 멘토링 때 받은 피드백 내용을 과제코드에 적절히 녹이는게 제일 중요한거 같고 제가 1주차 2주차때 학습을 소홀히 한 부분이 조금 있어서 개선이 필요하다고 생각합니다.  Try : 문제점을 해결하기 위해 시도해야할 것=> 각 챕터에서 요구하는 과제에 대한 개념을 정확히 이해하고 코치님께 받은 피드백 내용을 적절하게 코드에 적용하는 습관이 필요하다 생각합니다.

항해 플러스 2024.03.30