본문 바로가기

분류 전체보기431

이펙티브 소프트웨어 테스팅 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=311329128 이펙티브 소프트웨어 테스팅 소프트웨어 테스트는 선택이 아닌 필수다. 훌륭한 테스트는 소프트웨어 개발 프로세스 자체를 보다 효율적으로 만들어준다. 이 책에서 소개하는 실제 사례와 함께 상세히 설명된 코드 샘플을 www.aladin.co.kr https://festa.io/events/3376 개발자, 한 달에 책 한 권 읽기 2023년 4월 모임 | Festa! Festa에서 당신이 찾는 이벤트를 만나보세요. festa.io 다양한 테스트기법들을 구체적인 예시로 소개해준 것이 이 책의 장점이다. 인상 깊게 읽은 부분 - 100%의 커버리지가 시스템을 제대로 테스트했다는 것을 의미하지 않지만, 커버리.. 2023. 4. 30.
웹소설 서비스 만들기-5 프로젝트 피드백 프로젝트로 얻고 싶은 점 고민해보기 프로젝트를 보는 3자의 입장에서는 코드를 하나하나 상세하게 보는 것이 아니다. 의사 결정을 왜 했고, 어떤 순서대로 했고, 어떤 문제들을 해결했는지 정리해두는 것이 좋다. 가독성 패키지 구조 정리가 잘 되었다. 전략패턴을 사용한 부분이 있는데, 당장 필요하지 않으면 사용하지 않아도 괜찮을 것 같다. 이벤트를 주고 받는 부분. 이벤트 사용과 더불어 트랜잭션 처리의 정리가 필요할 것 같다. 이벤트를 사용할 때 어떻게 작동하는지 주석으로 설명해두면 좋을 것 같다. 유효성에는 validate로 표현해보면 더 좋을 것 같다. 트랜잭션 경합이 발생할 부분에서는 원자적 업데이트를 처리를 하는 것이 좋다. JPA사용하면서 충돌 구체화가 되는 컬럼은 주의하는 것이 좋다.. 2023. 4. 30.
웹소설 서비스 만들기-4 SPRING BOOT 3 이번 프로젝트에서는 스프링부트3 으로 개발을 진행해보았습니다. 기능 구현을 진행하면서 만났던 이슈들을 정리해보았습니다. QueryDSL 스프링부트2 에서 사용했던 설정이 안되서 새롭게 3.0의 설정을 찾아보았습니다. https://www.inflearn.com/chats/700670/querydsl-springboot-3-0%EC%9D%98-gradle-%EC%84%A4%EC%A0%95%EC%9D%84-%EA%B3%B5%EC%9C%A0%ED%95%A9%EB%8B%88%EB%8B%A4 Security WebSecurityConfigurerAdapter가 deprecated 되었기때문에 새롭게 security 설정을 학습하여 적용했습니다. Swagger Swagger를 붙였을때는 평.. 2023. 4. 17.
웹소설 서비스 만들기-3 결제 결제. 쉽지 않다. 무난하게 생각하면 필요한 상품정보 받고, 돈을 지불하면 끝이지만, 갑자기 여러명이 동시에 요청을 했다면?! 한번만 어떻게 결제를 처리할 수 있을까? 우선 생각나는 아이템은 메시지큐, 레디스 정도이다. 레디스를 사용하면 동시성 제어의 장점을 살리면서 처리할 수 있다. 싱글 스레드로 작동해서 결제하기전 정보와 요청정보를 비교함으로서 중복결제를 피할 수 있을 것 같다. 하지만 지금은 레디스는 사용하지않고 해결해보기로 했다. 비용적인 측면에서 메시지큐도 제외. 락 결국은 동시에 못가져가게 막아야한다. 대체 결제에 무엇을 못가져가게 막아야할까? 재고처럼 키를 두고, 사용했는지 안했는지 확인하면 되지 않을까? 발급키를 주고 사용했는지 안했는지 여부로 중복을 막아보기로 했다. 일부 개념은 카.. 2023. 4. 17.