2024-12-12 개발일기
·
개발 기록
오늘도 `StudyWithMe` 프로젝트를 진행을 했다. 오늘은 스터디 룸의 QnA에 대한 `CUD API` 및 테스트 코드 작성 그리고, `RESTful`에 좀 더 적합한 API Endpoint 작성을 위해 코드를 수정했다.  그리고 기본적인거였겠지만... `@ManyToOne` 관계에서 `Lazy Loading`을 했을 때,연관된 엔티티의 값을 읽으려고 시도하면 쿼리가 한 개가 더 나간다는 사실은 `JPA`를 학습한 사람들이라면 전부 알 것이다. 근데 딱 그것만 알고 있었는데 오늘 코드를 짜면서 알게 된 것이아니 `Lazy Loading`이여서 `.getId()`를 했을 때 쿼리가 한 개 나가야되는데 왜 안나가지? 궁금해서 이것저것 찾아본 결과 `Lazy Loading`이여도 연관된 엔티티의 `ID`..
2024-12-10 개발일기
·
개발 기록
오늘은 `StudyWithMe`에서 이용후기 및 이용후기 답글에 관한 `CREATE`, `UPDATE` API 및 테스트 코드를 작성했다. 작성하다가 `Native Query`를 사용하지 않고 JPQL로만 하면 불필요하게 쿼리가 많이 나가는 경우가 있어서`Native Query`를 사용해서 구현했다. 3개 나가던 쿼리를 1개로 줄였다고 할 수 있다. 이용후기 작성에 생각보다 따저줘야 할 것들이 많아서 시간이 좀 걸렸다..
2024-12-08 개발일기
·
개발 기록
요즘 `StudyWithMe`라는 프로젝트를 진행하면서 정답인지는 모르겠으나 코드를 하나하나 짤 때마다 왜를 고민하면서 코드를 작성하고 있다. 그렇게 코드를 작성하다보니 지금 비공개로 돌린 포스팅 해야 할 거리들이 굉장히 많은데.. 현재 비공개로 돌려 놓은 `StudyWithMe`의 포스팅 거리는 아래와 같다. Postgresql 기본 키 생성 전략 Identity vs SequenceFlyway의 활용 방법과 조심해야 될 부분스터디 룸 UPDATE API 작성 시 고민의 흔적들단위 테스트를 작성하는 것에서 통합 테스트로 변경하게 된 이유Offset 방식 대신 Cursor 방식을 활용하게 된 이유와 그 과정동시성 문제 확인을 위해 테스트 코드를 작성하며 다른 스레드에서 수행됨에 따른 트랜잭션 개념 이후로..
2024-11-30 학습일기
·
개발 기록
스터디 윗 미라는 프로젝트를 새롭게 시작하면서  Jira, postgresql, flyway를 활용하고 있다.    추후에 포스팅하겠지만 `Flyway`라는 것을 사용하다보니 데이터베이스 설계나 `Entity` 설계에 있어서 되게 신중해지는 것 같다.
2024-11-25 학습일기
·
개발 기록
오랜만에 학습일기를 쓰는 것 같다. 지금 백엔드 취준하시는 분들 정말 화이팅입니다.   요즘 테스트 코드를 복습한 뒤 진행중인 사이드 프로젝트에 적용해보고 있다. 어느정도 구체적인 테스트 코드를 작성하는 것이 맞을까? 성공 케이스? 실패 케이스? 아니면 핵심 로직?  그리고 요즘 드는 생각이 확실하게 뇌는 확장이 되지 않는 큐가 맞다. 전부 열심히 공부했는데 새로운 지식이 들어올수록 빠져나간다.  알고리즘 문제도 풀었다. 무려, 이름도 코딩 테스트 공부 알고리즘코딩 테스트 공부
2024-11-04 학습일기
·
개발 기록
2024.11.04 - [Spring/WebSocket] - [Spring WebSocket] SSE vs WebSocket [Spring WebSocket] SSE vs WebSocketSSE와 WebSocket, 그들은 왜 실시간 통신 환경에서 자주 비교될까?우리가 알림과 실시간 채팅 같은 서비스를 구현할 때, 우리는 자연스럽게 두 가지 기술 사이에서 고민한다.`SSE`와 `WebSocket`은 각기hdbstn3055.tistory.com 2024.11.04 - [Spring/WebSocket] - [Spring WebSocket] WebSocket [Spring WebSocket] WebSocketWebSocket 이란?`WebSocket` 프로토콜은 표준 된 방법으로 `서버-클라이언트` 간에 단일..