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




수 많은 애플리케이션들이 클라우드 분야로 쏟아져 들어오는 가운데 경험이 전무한 상태에서 개발하고자 하는 애플리케이션에 적합한 구조 등을 알지 못하여 시행착오를 겪는 경우가 많다.


용어나 개념도 확실히 정립되지 않은 부분도 많은지라 검색을 해서 해결하기 힘든 경우도 많다.


이 책을 통하여 클라우드 어플리케이션을 개발 시 유용하게 사용할 수 있는 7가지 설계 패턴들을 배울 수 있으며, 어떤 기술 스택을 사용하고, 어떤 구조를 사용할지에 대해 방향성을 잡을 수 있다.


'클라우드 네이티브 아키텍쳐'란 비즈니스 기능별로 독립적인 마이크로서비스들이 느슨하게 결합된 소프트웨어 애플리케이션을 통칭하는 말이다.


클라우드 환경이 제공하는 민첩함, 신뢰성, 경제성, 확장성 등의 장점 덕분에 네이티브 애플리케이션 개발이 점점 더 각광을 받고 있으며, 최근 주목하는 부분은 애플리케이션의 배포 및 운영 측면이다.


이 책에서는 API와 데이터, 이벤트, 스트림 기반 패턴을 기반으로 최소의 비용과 시간, 노력으로 애플리케이션을 관리하고 유지보수 할 수 있는 방법들을 습득할 수 있다.


다음과 같은 8개의 장으로 나뉘는데 각 장을 통해 클라우드 네이티브에 어떤 식으로 접근해야할지에 대해 체계적으로 설명하고 있다.




1장. 클라우드 네이티브란?
클라우드 네이티브 애플리케이션(이하, 애플리케이션)의 주요 특성에 대해 설명하고 있으며, 디자인 패턴이 왜 중요한지 설명하고 있다.


2장. 통신 패턴
애플리케이션을 만들 때 주로 사용할 수 있는 통신 패턴과 구현 기술에 대해 설명하며, 동기/비동기 통신에 사용 되는 기본 패턴 등을 배울 수 있다.


3장. 연결 및 구성 패턴
마이크로 서비스들을 다른 마이크로서비스나 애플리케이션과 연결하는 여러 패턴들을 설명하고 있다. 서비스 구성 패턴을 이용하여 서비스들을 통합하고 비즈니스 기능을 만드는 방법을 배운다.


4장. 데이터 관리 패턴
애플리케이션의 데이터 관리 패턴을 설명하며, 어떤 데이터 스토어를 사용할지, 데이터 구성을 통해 애플리케이션의 확장성과 신뢰성, 성능 최적화를 지원할 수 있는 데이터 통합 방법을 배울 수 있다.


5장. 이벤트 기반 아키텍쳐 패턴
애플리케이션을 활용한 이벤트 기반 아키텍쳐를 만드는 디자인 패턴을 설명하고 있으며, 기본적인 이벤트 전달, 이벤트 소싱, 다양한 비동기 애플리케이션 간에 이벤트들을 어떻게 조율하는지 배울 수 있다.


6장. 스트림 처리 패턴
상태 (stateful), 무상태 (stateless) 애플리케이션 모든 곳에서 대규모 이벤트 스트림을 어떻게 처리할 수 있는지 설명하고 있으며, 실시간 애플리케이션에서 오류 발생 시 메모리에 저장된 상태 정보를 어떻게 보호하고 신뢰성을 구현하는지 배울 수 있다.


7장. API 관리 및 사용 패턴
API 관리에서 가장 많이 사용하는 패턴 몇 가지를 살펴보며, 웹 애플리케이션이나 모바일 애플리케이션, 데스크탑 애플리케이션과 같이 API를 사용하는 프론트앤드 애플리케이션에서 주로 사용하는 몇 가지 API 사용 패턴을 배울 수 있다.


8장. 실례로 살펴보는 클라우드 네이티브 패턴
서로 다른 목적으로 실제 구현된 애플리케이션들을 통해 다양한 패턴을 배울 수 있다.




최근들어 과거와 같이 모놀리틱한 서비스에서 탈피하여 마이크로 서비스를 구성하여 서비스를 운영하는 경우가 대세를 이룸에 따라 나도 새로 도입되는 기능이나, 기존 모놀리틱 서비스 중 떼어낼 수 있는 부분에 대해 마이크로 서비스로 전환을 하고 있다.


서비스 개발이나 운영 모든 측면이 기존의 그것과는 다르기에 시행착오를 많이 겪을 수밖에 없었고, 어찌어찌 돌아가기는 하나 '이게 맞나' 싶은 부분 애매한 부분들도 많이 있었던 터라 이 책의 내용들이 더 소중하게 다가왔다.


좀 더 나은 클라우드 애플리케이션을 개발 할 수 있을 것 같아 마음도 가벼워졌다.




책의 목차를 보고 든 생각은 "내용이 아주 '빽빽' 한것이 전체적으로 한 번 가볍게 훑어본 되 내가 필요한 부분만 찾아서 해답을 얻는 '바이블'의 역할도 톡톡히 해줄 것 같다." 이다.


현재 진행중인 프로젝트에 책의 내용을 바로 적용해보고 있다.


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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
쉽게 따라하는 NFT 마스터 가이드 - NFT 거래부터 토큰 발행까지 한 권으로 정리한 웹3 시대 기초 IT 지식
티아나 로런스.김서영 지음, 정종화 옮김 / 한빛미디어 / 2022년 6월
평점 :
장바구니담기




최근 들어 사람들 입에 가장 많이 오르내리는 화두 중 하나는 메타버스, 코인, NFT이다.
역사는 길지 않지만 짧은 기간 안에 이렇게 많은 사람들의 관심을 받게 된 것들도 드문것 같다.

쉽게 따라하는 NFT 마스터가이드는 일반 유저입장에서가 아닌 NFT 프로젝트 발행자의 입장에서 NFT에 관해 알아야할 사항들을 알기 쉽게 설명 해주고 있다.


나도 몇몇 NFT 프로젝트에 참여해본 경험이 있고 (일반 유저로서), 개발에도 관심이 있어서 블록체인 관련 공부를 조금씩 진행하고 있던 차에 이 책을 리뷰할 수 있어서 영광이다.


목차는 다음과 같다.

  1. NFT 첫걸음
    1) NFT 살펴보기
    2) 크립토키티로 체험하는 NFT
    3) NFT의 현황
  2. NFT의 구매와 판매
    4) NFT 민팅
    5) NFT 투자
  3. NFT 프로그래밍
    6) 이더리움
    7) 이더리움 계정 생성
    8) 개발 환경 설정
    9) 첫 스마트 컨트랙트 배포
    10) 토큰 표준
    11) ERC-721 기반 NFT 구축
  4. NFT 관련 키워드 TOP 10
    12) NFT 마켓플레이스 TOP 10
    13) 가장 비싼 NFT TOP 10


아직 NFT에 대해 잘 알지 못한다면 NFT가 무엇인지, 또 대체 그것으로 무엇을 할 수 있는 것인지, 투자하는 사람들은 무엇을 보고 투자를 하는건지 매우 궁금할 것이다.
이 책에서는 NFT에 대해 독자가 궁금해할 만한 대부분의 것들을 친절히 설명해주고 있으며, 책의 후반부에는 주요 키워드들을 정리해두고 있어서, 더 궁금한 독자들은 직접 검색을 통해 깊이있게 알아볼 수 있다.


2009년에 등장한 블록체인은 수 많은 산업을 뒤흔들고 있지만 여전히 대부분의 대중들이 이해하기 힘든 영역이다.
하지만 NFT의 등장으로 인해 일반 대중들도 블록체인 기술을 활용할 수 있게 되었고 (물론 테크니컬하게 직접 개발을 하는것은 아니지만) 블록체인의 가치를 크게 상승시켰다.


수많은 NFT 거래소를 통해 내가 원하는 NFT 작품을 구매할 수 있으며 또한 되팔수도 있다.
하지만 내가 직접 NFT를 발행하고 프로젝트를 운영하고 싶다면...!?
이런 궁금증을 가지고 있는 NFT 초심자 독자에게 적격인 책이 바로 이 책이다.


NFT를 거래하려면 필요한 개인 지갑(메타마스크)을 생성하고, 관리하는 방법, 가상화폐 거래소 가입 및 이용하는 방법 등을 순차적으로 설명해주며, 개인 지갑으로 암호화폐 전송, 국내의 트래블룰 관련하여 대처 방법 등을 부록으로 제공한다.

또한 오픈씨 (https://opensea.io)에서 자신의 작품을 민팅하는 방법등에 대해서도 다루고 있으면 다양한 옵션들에 대해서도 단계별로 설명하고 있다.


한가지 아쉬운 점이 있다면 스크린샷을 포함하고 있지는 않아서 인터페이스가 바뀌었거나 명칭이 바뀐 경우 헤맬수도 있지 않을까 하는 생각이 든다. (물론 스크린샷이 있어도 인터페이스가 바뀐다면 헤매긴 하겠구나)


NFT 투자에 대해서도 다루고 있으며, 결론은 투자는 본인 선택이며, 본인이 감당 가능한 한도 내에서, 잘 공부해서 정상적인 프로젝트를 선택하는 안목을 기르고 투자하는 것이 중요하다.


3번째 파트에서는 NFT 프로그래밍에 관해 다루고 있다.
이 책에서는 대부분의 NFT의 주류를 이루고 있는 체인인 이더리움에 관련해 서술하고 있으며, 이더리움, 이더스캔, 트랜젝션과 가스비 등에 대해 설명하며 전반적인 이더리움 생태계에 대한 내용을 자세하게 설명 해주기에 블록 체인을 처음 공부하는 독자라면 약간 어려울 수도 있지만, 조금이라도 아는 독자라면 재미있게 읽을 수 있다.

이더리움 스마트 컨트랙트 개발을 위한 이더리움 계정 생성, 개인키와 공개키, 디지털 서명등에 관해 설명하고, 퍼블릭/프라이빗 네트워크의 차이점, 테스트넷에서의 테스트를 위한 자금 조달에 필요한 Faucet 사용법 등을 설명한다.

이더리움 스마트 컨트랙트 개발에 활용할 수 있는 다양한 기술 스택이 있는데 지면상 모든 스택을 다 설명할 수 없기에 가장 보편적으로 많이들 사용하는 다음의 스택으로 설명한다.


- 메타마스크, 이더리움 클라이언트 API
- 가나슈 GUI, 로컬 테스트 블록체인
- 리믹스 IDE, 소스 코드 컴파일러


개발 환경 세팅 및 사용법 등에 대해서는 비교적 스크린샷과 함께 자세히 설명하고 있어서 잘 보고 따라하면 큰 어려움 없이 책의 내용을 소화할 수 있다.


또한 이더리움 스마트 컨트랙트를 개발하는데 필요한 언어로 솔리디티(Solidity)가 사용된다는 설명과 함께 가장 간단한 형태의 템플릿을 컴파일하여 배포하는 설명이 있다.

가장 아쉬운 부분이라면 솔리디티 언어에 대한 설명의 부족이다.
물론 솔리디티 언어에 대한 내용만 해도 상당한 양이기에 이 책에서 그 모든 것을 설명하기에는 무리가 있었으리라 본다.
솔리디티에 대해 제대로 공부해보고 싶은 독자라면 솔리디티 언어를 다루는 책이나 동영상 강의로 공부해야한다.

어찌되었든 템플릿 소스코드를 컴파일해서 이더리움 체인에 배포하고 업데이트하는 등의 사이클을 친절한 설명과 함께 진행해 볼 수 있어서, 어떤식으로 스마트 컨트랙트를 개발하고 배포하며 관리하는지에 대해 전반적인 사항을 이해할 수 있게 된다.


스마트 컨트랙트에 관한 설명 이후에는 ERC-721기반 NFT 구축에 대한 내용을 다룬다.
ERC-721은 대표적인 이더리움 체인의 NFT 토큰 표준이다.
이 섹션까지 마치게 되면 오픈씨 등의 런치패드를 거치지 않고 나만의 NFT를 배포할 수 있다.


이 책을 통해 더 많은 사람들이 블록체인에 대해 많은 관심을 가지고 생태계에 기여할 수 있는 발판을 마련했으면 좋겠다.


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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
완성된 웹사이트로 배우는 HTML&CSS 웹 디자인 - 5개 예제로 배우는 효율적인 웹사이트 제작 노하우
Mana 지음, 신은화 옮김 / 한빛미디어 / 2022년 5월
평점 :
장바구니담기


웹에 관심을 가지고 공부 한 이래로 웹을 만지작 댄지는 20여년이 넘었지만 백앤드를 제외한 CSS를 이용한 레이아웃 구성이나 활용 스킬은 웹 초창기인 2000년대부터 2015년 정도의 그것에 머물러있기 항상 부족함을 느끼고 있던 터이지만 늘 우선순위에 밀려서 제대로 공부를 하기 쉽지 않았는데 이 책의 리뷰를 진행하면서 반 강제적으로 공부를 할 수 있었다.


이 책은 HTML과 CSS를 아예 모르는 사람보다는 그래도 약간은 경험이 있는 분들이 공부하기에 정말 좋은 것 같다. 하나부터 열까지의 설명을 꼼꼼하게 장황하게 늘어놓는게 아니라 딱 필요한 것만 (그렇지만 핵심적인 내용은 모두 포함한다) 알려주고 실제 코드를 따라해보며 익혀가는 방식이다.


HTML의 기초, 속성 부분에 할애된 페이지는 4페이지 뿐이다. CSS에 관한 설명도 6페이지 이내!?


지금까지 접해본 HTML이나 CSS 서적들에 비해 확실히 진도가 팍팍 나가는지라 공부하는데 지루함이 느껴지지 않는다.


1장에서는 위에 서술한대로 웹 사이트의 기본과 필수 도구들에 관한 내용을 간결하게 정리해두고 있으며, 2장에서는 간단한 랜딩 페이지로 배우는 반응형 웹디자인과 글꼴에 대해 튜토리얼을 진행한다.


단순한 한 페이지짜리 페이지이지만 미디어 쿼리를 이용하여 PC에서 볼 때와 모바일기기에서 볼 때의 마크업을 각각 적용하는 방법에 대해 배울 수 있으며, Desktop First, Mobile First에 대한 개념도 익힐 수 있으며, Fontawesome, 브레이크 포인트 등에 대해 알 수 있다.


3장에서는 블로그 사이트를 예시로 하여 다단 레이아웃과 각종 요소들을 꾸미는 방법에 대해 익힐 수 있으며, CSS의 다양한 효과로 페이지를 꾸미는 방법들을 알 수 있다.


4장에서는 회사 사이트를 예시로 하여 표, 그래프, 폼, 자바스크립트를 활용하는 방법에 대해 익힐 수 있으며, 5장에서는 이벤트 사이트를 예시로 하여 페이지와 애니메이션을 구현하는 방법을 익힐 수 있다.


6장에서는 갤러리 사이트를 예시로 하여 이미지와 동영상을 활용하는 다양한 방법에 대해 익힐 수 있다. 웹사이트에서 이미지를 활용할 때 CSS의 필터를 활용하여 포토샵등을 사용하지 않고도 다양한 효과를 주고, 꾸미는 방법에 대해 익힐 수 있으며, 배경에 동영상을 넣는 방법 등 실무에서 유용하게 쓰일 수 있는 방법들을 배울 수 있다.


7장과 8장에서는 각각 HTML과 CSS를 더 빠르고 쉽게 관리하는 방법과 사이트를 올리고 문제를 해결하는 방법에 대해 정리함으로 책의 단원이 마무리 된다.


HTML과 CSS를 처음 접하고 공부하는 분이라도 지루한 이론보다는 바로 결과를 볼 수 있는 실습 위주로 내용이 진행되기에 부담 없이 공부할 수 있는 난이도이며, 현업에 있지만 최신 트렌드에 좀 뒤쳐졌다 싶으신 분이라면 한 번 훑어보고 필요한 부분을 바로 적용하여 사용할 수 있기에 좋은 참고서가 될 것 같다.


개인적으로 애니메이션이나 필터 관련해서 정말 많은 도움이 되었고, 그래픽 툴을 이용하여 작업하던 많은 부분들을 CSS만으로 구현하여 조금 더 빠르고 반응성 좋은 결과물을 낼 수 있게 되어서 매우 만족한다.


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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
도메인 주도 개발 시작하기 - DDD 핵심 개념 정리부터 구현까지
최범균 지음 / 한빛미디어 / 2022년 3월
평점 :
장바구니담기


몇 년 전까지만 해도 내가 아는 도메인이라는 단어는 웹사이트의 주소인 도메인을 의미했다.
실제적인 도메인의 사전적인 의미는 지방 정부의 관할, 학문 영역, 활동 영역, 인터넷 주소 등으로 정의되어있으며, 이 책의 주제인 DDD에서의 Domain은 크게 보아 영역을 구분하는 의미로 사용되며, 소프트웨어로 해결하고자 하는 문제 영역을 나타낸다.

한 도메인은 다시 하위 도메인으로 나눌 수 있으며 각 하위 도메인은 또 다른 하위 도메인을 포함하기도 한다.

이 책은 DDD에 입문하는 사람에게 DDD가 무엇인가부터 시작하여 어떤식으로 구성하고 구현하는지는 상세한 예를들어 설명하고 있기에, 약간의 프로그래밍 지식이 있다면 공부하는데 어려움 없이 책의 진도를 나갈 수 있다.

책 내용의 진행은 객체 기반으로 DDD를 설명하고 있으며 JAVA 코드로 설명이 이뤄지기에 기존에 자바에 익숙한 독자라면 익숙하게 책장을 넘길 수 있을 것 같다.
하지만 잘 모른다 해도 큰 틀을 이해함에는 부족함이 없다고 한다. (실제로도 그런 것 같다.)

DDD에서는 도메인 전문가와 개발자간의 지식 공유가 활발하게 이루어져야하며 상호간에 요구사항을 명확하게 이해하고 진행하는 것이 중요하다. 그렇지 않을 경우 제품 개발에 실패하거나 일정에 차질이 생기는 일이 부지기수이기 때문이다.

책을 넘기며 도메인 모델, 도메인 모델 패턴, 도메인 모델 도출의 순서로 모델을 구상하고 구체화해가는 과정을 익힐 수 있으며, 도출한 모델의 엔티티와 벨류를 구분하는데 있어서 주의해야할 사항 등을 세심하게 설명하고 있어서 이 개념에 익숙하지 않은 독자라 하더라도 손쉽게 감을 잡을 수 있을 것 같다.

도메인 모델에 대한 내용이 마무리되고 나면 아키텍쳐, 애그리거트, 리포지토리와 모델 구현에 대한 내용이 나오고 스프링 JPA를 이용한 조회기능, 응용 서비스와 표현 영역, 도메인 서비스, 애그리거트 트랜젝션 관리, 도메인 모델과 바운디드 컨텍스트, 이벤트, CQRS 의 순서로 내용들이 진행된다.

짧은 시간이었지만 책을 한번 읽고보니 막연하기만 했던 DDD에 대해 좀 더 나은이해를 할 수 있게 되었고, DDD로 프로젝트를 진행해보고 싶다는 생각이 든다.
DDD 자체를 이해하는게 쉽지만은 않다보니 한 번 읽고 모두 흡수할 수 없기에 참고서처럼 옆에 두고 궁금할때마다 열어봐야겠다.

DDD 입문서가 흔치 않은 현재 상황에 가뭄의 단비같은 존재인 것 같다.

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
메타버스를 디자인하라 - XR이 지향하는 미래 공간 구현하기
코넬 힐만 지음, 주원 테일러 옮김 / 한빛미디어 / 2022년 2월
평점 :
장바구니담기


요즘들어 가장 핫한 키워드가 아닐 수 없다.
"메타버스"


Meta + Universe의 합성어인 메타버스는 가상 혹은 초월의 의미하는 Meta와 세계, 우주를 뜻하는 Universe의 합성어로써 현실과 가상이 함께 공존할 수 있는 3차원의 가상공간을 의미한다.


세계에서 가장 큰 SNS 서비스인 Facebook도 사명을 Meta로 바꿀만큼 메타버스는 새로운 미래로써 성큼 다가온 듯 하다.

이 책은 확장 현실에 대한 입문서로써, XR 게임 디자이너나 관련 업계에 종사중인 UX 디자이너에가 제품을 개발할 때 어떤 방식으로 접근을 해야할지에 대해 세부적으로 제시해주고 있다.


큰 챕터를 보자면,
1. 확장 현실과 UX의 만남
2. 확장현실 산업의 과거와 미래
3. UX가 이끄는 확장현실의 대중화
4. UX와 경험 디자인: 화면에서 공간으로
5. 선구적인 XR 플랫폼과 UX 고려사항
6. 현실적인 접근법: 실제 개발 환경의 UX와 XR

이렇게 구성되며, 각 챕터별로 세부적인 내용들이 나눠지는데, 인문학적인 내용과 기술적인 내용들이 적절히 조합되어 있어서 지루하기보다는 흥미로움을 많이 느꼈다.

특히 재미있게 읽었던 파트는 2장 확장현실 산업의 과거와 미래 부분이었는데, 관련업계에 종사하는 것은 아니지만 기술과 기기에 관심이 많은 나로써는 과거의 SF속 판타지부터 4차산업혁명 그리고 그 이후 미래까지의 히스토리를 보며 어떤 과정을 통해 발전해 왔는지 큰 틀을 알 수 있어서 재미있었다.


책의 중반부 및 후반부에 들어서는 XR 디자인시 고려해야할 사항들 및 사용자 경험의 고충을 해결하기 위한 다양한 방법들을 제시하며 VR 미술관 갤러리인 갤러리 X 프로젝트를 진행하며 리서치 과정부터 프로토타이핑, 계획서 작성, 탐구, 사용자 스토리 제작 및 실제 개발에 이르기까지의 여정을 순차적으로 보여주고 있으며 UX 방법론의 제품 개발 순환 과정을 따를 시에 발생할 수 있는 문제점을 해결할 수 있는 실마리 등을 제공한다.


웹과 모바일에서의 UX디자인을 넘어 메타버스 공간에 적용하고자 하는 법을 알고자 하는 UX 디자이너나 메타버스 개발자에게 있어서 좋은 인사이트를 얻을 수 있는 책이라고 말 할 수 있을 것 같다.


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


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