본문 바로가기

분류 전체보기

(262)
SQL count(*) 맨날 헷갈린다. 맨날 헷갈려서.. 정리.. 담에 글을 모두 볼 때 다시 볼 수 있게 count(*) : 행의 개수 null이든 뭐든 존재하는 모든 row의 개수 count(col) : 특정 컬럼이 null이 아닌 row의 개수 가져오기
[JPA] @Transcational의 유무에 따른 동작 차이 https://velog.io/@roro/JPA-JPQL-update-%EC%BF%BC%EB%A6%AC%EB%B2%8C%ED%81%AC%EC%99%80-%EC%98%81%EC%86%8D%EC%84%B1-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8 [JPA] JPQL update 쿼리(벌크)와 영속성 컨텍스트 JPQL의 update 쿼리 호출 후 발생하는 상황에 대해 알아보자. Post Entity 먼저 테스트를 위해 id와 title만 있는 간단한 Post 엔티티를 생성한다. PostRepository PostRepository를 인터페이스 만들고 JpaReposi velog.io 제목을 잘 지은것 같다. ㅎㅎ 먼저 위의 블로그에 정리된 2가지 이슈를 반드시 보고 오자. 저걸 모르면..
DB설계시 PK를 int Auto Increment VS UUID https://americanopeople.tistory.com/378 UUID와 increment PK는 언제 사용해야할까? 1. 기본키로 UUID를 사용할 때 오는 이점 테이블의 기본키로 UUID를 사용하는 방법은 3가지 이점이 있다. (a) 데이터베이스가 여러 개인 경우, 하나의 ID가 여러 데이터베이스에서도 고유한 값이라고 americanopeople.tistory.com 좋은 글. 하지만 티스토리에서는 Auto Increment값을 사용해서 글을 보여주고 있다.
2022.8.4 며칠전 동아리 형이랑 넣은 창업 캠프에 합격. 경쟁률이 얼마나 되었는지는 모르지만 항상 합격 소식은 반갑고 기쁘다! 포켓캠프라는 창업 캠프인데 동아리 활동만했지 이런 캠프는 처음이라서 뭘 어떻게 해야하는지 감이 안잡힌다. 이번주 토욜에 만난다는데 자기소개를 준비해가야하는 것 같다. 떨린다. 잘 준비해봐야겠다. 그리고 오늘 희망과목담기를 마무리 했다. 이번에는 꼭 수강신청을 성공하겠다. 저번에 실패하고 실패원인을 나름 분석. 몇줄로 적어놓았는데 다시 보니 큰 도움이 되었다. 저번 수강신청을 왜 실패했고 어떻게 해보는게 좋을지 적혀있었다. 역시 기록을 남기는 습관이 중요하다. 며칠 전 킥보드 타다 넘어져서 무릎이 까졌다. 생각보다 쓰렸다. 그래서 10일넘게 운동을 못했다. 그러다 오늘 딱지가 좀 앉은거 같아..
controller, service, repository 아키텍처의 고민(미완) 서로 독립적이어야 할까? 아니면 서로 유기적이어야 할까? 어떻게 하느냐에 따라서 controller - service 의 정보전달에 차이가 생긴다. 쉽게 말하면 service layer의 함수 리턴값이 void인지 DTO값인지 결정됨. 뭐가 좋은지와 그 근거를 모르겠다...
SpringBoot static final에 DI하기? 아래는 Test클래스의다. 보통 Autowired를 사용할 때는 final 을 사용했다. final을 사용하면 빨간줄 뜬다. static을 빼고 final만 사용하면 빨간줄 안뜬다. -> 객체의 생성시점이 달라서 그렇다. static은 스프링 빈이 로딩되기 전에 초기화 된다. static final은 static변수가 생성되면서 바로 초기화되어야 하는데 이 시점에는 아직 빈이 없기 때문에 값을 넣을 수가 없는 것. static final에 빈을 넣을 수는 없다. (final은 생성과 동시에 초기화 해야함.) static이 있으면 static을 담고 있는 객체가 생성되기 전에 바로 객체가 생성되기 때문에 final을 붙이면 에러뜨는 것.(context가 로드되지 않은 시점에서 초기화 되기 때문에 null인..
[spring boot] org.mockito.exceptions.misusing.InvalidUseOfMatchersException: Invalid use of argument matchers!2 matchers expected, 1 recorded: 단위 테스트 도중 아래와 같은 예외 발생. org.mockito.exceptions.misusing.InvalidUseOfMatchersException: Invalid use of argument matchers! 2 matchers expected, 1 recorded: 핵심을 실제 값을 넣으면 안되고 matcher를 사용해서 넣어야한다. @Test public void findByStoreTest() { //given Store s = Store.builder() .uuid(UUID.randomUUID()) .build(); Cake c = Cake.builder() .uuid(UUID.randomUUID()) .store(s) .build(); Customer customer1 = Customer..
springboot 로컬에서는 테스트 통과하는데 aws linux에서는 통과못함.. # 로컬에서는 모든 테스트를 통과하는데 aws에서만 유난히 계속 실패했다... 얻은 교훈 : 역시 코딩할 때는 하나부터 열까지 다 의심하고 이게 맞을까?라고 생각할 시간에 검증해보는게 빠르다.. # 이유를 찾고자 하나씩 수정하면서 commit을 날렸다. 혼자 작업하는 거라서 커밋 어떻게 날리든 상관없었음.. Test클래스에 @Commit도 붙이고 괜히 @modifying도 붙여보았다. 근데 이들은 문제가 아니었다. 마지막 커밋에서 나와있듯이 Store->store로 바꿔서 해결할 수 있었다. 왜인지 알아보자. # 먼저 위의 사진을 보면 StoreRepositoryTest의 findByLocation()에서 예외 발생이다. 오류 스크린샷을 보면 StoreRepositoryTest:112에서 발생한다고 나와..