| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- 배포
- EC2
- Express
- Docker
- 엘라스틱빈스톡
- BFS
- DFS
- 골드5
- 골드3
- 스프링부트
- 자료구조
- 골드4
- 백준 알고리즘
- 인스턴스
- 정보처리기사
- DP
- 코딩테스트 고득점 kit
- 대전
- express.js
- ETRI
- 정처기
- 디자인패턴
- 자바
- 프로그래머스
- 알고리즘
- 카카오테크 부트캠프
- 스프링 부트
- aws
- 카테부
- 한국전자통신연구원
목록StudyNote (42)
JUINTINATION
이번에 만들어본 REST Docs Kotlin DSL 기반 Swagger UI API 문서화 프로젝트는 Spring REST Docs 테스트 코드의 보일러플레이트를 줄이는 Kotlin DSL이다. GitHub - juintination/restdocs-kotlin-dsl: REST Docs Kotlin DSL 기반 Swagger UI API 문서화 프로젝트REST Docs Kotlin DSL 기반 Swagger UI API 문서화 프로젝트. Contribute to juintination/restdocs-kotlin-dsl development by creating an account on GitHub.github.com이 프로젝트는 토스페이먼츠 기술블로그의 글을 읽고 나도 직접 만들어보고 싶다는 생각이..
전체 흐름이전 글에서 언급했던 간단한 URL 단축 서비스에 대한 GitOps 파이프라인 관련 내용으로, 처음에는 Jenkins가 배포까지 담당하는 구조로 시작했다. GitHub - juintination/tsidly: 쿠버네티스 학습을 위한 간단한 MSA 프로젝트(Kustomize Overlay 기반 Kubernetes쿠버네티스 학습을 위한 간단한 MSA 프로젝트(Kustomize Overlay 기반 Kubernetes 환경 구성 및 Jenkins + Argo CD 기반 GitOps) - juintination/tsidlygithub.com코드 push → Jenkins가 변경된 서비스 감지 → Docker 이미지 빌드 & 푸시 → kustomization.yaml의 newTag 수정 & Git 커..
왜 Kustomize를 적용했는가쿠버네티스를 학습하기 위해 간단한 URL 단축 서비스를 MSA 형태로 구성했다. GitHub - juintination/tsidly: 쿠버네티스 학습을 위한 간단한 MSA 프로젝트쿠버네티스 학습을 위한 간단한 MSA 프로젝트. Contribute to juintination/tsidly development by creating an account on GitHub.github.com구조는 크게 다음과 같다.gateway외부 요청 진입점shortener단축 URL 생성redirect단축 URL 리다이렉트 처리그리고 인프라 구성으로mysqlredis(valkey)ingress등을 함께 사용했다. 처음에는 다음과 같이 각각의 YAML 파일을 직접 적용하는 방식으로 실행했다.k..
쿠버네티스란?쿠버네티스는 컨테이너화된 애플리케이션을 자동으로 배포, 확장, 운영하기 위한 오케스트레이션 플랫폼으로, 여러 서버를 하나의 클러스터로 묶어 애플리케이션을 안정적으로 실행하도록 관리한다.기존 방식에서는 다음과 같은 문제가 발생한다.서버마다 수동 배포 필요장애 발생 시 수동 복구트래픽 증가 시 확장 어려움쿠버네티스는 선언적 방식(Declarative) 으로 동작한다. 이는 “어떻게 실행할지”를 직접 명령하는 것이 아니라, “어떤 상태여야 하는지”를 정의하면 시스템이 이를 자동으로 맞추는 방식이다.명령형 방식“컨테이너를 2개 실행해라”라고 직접 실행한다선언형 방식“컨테이너 2개가 항상 실행된 상태여야 한다”라고 정의한다이 경우 쿠버네티스는 실제 상태를 계속 확인하면서 컨테이너가 부족하면 자동으로 ..
Linux Container에서 Docker까지1. chroot리눅스는 오래전부터 chroot라는 명령을 제공해왔다. chroot 명령어란 change root의 줄임말로 Root Directory를 변경하는 명령어이다. (일반적으로 Root Directory는 /)chroot를 통해 루트 디렉토리를 설정하면 chroot jail이라는 환경이 생성된다. chroot jail안에서는 외부 디렉토리에 대한 접근이 불가능하다.이는 디렉토리 경로를 격리시키므로, 서버 정보 유출을 최소화 하기 위해 사용되었다.한계프로세스, 네트워크, 사용자 격리 없음리소스 제한 불가보안 취약 (탈출 가능)실행 환경 구성 수동 (라이브러리 직접 복사)chroot는 파일 시스템 경로만 변경할 뿐, 프로세스는 여전히 동일한 시스템에 ..
.env 파일 관리의 불편함나는 지금까지 Spring Boot 프로젝트에서 환경별 설정을 다음과 같이 .env 파일로 관리하고 .gitignore 로 민감 정보를 제외하는 방식이었다..env.local.env.dev.env.prod이 구조 자체는 단순하지만, 실제 개발 과정에서는 다음과 같이 명확한 불편함이 있었다..env 파일을 환경마다 왔다 갔다 하며 수동으로 관리해야 했다. 혼자서 공부하고 있는 현재 나의 경우에는 Mac과 Windows를 오가거나, 프로젝트를 이동할 때마다 파일을 복사하고 맞추는 과정이 반복됐다.이 문제의 본질이 문제는 아키텍처 문제라기보다 운영 방식의 문제에 가깝다.실행 환경이 달라지는 문제가 아님시스템 설계가 깨진 것도 아님특히 다음 상황에서 불편이 누적된다.개발 환경이 여러 ..