DEVELOPER JOURNAL

평생 일하며 배우고 싶은 개발자입니다

개발, 자격증, 공부 내용을 꾸준히 정리하는 블로그입니다. 오래 다시 볼 수 있는 기록을 차분하게 쌓고 싶습니다.

더 나은 개발자가 되기 위해 꾸준히 공부하고 기록합니다.

SQL · Backend · Study
SQL Backend Study

Archive

전체 글

지금까지 정리한 글을 한눈에 모아봤습니다.

9 posts
게시물 썸네일
2026.06.01 개발/Spring

[Spring Boot] Thymeleaf 자주 사용하는 기본 문법 정리

이전 글에서는 Thymeleaf가 무엇인지, 서버 사이드 템플릿 엔진이 어떤 방식으로 동작하는지 정리했다.이번 글에서는 Thymeleaf를 사용할 때 자주 마주치는 기본 문법을 정리해보려고 한다.Thymeleaf는 HTML 태그에 th:* 형태의 속성을 추가해서 사용한다.처음 보면 낯설 수 있지만, 결국 핵심은 다음과 같다.Controller에서 Model에 데이터 저장 ↓Thymeleaf HTML에서 Model 데이터 사용 ↓서버에서 HTML 렌더링 ↓브라우저에 완성된 HTML 응답이번 글에서는 오류신고 관리 시스템 예시를 기준으로 다음 문법들을 정리한다.- th:text- th:if- th:unless- th:each- th:href- th:action- th:v..

게시물 썸네일
2026.05.29 개발/Spring

[Spring Boot] Thymeleaf란? 서버 사이드 템플릿 엔진 개념 정리

Spring Boot로 웹 프로젝트를 만들다 보면 화면을 어떤 방식으로 구성할지 고민하게 된다.HTML만 사용할 수도 있고, JSP를 사용할 수도 있으며, React나 Vue 같은 프론트엔드 프레임워크를 사용할 수도 있다.그리고 Spring Boot에서 자주 사용되는 선택지 중 하나가 바로 Thymeleaf다. 이번 글에서는 Thymeleaf가 무엇인지, 어떤 방식으로 동작하는지, Controller와 어떻게 연결되는지 정리해보려고 한다.Thymeleaf란?Thymeleaf는 Java 기반의 서버 사이드 템플릿 엔진이다.여기서 템플릿 엔진이란, 서버에서 준비한 데이터를 HTML에 합쳐서 최종 화면을 만들어주는 도구를 말한다. 예를 들어 사용자 이름을 화면에 출력한다고 해보자.일반 HTML은 다음과 같이 ..

게시물 썸네일
2026.05.27 개발/프로젝트 기록

[오류신고 관리 시스템] DB 설계서 작성하기

지난 글에서는 오류신고 관리 시스템의 요구사항 정의서를 작성했다.요구사항 정의서를 통해 회원 기능, 사용자 오류신고 기능, 관리자 오류신고 기능, 공통 요구사항을 정리했다면,이번에는 이 요구사항을 바탕으로 어떤 데이터를 저장해야 하는지 정리해보려고 한다. 이번 글에서는 db-schema.md 파일에 작성한 DB 설계서를 기준으로,오류신고 관리 시스템의 테이블을 어떻게 나누었는지 정리해본다.DB 설계서를 작성한 이유기능을 구현하기 전에 먼저 생각해야 할 것이 있다.바로 어떤 데이터를 저장할 것인가이다. 오류신고 관리 시스템에서는 단순히 오류신고 제목과 내용만 저장하면 되는 것이 아니다.다음과 같은 정보도 함께 필요하다. 필요 정보누가 오류신고를 작성했는가? 오류신고의 현재 처리상태는 무엇인가? 관리자가 답..

게시물 썸네일
2026.05.26 개발/프로젝트 기록

[오류신고 관리 시스템] 개인 프로젝트 요구사항 정의서 작성하기

지난 글에서는 오류신고 관리 시스템 프로젝트의 README를 정리했다. README가 프로젝트의 전체 방향을 설명하는 문서라면,요구사항 정의서는 실제로 어떤 기능을 만들 것인지 구체화하는 문서라고 볼 수 있다. 개인 프로젝트라고 해서 무조건 요구사항 정의서가 필요한 것은 아니지만,이번 프로젝트는 회원 기능, 사용자 기능, 관리자 기능이 나뉘어 있기 때문에 기준을 먼저 정리해두는 것이 필요하다고 느꼈다. 그래서 구현에 들어가기 전에 requirements.md 파일을 만들고, 요구사항을 먼저 정리해보았다.왜 요구사항 정의서를 작성했을까?처음에는 단순히 “오류신고를 등록하고 관리자가 답변하는 기능” 정도로 생각했다.하지만 막상 기능을 떠올려보니 생각보다 정리해야 할 기준이 많았다. 예를 들면 이런 것들이다...

게시물 썸네일
2026.05.11 자격증

정보처리기사 2026년 1회차 필기 합격 후기|비전공 직장인 개발자의 공부 과정

정보처리기사 2026년 1회차 필기시험에 합격했다.공부 기간은 1월 7일부터 시험 전날인 2월 28일까지였다.흥달쌤 강의와 교재로 전체 범위를 1회독한 뒤, 시험 1주 전부터는 맞추다 웹사이트를 이용해서 기출문제를 매일 풀었다.사실 정보처리기사 필기 합격이 엄청 대단한 결과라고 말하기에는 애매할 수도 있다.하지만 직장을 다니면서 시간을 쪼개 공부했고,그 과정에서 부족했던 기초 지식을 다시 정리할 수 있었다는 점에서 나에게는 꽤 의미 있는 경험이었다. 나는 현재 개발자로 일하고 있지만, 컴퓨터공학 전공자는 아니다.실무에서는 Java, Spring, DB, 운영 유지보수 업무를 하고 있지만,항상 CS 기초 지식이 조금 부족하다는 아쉬움이 있었다. 물론 일을 하면서 필요한 지식은 그때그때 찾아가며 익혀왔다.또..

게시물 썸네일
2026.04.30 개발/프로젝트 기록

[오류신고 관리 시스템] Spring Boot 개인 프로젝트 README 작성하기

현재 업무에서는 이미 운영 중인 시스템을 유지보수하면서 기존 코드를 수정하거나 기능을 추가하는 일을 주로 하고 있다.기존 구조를 파악하고 오류 원인을 찾는 경험은 많이 쌓을 수 있었지만, 백엔드 프로젝트를 처음부터 설계하고 구현하는 경험은 상대적으로 부족하다고 느꼈다.그래서 업무에서 자주 접했던 오류신고 처리 과정을 주제로 개인 프로젝트를 시작해보기로 했다.이번 프로젝트는 사용자가 오류를 신고하고, 관리자가 해당 내용을 확인해 처리상태를 변경하거나 답변을 등록하는 오류신고 관리 시스템이다.익숙한 흐름을 바탕으로 직접 요구사항을 정리하고, 기존에 접했던 시스템의 아쉬운 점도 일부 반영하면서 백엔드 기본기를 다시 정리해보는 것이 목표다. README를 먼저 작성한 이유개인 프로젝트를 시작할 때는 처음부터 내..

게시물 썸네일
2026.04.27 nginx

[Nginx] location 우선순위 정리

Nginx location 우선순위 요약Nginx의 location은 설정 파일에 작성된 순서대로 단순히 위에서 아래로 적용되는 것이 아니라, 정해진 매칭 규칙에 따라 선택된다.먼저 결론부터 정리하면 다음과 같다.# 1. 정확히 일치하는 URI가 있으면 즉시 선택location = /path { # /path 요청만 정확히 매칭}# 2. prefix 매칭 후 정규식 location 검사를 생략location ^~ /path/ { # /path/ 로 시작하는 요청 매칭 # 매칭되면 ~, ~* 정규식 location은 검사하지 않음}# 3. 대소문자를 구분하는 정규식 매칭location ~ \.php$ { # .php 로 끝나는 요청 매칭}# 4. 대소문자를 구분하지 않는 정규식 매칭l..

게시물 썸네일
2026.04.24 nginx

운영서버 jpg 이미지 안보임 원인 - Nginx location 우선순위

운영 환경에서 Nginx를 통해 서비스하던 jpg 이미지가 보이지 않는 문제를 발견했다.처음에는 파일 누락이나 경로 오류를 의심했지만, 실제 원인은 Nginx location 우선순위와 try_files 설정 때문이었다. 이번 글에서는 운영에서 특정 jpg/png 이미지가 보이지 않았던 문제를 어떻게 추적했고,어떤 설정이 실제로 요청을 가로채고 있었는지,그리고 어떻게 해결했는지를 정리해보려고 한다.문제 상황운영 화면에서 특정 이미지가 보이지 않았다.화면에서는 아래와 비슷한 형태의 경로로 이미지가 호출되고 있었다./test/test/sample.jpg 처음에는 아래 같은 가능성을 먼저 의심했다.DB에 저장된 파일명과 실제 파일명이 다른 경우요청 경로가 잘못 조합된 경우운영 서버 경로에 실제 이미지 파일이 ..

게시물 썸네일
2026.04.22 자격증

비전공자 SQLD 합격 후기

한줄요약SQL과 DB 기초가 부족하다고 느끼던 비전공자 현직 개발자가 약 40일 동안 SQLD를 준비하고 합격한 후기목차SQLD를 준비하게 된 이유왜 SQLD를 선택했는가공부 기간과 공부 방법공부하면서 느낀 어려움시험을 보고 느낀 점시험 결과와 합격 후 느낀 점마무리SQLD를 준비하게 된 이유 나는 학원 출신으로 개발을 시작했고, 실무를 하면서도 DB를 아주 깊게 다루는 편은 아니었다. 업무를 하다 보면 SQL을 아예 안 쓰지는 않지만, 사실상 기본적인 SELECT문 정도만 자주 사용하는 수준이었다.그마저도 복잡한 쿼리를 직접 작성하는 건 어려웠고,대부분은 SELECT * FROM 테이블명 같은 단순 조회 위주로 사용하는 경우가 많았다.UPDATE, INSERT, DELETE 같은 가장 기본적인 DML조..

게시물 썸네일
개발/Spring 2026. 6. 1.

[Spring Boot] Thymeleaf 자주 사용하는 기본 문법 정리

이전 글에서는 Thymeleaf가 무엇인지, 서버 사이드 템플릿 엔진이 어떤 방식으로 동작하는지 정리했다.이번 글에서는 Thymeleaf를 사용할 때 자주 마주치는 기본 문법을 정리해보려고 한다.Thymeleaf는 HTML 태그에 th:* 형태의 속성을 추가해서 사용한다.처음 보면 낯설 수 있지만, 결국 핵심은 다음과 같다.Controller에서 Model에 데이터 저장 ↓Thymeleaf HTML에서 Model 데이터 사용 ↓서버에서 HTML 렌더링 ↓브라우저에 완성된 HTML 응답이번 글에서는 오류신고 관리 시스템 예시를 기준으로 다음 문법들을 정리한다.- th:text- th:if- th:unless- th:each- th:href- th:action- th:v..

Read article
게시물 썸네일
개발/Spring 2026. 5. 29.

[Spring Boot] Thymeleaf란? 서버 사이드 템플릿 엔진 개념 정리

Spring Boot로 웹 프로젝트를 만들다 보면 화면을 어떤 방식으로 구성할지 고민하게 된다.HTML만 사용할 수도 있고, JSP를 사용할 수도 있으며, React나 Vue 같은 프론트엔드 프레임워크를 사용할 수도 있다.그리고 Spring Boot에서 자주 사용되는 선택지 중 하나가 바로 Thymeleaf다. 이번 글에서는 Thymeleaf가 무엇인지, 어떤 방식으로 동작하는지, Controller와 어떻게 연결되는지 정리해보려고 한다.Thymeleaf란?Thymeleaf는 Java 기반의 서버 사이드 템플릿 엔진이다.여기서 템플릿 엔진이란, 서버에서 준비한 데이터를 HTML에 합쳐서 최종 화면을 만들어주는 도구를 말한다. 예를 들어 사용자 이름을 화면에 출력한다고 해보자.일반 HTML은 다음과 같이 ..

Read article
게시물 썸네일
개발/프로젝트 기록 2026. 5. 27.

[오류신고 관리 시스템] DB 설계서 작성하기

지난 글에서는 오류신고 관리 시스템의 요구사항 정의서를 작성했다.요구사항 정의서를 통해 회원 기능, 사용자 오류신고 기능, 관리자 오류신고 기능, 공통 요구사항을 정리했다면,이번에는 이 요구사항을 바탕으로 어떤 데이터를 저장해야 하는지 정리해보려고 한다. 이번 글에서는 db-schema.md 파일에 작성한 DB 설계서를 기준으로,오류신고 관리 시스템의 테이블을 어떻게 나누었는지 정리해본다.DB 설계서를 작성한 이유기능을 구현하기 전에 먼저 생각해야 할 것이 있다.바로 어떤 데이터를 저장할 것인가이다. 오류신고 관리 시스템에서는 단순히 오류신고 제목과 내용만 저장하면 되는 것이 아니다.다음과 같은 정보도 함께 필요하다. 필요 정보누가 오류신고를 작성했는가? 오류신고의 현재 처리상태는 무엇인가? 관리자가 답..

Read article
게시물 썸네일
개발/프로젝트 기록 2026. 5. 26.

[오류신고 관리 시스템] 개인 프로젝트 요구사항 정의서 작성하기

지난 글에서는 오류신고 관리 시스템 프로젝트의 README를 정리했다. README가 프로젝트의 전체 방향을 설명하는 문서라면,요구사항 정의서는 실제로 어떤 기능을 만들 것인지 구체화하는 문서라고 볼 수 있다. 개인 프로젝트라고 해서 무조건 요구사항 정의서가 필요한 것은 아니지만,이번 프로젝트는 회원 기능, 사용자 기능, 관리자 기능이 나뉘어 있기 때문에 기준을 먼저 정리해두는 것이 필요하다고 느꼈다. 그래서 구현에 들어가기 전에 requirements.md 파일을 만들고, 요구사항을 먼저 정리해보았다.왜 요구사항 정의서를 작성했을까?처음에는 단순히 “오류신고를 등록하고 관리자가 답변하는 기능” 정도로 생각했다.하지만 막상 기능을 떠올려보니 생각보다 정리해야 할 기준이 많았다. 예를 들면 이런 것들이다...

Read article
게시물 썸네일
자격증 2026. 5. 11.

정보처리기사 2026년 1회차 필기 합격 후기|비전공 직장인 개발자의 공부 과정

정보처리기사 2026년 1회차 필기시험에 합격했다.공부 기간은 1월 7일부터 시험 전날인 2월 28일까지였다.흥달쌤 강의와 교재로 전체 범위를 1회독한 뒤, 시험 1주 전부터는 맞추다 웹사이트를 이용해서 기출문제를 매일 풀었다.사실 정보처리기사 필기 합격이 엄청 대단한 결과라고 말하기에는 애매할 수도 있다.하지만 직장을 다니면서 시간을 쪼개 공부했고,그 과정에서 부족했던 기초 지식을 다시 정리할 수 있었다는 점에서 나에게는 꽤 의미 있는 경험이었다. 나는 현재 개발자로 일하고 있지만, 컴퓨터공학 전공자는 아니다.실무에서는 Java, Spring, DB, 운영 유지보수 업무를 하고 있지만,항상 CS 기초 지식이 조금 부족하다는 아쉬움이 있었다. 물론 일을 하면서 필요한 지식은 그때그때 찾아가며 익혀왔다.또..

Read article
게시물 썸네일
개발/프로젝트 기록 2026. 4. 30.

[오류신고 관리 시스템] Spring Boot 개인 프로젝트 README 작성하기

현재 업무에서는 이미 운영 중인 시스템을 유지보수하면서 기존 코드를 수정하거나 기능을 추가하는 일을 주로 하고 있다.기존 구조를 파악하고 오류 원인을 찾는 경험은 많이 쌓을 수 있었지만, 백엔드 프로젝트를 처음부터 설계하고 구현하는 경험은 상대적으로 부족하다고 느꼈다.그래서 업무에서 자주 접했던 오류신고 처리 과정을 주제로 개인 프로젝트를 시작해보기로 했다.이번 프로젝트는 사용자가 오류를 신고하고, 관리자가 해당 내용을 확인해 처리상태를 변경하거나 답변을 등록하는 오류신고 관리 시스템이다.익숙한 흐름을 바탕으로 직접 요구사항을 정리하고, 기존에 접했던 시스템의 아쉬운 점도 일부 반영하면서 백엔드 기본기를 다시 정리해보는 것이 목표다. README를 먼저 작성한 이유개인 프로젝트를 시작할 때는 처음부터 내..

Read article
게시물 썸네일
nginx 2026. 4. 27.

[Nginx] location 우선순위 정리

Nginx location 우선순위 요약Nginx의 location은 설정 파일에 작성된 순서대로 단순히 위에서 아래로 적용되는 것이 아니라, 정해진 매칭 규칙에 따라 선택된다.먼저 결론부터 정리하면 다음과 같다.# 1. 정확히 일치하는 URI가 있으면 즉시 선택location = /path { # /path 요청만 정확히 매칭}# 2. prefix 매칭 후 정규식 location 검사를 생략location ^~ /path/ { # /path/ 로 시작하는 요청 매칭 # 매칭되면 ~, ~* 정규식 location은 검사하지 않음}# 3. 대소문자를 구분하는 정규식 매칭location ~ \.php$ { # .php 로 끝나는 요청 매칭}# 4. 대소문자를 구분하지 않는 정규식 매칭l..

Read article
게시물 썸네일
nginx 2026. 4. 24.

운영서버 jpg 이미지 안보임 원인 - Nginx location 우선순위

운영 환경에서 Nginx를 통해 서비스하던 jpg 이미지가 보이지 않는 문제를 발견했다.처음에는 파일 누락이나 경로 오류를 의심했지만, 실제 원인은 Nginx location 우선순위와 try_files 설정 때문이었다. 이번 글에서는 운영에서 특정 jpg/png 이미지가 보이지 않았던 문제를 어떻게 추적했고,어떤 설정이 실제로 요청을 가로채고 있었는지,그리고 어떻게 해결했는지를 정리해보려고 한다.문제 상황운영 화면에서 특정 이미지가 보이지 않았다.화면에서는 아래와 비슷한 형태의 경로로 이미지가 호출되고 있었다./test/test/sample.jpg 처음에는 아래 같은 가능성을 먼저 의심했다.DB에 저장된 파일명과 실제 파일명이 다른 경우요청 경로가 잘못 조합된 경우운영 서버 경로에 실제 이미지 파일이 ..

Read article
게시물 썸네일
자격증 2026. 4. 22.

비전공자 SQLD 합격 후기

한줄요약SQL과 DB 기초가 부족하다고 느끼던 비전공자 현직 개발자가 약 40일 동안 SQLD를 준비하고 합격한 후기목차SQLD를 준비하게 된 이유왜 SQLD를 선택했는가공부 기간과 공부 방법공부하면서 느낀 어려움시험을 보고 느낀 점시험 결과와 합격 후 느낀 점마무리SQLD를 준비하게 된 이유 나는 학원 출신으로 개발을 시작했고, 실무를 하면서도 DB를 아주 깊게 다루는 편은 아니었다. 업무를 하다 보면 SQL을 아예 안 쓰지는 않지만, 사실상 기본적인 SELECT문 정도만 자주 사용하는 수준이었다.그마저도 복잡한 쿼리를 직접 작성하는 건 어려웠고,대부분은 SELECT * FROM 테이블명 같은 단순 조회 위주로 사용하는 경우가 많았다.UPDATE, INSERT, DELETE 같은 가장 기본적인 DML조..

Read article