2024/05/20 2

99클럽 코테 스터디 1일차 TIL: [프로그래머스] 베스트앨범

https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr정렬 조건에 주의해야 하며, 그 외로는 해시를 사용하여 단순히 구현만 하면 되는 문제이다. 그런데 이렇게도 생각하고 저렇게도 생각해야 해서 간단한듯 좀 지저분하게 코드를 짠 거 같다.. 좀 더 효율적으로 풀 수 있는 방법이 생각나면 수정해야겠다. 그리고 항상 동적으로 배열 길이가 정해질 때, List에 값을 먼저 채운 후 list.size() 만큼의 크기의 배열을 선언하여 리스트 값을 배열로 옮기는 작..

CS/Algorism 2024.05.20

멀티 스레드 환경에서 @Transactional을 사용할 때 주의할 점

이 글에서 소개하는 내용은 동시성 환경을 테스트하기 위한 테스트 코드를 작성하던 중에 만난 문제이다. 문제우선 다음과 같이 동시성 환경을 테스트하기 위한 테스트 코드를 작성했다. 게시글인 post 엔티티를 save() 한 후10개의 스레드에서 해당 엔티티를 조회해와서 좋아요를 등록한다.@Transactional@SpringBootTestclass PostServiceTest { @Autowired private PostService postService; @Autowired private PostRepository postRepository; @Test @DisplayName("좋아요 등록 성공-한 사람이 동시에 여러번 좋아요를 눌러도 중복 저장되지 않아야 한다.") void ..

Trouble Shooting 2024.05.20