한 권으로 배우는 도커 & 쿠버네티스 - 컨테이너 개념부터 쿠버네티스를 활용한 배포까지
장철원 지음 / 한빛미디어 / 2024년 4월
평점 :
장바구니담기


- 소프트웨어 개발은 단순 코드 작성으로 끝나지 않는다. 다양한 사용자들을 위해 배포해야 할 서버는 다양한데 특정 서버에서만 문제를 일으킨다면 그 문제를 해결하기 위해 시간과 노력을 들여야 한다. 우리는 어디에서나 문제없이 잘 돌아가게끔 '잘 돌아가는 환경'까지 포함하여 소프트웨어를 포장하고 싶어졌다. 그렇게 나온 것이 도커와 쿠베너티스.

- 도커를 활용하면 컨테이너 기반 가상화 기술로 애플리케이션을 효율적으로 패키징하고 실행할 수 있다. 쿠버네티스는 컨테이너 관리를 자동화함으로 대규모 애플리케이션 배포 및 확장을 쉽게 할 수 있다.

- 책 1장에서는 우분투 비롯하여 실습환경을 구축한다. 우분투는 리눅스 운영체제를 기반한다. 실제 물리 서버를 구축하는 건 비용이 발생하므로 가상 머신을 생성할 수 있는 소프트웨어 '버추얼박스'를 다운로드한다.

- 2장 도입에서 사전 기초 지식을 이렇게 풍부한 그림 자료와 함께 알아갈 수 있다.

-프로그램은 실행 가능한 명령어의 집합이자 하드 디스크 같은 저장 장치에는 저장되어 있지만 메모리에는 올라가지 않은 정적인 상태를 의미한다. < - > 프로세스는 실행 중인 프로그램을 의미하며 동적인 상태의 프로그램이다.

우리에게 친숙한 파워포인트라는 소프트웨어로 예시를 보여주니 더 잘 이해갔다.

-스레드는 프로세스가 할당받은 자원을 이용하는 실행 단위이자 프로세스 내에서 실행되는 여러 흐름의 단위이다. 프로세스는 최소 1개 이상의 스레드를 가지며 이를 메인 스레드라고 한다. 프로세스는 스레드의 정보를 담고 있다. 즉 프로세스는 스레드의 컨테이너에 해당한다. 워드 프로그램의 경우, 하나의 스레드는 화면 상에 글자를 보여주는 일을 하고 다른 스레드는 사용자의 키 입력에 대응하고 다른 스레드는 백그라운드에서 오탈자와 문법을 확인한다.

-sw로서의 도커는 컨테이너라고 부르는 이용 체제 수준의 가상화 방식으로 소프트웨어를 배포하는 PaaS 제품을 의미한다. 오픈소스다.

-컨테이너란 소프트웨어를 배포할 때 필요한 코드, 라이브러리, 환경설정 등을 파일을 한데 모아 격리 시킨 후 실행 가능한 패키지로 만든 것을 의미한다. 이러한 컨테이너 개념은 최소 구성요소로 분할한다는 마이크로 서비스 아키텍처의 기반이 된다.

 

-자주 쓰는 도커 명령어도 책에 수록되어 도움받을 수 있다.

-이렇게 도커의 기초에 대한 내용이 끝나고 5장에서는 도커를 활용한 장고를 실행한다. pyenv로 파이썬에서 가상환경을 구축하고 YAML 실습을 위해 pyyaml 라이브러리를 설치한다. (YAML은 플러터에서 처음 봤는데 도커 컴포즈와 쿠버네티스에서도 사용한다고 한다. 다시 보니 반갑구료)

-파이썬을 처음 해보는 거라고 해도 이 책에서 직접 뭔가를 개발하고 그러는 게 아니라서 걱정할 필요 없다. DBMS는 PostgreSQL 사용함.

-6장에서는 django가 아니라 Flask로 웹서비스를 시행한다. 책 앞머리에 학습 길라잡이에서 공부 방향을 정해준다.

-7장부터 쿠버네티스 파트가 시작된다. 쿠버네티스는 줄여서 K8s라고도 부름

쿠버네티스는 수많은 컨테이너를 관리하는 시스템이다. 당장 실행할 컨테이너가 200개면 docker container run 명령어를 100개 입력해야 한다. 이때 쿠버네티스를 사용하면 여러 개의 컨테이너를 쉽게 생성하고 관리할 수 있다.

-8장은 쿠버네티스 실습 환경 구축에 대해 다룬다. 버추얼 박스로 가상 머신을 추가한다. 책에서는 서버 세 대로 쿠버네티스 클러스터를 구출한 후 실습을 진행한다. 쿠버네티스는 마스터 노드와 워커 노드라는 두 종류의 노트로 구성되어 있다. 마스터 노드는 클라이언트의 API 요청을 받고 워커 노드를 다루며 워커 노드는 실제 컨테이너를 실행하는 역할을 한다. 책에서는 편의상 서버 대신 노드라는 용어를 사용한다.

-9장은 쿠버네티스 패키지 관리 프로그램인 헬름, 10장에서는 앞에 도커 파트에 나온 django와 Flask를 쿠버네티스를 통해 실행한다. 도커 허브에 가입

-10장은 서비스 실행 위주였다면 11장에서는 깃허브 액션으로 CI, ArgoCD로 CD를 실습해 본다. 사전 준비 사항은 metalLB 설치 여부와 깃허브 가입

-ArgoCD는 쿠버네티스 앱의 자동 배포를 가능하게 하는 오픈소스 소프트웨어다.

-12장은 쿠버네티스 모니터링에 대해 다룬다. 매트릭 서버로 리소스 사용량을 확인하고, 프로메테우스로 모니터링 데이터를 수집하고, 그라파나를 통해 모니터링 데이터를 시각화하고, 로키를 이용해 로그를 확인한다.

-깃허브 예제 주소와 실습환경을 제공한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
개발자 기술 면접 노트 - 18년 차 카카오 면접관의 빅테크 기업 취업/이직 가이드
이남희 지음 / 한빛미디어 / 2024년 3월
평점 :
장바구니담기


책은 저자 이남희가 SI 업체에서 빅테크 기업으로 이직한 경험👨‍💻 & 쿠팡과 카카오 면접관🧑‍💻 경험을 바탕으로 IT 기업 취업과 이직에서 활용할 면접 전략을 다루고 있다. 


서류 작성과 포트폴리오 준비, 기술 면접을 대비해 알아야 할 내용, 인성 면접을 어떤 마음가짐으로 임해야 하는지 등을 면접관이자 개발자로서의 경험과 주변 조언, 면밀한 자료 조사 등을 통해 정리했습니다. 일단 서류에서는 본인이 걸어온 길을 잘 드러내는 것은 당연하고 지원자의 세심한 능력과 노력을 잘 알아보도록 혼적을 곳곳에 남겨야 합니다. 


위 서문에서 볼 수 있듯 개발자로 일하길 희망하는 지원자가 알고 있으면 도움이 될 지식과 정보를 💁‍♂️면접관💁‍♂️의 관점에서 카테고리별로 정리하였다.​


✌️서류 작성 팁은 물론 ✌️실제 면접 질문과 답변 사례를 통해 자연스럽게 필수 알고리즘과 자료구조, 대용량 데이터 처리 기법 등 핵심 개념✋️을 습득할 수 있다. 또한 커리어 관리를 위해 평소에 어떤 학습과 활동을 해야 하는지도 합격 사례를 통해 소개한다.



1) 공고가 뜨고 서류 쓰기 X


미리 쓰기 => 경력직의 경우 진행한 프로젝트를 매년 업데이트하기


2) 번지르르한 자소서는 질문 몇 번이면 격파당한다.



사실 6장 전까진 스터디를 해라 오픈소스에 기여해라 등등 너무 뻔한 말만 있어서 음.. 했는데ㅋㅋ 코딩 테스트랑 기술 면접 대비 파트 오면서부터 돈값 한다 느낌. 


거의 기술 서적 수준으로ㅋㅋ 꾹꾹 눌러 담은 고봉밥마냥 정보가 많다. 지식 복기를 위해 가볍게 면접 전 한번 훑어보는 것만으로 면접 대비 완료 쌉가넝~~🙋🏻💪💪




댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
밑바닥부터 시작하는 딥러닝 4 밑바닥부터 시작하는 딥러닝 4
사이토 고키 지음, 개앞맵시 옮김 / 한빛미디어 / 2024년 1월
평점 :
장바구니담기


우선 이 책을 한 줄 요약하지면 '파이썬으로 직접 구현하며 배우는 강화학습 알고리즘'이다.



밑바닥부터 시작하는 딥러닝 1에서는 CNN(합성곱 신경망)을,


밑바닥부터 시작하는 딥러닝 2에서는 RNN(순환 신경망)을 프레임 워크 없이 밑바닥에서 직접 구현한다.


밑바닥부터 시작하는 딥러닝 3에서는 파이토치와 비슷한 딥러능 프레임워크를 만들고 CNN과 RNN 모델들이 동작함을 확인한다.


밑바닥부터 시작하는 딥러닝 4에서는 강화 학습에 딥러닝을 결합한 심층 강화 학습을 설명하며 3에서 만든 프레임워크를 사용한다.


밑바닥부터 시작하는 딥러닝 5에서는 생성 모델을 다룰 예정이다.



시리즈물이지만 이전 편을 읽지 않아도 된다. 책의 1~6장은 강화 학습의 기초를 다루며 딥러닝은 7장~10장에서 강화학습 문제에 적용하는 방법으로 배운다.



1장 - 여러 후보 중에 가장 좋은 것을 순차적으로 찾는 밴디트 문제


2장 - 일반적인 강화 학습 문제를 마르코프 결정 과정이라는 매커니즘으로 정의


3장 - 마르코프 결정 과정에서 최적의 답을 찾는데 핵심이 되는 벨만 방정식 도출


4장 - 벨만 방정식을 풀기 위한 방법들인 동적 프로그래밍


5장 - 몬테카를로법


6장 - TD법


7장 - 딥러닝을 강화 학습 알고리즘에 적용하는 방법


8장 - DQN 구현하고 확장


9장 - 정책 경사법 알고리즘


10장 - 최신 딥러닝 알고리즘의 목차를




사실 한빛 미디어 이 시리즈 전체의 장점이기도 한데


1. 풍부한 이미지를 사용하고 개념을 하나하나 매칭 되는 예시를 들어줌


2. 깃허브에 주석과 함께 코드 제공함




이 2개가 좋았다.




나는 비전공자고 딥러닝 관련 아주아주아주 간단한 프로젝트를 해본적 있지만 실무에 필요한것만 공부해서 이 책에서 처럼 이렇게 자세하게 강화학습을 볼 기회가 없었다. 수학 공식 자주 나오는데 영어가 많이 나와 ㅋㅋ 낯설겠지만 어쨌든 식을 찾는 방정식이라서 너무 겁먹을 필요는 없다. 1~6장에서는 강화 학습을 공부하기 위해 알아야하는 개념들을 소개했고 7장부터는 딥러닝에 본격적으로 도입한며 어떻게 적용하는지에 대한 설명이 나온다. 책 전체적으로 비슷한 논조다. 이 책의 목적처럼 강화학습의 강화학습에 의한 강하학습을 위한 책임. 그리고 읽으면서 밑바닥부터 시작하는 딥러닝 3이 궁금해졌다. ㅋㅋㅋ 이거 파이토치랑 아주 유사한 딥러닝 프레임워크를 만드는 프로젝트를 다룬 내용이라고 하더라고.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 


4개의 상품이 있습니다.

한여름 손잡기
권누리 지음 / 봄날의책 / 2022년 1월
11,000원 → 9,900원(10%할인) / 마일리지 550원(5% 적립)
양탄자배송
밤 11시 잠들기전 배송
2024년 01월 16일에 저장

거의 모든 기쁨
이소연 지음 / 도서출판 아시아 / 2022년 7월
9,500원 → 8,550원(10%할인) / 마일리지 470원(5% 적립)
양탄자배송
밤 11시 잠들기전 배송
2024년 01월 16일에 저장

외등은 외로워서 환할까
서하 지음 / 걷는사람 / 2023년 1월
12,000원 → 10,800원(10%할인) / 마일리지 600원(5% 적립)
양탄자배송
밤 11시 잠들기전 배송
2024년 01월 16일에 저장

나의 델포이
김효숙 지음 / 천년의시작 / 2022년 6월
10,000원 → 9,000원(10%할인) / 마일리지 500원(5% 적립)
*지금 주문하면 "1월 16일 출고" 예상(출고후 1~2일 이내 수령)
2024년 01월 16일에 저장



4개의 상품이 있습니다.

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기
 
 
 
스프링 부트 3 백엔드 개발자 되기 : 자바 편 - JPA + OAuth2 + JWT + AWS와 배우는 스프링 부트 3 자바 백엔드 입문자를 위한 풀 패키지(연습문제 수록) 골든래빗 되기 시리즈
신선영 지음 / 골든래빗(주) / 2023년 5월
평점 :
구판절판


골든래빗 출판사로부터 책을 제공받아 작성했습니다.


백엔드 환경으로는 자바/코틀린의 스프링과 스프링 부트, 파이썬의 장고/플라스크, go 언어의 gin, c#의 닷넷 프레임워크, 자바스크립트의 노드.js(익스프레스/next js) 등이 있다. 이 책은 자바와 스프링 부트 3을 소개한다. 스프링은 배운 적 있는데 어마어마한 환경 설정의 압박으로.... 자연스럽게 스프링 부트에 관심이 가더라.



좋았던 점 1. 자바 백엔드 학습 로드맵을 제공한다.

빌드 도구(gradle, 메이븐, 엔트)

ORM(JPA, 하이버네이트, EBean)

JDBC(JDBI3, JDBC)



등등... 볼드친 부분이 특히 중점적으로 책에서 다루는 내용이다.





자바 기반 프레임 워크인 스프링 부트를 사용하려면 자바 문법, 클래스, 인터페이스 같은 기초 지식을 알고 있어야 한다. 데이터 베이스와 sql 같은 지식도 덤. 스프링 부트 3 백엔드 개발자 되기 (자바 편)에서는 개발뿐만 아니라 테스트 코드 작성, 인증, 배포와 깃허브 액션까지 예제와 함께 배울 수 있었다. 비기너 단계에서 볼 책은 아니다. 최소 객체 지향은 이해하고 입문 딱지는 막 뗀 사람에게 추천한다.



IDE는 인텔리제이 쓰는데 맥이랑 윈도우에 설치하는 법 다 친절하게 캡처 떠줘서 걱정 ㄴㄴ



좋았던 점 2. 단순 사실 나열이 아니라 자바 백엔드 개발자가 알아두면 좋은 지식들을 한 장을 할애해서 알려준다. 서버란 무엇이고 클라이언트란 무언인가 등등

특히 5장 공부하면서 그동안 느낌적인 느낌으로 받아들인 파편화된 나의 기존 지식들이 문장화되어 만족한다

<JPA는 자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스다. 즉 스프링 부트에서 sql이 아닌 자바 언어로 데이터 베이스를 조작 가능하다. JPA는 인터페이스라 실제로 사용하려면 ORM 프레임워크를 추가로 선택한다. > 이런 식으로!!



좋았던 점 3. 이북이 나와있다. 이런 학술 도서는 실물 책만 나온 경우가 흔한데 이북이 있어서 이동 중에 보기 좋았다. 책 구성 및 편집을 잘해서 가독성이 좋음!!

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo