전체 글(253)
-
[데브툰] 이제 너만 믿는다, 테스트 코드 작성하기
데브툰 프로젝트를 진행하면서 작성한 테스트 코드를 소개하려고 합니다. 이론적인 설명보다는 효율적으로 테스트 코드를 작성하는 방법에 대해 고민한 부분을 다룹니다. 또한, 발생한 이슈와 해결 방법도 함께 소개하고, 마지막은 회고로 마무리하는 흐름입니다. 앞으로 글의 가독성을 위해 말을 편하게 할 예정입니다. 양해 부탁드립니다. 🍎🍎🍎 목차테스트 코드를 왜 작성할까?통합 테스트 작성 통합 테스트 이점 유용한 메서드 소개 및 코드 예시@Transactional 롤백이 안 되는 이슈 발생 문제 발생 문제 발생 지점 문제 원인 원인 분석 문제 해결회고 만족한 점 아쉬운 점 다음에는 이렇게 테스트 코드를 왜 작성할까?테스트 코드를 작성하는 이유와 방법을 찾아보면 많은 자료들이 나온다. 대부분 ..
2024.05.08 -
[데브툰] 다양한 정책을 쉽게 등록하고 삭제하기
목차현재 상황 정책 등록 api 구현 팀원의 코드 리뷰리팩토링 추가 고려 사항, 코드 구현 문제 발생 대안 해결 테스트회고 만족한 점 아쉬운 점 다음에는 이렇게 현재 상황데브툰 프로젝트를 진행하면서 나는 확장성 있는 설계 부분을 맡았다. 현재 프로젝트에는 쿠키 가격 정책과 비속어 정책이 존재하고 기획 단계에서는 쿠키 정책만 등록하기로 했었다. 하지만 추후 더 다양한 정책이 등록될 가능성이 있으며, 이를 효과적으로 관리하기 위해 처음부터 쉽게 등록하고 교체할 수 있는 프로그램을 만드는 것을 목표로 하고 기획을 수정했다. 정책 등록 api 구현나는 어떻게 하면 확장성 있는 코드를 만들고, 유지보수성 또한 높일 수 있을까 고민을 하면서 구현에 들어갔다. 1. 정책 인터페이스(Policy)..
2024.05.07 -
[데브툰] Git 활용하여 자신있게 프로젝트 협업하기
목차그래서 어떤 협업을 진행했는가 팀 프로젝트의 시작 협업 관련 회의 진행 ♾️ 간단 소개 코드 컨벤션 및 우리만의 약속 GitHub Projects를 통한 형상관리 이걸로 Git + 협업 종결 임시 저장, stash git 충돌 해결, 수시로 develop pull 습관화 commit 히스토리 정리, rebase 회고 만족한 점 아쉬운 점 다음에는 이렇게 그래서 어떤 협업을 진행했는가개인 프로젝트를 세 번 진행하며 Git을 사용했지만, 단순히 기능(feature)만 나누는 것에 그쳐 아쉬움이 있었다. 팀 프로젝트를 하면서 Git을 제대로 활용하고자 협업 관련 회의를 지속적으로 진행했다. 기획 단계에서 우리만의 코드 컨벤션과 약속을 정했고, 이는 앞으로의 개발을 일관성 있게 진..
2024.05.01 -
[데브툰] 프로젝트 기획부터 설계까지
목차프로젝트 기획프로젝트 목표프로젝트 기간 및 기술 스택설계 아키텍처 및 패키지 구조 요구사항 분석 ERD 시퀀스 다이어그램 와이어 프레임회고 만족한 점 아쉬운 점 다음에는 이렇게 프로젝트 기획개발자 유머 짤들을 종종 보면서 재미있기도 하고, 개발자들끼리 대화할 때 사용하면 좋겠다는 생각이 들었다. 이런 재미있는 짤들을 한 곳에 모아 적재적소에 사용할 수 있는 플랫폼을 만들기로 했다. 이 플랫폼의 목표는 개발자들이 쉽게 유머 짤들을 찾고 즐기고 사용할 수 있도록 하는 것이다. 프로젝트 목표요구사항 분석 후, 바로 개발을 시작하기 전에 각자 달성하고 싶은 목표를 명확히 정했다. 목표 기간에 비해 많은 시간을 투자했지만, 결과적으로 개발 도중 '나 지금 뭐 하는 거지?'라는 생각을 하지 않도록..
2024.04.30 -
[선착순 상품 구매 프로젝트] Pessimistic Lock(비관적 락, 선점 잠금), Optimistic Lock(낙관적 락, 비선점 잠금)으로 동시성제어하기
특정 시간대에 집중된 주문 요청이 발생하는 [선착순 상품 구매 프로젝트]를 진행하면서 동시성 문제를 맞땋드렸습니다. synchronized 키워드 활용, 낙관적 락, 비관적 락을 활용해 동시성 제어를 통합 테스트로 확인해보았습니다. 두 포스팅으로 나눠서 어떤 이유로 해당 방법을 사용했는지 저만의 문제 접근 방식을 기술해 보도록 하겠습니다. 1. [선착순 상품 구매 프로젝트] 자바 synchronized 키워드 적용으로 동시성 제어하기2. [선착순 상품 구매 프로젝트] Pessimistic Lock(비관적 락, 선점 잠금), Optimistic Lock(낙관적 락, 비선점 잠금)으로 동시성제어하기 목차문제 상황문제 분석해결 방법구현 및 테스트 결과아쉬운 점 및 한계점향후 학습 문제 상황주문/결제 요청 시..
2024.04.13 -
[선착순 상품 구매 프로젝트] 자바 synchronized 키워드 적용으로 동시성 제어하기
특정 시간대에 집중된 주문 요청이 발생하는 [선착순 상품 구매 프로젝트]를 진행하면서 동시성 문제를 맞땋드렸습니다. synchronized 키워드 활용, 낙관적 락, 비관적 락을 활용해 동시성 제어를 통합 테스트로 확인해보았습니다. 두 포스팅으로 나눠서 어떤 이유로 해당 방법을 사용했는지 저만의 문제 접근 방식을 기술해 보도록 하겠습니다. 1. [선착순 상품 구매 프로젝트] 자바 synchronized 키워드 적용으로 동시성 제어하기2. [선착순 상품 구매 프로젝트] Pessimistic Lock(비관적 락, 선점 잠금), Optimistic Lock(낙관적 락, 비선점 잠금)으로 동시성제어하기목차문제 상황문제 분석해결 방법구현 및 테스트 결과아쉬운 점 및 한계점향후 학습 문제 상황주문/결제 요청 시..
2024.04.12