Develop/Spring(10)
-
Proxy가 도대체 뭔데
프록시라는 개념은 추상적으로는 이해가 가는데 눈에 보이질 않으니 잘 와닿지가 않았다. 제대로 정리해보자. 프록시는 대리인(대신 처리하는 사람) 이라고 생각하면 된다.즉, "어떤 객체(실제 객체)를 직접 호출하는 것이 아니라, 중간에서 대신 처리해주는 객체" 라는 뜻이다. 프록시를 다음과 같이 비유를 들어보자. 영화배우와 매니저한 영화배우(실제 객체)가 있어.하지만 배우는 너무 바빠서 기자 인터뷰 요청을 직접 받지 않고, 매니저(프록시 객체)를 통해서만 스케줄을 조정해.매니저는 배우의 인터뷰 일정을 조율하고, 필요하면 취소하거나 조정하는 역할을 해.프록시의 역할인터뷰를 요청하면, 배우가 직접 받는 것이 아니라 매니저가 대신 받고 필터링해.매니저가 "이 인터뷰는 안 되겠는데요"라고 하면 인터뷰가 진행되지 않..
2025.03.11 -
ORM은 왜 생겨났는가? JDBC부터 ORM까지 여정
ORM이 생겨나게되기까지의 이야기를 정리해보자. Database Driver먼저 데이터베이스 드라이버에 대한 이야기부터 해야한다.데이터베이스 드라이버란 DB와 어플리케이션 간 통신을 중걔하는 것이다. 어플리케이션의 요청을 DB가 이해할 수 있는 언어로 변환해준다.다양한 DB가 있고 DB마다 호환되는 드라이버가 따로 있다. 그럼 드라이버는 어떻게 동작되나? JDBC Manager가 런타임 시점에 1. getConnection() -> 드라이버에 연결 요청2. createStatement() -> 어플리케이션의 요청을 SQL 명령으로 변환해서 statement를 생성3. executeQuery() -> DB가 쿼리를 처리하고 ResultSet을 만들어서 드라이버에게 넘겨줌4. close() -> 연결을 종..
2025.03.11 -
일정관리 앱 트러블 슈팅
1. 날짜 변수 자료형작성일과 수정일은 날짜로 저장해야하는 자료형이다. 처음에는 자바에서 날짜로 된 자료형을 다루려면 어떻게 해야하는지 몰랐다. 그래서 인텔리제이 탭키로 날짜관련 자료형을 찾아보니 LocalDateTime이라는 자료형이 있어서 무턱대고 그걸 사용했었다. 그랬더니 내가 원하는 형식은 년도-달-일 형식의 날짜까지만 나오는 형식이었는데 응답받은 json을 보니 시간과 초까지 저장되어 있었다. 그래서 이를 해결하기 위해 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") private LocalDateTime createdAt; @JsonFormat(shape = JsonFormat.Shape.STRING,..
2025.02.04 -
Spring에서 서버와 클라이언트 통신방식 정리 2025.01.27