Projects
-
k3s + Nginx Ingress Controller 구성기Projects/ToDoLab 2026. 2. 24.
이전에 단일 EC2 환경에 k3s를 설치하여 Kubernetes 기반 배포 구조를 구성했다. EC2 단일 노드에 k3s로 쿠버네티스 구성해보기1. 컨테이너(Container)는 무엇인가? 컨테이너는 애플리케이션과 실행 환경을 함께 묶은 실행 단위다.과거에는 애플리케이션을 실행하기 위해OS 버전라이브러리런타임(JDK, Node, Python 등)설정 파일을d1tt0.tistory.com이전 글에서는 컨테이너 개념부터 시작하여 k3s 설치 및 기본 구성까지 진행했다.이번 글에서는 그 위에Nginx Ingress Controller를 구성하고, HTTP 라우팅 구조를 정리해보고자 한다. 이전 글에서 k3s를 선택한 이유를 간단하게 정리했었지만,이번에 다시 한 번 정리하면서 집고 넘어가려 한다. k3s 선택 ..
-
EC2 단일 노드에 k3s로 쿠버네티스 구성해보기Projects/ToDoLab 2026. 2. 5.
1. 컨테이너(Container)는 무엇인가? 컨테이너는 애플리케이션과 실행 환경을 함께 묶은 실행 단위다.과거에는 애플리케이션을 실행하기 위해OS 버전라이브러리런타임(JDK, Node, Python 등)설정 파일을 서버마다 직접 맞춰야 했다.컨테이너는 이런 문제를 해결한다.“이 애플리케이션은 이 환경에서 실행된다”를 하나의 단위로 묶어버리는 방식이다. 컨테이너의 특징빠른 실행OS 전체를 포함하지 않아 가볍다환경 차이로 인한 문제 최소화2. Docker는 무엇인가?Docker는 컨테이너를 만들고 실행하는 도구다.컨테이너 이미지 생성컨테이너 실행 / 중지로컬 개발 환경 구성등을 쉽게 만들어준다.Docker 덕분에 개발자는:“내 로컬에서는 잘 되는데요?” 문제를 크게 줄일 수 있다.하지만 Docker만으로는..
-
AWS EC2 발급 후 기초 설정하기Projects/ToDoLab 2026. 2. 4.
1. Oracle Cloud Free Tier vs AWS EC2 개인 토이 프로젝트 기준에서 두 서비스는 자주 비교 대상이 된다.항목Oracle Cloud Free TierAWS EC2비용완전 무료 (항상 무료 인스턴스 제공)무료 아님 (프리티어 이후 과금)CPUAmpere ARM (4 OCPU)x86 (t3/t4 계열)메모리최대 24GB인스턴스 타입에 따라 다름개인 토이 프로젝트로 사용하기에는“완전 무료 + 메모리 24GB”라는 조건이 매우 매력적이기 때문에처음에는 Oracle Cloud를 사용할 계획이었다. 그럼에도 이 글의 제목이 AWS EC2로 시작하는 이유는...회원가입에 막혀서다....😅 Oracle Cloud 회원가입을 해본 분들은 다들 한 번쯤 겪어봤을 것이다.유명한(?) “트랜잭션 처..
-
Spring Boot Logback 설정Projects/Cards Of Fate 2025. 6. 22.
단순해 보이는 로그 설정이 테스트 환경과 CI/CD 파이프라인에서 생각보다 많은 문제들이 있었습니다.Spring Boot 애플리케이션에서 로그백(Logback) 설정을 구성하면서 겪었던 시행착오들을 기록해보았습니다. 1단계: 최초 로그백 설정 생성처음에는 아주 간단하게 시작했습니다. 운영 환경에서 파일 로깅이 필요했고, 개발 환경에서는 콘솔 로깅만 하면 되는 상황이었습니다. ${LOG_HOME}/application.log 2단계: 첫 번째 문제 - 테스트 실행 시 파일 접근 오류로그백 설정을 완료하고 테스트를 돌리는 순간, 예상치 못한 에러가 발생했습니다.java..
-
리눅스 커스텀 설정으로 작업 효율성 높이기Projects/Cards Of Fate 2025. 6. 19.
🤔 왜 커스텀 설정이 필요할까요?리눅스를 사용하다 보면 매일 반복하게 되는 명령어들이 있습니다. 디렉토리를 이동하고, 파일을 확인하고, 로그를 들여다보는 일들입니다. 이런 반복 작업들이 조금씩 번거로워서 나름대로 편리하게 만들어본 커스텀 설정들을 기록해보겠습니다. 기존 방식의 문제점:매번 긴 경로를 타이핑해야 합니다자주 사용하는 명령어 조합을 반복 입력해야 합니다터미널에서 현재 위치 파악이 어렵습니다 🛠️ 사전 준비먼저 .bashrc 파일이 있는지 확인해보겠습니다. 만약 없다면 .bash_profile이나 .profile 파일을 사용해도 됩니다.ls -la ~/.bashrc 파일이 없다면 생성해주면 됩니다 :)touch ~/.bashrc 📋 네 가지 커스텀 설정자주 사용하는 작업들을 위해 네 개의..
-
GitHub Actions로 Swagger 문서 GitHub Pages에 자동 배포하기Projects/Cards Of Fate 2025. 6. 3.
🤔 왜 문서 자동 배포가 필요한가?SpringDoc으로 API 문서를 만들었지만, 매번 로컬에서 확인하는 것은 번거롭습니다.특히 팀원들과 공유하거나 외부에 API 스펙을 제공해야 할 때는 더욱 그렇죠. 기존 방식의 문제점:로컬에서만 확인 가능팀원마다 개별적으로 서버 실행 필요최신 API 스펙 공유 시 매번 수동 작업GitHub Actions와 GitHub Pages를 활용하면 코드 커밋과 동시에 최신 API 문서가 웹에서 자동으로 업데이트됩니다. 🛠️ 사전 준비먼저 프로젝트에 SpringDoc이 설정되어 있어야 합니다.dependencies { implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0'} 📋 두 가지 워크..
-
[Cafe Kiosk] Refresh Token이 탈취..당한다면...?Projects/Cafe Kiosk 2023. 12. 6.
JWT를 사용하는 이유가 뭐죠? - 보안 그럼 JWT는 안전한가? - NO.. 탈취당하면 손 쓸 수가 없음 그럼 어떻게 할꺼죠? - RefreshToken을 써서 AccessToken 주기를 짧게 가져갈 것임 - AccessToken이 탈취당했을 경우 주기를 짧게 가져가서 많은 일을 할 수 없게 만들 것임 그럼 그 RefreshToken을 탈취당한다면요? - 네...? 당황스럽다.. RefreshToken을 탈취당한다면 어떻게 해야 할까?라는 질문... 이것에 대해서 내가 생각해 본 방법에 대해 정리하고, 프로젝트에 넣어보려고 한다. RT를 1번만 사용가능하게 만들자. (aka.RTR(RefreshToken Rotation) RT를 사용했을 때 새로운 AT와 RT를 만들어서 제공한다. RT를 한 번만 사..
-
[Cafe Kiosk] Redis + JWT 적용기Projects/Cafe Kiosk 2023. 12. 1.
저번에 Spring Security를 적용해 보았다. https://d1tt0.tistory.com/entry/Cafe-Kiosk-Spring-Security-적용기 [Cafe Kiosk] Spring Security 적용기 프로젝트에 스프링 시큐리티를 적용하기 위해서 스프링 시큐리티에 대해 알아보았다. https://d1tt0.tistory.com/entry/Spring-Spring-Security에-대해-알아보자-v615 [Spring] Spring Security에 대해 알아보자 (v.6.1.5) d1tt0.tistory.com 사실 Spring Security를 적용하고, JWT를 적용하고, Redis를 추가한 것이 아닌... Spring Security + JWT를 적용하고 그 뒤 Redis를 ..