기록하며 성장한다 - 개발, 회고

개발 회고록 20

[ 개발 회고록 ] 테스트 코드 작성 시, @Transactional 어노테이션을 사용하는 것에 대한 짧은 생각

현재 필자가 진행하고 있는 배달 토이프로젝트가 있다. ( 프로젝트 링크 > 필자 TIL 블로그 ( 트랜잭션 ) 3. 결론 @Tranasactional 어노테이션을 테스트 코드에서 무조건 쓰지 말라는 것이 아니다. 필요한 부분에서는 충분히 사용할 수 있다. 그러나, 위와 같은 문제점이 발생할 수 있다는 것을 알아야 테스트에서 발생하는 여러 문제들을 사전에 막을 수 있고, 발생하여도 대처할 수 있다. 그래서 특히, @Transactional 이 붙은 실제 서비스 메서드를 테스트 할 때는 더욱 주의해야 한다. 마지막으로 적어도 팀 내에서는 @Transactional 을 테스트 코드에서 사용할 지 말지를 통일 하는 것이 좋다고 생각한다. @Transactional 을 사용하지 않을 거라면, 명시적으로 데이터를 ..

개발 회고록 2024.01.10

[ 개발 회고록 ] Thread 와 Thread의 데이터 공유

개별 TIL 블로그에도 정리한 내용이다. https://jeondaehong.github.io/TIL/jekyll/2023-11-29-cs-12.html CS - Process vs Thread Deep · Daehong TIL Blog No results matching "" jeondaehong.github.io Thread 와 Thread 사이에 데이터를 공유해야 하는 일이 생겼다. 하나의 공유 데이터를 동기화 시키는 것이 아니라, A Thread 가 가진 데이터를 B Thread 로 옮겨주는 일이었다. 이 때 의문이 들었다. 어떻게 옮길 수 있을까? 방법은 여러가지가 있을 수 있다. 하나는 공유할 수 있는 static 변수를 활용하는 방법이고, 다른 하나는 Queue 를 활용하는 방법이었다. 물론..

개발 회고록 2024.01.02

[ 개발 회고록 ] 병렬 프로그래밍과 비동기 구현

해당 포스팅은 JPA native Query와 Spring Boot를 이용한 CRUD 개발 4편이다. F-lab 멘토링 과제를 위한 개발을 진행중이며, 멘토님께 피드백을 받으며 개발을 할 때 신경써야 하는 부분을 찾아가고 있다. 이전 글 getBoardViewRedis(boardId)); return boardFuture.thenCombine(redisViewFuture, (board, redisView) -> { BoardVo boardVo = BoardVo.fromBoardEntity(board); boardVo.setBoardView(board.getBoardView() + redisView); double averageScore = scoreRepository.getBoardAverageScore..

개발 회고록 2023.11.29

[ 개발 회고록 ] 게시글 평균 점수 기능을 구현해보자

해당 포스팅은 JPA native Query와 Spring Boot를 이용한 CRUD 개발 3편이다. F-lab 멘토링 과제를 위한 개발을 진행중이며, 멘토님께 피드백을 받으며 개발을 할 때 신경써야 하는 부분을 찾아가고 있다. 이전 글 Entity 과정을 거치는데, 불러올 때는 Entity -> VO 순서를 거친다. 불러올 때는 아직 DTO를 만들 필요가 없다고 느꼈기 때문이다. 아무튼 VO에 averageScore 라는 필드를 추가하여, 거기에 Set을 시켜준다. Controller @PostMapping("/board/score/register") public ResponseEntity registerScore(@Valid ScoreDto scoreDto, HttpSession session) { ..

개발 회고록 2023.11.27

[ 개발 회고록 ] JPA nativeQuery와 SpringBoot를 이용한 CRUD 개발

해당 포스팅은 JPA native Query와 Spring Boot를 이용한 CRUD 개발 1편이다. F-lab 멘토링 과제를 위한 개발을 진행중이며, 멘토님께 피드백을 받으며 개발을 할 때 신경써야 하는 부분을 찾아가고 있다. 간단한 CRUD를 개발해 보기로 했다. 퇴사를 한 이후, 이론 공부도 좋지만 개발의 감을 잃지 않기 위해서도 있고, F-lab를 하는 중 멘토님이 만들어보라는 과제를 주셨기 때문이다. 다만 걱정인 부분은 이전에 다니던 회사에서 개발하던 방식이 손에 익어있는데, 그 방식이 너무 오래된 개발 방식이라는 점이다. 그래서 개발을 하면서 중간중간 피드백도 받고, 그에 따라 수정하는 식으로 진행하려 한다. 참고로 해당 글은 CRUD 개발을 알려주는 글이 아닌, 필자가 개발을 하고 그 코드 ..

개발 회고록 2023.11.21