Home
pjh5365
Cancel
TroubleShooting

오라클은 오토커밋이 꺼져있다구요??

오늘은 오라클 DB에 값을 직접 수정해 테스트하다가, 엉뚱한 곳에서 원인을 찾느라 한참 돌아간 끝에 문제를 해결했던 경험을 공유해보려고 합니다. 그동안은 DB 값을 UPDATE로 바꾸고 애플리케이션에서 바로 확인하여 테스트하는 게 익숙했습니다. DB UPDATE를 치면 당연히 바로 반영된다고 생각했습니다. 그런데 오라클에서는 이 당연한 생각이 통하...

TroubleShooting

WHERE문을 썼는데 쿼리 속도가 더 느려졌다구요??

오늘은 특정 쿼리에 WHERE 조건을 추가했는데 오히려 조회 속도가 크게 느려졌던 경험과, 일정상 근본적인 해결을 기다릴 수 없어 우회했던 방법을 공유해보려고 합니다. 일반적으로 WHERE 조건을 추가하면 조회 대상이 줄어들기 때문에 쿼리가 더 빨라질 것이라고 생각했습니다. 하지만 WHERE 조건은 반환할 데이터의 수를 줄이지만, 데이터베이스가 쿼...

Spring Batch

Spring Batch Chunk는 어떻게 동작할까?

이전 글에서는 Spring Batch가 왜 필요한지와 Job, Step, Chunk, Tasklet의 기본 구조를 알아보았다. Spring Batch에서 대량 데이터를 처리할 때 가장 자주 사용하는 방식은 Chunk 기반 처리다. .chunk(1000, transactionManager) 설정 자체는 간단하다. 하지만 실제로 사용하다 보면 여...

Pick Place

Pick Place - 공통 파일 업로드 기능 리팩토링

🚀 공통 파일 업로드 기능 리팩토링 - 사용자 정보 추가 및 리팩토링 공통 파일 시스템 사용자 정보 추가 및 리팩토링 📅 개발 기간 시작: 2026.05.25 종료: 2026.05.25 총 소요 시간: 3.5H 🎯 개발 배경 (Why) 회원 기능 개발이 추가됨에 따라 파일 업로드 시 사용자 정보를 함께 저장할 ...

Spring Batch

Spring Batch는 왜 필요할까?

백엔드 개발을 하다 보면 아래와 같은 요구사항을 만나게 된다. 매일 새벽 정산 작업 실행 예약 푸시 메시지 발송 CSV → DB 적재 회원 데이터 일괄 변경 (휴면계정 전환) 로그 데이터 집계 외부 API 데이터 동기화 이런 기능들을 구현하는 방법을 찾아보다 보면 자연스럽게 스프링 배치(Spring Batch) 를 사용하는...

Spring

Spring 과 Tomcat 의 실행 구조

스프링 애플리케이션은 흔히 톰캣 위에서 실행된다고 이야기한다. 둘은 어떤 관계로 동작하는지 자세히 알아보자. Tomcat은 무엇인가? Tomcat(톰캣)을 웹 서버 정도로만 이해하지만, 사실 톰캣 자체도 JVM 위에서 실행되는 하나의 자바 애플리케이션으로, 크게 두 가지 역할을 수행한다. 1. HTTP Server TCP Socket 오픈 ...

Spring

Spring MVC의 DispatcherServlet은 어떻게 동시에 수천 개의 요청을 처리할까?

이전 글 에선 Spring MVC 가 디스패처 서블릿 (DispatcherServlet) 하나로 모든 HTTP 요청을 처리한다고 했었다. 그럼 아래 같은 의문이 생길 수 있다. 디스패처 서블릿이 하나만 존재하니 클라이언트의 요청도 하나씩 처리할까? 싱글톤(Singleton) 패턴이니 여러 요청이 동시에 접근하면 동시성 문제가 발생하지 않을...

Spring

Spring MVC와 DispatcherServlet

이전 글에선 Servlet 과 Servlet Container 에 대해 다뤘다면, 이번에는 Spring MVC 가 Servlet 기반 위에서 어떻게 동작하는지, 그리고 DispatcherServlet 이 어떤 역할을 하는지 알아보겠다. Spring MVC란? Spring MVC 는 Servlet 스펙 위에서 동작하는 웹 프레임워크이다. 즉, Apa...

Pick Place

Pick Place - 공통 파일 업로드 기능 개발

🚀 공통 파일 업로드 기능 개발 - 이미지 및 파일 업로드 / 관리 시스템 목표: 다양한 도메인에서 재사용 가능한 공통 파일 시스템 설계 및 구현 📅 개발 기간 시작: 2026.04.12 종료: 2026.04.28 총 소요 시간: 5H 🎯 개발 배경 (Why) 서비스 내 여러 기능(위치 기반 추천, 게시글 등)...

Spring

Servlet과 Servlet Container

Spring Framework를 제대로 공부하기 위해선 먼저 Servlet과 Servlet Container에 대해 이해해야 한다. Spring MVC가 Servlet 기반으로 동작하기 때문이다. Servlet이란? 서블릿(Servlet)이란 자바 기반 웹 애플리케이션에서 클라이언트의 요청(Request)을 처리하고, 응답(Response)을 생성...