반응형

// Developer · Debugging Reports

뉴스도 디버깅이 필요해

마주친 오류를 재현하고, 원인을 추적하고, 기록합니다. Java · Spring · DB · 실무 트러블슈팅.

debug — today.log
$ debug --trace "오늘의 뉴스"
> 헤드라인 파싱 중...
> 원인 추적: 근거 누락 · 출처 불명
> 패치 적용: 사실 확인 + 출처 보강
✓ RESOLVED
TOTAL
TODAY
YESTERDAY

Categories

뉴스도 디버깅이 필요해

eGovFramework 3

Spring *.do URL 패턴 정리, 공공 프로젝트는 왜 .do로 끝날까

왜 공공 프로젝트 URL은 .do로 끝날까공공기관 프로젝트나 오래된 Spring 코드에 투입되면 URL이 죄다 /member/list.do, /board/view.do처럼 .do로 끝나는 걸 보게 된다. 처음 보면 "do라는 파일이 실제로 있나?" 싶지만 그렇지 않다. Spring *.do URL 패턴에서 .do는 실제 파일이 아니라, 이 요청을 컨트롤러가 처리하라는 표시일 뿐이다.동작 원리는 간단하다. web.xml에서 ".do로 끝나는 요청은 DispatcherServlet(스프링 컨트롤러)이 받아라"고 매핑해 둔 것이다. 그래서 list.do라는 파일이 없어도 컨트롤러가 요청을 처리하고 화면을 돌려준다. 이 방식은 Struts 같은 과거 프레임워크 시절부터 이어진 관례이고, 전자정부 표준프레임워크(..

웹개발/Spring 2026.07.02

Spring Framework vs Spring Boot 차이와 공공 SI에서의 선택

Spring Framework와 Spring Boot는 어떤 관계인가먼저 오해부터 정리하면, Spring Boot는 Spring Framework를 대체하는 별개 기술이 아니다. Spring Framework 위에 올라간, 설정을 자동화해 주는 도구에 가깝다. Spring Framework가 엔진이라면 Spring Boot는 그 엔진을 쉽게 시동 걸 수 있게 묶어 놓은 패키지다. 그래서 Spring Framework Spring Boot 차이를 "둘 중 무엇이 더 좋은가"로 보면 어긋난다. "설정을 직접 하느냐, 자동에 맡기느냐"의 차이로 보는 게 맞다.전통 Spring(여기서는 Boot 없이 XML/Java Config로 직접 설정하는 방식)은 web.xml, root-context.xml, servl..

웹개발/Spring 2026.06.30

MyBatis란? JDBC·JPA와 비교하고 공공 프로젝트에서 쓰는 이유

MyBatis란 무엇인가MyBatis는 SQL을 직접 작성하고, 그 SQL과 자바 객체를 연결해 주는 SQL 매퍼 프레임워크다. 쿼리는 개발자가 XML이나 어노테이션에 직접 쓰고, MyBatis는 그 쿼리에 파라미터를 넣고 결과를 객체로 매핑하는 역할을 맡는다. JDBC를 직접 다룰 때 반복되는 지저분한 코드(Connection, PreparedStatement, ResultSet 처리)를 걷어내 주면서도, SQL 자체는 개발자가 100% 통제한다는 점이 특징이다.여기서 자연스럽게 나오는 질문이 MyBatis JDBC JPA 차이다. 셋 다 자바에서 DB를 다루지만 접근 방식이 다르다. JDBC는 가장 낮은 수준의 표준 API, MyBatis는 SQL을 직접 쓰되 반복 코드를 줄여 주는 매퍼, JPA는 ..

웹개발/Mybatis 2026.06.28
반응형