영업일 계산을 위한 비영업일 테이블 설계 (Oracle)
영업일 계산용 비영업일 테이블을 Oracle에서 설계할 때 주말 처리, UNIQUE 제약, 코드 체계까지 실무 설계 결정을 정리합니다.
개발oracledatabase-designbusiness-daytable-designpublic-data-api
영업일 계산을 위한 비영업일 테이블 설계 (Oracle + Spring Batch)
영업일+N 계산이 필요할 때 공휴일만 저장하면 안 되는 이유와, 비영업일 테이블 + 공공데이터 API 연동 + Spring Batch로 구축하는 전체 설계를 다룹니다.
개발business-dayoraclespring-batchholiday-apidatabase-design
Spring Boot favicon.ico 404 해결 — catch-all 컨트롤러 함정
Spring Boot에서 favicon.ico가 로컬은 되고 서버 배포 후 404/500 에러가 나는 원인과 Filter를 이용한 해결 방법을 정리합니다.
개발spring-bootfavicontroubleshootingstatic-resourcetomcatfilter
SVN E155015 커밋 실패 — Tree Conflict 원인과 해결법
SVN E155015 remains in conflict 에러의 원인인 tree conflict를 이해하고, 터미널과 IntelliJ에서 해결하는 방법을 정리합니다.
개발svntree-conflictversion-controlintellijtroubleshooting
Spring MVC에서 타인 리소스 조회 시 IDOR 취약점 막는 법
URL 파라미터로 타인의 리소스 ID를 받는 Spring 기능을 만들 때 IDOR 취약점이 생기는 구조와 서버 검증으로 방어하는 방법을 정리했습니다.
개발springsecurityidorjavaajax
Thymeleaf Ajax 검색 화면 구현 — Fragment 패턴과 흔한 실수들
Thymeleaf Ajax 검색 화면 구현 시 replaceWith 버그, DAO/DTO 분리, MyBatis 동적 쿼리까지 실무에서 겪은 핵심 포인트를 정리했습니다.
개발thymeleafspring-mvcmybatisajaxjava
자바 버전 확인 방법 — Windows·macOS·Linux 터미널 명령어
터미널에서 java -version 명령어를 사용하여 내 컴퓨터의 자바(Java) 버전을 쉽고 빠르게 확인하는 방법을 알아봅니다.
개발javadevelopmentclitutorialprogramming
상세 쿼리를 리스트 집계 쿼리로 전환하는 Oracle SQL 패턴
Oracle SQL에서 특정 ID 조회용 상세 쿼리를 엔티티별 집계 쿼리로 변환하는 방법. MyBatis 환경에서 실전 예시로 설명합니다.
개발oraclesqlmybatisaggregatesubquery
ORA-02292 FK 제약조건 오류 해결 방법
ORA-02292 FK 제약조건 오류 해결 방법을 단계별로 설명합니다. 자식 레코드 문제의 원인과 빠른 디버깅 방법까지 정리했습니다.
개발oraclesqldatabasefktroubleshooting
JS 함수를 Java 메서드로 변환하는 3가지 핵심 패턴
JS 함수를 Java로 바꿀 때 놓치기 쉬운 문자열 비교, 배열 포함 검사, 정적 상수 선언 패턴을 정리했습니다.
개발javajavascriptstring-comparisonrefactoringbackend
B2B 예산 승인 시스템에 상신자 예산 조회 기능 추가하기
B2B 커머스에서 승인자가 상신자의 예산현황을 조회하는 기능을 설계한 과정. 스코프 조정과 권한 설계 판단 기록.
개발b2bbudget-managementapproval-workflowfeature-designscope-management
Oracle YYYYMMDD 날짜 비교, TO_DATE 없이 해결하는 법
Oracle에서 YYYYMMDD 문자열 날짜를 TO_DATE 없이 비교하는 방법과 원리. ORA-01839 에러 원인과 해결책을 정리합니다.
개발oraclesqldate-comparisonyyyymmddtroubleshootingora-01839
Spring Boot·Thymeleaf 파비콘 설정 — Security·manifest 오류 해결
Spring Boot + Thymeleaf 프로젝트에 파비콘을 추가하는 방법. 생성, 배치, Security 설정, manifest BOM 에러 해결까지.
개발faviconspring-bootthymeleafwebmanifestjava
Spring Session Redis OOM 원인과 재발 방지
Spring Session에서 Redis session deserialization 중 OutOfMemoryError가 발생하는 원인과 serializer 교체, session 경량화 등 근본 해결 방법을 정리합니다.
개발spring-sessionredisoomjavaserializationtroubleshooting
Thymeleaf 장바구니 상품명 옆에 옵션명 추가하는 3가지 방법
Thymeleaf 장바구니 페이지에서 상품명 옆에 옵션명을 표시하는 3가지 패턴. th:if로 null 처리까지 깔끔하게.
개발thymeleafspringjavatemplate-enginecart
복잡한 장바구니 로직 읽기 — 분기·외부 API·배송비 계산 패턴
복잡한 장바구니 DTO 조립 로직을 단계별로 분석한다. 다중 분기, 외부 API 의존, 배송비 계산 전략까지 실제 코드 패턴을 해부한다.
개발javaspringcartecommercerefactoring
B2B 로그 요청을 기술적 근거로 조정·거절하는 방법
상대 회사의 갑작스러운 데이터 확인 요청에 당황하셨나요? 개인정보 보호 정책과 시스템 구조를 근거로 주도권을 가져오는 전문적인 비즈니스 커뮤니케이션 전략을 소개합니다.
개발businesscommunicationdevelopmentsoftskills
Thymeleaf Layout 분리로 로그인 페이지 로딩 시간 개선하기
Thymeleaf Layout Dialect 기반 프로젝트에서 로그인 페이지가 불필요한 DB 호출과 정적 리소스를 로드하는 문제를 layout 분리로 해결한 과정을 정리합니다.
개발thymeleafspringperformancelayout-dialectpage-speedfrontend-optimization
대기업 개발자 취업 전략: 직장인 현실 플랜
대기업 개발자 취업 전략을 직장인 기준으로 정리했습니다. 코딩테스트, 프로젝트, 시간 관리까지 현실적으로 실행 가능한 방법을 제공합니다.
개발developercareercodingtestproductivityjava
CSS로 요소를 묶을 수 있을까? DOM과의 차이
CSS로 요소를 묶을 수 있을까? DOM 구조와 CSS의 역할 차이를 이해하고, 실제로 요소를 그룹화하는 올바른 방법을 정리합니다.
개발cssdomjavascriptfrontendlayout
Spring 글로벌 예외 처리 로그 제대로 남기는 방법
Spring 글로벌 예외 처리 로그를 제대로 남기는 방법을 정리합니다. StackTrace, traceId 기반으로 운영 장애를 빠르게 추적하는 실전 전략.
개발springexceptionloggingbackenddebugging
Java DAO와 DTO, 제대로 구분하고 있나요?
Java에서 DAO와 DTO의 역할 차이와 패키지·클래스 네이밍 규칙을 코드 예시와 함께 정리했습니다.
개발javadaodtonaming-conventionbackendclean-code
리눅스 grep으로 로그에서 문자열 찾는 방법
리눅스 grep으로 로그에서 특정 문자열을 빠르게 찾는 방법을 정리합니다. 파일 패턴, 옵션, 실전 분석까지 한 번에 이해할 수 있습니다.
개발linuxgreplog-analysisclidebugging
MyBatis #{param} IntelliJ에서 실행 안 될 때 해결법
MyBatis #{param} IntelliJ에서 실행 안 되는 이유와 해결 방법을 정리합니다. 실제 DB 실행 구조와 ? 바인딩 방식까지 설명합니다.
개발mybatisjdbcintellijsqldebugging
Oracle 메뉴 트리 정렬: ORDER BY가 아닌 CONNECT BY
Oracle 메뉴 트리 정렬 문제를 해결하려면 ORDER BY가 아닌 CONNECT BY를 사용해야 합니다. 계층 구조 유지 원리와 실전 쿼리까지 정리했습니다.
개발oraclesqlhierarchyconnectbybackend
Oracle Synonym 조회: FOR 대상 테이블 찾는 방법
Oracle synonym 조회 방법과 FOR 대상 테이블을 찾는 방법을 정리했습니다. ALL_SYNONYMS를 활용한 실전 SQL까지 포함합니다.
개발oraclesqldatabasesynonymmetadata
Thymeleaf null boolean 오류 해결 방법 (SpEL 에러)
Thymeleaf null boolean 오류는 SpEL에서 null을 boolean으로 처리하지 못해 발생합니다. 원인과 해결 방법을 실무 관점에서 정리했습니다.
개발thymeleafspelspringnullbooleanerror
모바일 배포 후 간헐적으로 반영이 안 될 때 — Java 멀티 인스턴스 환경 트러블슈팅 가이드
Java 멀티 인스턴스 환경에서 모바일 웹 배포 후 변경사항이 간헐적으로 반영되지 않는 문제의 원인 분석과 해결 과정을 단계별로 정리했습니다. JAR 배포는 됐는데 반영이 안 되는 상황, 새로고침할 때마다 결과가 다른 상황에 도움이 됩니다.
개발JavaSpring Boot배포트러블슈팅리눅스서버운영멀티인스턴스로드밸런서모바일웹
Next.js 빌드 에러 해결: Date 객체 렌더링 오류 (Objects are not valid as a React child)
개발Next_jsReact에러해결트러블슈팅직렬화자바스크립트SSR
Next.js·Vercel 빌드 오류 해결 — Date 객체와 Server Component
개발Next.jsVercel빌드에러트러블슈팅ReactYAMLfrontmatter
블로그를 개설했다 — solation.net 탄생기
도메인 선택부터 Next.js 배포까지, 개인 블로그를 만드는 전 과정을 기록했다.
개발블로그Next.jsVercelCloudflare
Solation.net 블로그 개설 과정 — Next.js·Vercel·Cloudflare
테스트용으로 개설 과정 추가
개발개발일지블로그NextJSVercelCloudflare