Project(39)
-
[데브툰] 다양한 정책을 쉽게 등록하고 삭제하기
목차현재 상황 정책 등록 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 -
MyBatis와 JPA의 차이, JPA를 선택한 이유는
현재 면접 스터디를 진행 중에 있습니다.개인 프로젝트 관련해서 받았던 질문들 중 대답을 잘하지 못했던 부분들은 따로 정리하고자 합니다. 질문 이력서에 기재된 두 포트폴리오를 통해 JPA와 Mybatis 모두 사용해 봤던데, 기술의 차이점이나 Mybatis나 JPA를 쓰실 때 어떤 이점을 기대하고 사용하신 건지 말씀해 주세요. 😅 어떤 생각으로 두 기술을 사용했냐면..국비 과정에서 팀 프로젝트를 할 땐 배웠던 게 Mybatis여서 다른 선택지를 고려하지 않고 사용했습니다. 그 당시 코드를 작성할 때 느꼈던 점은 여기저기 클래스마다 sql을 작성했기에 정작 중요한 로직을 한 눈에 파악하기 어렵고 복잡했다는 것입니다. 다행히 프로젝트는 성공적으로 끝났지만 유지보수를 어디서부터 해야 할지 막막해..
2023.03.28