이것이 리눅스다 with Rocky Linux9 - 실무와 유사한 가상머신 환경에서 배우는 리눅스 서버, 3판 이것이 시리즈
우재남 지음 / 한빛미디어 / 2023년 2월
평점 :
장바구니담기


※ 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

리눅스 서버에 대해 공부해볼 수 있는 책으로 특히 차세대 리눅스 배포판인 Rocky Linux를 배워볼 수 있다.​

 

가상 머신과 Rocky Linux의 기본 개념에 대한 소개를 시작으로 네 가지 대표 파트로 구분되어 내용이 이어진다.

특히 파트 1과 2는 실습 환경을 구축하고 Rocky Linux를 설치하는 방법도 포함되어 있기 때문에 설치를 함께 따라해가면서 실습 환경을 직접 구성해보는 것을 추천한다.

설치 방법 외에도 리눅스에 대한 기본 개념과 함께 Rocky Linux를 소개하고 기존의 리눅스 배포판과 어떤 차이가 있는지도 알아보면 도움이 될 것이다.

 

이후에는 리눅스를 사용하면서 필수로 알고 있어야 하는 개념과 명령어들이 많은 분량으로 소개된다.

나도 실무를 하면서 리눅스를 설치하고, 리눅스 OS 위에 애플리케이션들을 설치 및 운영, 리눅스 자격증을 취득하면서 명령어를 포함한 사용법은 많이 알고 있다고 느꼈는데, 이 책의 내용들에서 내가 몰랐던 부분도 있었어서 특히 나에게 많은 도움이 되었다.

리눅스 환경에서 필수로 알고 있어야 하는 명령어들은 따로 정리하면서 공부하면 추후 명령어를 사용해야 할 상황 등에서 쉽게 찾을 수 있다는 점에서 이 방법도 추천한다.

이후에는 리눅스 1, 2급에서 자주 출제되는 X 윈도우의 사용법도 다루기 때문에 리눅스 마스터 시험을 준비하는 분들에게도 좋은 참고 도서라고 생각한다.

 

​파트 3, 4는 리눅스 서버를 관리하는 시스템 관리자분들에게 특히나 도움이 될 내용이 아닌가 싶다.

나의 경우 이 내용들을 모두 암기하는 방식이 아닌 개념을 이해하고 사용법 훑어보는 방식으로 내용을 읽어갔다.

 

​이 책은 상당히 많은 내용을 담고 있다.

또한 리눅스 입문자들이 하나하나 따라하기 쉽도록 잘 구성된 GUI 화면의 내용과 실습 구성도 잘 이루어져 있어서 리눅스를 공부해보려는 분들에게도 입문하기에 좋은 책이라고 생각한다.

특히 나와 같이 리눅스 마스터 시험을 준비중인 분들에게도, 리눅스 서버를 관리하는 실무 담당자분들에게도 좋은 참고 도서라고 생각한다.

리눅스 참고 도서를 찾고 있는 독자분들에게 추천하는 도서이다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
자바에서 코틀린으로 - 코틀린으로 리팩터링하기
덩컨 맥그레거.냇 프라이스 지음, 오현석 옮김 / 한빛미디어 / 2022년 11월
평점 :
장바구니담기


※ 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

이번 책은 코틀린 언어로 리팩토링하는 방법에 대해 공부해볼 수 있는 책이다.

자바 개발자들은 한번쯤 코틀린을 공부해볼까...?라는 생각을 해보지 않았을까 싶다.

몇년 전 나도 코틀린을 공부해보면 좋지 않을까, 코틀린은 자바와 다르게 어떤 장점이 있을까라는 생각으로 공부를 했었다.

그때 당시 공부했을 때 느꼈던 코틀린의 장점은 자바를 기반으로 하는 언어이기 때문에 빠른 습득이 가능하다는 점과 간결하고 명확한 언어라는 점에서 코드를 작성하는 시간이 오래 걸리지 않았던 기억이 있었는데, 좀 더 공부해두면 좋을 것 같다라는 생각을 했었다.

<자바에서 코틀린으로>라는 책 덕분에 시간이 지난 후 다시 공부해볼 수 있는 기회를 얻었다.

이 책은 책 표지에서 "코틀린으로 리팩터링하기"라는 주제를 명확하게 나타낸다.

특히 자바로 개발을 하고 있는 개발자분들이 좀 더 이해하고 접근하기 쉽지 않을까 싶다.

전반부는 코틀린 언어가 무엇이고, 자바와 어떤 점이 다른지를 시작으로 코틀린으로 리팩토링하는 원칙을 소개한다.

이후 자바 프로젝트에 코틀린 의존성을 추가하여 자바 프로젝트에서도 코틀린으로 코드로 작성할 수 있는 기능을 부여하여 빌드까지 가능하도록 한다.

이후에는 자바 클래스에 작성된 코드를 코틀린 언어로 리팩토링하는 과정을 본격적으로 단계별로 진행한다.

이 내용이 챕터 3부터 챕터 22까지 쓰여져 있는데 끝까지 내용을 공부하다보면 명확하게 리팩토링 원칙을 머릿속에 그려나갈 수 있게 된다.

특히 이 책은 실습을 할 수 있는 코드도 있기 때문에 개념 공부와 함께 실습도 병행해본다면 좀 더 기억에 남고 사용법도 익힐 수 있어 실습도 병행하는 것을 추천한다.

책의 내용을 챕터별로 따라가다보면 자바와 코틀린의 차이점도 알게 되고, 코틀린의 장점도 명확히 알게 된다.

이런 점을 토대로 언어의 장점을 살려서 자바와 코틀린으로 코드를 작성하는 능력도 키울 수 있게 된다.

코틀린 언어를 공부하여 코틀린의 장점을 공부해보고 싶은 개발자, 자바를 코틀린으로 리팩토링하고 싶거나 코틀린 프로젝트에서 능숙하게 코드를 작성하고 싶은 개발자 분들 모두에게 이 책을 추천한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
클라우드 네이티브 애플리케이션 디자인 패턴 - 애플리케이션의 배포와 운영을 고려한 7가지 설계 패턴
카순 인드라시리.스리스칸다라자 수호타얀 지음, 박수현 옮김 / 한빛미디어 / 2022년 6월
평점 :
장바구니담기


※ 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

애플리케이션에 대한 설계 패턴에 대해 공부해볼 수 있는 책이다.

총 8장으로 구성된 이 책은 주로 클라우드 네이티브 애플리케이션에 대한 비즈니스 로직을 개발할 때 반드시 적용해야 하는 개발 패턴을 다룬다.

이러한 다양한 패턴들이 어떤 차이가 있고 장/단점은 무엇인지를 공부해볼 수 있다.

1. 클라우드 네이티브 애플리케이션이란?

퍼블릭, 프라이빗, 하이브리드, 멀티 클라우드와 같은 환경에서 실행할 수 있는 독립적인 비즈니스 기능 중심의 마이크로서비스들을 느슨하게 결합하여 크기 조절이 가능하고 탄력적이며 관리와 용이한 자동화 소프트웨어 애플리케이션을 만드는 것이라고 정의할 수 있는데, 이는 사람과, 기관에 따라 서로 다른 의미를 가진다.

본격적인 설계 패턴들에 대해 공부하기 전 클라우드 네이티브에 대한 개념과 특징, 요소와 애플리케이션을 만들 때 디자인 패턴의 중요성을 다룬다.

2. 통신 패턴

클라우드 네이티브 애플리케이션을 만들 때 주로 사용할 수 있는 통신 패턴을 다룬다.

통신 패턴은 마이크로서비스들 간에나 외부 시스템 혹은 애플리케이션 등과 같이 애플리케이션을 사용하는 다른 애플리케이션과의 통신 채널을 만들 때 사용한다.

동기, 비동기 통신의 기본적인 통신 패턴에 대한 동작방식과 함께 이 통신 패턴을 이루는 여러 패턴과 매체들을 상세하게 소개하며 이들이 어떠한 방식으로 서로 상호작용하는지 공부해볼 수 있다.

또한 통신 패턴을 설계하면서 고려해야 하는 사항들도 같이 정리해볼 수 있어 설계 과정에 놓칠 수 있는 부분들도 이 책을 통해서 다시 리마인드 해볼 수 있다.

3. 연결 및 조합 패턴

마이크로서비스들을 다른 마이크로서비스나 애플리케이션과 연결하는 다양한 패턴을 공부해볼 수 있다.

특히 서비스들을 연결하여 이 서비스들 간의 기능을 조합해서 우리가 만들고자 하는 비즈니스 기능을 제공할 수 있다.

특히 이 장에서는 그림을 통해 각 패턴들 간의 동작방식을 소개하여 이해하기 쉽도록 구성되어 있다.

또한 추후 서비스를 연결하여 비즈니스 기능을 클라이언트들에게 제공해야 할 때 고려해볼 수 있도록 한다.

마이크로서비스 혹은 다른 애플리케이션 간의 연결에 네트워크를 사용할 수 없는 상황 속에서 어떻게 탄력적으로 연결하는 지에 대한 기법에 대한 이해는 실 업무에서도 많은 도움이 될 것이라고 생각된다.

4. 데이터 관리 패턴

클라우드 네이티브 애플리케이션에서의 데이터와 데이터를 관리하는 방법에 대해 알아본다.

데이터 아키텍처가 무엇이고, 어떻게 데이터를 모아서 처리하고 저장하는 흐름을 공부해볼 수 있다.

또한 데이터의 구조와 크기 등을 여러 관점에서 살펴보는데, 이후에는 데이터 관리 시에 어떤 저장소를 사용할 수 있는지를 소개한다.

이후에는 실제로 여러가지 다양한 패턴을 소개하며, 데이터를 중앙집중화하고 분산처리, 데이터 조합, 캐싱, 관리, 성 최적화, 신뢰성, 보안 등의 요소를 다루어 데이터를 어떤 방식으로 설계할 수 있는지 점차 이해도를 높일 수 있다.

5. 이벤트 주도 아키텍처 패턴

동기와 다른 비동기로 동작하는 이벤트 주도 아키텍처를 낮은 결합도로 개발하여 확장도 쉽고 대규모 분산 처리를 할 수 있는 기본 구조인 이벤트 주도 아키텍처에 대한 개념을 시작으로 내용을 다룬다.

또한 이 장에서 가장 많이 등장하는 이벤트라는 용어를 예시로 소개하고 이벤트를 어떤 목적에서 다루는지도 정리해볼 수 있다.

이벤트와 관련된 내용에서 아마 가장 많이 들어본 개념인 이벤트를 소비자에게 전달하는 방식인 최대 한번 전달, 최소 한번 전달, 딱 한번 전달의 개념도 정리해볼 수 있다.

또한 메시지와 브로커의 역할과 여러 패턴들의 동작방식, 사용방법, 고려사항 등이 잘 정리되어 있다.

6. 스트림 프로세싱 패턴

스트림과 스트림 프로세싱이란 용어에 대한 이해를 시작으로 이 장을 다룬다.

이 장도 다른 장과 마찬가지로 어떤 패턴이 있고 각 패턴들의 동작방식을 그림으로 소개한다.

또한 상태, 무상태 클라우드 애플리케이션이 대규모 이벤트 스트림을 어떻게 처리할 수 있는지 다루고, 실제로 장애가 발생하였을 때, 메모리에 저장된 상태 정보를 어떻게 안정적으로 보호하고 신뢰성을 구현하는지도 공부해볼 수 있다.

7. API 관리 및 사용 패턴

API 관리에서 가장 많이 사용하는 패턴에 대해 공부해볼 수 있다.

API 관리 패턴에서는 가장 많이 알려진 API 게이트웨이 패턴을 시작으로 API 마이크로게이트웨이 패턴, 서비스 메시 사이드카 게이트웨이 패턴에 대한 동작방식, 구성요소, 사용방법, 고려사항 등을 다룬다.

또한 각 패턴별로 사용하면 좋은 경우와 그렇지 않은 경우를 표로 정리되어 있어서 실제 운영 환경에서 어떤 패턴을 적용해야 되는지도 이해해볼 수 있다.

API 사용 패턴에서는 프론트엔드를 위해 사용하는 몇가지 패턴을 소개한다.

이 패턴들에는 마이크로서비스와 직접 통신을 하는 패턴과 API 게이트웨이를 통해서 프론트엔드를 사용하는 패턴, 특정 프론트엔드 애플리케이션을 위해 사용할 수 있는 패턴을 다룬다.

이 내용에서도 패턴들의 동작방식, 구성요소, 사용방법, 고려사항 등을 다루고, 각 패턴별로 사용하면 좋은 경우와 그렇지 않은 경우도 표로 정리되어 있다.

8. 클라우드 네이티브 패턴 적용하기

마지막 장에서는 지금까지 다룬 패턴들을 실제 운영 환경에서 어떻게 활용할 수 있는지를 예시를 들어 설명한다.

각 장에서 공부한 패턴들을 조합하여 온라인 쇼핑몰을 만드는 과정을 하나하나 소개한다.

운영 환경에서 발생할 수 있는 여러 상황을 고려하여 하나의 시스템을 만들어 가는 과정에서 앞서 다룬 패턴들을 하나씩 적용하는 과정을 따라갈 수 있다.

이 책이 좋았던 부분은 각 패턴별이 어떤 방식으로 동작하고, 사용법과 이를 도입했을 때 고려해야 하는 사항들을 필수 내용으로 포함다는 점인데, 패턴별로 특정상황에서 적합한 패턴을 선택하는데 참고해볼 수 있을 것 같다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
혼자 공부하는 얄팍한 코딩 지식 - 비전공자도 1:1 과외하듯 배우는 IT 지식 입문서 혼자 공부하는 시리즈
고현민 지음 / 한빛미디어 / 2022년 5월
평점 :
구판절판


※ 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.


이번 도서 후기는 개발자 뿐만 아니라 IT 관련 업계에서 일하는 모든 분들이 읽어두면 도움이 될 IT 기초지식을 쌓을 수 있는 책이다.

나는 이 책이 출간되기 전 <얄팍한 코딩사전>이라는 유투브 채널을 구독하고 있어 여러 코딩 지식들을 영상을 통해 접하고 있었다.

재미있고 이해하기 쉽게 만들어두신 영상을 라디오 삼아 시청하였는데, 이미 알고 있는 내용들도 리마인드하면서 듣곤 하였다.

이 책도 어렵지 않고 쉽게 쓰여져 있어서 부담없이 읽을 수 있다.

특히나 이제 IT 업계에 입문한 분들에게는 어렵다고 느껴질 용어와 개념을 하나하나 쉽게 설명되어 있어서 어려움 없이 읽을 수 있다.

특히나 개념은 다양한 비유와 일러스터로 설명해주기 때문에 재밌게 읽을 수 있도록 구성되어 있다.

그리고 easy, medium, hard라는 세 가지 단계로 구성되어있어서 각 수준별로 공부해볼 수 있다.

특히 가장 마지막에 있는 부록인 <용어 노트>는 반드시 알고 있어야 하는 개념과 용어들이 따로 정리되어 있어서 어디서부터 어떻게 시작해야 할지 막막한 분들에게는 이 내용들만 알고 있어도 업무를 하는데에 어려움은 없을 것으로 보인다.

이 책으로 공부를 하면서 좀 더 알고 싶은 내용들은 구글링을 통해 따로 정리해보면 학습 능률이 더 높아지지 않을 까 싶다.

나의 경우 이 책을 완독하면서 내가 IT 업계에 막 입문할 때에 이러한 책이 있었다면 일을 하는데에 있어서 좀 더 쉽게 접근할 수 있었지 않았었을까 싶다.

업무를 하면서 동료와의 의사소통에서 어려움을 느끼는 분들이나 어떻게 공부를 시작해야할지 모르는 분들, IT에 대한 용어 사전이 필요한 분들 모두에게 도움이될 책이 아닌가 싶다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
소프트웨어 아키텍처 The Hard Parts - 분산 아키텍처를 위한 모던 트레이드오프 분석
닐 포드.마크 리처즈.세막 데그하니 지음, 이일웅 옮김 / 한빛미디어 / 2022년 10월
평점 :
장바구니담기


※ 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

마이크로서비스 아키텍처를 설계하기 위한 패턴과 분석 기법을 공부해볼 수 있는 책이다.

마이크로서비스 아키텍처라는 것이 무엇인지 많이 들어보았을 것이다.

실제로 MSA 전환 프로젝트를 참여하고 운영하면서 MSA의 장점을 몸소 느끼기도 하였다.

하지만 MSA 환경에서 서비스를 운영하다보면 예측하지 못했던 여러 상황들도 경험할 수 있기 때문에 안정적인 서비스를 운영하기 위한 경험과 노하우, 그리고 많은 지식이 필요하다.

이 책은 분산 아키텍처를 이해하는 개념과 함께 여러 서비스를 세분화하는 데 있어서 고려해야 하는 방법을 알려준다.

또한 분산된 아키텍처에서 데이터 처리 방법에 대해서 상세하게 공부해볼 수 있으며, 모놀리식 아키텍처를 분리하는 데 얼마나 많은 복잡도가 발생하는지에 대해 간접 경험을 해볼 수 있다.

뿐만 아니라 서비스를 분리하는 데 있어서 중요한 트랜잭션을 관리하고 서비스간 호출 플로우를 관리하는 패턴에 대해 공부해볼 수 있어 분산 아키텍처에서 중요시되는 고려 사항들을 한 눈에 정리해보고 실제 상황에서 배운 내용을 적용해볼 수 있도록 정리되어 있다.

아키텍처를 설계하는 것은 여러 요소를 고려해야 하고, 많은 경험을 통해서 좀 더 나은 아키텍처를 설계할 수 있다.

이 책은 아키텍처 설계과 MSA에 대한 이해가 없는 분들에게는 다소 어려운 내용이 많이 포함되어 있다.

하지만 아키텍처를 설계해본 경험이 있는 분들에게는 매우 유용한 책이다.

아키텍처를 설계할 때의 노하우와 지식, 경험을 얻을 수 있고, 뿐만 아니라 잘못된 설계가 추후 얼마나 많은 서비스에 영향을 미칠 수 있는 지에 대해 알 수 있다.

아키텍처를 설계하고 좀 더 견고한 서비스 운영을 위한 노하우를 얻고 싶은 분들에게 추천한다.


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