분류 전체보기

Kubernetes
※ 위 책을 읽고 개념 위주로 정리한 내용임을 알립니다. Kubernetes는 무엇인가? 표면적으로는 Container 관리 도구이지만, 실제로는 Container Orchestration을 위한 솔루션 Orchestration : 복잡한 단계를 관리하고 요소들의 유기적인 관계를 미리 정의해서 손쉽게 사용하도록 서비스를 제공하는 것을 뜻함 다수의 컨테이너를 유기적으로 연결하고 실행하고 종료할 뿐만 아니라 상태를 추적하고 보존하는 등 컨테이너를 안정적으로 사용할 수 있도록 만들어 줌 ※ k8s의 의미 : 'kubernetes'에서 앞의 k와 뒤의 s만 두고 나머지 8자는 축약했다는 뜻 : 참고로 kubernetes는 그리스 어로 도선사나 조타수를 뜻함 Kubernetes 구성 방법 3가지 1. 퍼블릭 클라..

컨테이너 인프라 환경
※ 위 책을 읽고 개념 위주로 정리한 내용임을 알립니다. container : 하나의 운영 체제 커널에서 다른 프로세스에 영향을 받지 않고 독립적으로 실행되는 프로세스 상태 구현된 컨테이너는 가상화 상태에서 동작하는 프로세스보다 가볍고 빠르게 동작 monolithic architecture 하나의 큰 목적이 있는 서비스 또는 애플리케이션에 여러 기능이 통합되어 있는 구조 소프트웨어가 하나의 결합된 코드로 구성되어 있기에 초기 단계에서 설계하기에 용이 개발이 좀 더 단순하고 코드 관리가 간편 그러나 서비스 운영 중 수정 작업이 많아지거나, 기능이 추가될수록 서비스 간의 관계가 매우 복잡해짐 서비스를 수정하는 과정에서 에러가 발생하면 전체 서비스를 이용할 수 없게 될 가능성도 있음 개발 속도는 매우 빠름 I..

조훈 · 심근우 · 문성주 - 『컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커』
학습 기간 : 2022.03.01 ~ 2022.04.23 소견 최근 들어 가장 많이 시간을 할애하고 열심히 공부했지만 사실 상당 부분이 제대로 이해가 안된 느낌이다. 국비 지원 학원에서 난생 처음으로 개발 공부를 하던 때가 생각났다. 따라하라고 해서 따라하고는 있는데, 실상 이해는 하나도 안 되고 있는···. 나는 이 책에 대해서 아직 본연의 것을 학습하지 못했다는 생각이 들었고, 그렇기 때문에 책의 내용들을 다시금 되짚어 보면서 블로그에 정리해볼 생각이다. 그래서 이렇게 한참 모자르고 부족한 리뷰를 적게 되었다. 그래도 장단점을 한번 가려보자면 우선 나와 같이 Infrastructure에 대해 입문해보고자 하는 사람이라면 추천할 만한 책이라고 생각한다. Kubernetes부터 시작해서 Docker, J..

존 손메즈 - 『커리어 스킬』
읽은 기간 : 2021.11.29 ~ 2022.04.11 0. 서론 정말 오랜만에 책을 한 권 다 읽고 Book 카테고리에 글을 쓰게 되었다. 변명이나 핑계를 덧대자면 부트 캠프에서의 학업에 집중하느라, 또 그 이후에 취업 준비를 하고 인턴 활동을 경험하느라··· 라고 할 수도 있겠지만 그냥 내가 책을 읽는 데 신경을 크게 기울이진 않았다는 생각도 든다. 부트 캠프와 인턴 기간 중에는 거의 책을 읽지 못했고, 구직 기간에는 그래도 하루에 한 시간 씩 책을 읽는 습관을 들이고 있기는 한데, 그보다 더 근본적으로 어느 기간까지 어느 정도 양을 읽겠다는 목표가 필요하겠다는 생각도 든다. '읽어야지' 하고 생각해 둔 책들이 벌써 마흔 권 정도 된다. 어느 정도는 전투적으로 읽을 필요도 있다는 생각이 든다. 1...

Next.js 기본 생성을 시도하다가 만난 2가지 에러
요즘 한 가지 토이프로젝트를 제대로 만들어보고 싶다는 생각에 Nomad Coders의 Next.js 강의를 수강하고 있다. 오늘 진행한 내용은 Next.js 앱을 생성하는 과정이었는데, 사실 만났던 에러는 굉장히 초보적이고 기초적인 부분이었지만 혹시라도 같은 실수를 반복하지 않기 위해서, 그리고 혹시라도 이 글을 읽고 조금이라도 도움을 얻을 분들을 위해 이렇게 글을 작성하게 되었다. 1. node:events:346 도대체 뭐 이렇게 생긴 에러가 있나 싶어서 처음엔 멘붕이 왔지만 해결책은 실로 간단했다. 바로 yarn이 없었던 것이다. 그래서 brew install yarn을 통해 yarn을 설치해주니 바로 해결되었다. 2. node 버전 문제 이번 경우에는 그나마 에러 메시지가 명확해서 좋았다. nvm..
Excel bulk 삽입 연산 해보기 (with Kotlin & JPA)
1. 요구사항 편의점에서 동일한 품목이 여러 개씩 한번에 들어오는 상황이라고 가정 납품 업체에서는 품목의 정보를 담은 엑셀 파일을 보내주는 상황이라고 가정 품목의 정보에는 UUID(바코드 대신😅), 제품명, 가격, 유통기한의 정보가 들어있음 이 때, 제품명, 가격, 유통기한은 모두 같은 값을 갖지만 UUID는 모두 개별 값을 가짐 컴공 출신의 알바생은 이 상품들의 데이터를 다루는 코드를 짜보기로 함 2. Excel Template UUID name price Expiration Date 60868a03-f082-40c7-8b67-d8ab9e3a9bfc 삼각김밥 1200 2022. 1. 31 4bb35d56-b9a6-45b9-9741-723cdc9194df 8fb9fca3-a26b-450a-92e5-22e..
OAuth 2.0
웹 사이트들을 돌아다니다 보면 흔하게 볼 수 있는 소셜 로그인 인증 방식은 OAuth 2 라는 기술을 바탕으로 구현된다. OAuth는 인증을 중개해주는 매커니즘이다. 보안된 리소스에 액세스하기 위해 클라이언트에게 권한 제공 프로세스를 단순화하는 프로토콜이다. 이미 사용자 정보를 갖고 있는 웹 서비스(Github, Google, Facebook 등)에서 사용자의 인증을 대신해주고, 접근 권한에 대한 토큰을 발급한 후, 이를 이용해서 해당 앱에서 인증이 가능하도록 한다. 하지만 OAuth가 모든 것을 해결해주는 것은 아니다. 사용자 정보가 내 서버에 저장된다는 사실에는 변함이 없기 때문이다. OAuth는 Authentication(인증)을 다른 서비스에 맡길 뿐, Authorization(권한 관리)는 순전..
Token
Token-based Authentication을 사용하는 이유 Session 기반 인증은 서버 혹은 DB에 유저 정보를 담는 인증 방식이었다. 서버에서는 유저가 민감하거나 제한된 정보를 요청할 때마다 갖고 있는 세션 값과 일치하는 세션 아이디를 갖고 있는지 확인한다. 매 요청마다 이러한 작업을 진행하는 것이 불편하기 때문에 토큰 기반 인증 방식이 등장했다. 클라이언트에서 인증 정보를 보관 '토큰' 하면 동전을 떠올리게 될 것이다. 현실에서는 주로 돈과 교환되는 시설 이용권에서 비롯된 용어라고 보면 된다. 클라이언트에서 인증 정보를 보관하기 위해 토큰 기반 인증 방식이 고안되었다. 하지만 클라이언트는 XSS, CSRF 공격에 대비하기 위해서 민감한 정보를 담으면 안되는데, 어떻게 이러한 방식이 유효할 수..
Session
Session은 쿠키의 보안 취약성을 보완하기 위해 등장했다. 쿠키는 데이터를 클라이언트에 저장한다면, Session은 데이터를 서버에 저장한다. 쿠키에는 세션의 key만을 두기 때문에 한결 더 보안이 강화된다. 어떻게든 세션을 저장해두어야 하기 때문에 메모리를 사용하며, 서버 성능 이슈를 발생시킬 수 있다. 로그인 로그인 시, 사용자가 정확한 아이디와 비밀번호를 입력했다면 서버는 인증(Authentication)에 성공했다고 판단할 것이다. 그리고 다음 번에 인증을 필요로 하는 작업을 할 때에는 동일한 인증 작업을 굳이 다시 할 필요가 없을 것이다. 다시 말해, '인증에 성공했음'을 서버가 알고 있다면 매번 로그인할 필요가 없게 해야 한다는 것 이다. 이러한 작업을 위해 필요한 것은 다음과 같다. 서버..