[DB 모르는 백엔드 탈출기 Ep.0] JPA가 다 해주는 거 아니었나요?
·
DB 모르는 백엔드 탈출기
1. 들어가며“나는 백엔드 개발자인데… DB를 잘 몰랐다.” 아니, 정확히 말하자면 “몰라도 된다”고 생각했다. Spring Boot를 쓰면 JPA가 알아서 다 해주는 줄 알았다.Entity만 잘 만들면 쿼리가 자동으로 나가고,CRUD는 그냥 되며,join도 fetch 하나면 다 해결되는 줄 알았다. …정확히 말하면그게 해결되는 건지조차 잘 몰랐다.2. 문제 발생 어느 순간부터 이상한 일들이 생기기 시작했다. ❌ 객체는 참조로 연결되어 있는데, DB에서는 join이 필요하다는 말이 이해되지 않았다.❌ @OneToMany를 썼더니 insert가 두 번 나간다는 말도 처음엔 무슨 말인지 감이 오지 않았다.❌ select 한 번 날렸을 뿐인데 콘솔에는 수십 줄의 쿼리가 쏟아졌다.❌ flush, commit, ..
Spring Boot 비동기 처리 = 스레드풀?
·
삽질로그
1. 들어가며이전 포스팅에서 Java의 ExecutorService와 Spring Boot의 스레드풀을 비교하는 방식이 잘못되었다는 피드백(토스 개발자 피셜)을 받았다. 2025.03.09 - [삽질로그] - 여러 요청이 동시에 들어오면, Spring Boot는 어떻게 처리할까? 여러 요청이 동시에 들어오면, Spring Boot는 어떻게 처리할까?1. 들어가며지난 글에서는 웹소켓 핸들러를 Event 기반으로 처리하여 동기 방식으로 해결했다.이를 통해 코드가 더 깔끔해지고 유지보수가 쉬워졌지만, 한 가지 새로운 고민이 생겼다. 🔗 이전mingking2.tistory.com 당시 나는 Spring Boot가 멀티스레딩을 지원하여 동시 요청을 처리할 수 있다는 점을 설명하려 했고,이에 따라 “그럼 Java..
여러 요청이 동시에 들어오면, Spring Boot는 어떻게 처리할까?
·
삽질로그
1. 들어가며지난 글에서는 웹소켓 핸들러를 Event 기반으로 처리하여 동기 방식으로 해결했다.이를 통해 코드가 더 깔끔해지고 유지보수가 쉬워졌지만, 한 가지 새로운 고민이 생겼다. 🔗 이전 글: 2025.03.03 - [삽질로그] - 복잡한 웹소켓 핸들러, Event로 깔끔하게 해결하기 복잡한 웹소켓 핸들러, Event로 깔끔하게 해결하기1. 들어가며최근 아두이노 기반 대여기 시스템을 구축하면서, 서버와 대여기가 WebSocket을 통해 실시간으로 메시지를 주고받는 구조를 만들게 되었다. 하지만 기존 방식으로 WebSocket을 처리하는mingking2.tistory.com 💡 만약 동시에 많은 대여 요청이 들어온다면 어떻게 될까?아두이노(대여기)는 여러 요청을 동시에 처리할 수 있을까?한 요청이 ..