58 개의 글
Designing a Non-Business Day Table for Oracle

Non-business day table design in Oracle for business day calculations — weekend strategy, unique constraints, and code taxonomy.

개발oracledatabase-designbusiness-day-calculationtable-designholiday-api
영업일 계산을 위한 비영업일 테이블 설계 (Oracle)

영업일 계산용 비영업일 테이블을 Oracle에서 설계할 때 주말 처리, UNIQUE 제약, 코드 체계까지 실무 설계 결정을 정리합니다.

개발oracledatabase-designbusiness-daytable-designpublic-data-api
Business Day Calculation with a Non-Business Day Table (Oracle)

Business day calculation done right: why a non-business day table beats a holiday-only table, plus batch sync with a government holiday API.

개발business-dayoraclespring-batchholiday-apidatabase-design
영업일 계산을 위한 비영업일 테이블 설계 (Oracle + Spring Batch)

영업일+N 계산이 필요할 때 공휴일만 저장하면 안 되는 이유와, 비영업일 테이블 + 공공데이터 API 연동 + Spring Batch로 구축하는 전체 설계를 다룹니다.

개발business-dayoraclespring-batchholiday-apidatabase-design
Spring Boot favicon.ico 404 Fix — The Catch-All Controller Trap

Fix favicon.ico 404 or 500 errors in Spring Boot when a catch-all controller hijacks static resource requests. Diagnosis and Filter-based solution.

개발spring-bootfavicontroubleshootingstatic-resourcetomcatservlet-filter
Spring Boot favicon.ico 404 해결 — catch-all 컨트롤러 함정

Spring Boot에서 favicon.ico가 로컬은 되고 서버 배포 후 404/500 에러가 나는 원인과 Filter를 이용한 해결 방법을 정리합니다.

개발spring-bootfavicontroubleshootingstatic-resourcetomcatfilter
SVN E155015: How to Fix 'Remains in Conflict' Commit Error

Fix SVN E155015 remains in conflict error caused by tree conflicts. Step-by-step resolution via terminal and IntelliJ.

개발svntree-conflictversion-controlintellijtroubleshooting
SVN E155015 커밋 실패 — Tree Conflict 원인과 해결법

SVN E155015 remains in conflict 에러의 원인인 tree conflict를 이해하고, 터미널과 IntelliJ에서 해결하는 방법을 정리합니다.

개발svntree-conflictversion-controlintellijtroubleshooting
Preventing IDOR in Spring MVC Parameter-Based Resource Access

When building Spring MVC features that accept a resource ID as a URL parameter, IDOR vulnerabilities are easy to miss. Here's how to catch and fix them.

개발springsecurityidorjavabackend
Spring MVC에서 타인 리소스 조회 시 IDOR 취약점 막는 법

URL 파라미터로 타인의 리소스 ID를 받는 Spring 기능을 만들 때 IDOR 취약점이 생기는 구조와 서버 검증으로 방어하는 방법을 정리했습니다.

개발springsecurityidorjavaajax
Thymeleaf Ajax Search: Fragment Pattern and Common Mistakes

How to build Ajax-powered search pages in Spring MVC with Thymeleaf — fragment separation, the replaceWith() bug, DAO/DTO split, and MyBatis dynamic queries.

개발thymeleafspring-mvcmybatisajaxjava
Thymeleaf Ajax 검색 화면 구현 — Fragment 패턴과 흔한 실수들

Thymeleaf Ajax 검색 화면 구현 시 replaceWith 버그, DAO/DTO 분리, MyBatis 동적 쿼리까지 실무에서 겪은 핵심 포인트를 정리했습니다.

개발thymeleafspring-mvcmybatisajaxjava
How to Check Your Java Version via Terminal

Learn how to quickly check your installed Java version using the terminal with simple commands for developers.

개발javadevelopmentclitutorialprogramming
자바 버전 확인 방법 — Windows·macOS·Linux 터미널 명령어

터미널에서 java -version 명령어를 사용하여 내 컴퓨터의 자바(Java) 버전을 쉽고 빠르게 확인하는 방법을 알아봅니다.

개발javadevelopmentclitutorialprogramming
Converting a Detail Query into a List Aggregate in Oracle SQL

How to convert a single-record Oracle SQL query into a per-entity aggregate for list views. Practical patterns with MyBatis and CTEs.

개발oraclesqlmybatisaggregatesubquery
상세 쿼리를 리스트 집계 쿼리로 전환하는 Oracle SQL 패턴

Oracle SQL에서 특정 ID 조회용 상세 쿼리를 엔티티별 집계 쿼리로 변환하는 방법. MyBatis 환경에서 실전 예시로 설명합니다.

개발oraclesqlmybatisaggregatesubquery
ORA-02292 FK 제약조건 오류 해결 방법

ORA-02292 FK 제약조건 오류 해결 방법을 단계별로 설명합니다. 자식 레코드 문제의 원인과 빠른 디버깅 방법까지 정리했습니다.

개발oraclesqldatabasefktroubleshooting
Converting JS Functions to Java: 3 Patterns to Get Right

String comparison, array membership checks, and static constants — the three places where JS-to-Java conversions quietly break.

개발javajavascriptstring-comparisonrefactoringbackend
JS 함수를 Java 메서드로 변환하는 3가지 핵심 패턴

JS 함수를 Java로 바꿀 때 놓치기 쉬운 문자열 비교, 배열 포함 검사, 정적 상수 선언 패턴을 정리했습니다.

개발javajavascriptstring-comparisonrefactoringbackend
Designing a Budget Visibility Feature for B2B Approval Workflows

How I designed a feature letting approvers view requesters' budgets in a B2B e-commerce platform, with lessons on scope control.

개발b2bbudget-managementapproval-workflowfeature-designscope-management
B2B 예산 승인 시스템에 상신자 예산 조회 기능 추가하기

B2B 커머스에서 승인자가 상신자의 예산현황을 조회하는 기능을 설계한 과정. 스코프 조정과 권한 설계 판단 기록.

개발b2bbudget-managementapproval-workflowfeature-designscope-management
Oracle YYYYMMDD String Comparison: Skip TO_DATE Entirely

Oracle YYYYMMDD date strings can be compared without TO_DATE. Learn why lexicographic order equals chronological order and how to avoid ORA-01839.

개발oraclesqldate-comparisonyyyymmddtroubleshootingora-01839
Oracle YYYYMMDD 날짜 비교, TO_DATE 없이 해결하는 법

Oracle에서 YYYYMMDD 문자열 날짜를 TO_DATE 없이 비교하는 방법과 원리. ORA-01839 에러 원인과 해결책을 정리합니다.

개발oraclesqldate-comparisonyyyymmddtroubleshootingora-01839
How to Add a Favicon to Spring Boot + Thymeleaf

Add a favicon to your Spring Boot Thymeleaf project — from generation to Security config to fixing manifest BOM errors.

개발faviconspring-bootthymeleafwebmanifestjava
Spring Boot·Thymeleaf 파비콘 설정 — Security·manifest 오류 해결

Spring Boot + Thymeleaf 프로젝트에 파비콘을 추가하는 방법. 생성, 배치, Security 설정, manifest BOM 에러 해결까지.

개발faviconspring-bootthymeleafwebmanifestjava
Spring Session Redis OOM: Root Cause and Prevention

Spring Session throws OutOfMemoryError during Redis deserialization. Here's why it happens and how to fix it permanently with serializer changes and session trimming.

개발spring-sessionredisoomjavaserializationtroubleshooting
Spring Session Redis OOM 원인과 재발 방지

Spring Session에서 Redis session deserialization 중 OutOfMemoryError가 발생하는 원인과 serializer 교체, session 경량화 등 근본 해결 방법을 정리합니다.

개발spring-sessionredisoomjavaserializationtroubleshooting
Thymeleaf: Show Product Option Next to Name in Cart

Three Thymeleaf patterns for displaying a product's selected option next to its name in a cart list — with proper null handling.

개발thymeleafspringjavatemplate-enginecart
Thymeleaf 장바구니 상품명 옆에 옵션명 추가하는 3가지 방법

Thymeleaf 장바구니 페이지에서 상품명 옆에 옵션명을 표시하는 3가지 패턴. th:if로 null 처리까지 깔끔하게.

개발thymeleafspringjavatemplate-enginecart
Reading Complex Cart Logic in Java — Branching, APIs, and Delivery Fees

A step-by-step breakdown of a real Java cart DTO assembly method: multi-type branching, external API calls in loops, and delivery fee calculation strategy.

개발javaspringcartecommercerefactoring
복잡한 장바구니 로직 읽기 — 분기·외부 API·배송비 계산 패턴

복잡한 장바구니 DTO 조립 로직을 단계별로 분석한다. 다중 분기, 외부 API 의존, 배송비 계산 전략까지 실제 코드 패턴을 해부한다.

개발javaspringcartecommercerefactoring
How to Decline B2B Data Requests Using System Policy

Stop wasting resources on unreasonable log retrieval requests. Learn how to professionally push back by leveraging privacy policies and system design.

개발businesscommunicationsoftware-engineeringsoftskills
B2B 로그 요청을 기술적 근거로 조정·거절하는 방법

상대 회사의 갑작스러운 데이터 확인 요청에 당황하셨나요? 개인정보 보호 정책과 시스템 구조를 근거로 주도권을 가져오는 전문적인 비즈니스 커뮤니케이션 전략을 소개합니다.

개발businesscommunicationdevelopmentsoftskills
Fix Slow Login Pages in Thymeleaf by Splitting Your Layout

How a shared Thymeleaf layout caused unnecessary DB queries and resource loading on a login page, and the simple layout split that fixed it.

개발thymeleafspringperformancelayout-dialectpage-speedfrontend-optimization
Thymeleaf Layout 분리로 로그인 페이지 로딩 시간 개선하기

Thymeleaf Layout Dialect 기반 프로젝트에서 로그인 페이지가 불필요한 DB 호출과 정적 리소스를 로드하는 문제를 layout 분리로 해결한 과정을 정리합니다.

개발thymeleafspringperformancelayout-dialectpage-speedfrontend-optimization
대기업 개발자 취업 전략: 직장인 현실 플랜

대기업 개발자 취업 전략을 직장인 기준으로 정리했습니다. 코딩테스트, 프로젝트, 시간 관리까지 현실적으로 실행 가능한 방법을 제공합니다.

개발developercareercodingtestproductivityjava
Can CSS Group Elements? DOM vs CSS Explained

Can CSS group elements into one container? Learn the difference between DOM structure and CSS, and how to properly group elements in real projects.

개발cssdomjavascriptfrontendlayout
CSS로 요소를 묶을 수 있을까? DOM과의 차이

CSS로 요소를 묶을 수 있을까? DOM 구조와 CSS의 역할 차이를 이해하고, 실제로 요소를 그룹화하는 올바른 방법을 정리합니다.

개발cssdomjavascriptfrontendlayout
Spring 글로벌 예외 처리 로그 제대로 남기는 방법

Spring 글로벌 예외 처리 로그를 제대로 남기는 방법을 정리합니다. StackTrace, traceId 기반으로 운영 장애를 빠르게 추적하는 실전 전략.

개발springexceptionloggingbackenddebugging
Java DAO vs DTO: Roles, Rules, and Naming

Confused about DAO vs DTO in Java? Learn the difference, common mistakes, and the exact naming conventions your team expects.

개발javadaodtonaming-conventionbackendclean-code
Java DAO와 DTO, 제대로 구분하고 있나요?

Java에서 DAO와 DTO의 역할 차이와 패키지·클래스 네이밍 규칙을 코드 예시와 함께 정리했습니다.

개발javadaodtonaming-conventionbackendclean-code
How to Search Logs with grep in Linux

Learn how to search logs with grep in Linux, including file patterns, useful options, and real-world debugging techniques.

개발linuxgreplog-analysisclidebugging
리눅스 grep으로 로그에서 문자열 찾는 방법

리눅스 grep으로 로그에서 특정 문자열을 빠르게 찾는 방법을 정리합니다. 파일 패턴, 옵션, 실전 분석까지 한 번에 이해할 수 있습니다.

개발linuxgreplog-analysisclidebugging
MyBatis #{param} Not Working in IntelliJ? Fix It

MyBatis #{param} fails in IntelliJ Database Console because it's not real SQL. Learn how to fix it using ? parameter binding correctly.

개발mybatisjdbcintellijsqldebugging
MyBatis #{param} IntelliJ에서 실행 안 될 때 해결법

MyBatis #{param} IntelliJ에서 실행 안 되는 이유와 해결 방법을 정리합니다. 실제 DB 실행 구조와 ? 바인딩 방식까지 설명합니다.

개발mybatisjdbcintellijsqldebugging
Oracle Hierarchy Query: Fix Menu Sorting with CONNECT BY

Oracle hierarchy query using CONNECT BY solves menu sorting issues that ORDER BY cannot handle. Learn the correct pattern for tree-structured data.

개발oraclesqlhierarchyconnectbydatabase
Oracle 메뉴 트리 정렬: ORDER BY가 아닌 CONNECT BY

Oracle 메뉴 트리 정렬 문제를 해결하려면 ORDER BY가 아닌 CONNECT BY를 사용해야 합니다. 계층 구조 유지 원리와 실전 쿼리까지 정리했습니다.

개발oraclesqlhierarchyconnectbybackend
How to Find Oracle Synonym Target Tables

Learn how to query Oracle synonyms and find their target tables using ALL_SYNONYMS, including how to detect broken synonyms.

개발oraclesqldatabasesynonymmetadata
Oracle Synonym 조회: FOR 대상 테이블 찾는 방법

Oracle synonym 조회 방법과 FOR 대상 테이블을 찾는 방법을 정리했습니다. ALL_SYNONYMS를 활용한 실전 SQL까지 포함합니다.

개발oraclesqldatabasesynonymmetadata
Spring Exception Logging: Find Errors Fast

Spring exception logging explained. Learn how to use stack traces and traceId to quickly find the root cause in production systems.

개발springexceptionloggingbackenddebugging
Fix Thymeleaf null boolean error (SpEL issue)

Thymeleaf null boolean error happens when SpEL cannot convert null to boolean. Learn the root cause and how to fix it properly.

개발thymeleafspelspringnullbooleanerror
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
How to Fix ORA-02292 Foreign Key Constraint Errors
개발