Recommend
-
2022년 회고
2022년 돌아보기 회고를 할 때쯤 그동안의 스스로를 평가한다. 어떻게 살았나, 잘 살았나. 머릿속으로는 막연하도록 한참 부족한 것 같다. 하지만, 글을 정리하며 꽤 많은 것을 이루었음을 깨달을 때 "잘 살고 있나 보다" 생각이 든다. 그래서 회고가 기다려지나보다. 스스로의 자책이 깊어질 때, 잘 가고 있다고 더 나아가도 된다고 길을 터준다. 이번 해도 지난 해 못지않게 큰 변화가 일어났다. 다만, 깊은 암울과 좌절스러웠던 지난해와는 상반되게, 희망찼고 밝았다. 이번 해 목표를 만족스럽게 이루었다. 지난 해, 2021년 회고에서 정한 목표와, 2022년 상반기 회고를 통해 새로 다짐한 목표들도 이루어 나갔다. 아침 6시에 하루를 시작하고, 운동을 한 후 도시락을 만들고, 출근 버스에서 뉴스레터나 책을 읽..
-
2023년 회고
2023년 돌아보기 이번 해에는 마치 세상의 주인공이 된 것처럼 믿기지 못할 일들이 일어났다.먼 훗날에도 가슴 한편에 자리 잡을 다양한 일들이, 커다란 마일스톤이 된 해였다. 많은 일들을 다 적지 못하는 게 아쉽지만, 본 글은 본인의 성장 과정을 적는 기회로 가져가려 한다. 1/ 경험일 년 전, 세상이 너무 좁게 느껴졌다.기술 공부로는 해결되지 않는 무엇인가였다.세상을 배우고 싶었고, 미지라는 두려움을 이겨내고 싶었다. 22년에 정한 23년의 KPT - Keep 중 '도전'이 있었다. 계속해서 도전하자.도전이 만드는 그려지지 않은 미래가 무섭고, 두렵다.안주하는, 안정적인 삶도 나쁘지 않다. 하지만 지금 본인의 시기에는 아니다.조금이라도 어릴 때, 조금이라도 더 큰 수용력을 가질 때, 성장의 추진력..
-
Kotlin, 어렵지 않게 사용하기
안녕하세요. 코틀린 도장깨기를 하려고 시리즈로 정리 중입니다. 최종적으로 코프링 데모 프로젝트를 만들어보고 싶어 시작했습니다 💪🏻 코드는 Github 링크에서 확인하실 수 있습니다. 정리를 위한 코드는 아니고, 스스로 테스트하기 위한 코드이니 참고해주세요. | Release | Kotlin 1.9.0 Release, 제대로 살펴보기 | Language | :: Basic Kotlin, 어렵지 않게 사용하기 - 기초 (1) Kotlin, 어렵지 않게 사용하기 - 함수 (2) Kotlin, null 어렵지 않게 다루기 :: Coroutine Kotlin, 코루틴 제대로 이해하기 - (1) Kotlin, 코루틴 제대로 이해하기 - (2) :: Object Kotlin, 어렵지 않게 사용하기 (3) - Obje..
-
Docker Engine, 제대로 이해하기 (1)
📌 Docker Series> Docker Engine, 제대로 이해하기 (1) - docker engine deep diveDocker Engine, 제대로 이해하기 (2) - namespace, cgroupDocker Network, 제대로 이해하기 (1) - libnetworkDocker Network, 제대로 이해하기 (2) - bridge, host, none driversDocker, 제대로 사용하기 - Commands안녕하세요. 오늘은 Docker Engine에 대해 깊게 다루려고 합니다. 이 포스팅의 목적은 dockerEngine의 내부 구조와 동작원리 등을 최대한 자세히 다루는데 있습니다.이 글을 읽는 독자가 Docker image, container 등 기본적인 개념을 이해한다는 가..
-
Kubernetes Deployment, 제대로 이해하기
본 포스팅은 Kubernetes Core Concept 중, Deployment Object의 개념과 사용법을 익히도록 합니다. 🔗 Kubernetes Series모든 Kubernetes 시리즈를 확인하시려면 위를 참고해 주세요. 본 포스팅에서는 Kubernetes을 사용하며 반드시 알아야할 개념 중 하나인 Deployment를 살펴보고자 합니다. Deployment?A Deployment provides declarative updates for Pods and ReplicaSets Deployment는 이름 그대로, 쿠버네티스에서 배포를 위한 객체입니다.기능적으로는, Pod와 ReplicaSet를 배포를 관리합니다. 운영자가 Deployment에서 원하는 상태desired status를 ..
-
Kubernetes Architecture, 제대로 이해하기
본 포스팅은 Kubernetes Architecture 를 이해하고 구성 요소들의 개념과 역할을 이해하는 것을 목표합니다. 🔗 Kubernetes Series모든 Kubernetes 시리즈를 확인하시려면 위를 참고해 주세요. 본 포스팅에서는 Kubernetes 혹은 K8s 을 살펴보려 합니다.이론과 실습 중 무엇이 선행되어야 할지 생각해봤을 때, 제 기준에서 Kubernetes는 개념 정도만 먼저 알아보고, 실제로 사용해보며 깊이 들어가는 것이 좋지 않을까 싶습니다. 어떤 역할을 하는, 왜 생겨난 서비스인지를 파악한 후, 무작정 따라해보고 이유를 찾아가며 배우면 좋을 듯 합니다.그럼 지금부터 쿠버네티스 아키텍처에 대한 전반적인 내용을 살펴보도록 하겠습니다. Kubernetes의 목적은 컨테이..
-
Design Patterns, 제대로 이해하기
안녕하세요. GoF 디자인 패턴을 정리하고자 합니다. 디자인 패턴은 일주일 전부터 공부를 시작했는데, 스스로 설명하듯 적는게 익히는데 도움이 클 것같아 정말 오랜만에 시리즈로 포스팅하려 합니다 👊🏻 아래의 책들을 보며 정리했습니다. - GoF Design Patterns - 쉽게 배워 바로 써먹는 디자인 패턴 - Head First Design Patterns, 2nd Edition 아래는 디자인 패턴을 분류한 테이블입니다. Scope에 따라 Class와 Object로 분류합니다. Class는 상속과 관련된 패턴이며, Object는 연관된 객체들과 관련된 패턴입니다. 제가 이해하기로는 Class가 조금 더 수직적인 관계를 다루지 않나 싶습니다. Creational Pattern Class Scope는 객..
-
HTTP/3, 제대로 이해하기
해당 포스팅은 HTTP/3의 구조와 특징에 대해 이전 HTTP 프로토콜과 비교하여 이해하는 것을 목표로 합니다. 2022년 6월, HTTP의 세 번째 버전인 HTTP/3가 IETF(Internet Engineering Task Force) 표준으로 채택되었습니다. 새로운 표준에 어떤 특징이 있는지, 웹 상에 어떤 변화가 있을지 알아볼 필요가 있어 보이는데요. 그래서 해당 포스팅에서 HTTP/3의 등장 이유와 그 특징에 대해 알아보겠습니다. 물론, 표준으로 채택된 후 바로 웹 상에 적용되지는 않겠지만, 이를 대비해두고 준비해야할 필요는 있습니다. HTTP HTTP는 HyperText Transfer Protocol의 약자로, 링크를 통해 다른 문서로 연결될 수 있는 문서를 전송하는 규격이 정해진 규칙 체계..
-
Reactive Programming, 제대로 이해하기
Spring의 WebFlux에 대한 개념을 쉽고 정확하게 이해하는 것을 목표로 합니다. | Reactor Series | 👉🏻 Reactive Programming, 제대로 이해하기 - Reactor 제대로 이해하기, Marble Diagram - Reactor, 제대로 이해하기 - Flux Create Background 많은 서비스를 한 앱에 구현하는 monolithic 구조는 더 이상 사용하지 않습니다. 빠른 속도를 요구하는 시대에서 monolithic 구조는 문제가 점점 도태되었습니다. 대신 작게 분산된 컴포넌트를 구성하여 연결하는 microservice 구조(MSA)와 이를 서비스하는 클라우드 기반의 클러스터를 선호하게 되었습니다. Microservice 구조는 한 앱을 작은 컴포넌트로 분산시킨..
-
MySQL Architecture, 제대로 이해하기
MySQL Server의 구조를 파악하는 것이 본 포스팅의 목적입니다. MySQL Architecture TLDR; MySQL 서버는 크게 MySQL Engine과 Storage Enigne으로 구분할 수 있습니다. ✔️ MySQL Engine: 요청된 SQL 문장을 분석하거나 최적화 등 처리. 논리적인 면에서 두뇌의 역할 ✔️ Storage Engine: 손발 역할. 실제 데이터를 디스크 스토리지에 저장하거나 디스크 스토리지로부터 데이터를 읽어옴 여기서 중요한 점은 하나의 쿼리 작업은 여러 하위 작업으로 나뉘는데, 각 하위 작업이 MySQL 엔진 영역에서 처리되는지 아니면 스토리지 엔진 영역에서 처리되는지 구분할 줄 알아야 한다는 점입니다. Big Picture 위의 그림을 위에서 부터 살펴보면 Cli..
-
SQL Execution Plan, 제대로 이해하기
Execution Plan을 읽고 해석할 수 있는 것이 이 포스팅의 목표입니다. 본 포스팅은 사용된 코드나 데이터는 직접 테스트 한 내용으로, 만약 직접 테스트 해보고 싶다면 아래의 내용을 참고해주세요. Mysql Version: 8.0.26 Test DB: employees 테스트 DB는 해당 링크의 'Example Databases > employee data'에서 다운받으실 수 있습니다. 해당 테스트 DB는 아래와 같은 구조로 구성되어 있습니다. Execution Plan? 실행 계획이란, 말 그대로 SQL 문으로 요청한 데이터를 어떻게 불러올 것인지에 관한 계획, 즉 경로를 의미합니다. 지름길을 사용해 데이터를 빠르게 찾아낼 것인지, 지름길이 있어도 멀리 돌아가서 찾을 것인지 미리 확인할 수 있습..
-
Circuit Breaker, 제대로 이해하기
Circuit Breaker 마이크로 서비스 아키텍처(MSA, Micro Service Architecture)를 쉽게 말하면, 한가지 일만 잘하는 서비스들이 협업하는 아키텍처입니다. 서비스들은 HTTP 통신이나 RPC, Socket 등으로 서로 간의 통신하여 협업합니다. 많은 경우에서, 마이크로 서비스들은 특정 기능을 제공하기 위해 해당 아키텍처의 다른 서비스에게 통신을 요청합니다. 그리곤, 원하는 응답을 받아 계속해서 처리하죠. 비동기의 경우에는 달라질 수 있지만, 동기 방식에는 이런 방식으로 각 서비스가 의존적으로 구성됩니다. 이 경우의 문제점은 한 서비스에서 에러가 발생하거나 느려지면 이를 호출하는 다른 서비스들로 장애가 전파된다는 것입니다. 이를 위해 마이크로 서비스 아키텍처의 서비스들은 스스로..
Most Popular
-
Spring WebClient, 어렵지 않게 사용하기
WebClient는 스프링 5.0에서 추가된 Blocking과 Non-Blocking 방식을 지원하는 HTTP 클라이언트입니다. - Reactor, 제대로 사용하기 - Error Handling - Reactive Programming, 제대로 이해하기 👉🏻 WebClient 소개 - Spring WebClient, 제대로 사용하기 - retrieve - Spring WebClient, 제대로 사용하기 - exchange WebClient의 설정 및 요청, 응답 처리 등의 사용법을 학습하는 것이 본 포스팅의 목적입니다. ----------------- INDEX ----------------- WebClient? Create 📌 create() 📌 build() Configuration 📌 Timeout..
-
RSA, 제대로 이해하기 (1)
안녕하세요. 오늘은 요즘에 딥하게 빠져버린 암호학 중 필수 개념인 RSA (textbook-RSA)에 대해 알아보고자 합니다. **************** INDEX ***************** RSA? ✔️ Key Generation ✔️ Key Distribution ✔️ Encryption ✔️ Decryption Effective En/Decryption - square-and-multiply - CRT Attack - CCA - Broadcast attack ******************************************** 📚 RSA? RSA는 전 세계에서 가장 많이 사용되는 공개키 암호 알고리즘입니다. 오랜시간 지속해서 사용하고 있는 아주 중요한 알고리즘이라 꼭..
-
Java Date & Time, 제대로 사용하기
Java의 날짜와 시간을 제대로 다루기 위해 Date, LocalDate, LocalDateTime 의 개념을 이해하고 응용하는 것이 본 포스팅의 목표입니다. History 이제는 자바 8이 꽤나 보편화된 것 같은데요. 자바 8버전이 중요하다고 하는 이유 중 하나가 바로 "날짜"를 다루는 방식입니다. 자바 8에 새로운 날짜와 시간 API가 생긴 이유는 아래와 같은 이유가 있습니다. ✔️ Mutable 자바 8 이전의 util.Date 클래스는 mutable 하기 때문에 thead safe하지 않았습니다. public class App { public static void main(String[] args) throws InterruptedException { // mutable 한 객체 -> multi-..
-
DeepSORT, 제대로 이해하기
DeepSORT는 가장 널리 사용되고 있는 객체 추적 프레임워크 중 하나로, SORT(Simple Online and Realtime Tracking)을 보완 확장한 기술입니다. 📚 사전 지식 먼저 다룰 사전 지식은 DeepSORT에서 사용되는 기술들입니다. 미리 알면 DeepSORT에서 왜 사용되었는지, 이 기술을 써서 얼마나 더 좋아졌을지를 납득하기 위한 내용들입니다. DeepSORT를 한 번 훑고 보는 것도 좋고, 순서에 맞게 읽어도 좋습니다. 본인이 이해하기 쉬운 순서가 무엇인지 생각하고 읽는 것을 권장합니다. ✔️ Kalman filter 칼만 필터는 간단하게 소개하자면, 이전 프레임에 등장한 개체를 이용하여 다음 프레임의 개체의 위치를 예측하고 측정합니다. 위의 그림에서 Predicted st..
-
Spring Interceptor, 제대로 이해하기
Interceptor는 컨트롤러에 들어오는 요청 HttpRequest와 컨트롤러가 응답하는 HttpResponse를 가로채는 역할을 합니다. 스프링의 Intercepter의 이해와 사용법을 익히는 것이 본 포스팅의 목표입니다. ----------------- INDEX ----------------- Interceptor? Interceptor VS Filter 📌 Filter HandlerIntercepter 📌 preHandle 📌 postHandle 📌 afterCompletion HandlerInterceptorAdapter AsyncHandlerInterceptor ---------------------------------------------- Interceptor? '가로채다' 스프링 MV..
-
Hexagonal Architecture, 어렵지 않게 이해하기
본 포스팅은 Hexagonal Architecture의 등장 배경과 개념을 이해하는 것을 목표로 합니다. 본 편 이후, Hexagonal Architecture를 Spring을 통해 실제로 구성하는 내용을 다룰 예정입니다. Architecture소프트웨어 개발은 복잡합니다.생각 없이 코드를 작성하다 보면 서로 얽히고설킨 구조가 만들어지기 쉽죠.하지만, 소프트웨어의 특성 상 비즈니스는 변경되기 쉽고, 코드 또한 변경되기 쉽습니다. 소프트웨어의 아키텍처를 아래의 순서에 따라 살펴 보도록 하겠습니다. - Layered Architecture- Clean Architecture- Hexagonal Architecture Layered Architecture은 Clean Architecture가 나오기까지의..
-
LATERAL JOIN, 어렵지 않게 사용하기
본 포스팅은 LATERAL JOIN을 이해하고 실습해보기 위한 포스팅입니다. LATERAL JOIN 은 PostgreSQL, Oracle, DB2, MS SQL 등에서 사용될 수 있지만, 잘 알려지지는 않은 기능입니다. 최근 쿼리를 작성하면서 LATERAL JOIN 기능을 사용할 일이 있었는데요. LATERAL JOIN 으로 어떤 것들을 할 수 있을지 잘 파악한다면, 꽤 유용한 기능이라고 생각이 들어 글을 작성해보고자 합니다. 내용을 살펴보기 전에, SQL의 기본적인 SELECT 와 FROM 구문을 생각해봅시다. SELECT FROM ; 기본적으로, 위 코드는 루프를 돌며 데이터를 가져오는 것을 알 수 있는데요. 마치 아래와 같은 pseudo 코드와 같이 생각할 수 있습니다. for x in tab lo..
-
MySQL FullText Search, 제대로 이해하기
MySQL의 fulltext search 에 대한 이해와 MATCH AGAINST 사용법을 간단히 알아보는 것이 해당 포스팅의 목표입니다. 후속 포스팅으로 FULLTEXT 검색 파서 중 하나인 "ngram" 사용법에 대해 다룰 때 구문 사용법을 조금 더 자세히 알아볼 예정이며, 해당 포스팅에서는 FullText 기본적인 내용과 활용법에 대해 알아보고자 합니다. Full-Text Searches MySQL을 사용할 때, LIKE 연산을 통한 패턴 일치 검색을 사용하고는 합니다. LIKE 연산을 통해 검색을 하게 되면 인덱스를 통한 검색을 못할 때가 생기곤 하는데요. 이럴 때 고려해볼 수 있는 것이 바로 오늘 다룰 전문 검색, Full-Text 검색입니다. FullText 검색은 단어 또는 구문에 대한 검색..
-
MySQL Partition, 제대로 이해하기 (1)
MySQL의 Parition 개념과 특징을 알아보는 것이 본 포스팅의 목표입니다. 안녕하세요. 이번 포스팅은 Parition에 대해 다루고자 합니다. Parition은 대용량 데이터를 처리해야한다면 반드시 알아둘 필요가 있습니다. 이번 포스팅에서는 전반적인 이해와 원리를 다루며, 이어지는 포스팅 MySQL Partition, 제대로 사용하기 (2) 에서 실제 사용법에 대해 다룹니다. 해당 포스팅의 모든 도식은 직접 그린 것으로 출처를 명시하셔야 합니다. Partition? Partition이란 논리적으로 하나의 테이블이지만 실제로는 여러 개의 테이블로 분리해서 관리하는 기능입니다. 마치 동일한 형식의 한 개의 테이블을 사용하고 있는 것 같지만, 실제적으로는 여러 개의 물리 파일로 데이터들을 분할하여 보관..
-
HTTP/2, 제대로 이해하기
HTTP? HTTP는 인터넷을 사용해봤다면 누구나 한 번쯤 들어 봤을텐데요. HyperText Transfer Protocol의 약자로, HyperText(링크를 통해 다른 문서로 연결될 수 있는 문서)를 Transfer(전송하는) Protocol(규격이 정해진 규칙 체계)입니다. 다르게 표현하자면, 웹에서 클라이언트(브라우저)가 웹 서버(httpd, nginx, apache 등)정보를 주고받을 수 있는 프로토콜입니다. 주로 글 위주로 이미지가 포함된 예전의 웹 페이지와는 달리, 이미지의 용량은 매우 커졌고 동영상의 수요와 공급이 급격히 증가하면서 기존의 통신 프로토콜을 변경해야할 필요성을 느끼게 됩니다. 변경 내역을 확인해보면서, HTTP3까지 어떤 것이 변경되고 왜 그렇게 변경되었는지 확인해보는 것이..
-
TimeZone, 어렵지 않게 이해하기
주요 Timezone 영국(UTC), 미국(PDT/ PST/ EDT/ EST ... ), 한국 (KST) 을 구분하고 이해하는 것이 해당 포스팅의 목표입니다. 사실,, 해당 포스팅은 "MySQL, DATETIME VS TIMESTAMP" 포스팅을 작성하다가, 다른 주제로 분리하는게 맞는 것 같아서 분리해보았습니다 😋 관심있으신 분은 위 포스팅을 확인해보시길 바랍니다 〰 Timezone 타임존은 동일한 로컬 시간을 따르는 지역을 의미하며, 해당 국가에 의해 법적으로 지정됩니다. 시간대는 지구의 자전에 따른, 지역 사이에 생기는 낮과 밤의 차이를 인위적으로 조정하기 위해 고안된 시간의 구분선을 말하는데요. 이는 영국의 그리니치 천문대를 기준으로 지역에 따른 시간의 차이를 계산하여 적용합니다. UTC, Asi..
-
MySQL Partition, 제대로 사용하기 (2)
MySQL의 Parition 의 사용법을 알아보며 실제 저장 과정을 분석하는 것이 본 포스팅의 목표입니다. 지난 포스팅 MySQL Partition, 제대로 이해하기 (1)에 이어 이번 포스팅은 Parition의 사용법에 대해 다루고자 합니다. Partition이란 논리적으로 하나의 테이블이지만 실제로는 여러 개의 테이블로 분리해서 관리하는 기능입니다. 마치 동일한 형식의 한 개의 테이블을 사용하고 있는 것 같지만, 실제적으로는 여러 개의 물리 파일로 데이터들을 분할하여 보관하는 방식입니다. 이번 포스팅에서는 파티션을 적용하는 방식과 데이터들의 실제 물리적인 저장 과정을 살펴보겠습니다. Create Patition 파티션을 생성하는 구문은 아래와 같습니다. CREATE TABLE table_name PA..
Recent
-
Kubernetes Static Pods, 제대로 이해하기
본 포스팅에서는 Kubernetes의 Static Pod의 개념을 이해하고 생성, 수정 및 삭제할 수 있도록 학습하는 목표를 가집니다. 🔗 Kubernetes Series모든 Kubernetes 시리즈를 확인하시려면 위를 참고해 주세요. 쿠버네티스의 Static Pod에 대해서 알아보도록 하겠습니다. Static Pods일반적인 Pod는 주로 Deployment, StatefulSet, DaemonSet 등의 컨트롤러를 통해 생성되고 관리됩니다.또, 생성된 리소스는 Kubernetes API 서버를 통해 정의되고 관리됩니다. 정적 Pod(이하 Static Pod)는 API 서버의 관여없이 특정 노드에서 kubelet 데몬에 의해 직접 관리됩니다.컨트롤 플레인에 의해 관리되는 일반 Pod와..
2024.07.10 23:28 -
2024년 상반기 회고
2024년 상반기 돌아보기1/ 일상 – 1%의 하루2/ 개발 – 첫 서비스3/ 영어 – 호주 여행⎸2024년 하반기 목표# 성과 가시화 하기# 스스로에 대한 투자하기# 꾸준히 기록하기# 나를 생각할 시간 확보하기 2024년 상반기 돌아보기새 직장을 다니기 시작한 만큼 새로운 마음으로 한 해를 시작했다.내가 향하는 방향이 맞는지 계속해서 의심하고,내가 정말 하고 싶고 이루고 싶은 것이 무엇인지 질문해오며,꾸준한 노력들을 이뤄갔다. 6개월을 보내는 동안 긴 시간처럼 느껴졌다.막상 회고를 적을 시간이 다가오니,그저 짧은 6개월이었다는 것을 막연히 느낄 뿐이다. 2024년에 이루고자 했던 것들을 생각해보면이직한 회사에서의 적응, 경제 관념 키우기, 운동, 독서, 그리고 영어 공부 등이 있었다.본 회고에서는 ..
2024.07.01 20:00 -
Container Networking, 어렵지 않게 이해하기
안녕하세요.이번 포스팅에서는 컨테이너 네트워킹에 대해 다뤄보겠습니다. 컨테이너는 물리 기기나 개념을 가상화하여 분리된 네트워킹 시스템을 만들어왔습니다.물리적인 개념과 가상화된 내용을 비교하면서 Container Networking을 알아보도록 하겠습니다.네트워크 스위칭과 라우팅, DNS, 네트워크 네임스페이스, 그리고 CNI까지 자세히 살펴보겠습니다. Switch네트워크 스위치는 동일한 네트워크 내에서 여러 장치를 연결하고, 각 장치 간의 데이터 전송을 효율적으로 관리하는 장치입니다. 스위치는 각 장치의 MAC 주소를 기반으로 데이터를 적절한 포트로 전달하여 네트워크 효율성을 높입니다. 네트워크 브리지는 여러 컴퓨터나 장치를 서로 연결해주는 장치로,같은 네트워크 안의 여러 장치를 연결하여 데이터가..
2024.06.19 13:18 -
Kubernetes Storage, 제대로 이해하기
본 포스팅에서는 Kubernetes의 저장소를 구성하는 방법인 PV & PVC 의 개념을 이해하고 적용할 수 있도록 하는 목표를 가집니다. 🔗 Kubernetes Series모든 Kubernetes 시리즈를 확인하시려면 위를 참고해 주세요. 쿠버네티스의 저장소에 대해서 알아보도록 하겠습니다. VolumesPod는 내부에서 컨테이너 들이 실행되며, 서로 CPU, RAM, Network Interface 등 리소스를 공유합니다.그렇다면, 파일 시스템도 동일할까요? 다른 리소스와 다르게, Pod 내부의 각 컨테이너는 각각의 분리된 파일 시스템을 가집니다.컨테이너 마다의 파일 시스템은 컨테이너 이미지에서 제공하기 때문입니다. Docker Volume과 동일하게, 쿠버네티스의 컨테이너 내 디스크에 있..
2024.06.10 00:00 -
📚 Docker Series
Docker Deep Dive 시리즈를 이곳에서 확인할 수 있습니다. 📌 Docker SeriesDocker Engine, 제대로 이해하기 (1) - docker engine deep diveDocker Engine, 제대로 이해하기 (2) - namespace, cgroupDocker Network, 제대로 이해하기 (1) - libnetworkDocker Network, 제대로 이해하기 (2) - bridge, host, none driversDocker, 제대로 사용하기 - CommandsDocker Volume, 어렵지 않게 이해하기
2024.06.04 00:25 -
Docker Volume, 제대로 이해하기
Storage in DockerDocker가 로컬 파일 시스템에 데이터를 저장하는 방식에 대해 알아보겠습니다. Docker의 파일 시스템 구조도커를 처음 설치하면 /var/lib/docker 폴더가 생성되며, 다양한 하위 폴더들이 포함됩니다. /var/lib/docker├─ aufs├─ containers├─ image└─ volumes 이 폴더들 하위에는 Docker 호스트에서 실행되는 이미지나 컨테이너와 관련된 데이터들이 저장됩니다. Docker Layered architectureDocker는 이미지를 구축할 때 레이어드 아키텍처를 사용합니다. Dockerfile를 빌드할 때 각 지시문마다의 레이어를 생성합니다. 한 번 빌드된 레이어는 수정할 수 없으며, 새로운 빌드를 통해 재정의해..
2024.06.03 23:59 -
Kubernetes Cluster Upgrade, 제대로 이해하기
본 포스팅에서는 Kubernetes 클러스터를 업그레이드하는 방법에 대해 이해하는 목표를 가집니다. 🔗 Kubernetes Series모든 Kubernetes 시리즈를 확인하시려면 위를 참고해 주세요. Versioning🔗 Kubernetes releases 쿠버네티스는 표준 소프트웨어 릴리스 버전 관리 절차를 따릅니다.쿠버네티스의 첫 번째 Major 버전인 1.0 은 2015년에 발표되었고, 최근 버전은 1.30 (2024-04-17) 입니다. Semantic Versioning: MAJOR.MINOR.PATCH MAJOR version : when you make incompatible API changesMINOR version: when you add functionality in a..
2024.04.24 13:19 -
📚 Kubernetes Series
Kubernetes Deep Dive 시리즈 작성중입니다.모든 게시글은 이곳에서 확인할 수 있습니다. 📌 Kubernetes SeriesK8s Architecture, 제대로 이해하기Kubernetes Architecture, 제대로 이해하기 - Control PlaneKubernetes Architecture, 제대로 이해하기 - Worker NodeKubernetes Deployment, 제대로 이해하기Kubernetes Taints & Tolerations, 제대로 이해하기Kubernetes Affinity, 제대로 이해하기Kubernetes Scheduler, 제대로 이해하기Kubernetes Resource & Limit, 제대로 이해하기Kubernetes DaemonSet, 제대로 이해하..
2024.04.16 23:38