반응형

아키텍처 관련 책들을 요즘 많이 읽어보고 있다. 책을 읽는다고 완벽하게 습될수 있는 범위는 아니지만 여러번 읽으면 좋아지겠지라는 생각으로 읽고 있다. 

이 책은 아래와 같이 등장인물이 나온다. 그리고 그들의 시스템을 변경시켜가는 과정을 아키텍처 이론과정과 함께 설명을 하고 있다. 아마도 우리가 관리 또는 개발하는 시스템을 변경하려 할때 이 등장인물들이 겪는 경험을 하게 되지 않을까 생각이 든다. 

등장인물들의 대화를 통해서 요구사항과 현재 시스템의 상황들을 파악할 수 있다. 아마도 이부분이 다른 책들과 큰 차이점인것 같다. 딱딱한 이론만 있는것보다는 시나리오가 있는 이야기가 있다보니 이해를 잘 할수 있다. 각 챕터마다 처음 시작과 끝에 위와 같은 대화들을 주고 받는 내용들이 나온다. 이 이야기 속에서 나오는 내용들만 이해를 한다면 각 챕터를 잘 공부를 했다고 생각해도 될것 같다. 

그리고 어떤 책이든 글과 그림이 적절히 섞여 있어야 이해하기가 쉽다. 특이 아키텍처 책들에서는 내용이 어렵다 보니 그림이나 도표를 활용한 설명들이 독자들에게는 중요한 참고 자료들이다. 

내용을 이해하면서 읽어야 했기 때문에 전체를 다 읽은 상황은 아니다. 하지만 그만큼 시간을 투자해서 꼼꼼히 읽어야 하는 내용이기 때문에 급하게 읽을 필요는 없다고 생각된다. 아키텍트를 공부하는 분들은 한번쯤 읽어보면 실력향상에 도움이 될 책이다.

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

 

728x90
반응형
반응형

책 표지에 보면 "비유와 이야기로 풀어낸 비전공자를 위한 필수 IT 교양서" 라고 써있다. 책 내용의 대부분이 IT 관련 용어들, 상황들에 대한 이해를 돕기위한 이야기들로 구성되어있다. 

IT 교양서인만큼 읽는데 어려움은 없었다. 물론 전공자의 입장에서 책을 읽었기 때문에 더 쉽게 느껴졌을 수는 있다. 책에 나오는 내용들에 대해서 이미 알고 있거나 최소한 한번정도는 들어봤던 용어들이었기 때문이다. 하지만 비전공자라고 해서 이해하지 못할 내용은 없어보였다. IT 용어들 중에서도 일상생활에서 충분히 들어봤을 정도의 용어들이 나오기 때문이다. 수학적 지식이나 프로그래밍 관련 전문 지식들이 많이 섞여서 내용이 구성되었다면 읽다가 어려움을 느꼈을 분들이 많을지 모르겠지만 이책은 그런 부분은 거의 없어서 일반 교양서처럼 쉽게 읽을 수 있다.

책 구성을 보면 여러개의 주제들이 있는데 그중에서도 내가 맘에 들었던 부분은 지식 전달 전에 짧막하게 이야기를 써준 부분이었다. 용어 설명에 앞서서 이런 이야기들이 그림과 함께 담겨있어서 재미있었다. 그리고 그 이야기들이 앞으로 나오는 설명에 대한 이해를 돕기 위한 내용이기 때문에 실제 본문을 읽을때 도움이 됐다. 

이 책의 가장 큰 장점은  IT 서적임에도 불구하고 알기쉽게 설명해서 다양한 독자들이 읽을수 있게 한 부분인것 같다. 성인 뿐만 아니라 중고등학생이 읽어도 교양지식을 쌓을수 있는 재미있는 책이다.

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

728x90
반응형
반응형

책을 읽어보기 전까지는 단어의 의미조차 알지 못했던 Developer Relations 에 대한 책을 읽게 되었다. 단어 자체가 길다보니 보통은 축약해서 DevRel(데브렐) 이라고 표현을 하는것 같다. 

처음에는 데브렐의 역할이 기업의 마케팅이나 영업과 비슷하다고 생각을 했으나 알고 보니 전혀 다른 역할이었다. 내가 책을 읽으면서 간략하게 파악한 그들의 역할은 다음과 같았다.

개발자들을 위한 문화를 만드는데 고민한다. 커뮤니티를 만들고 활성화 될수 있도록 돕는다. 하지만 이런 행동들이 기업의 홍보를 위한것이 아니어야 한다. 

마지막 문장이 정말 의미심장하다. 기업의 홍보를 위한것이 아니어야 한다. 정말 쉽지 않은 일이고 단시간이 이루어 질수 없는 일이다. 분명 꾸준한 노력과 인내, 그리고 속한 조직의 지지가 있지 않고서는 달성하기 힘든 목표이다. 

그럼에도 불구하고 이런 역할을 필요로 한다는 것은 그만큼 개발자라는 역할이 중요해졌다는 의미이다. 책 뒷쪽에 있는 국내 회사에서 데브렐 역할을 하고 있는 분들의 인터뷰를 읽으면서 정말 부러웠다. 우리 회사도 저렇게 생각을 하고 문화를 키워 나가면 좋을 텐데, 아직은 많이 부족하구나 라는 생각을 했다. 

그렇기에 이 책은 조직을 이끌어 가는 리더들이 한번쯤은 읽어봐야 한다고 생각한다. 개발자들을 위한 문화는 어떻게 만들어 가야 하는지 그리고 어떤 부분들이 필요한지 많은 도움을 받을 수 있을 것이다.

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

 

728x90
반응형
반응형

도메인 주도 개발은 회사에서 항상 적용해보고 싶었는데 내가 가진 지식이 많지도 않고 실제 경험도 없다보니 쉽게 해볼수는 없던 영역이었다. 책도 읽어볼 엄두가 나질 않아서 책도 많이 안읽은 주제중에 하나 였다. 그런데 이번에 새롭게 나온 이책을 읽어볼 기회가 생겨서 도메인 주도 개발을 다시 접해볼 수 있었다. 

저자가 책에 써넣은대로 이 책은 초중급을 대상으로 쓰여진 책이다. 말 그대로 도메인 주도 개발에 대해서 알고 싶고 각각의 의미가 무엇인지 개념을 알고 싶고 어떻게 적용하는지 알고 싶은 분들을 위한 책이다. 그리고 책에 나오는 예제 코드들은 java, spring boot, jpa 등을 기반으로 설명을 해주고 있다. 따라서 책을 좀더 잘 이해하고 싶다면 앞에 말한 것들에 대한 사용경험이 있는것이 좋다. 특히 초반에는 개념에 대한 내용이 많다면 후반으로 갈수록 코드로 구현해 나가는 형식으로 설명을 하는 부분이 많기 때문에 spring boot, jpa 에 대한 경험은 필수적이라고 할 수있다.

내가 이 책을 읽으면서 가장 좋았던 부분들은 각각의 개념에 대한 설명들이었다. 도메인 주도 개발을 위한 필수적인 개념이지만 좀처럼 이해하기가 쉽지 않은 내용이었다. 그리고 개발과 연관해서 생각을 하다보니 헷갈리는 개념들도 많았다. 그런데 그런 부분들을 잘 설명을 해줬다. 

특히 도메인 주도 개발에서 내가 가장 중요하다고 생각했던 바운더리 컨텍스트와 애그리거트 에 대한 개념을 잘 이해할 수 있었다. 개념적으로 이해를 하더라고 실제 코드로 적용을 해보기에는 내가 부족한 부분이 많긴 하지만 이론을 바탕으로 잘 적용을 해볼수 있을것 같다는 생각이 들었다. 

도메인 주도 개발에 관심이 있고 이걸 적용해보고 싶은 분들은 한번쯤 읽어보기를 권하고 싶다. 

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

 

728x90
반응형
반응형

많은 시간 개발을 하면서 시스템 아키텍처에 대해서 생각을 안해왔던것은 아니었다. 하지만 그런 지식들은 공부를 해서 생기는게 아니라 실제 경험으로 해봐야만 알수 있다는 생각을 많이 했었다. 그런데 요즘드는 생각은 이론으로 알고 실제 경험을 하면 더 많은것을 할수 있고 더 잘 할수 있을거라는 생각이 많이 들었다. 그래서 최근 책을 고를때에 아키텍트 관련 서적을 많이 골랐던것 같다.

개발을 하다가 나이 먹으면 아키텍트를 해야 한다 라는 그런 의견(?) 들이 많긴 한데 개발자에서 아키텍트로 간다는 것은 생각처럼 당연하지도 않고 쉽지도 않다. 지금도 물론 개발도 하고 아키텍트 역할도 하고 있지만 솔직히 그게 아키텍트로서의 역할이 맞는지, 아니면 개발자인지 구분이 안간다. 

그리고 매번 같은 방법, 같은 형식으로만 생각하다 보니 우물 안에 개구리처럼 생각이 닫혀버린 느낌이 많이 들었다. 아마도 관련 지식과 경험의 부족이라고 생각이 든다. 그래서 "개발자에서 아키텍트로" 되기 위해서는 어떤 것들이 필요한지 책을 통해서 조금이나마 알아가보기로 했다. 

이 책은 총 3개의 챕터로 구성이 되어있다.

1부. 소프트웨어 아키텍처

소프트웨어 아키텍처가 어떤 일을 하는 사람인지 알아보는 챕터이다. 그리고 디자인 마인드셋 (이해하기, 평가하기, 탐색하기, 실현하기)은 무엇인 알려준다. 

2부. 아키텍처 설계의 기초

2부에서는 1부에서 말한 마인드셋 영역별로 아키텍처 설계를 어떻게 해야 하는지 기초 지식에 대해서 알아볼 수 있다. 요구사항 분석부터 설계, 패턴, 시각화, 문서화, 그리고 평가까지 기본적으로 알아야 할 내용들이 담겨있다. 그리고 요구사항 분석 이전에 이해관계자들과는 어떻게 대화를 해야 하는지도 알려준다. 

아래 그림은 아키텍처 패턴 부분에서 설명에 추가되어있는 그림과 표이다. 실체 패턴이 어떻게 구성되는지 알수있고 각 컴포넌트들이 어떤 역할을 하고 있는지 쉽게 알수 있다. 

 

3부. 아키텍처의 은빛 도구상자

3부는 지금까지 배운 내용에 대한 실습 과제를 해보는 부분이다. 총 38가지의 주제를 가지고 팀 활동을 해볼수 있다. 그리고 팀 활동도 위에서 말한 마인드셋 영역별로 4가지 주제를 가지고 나눠져 있다. "문제를 이해하고 싶을때", "해결책을 찾고 싶을때", "손에 잡히는 설계를 만들고 싶을때", "설계 대안을 평가하고 싶을때". 

활동의 목적이 무엇인지, 그리고 이 활동을 함으로써 얻을수 있는 장, 단점, 시간, 절차, 예시까지 아주 꼼꼼히 설명이 되어있다. 그리고 설계에 대한것 뿐만 아니라 앞에서 말한 4가지 주제에 해서도 활동이 있기 때문에 책에서 읽은 부분들을 충분히 경험해 볼수 있다. 

개발자가 아키텍트 역량을 키우기 위해 어떻게 해야 하는지 업주적인 내용부터 기술적인 내용까지 두루 살펴볼수 있는 책이다. 그리고 실습해볼수 있는 주제들을 통해 책의 이론을 경험해 불수 있다는 것이 무엇보다도 좋은 부분이었던 것 같다.

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

728x90
반응형
반응형

NGINX에 대한 내용은 사용할 때에만 잠깐 인터넷으로 설정이라든지 방법만 찾아 봤을 뿐 책을 읽어보는 건 처음이다.  고급 기술을 활용한다기 보다는 상황에 맞게 설정만 하고 끝나는 경우가 많아서 깊게 공부해보려는 생각은 못했던것 같다.

최근 읽어본 책들을 보면 사례를 중심으로 설명하는 책들이 많이 있었는데 이 책도 사례 중심으로 내용을 설명하고 있다. 

그중에서도 내가 관심있게 본 내용들은 인증과 보안제어 챕터이다.

인증이나 보안쪽은 어떤 환경에서든지 빠지지 않는다. 그런데 막상 인터넷을 찾아보면 방법 자체가 맞는 방법인지 알 길이 없다. 그렇다면 도뮤먼트를 읽는 수밖에는 없는데 영문으로 되어있는 도큐먼트를 빠르게 이해하기는 쉽지 않다. 그래서 이 책에 나온 여러가지 상황에 따른 사용 방법을 알고 있다면 실제 Nginx를 사용해서 운영중인 개발자들에게 많은 도움이 될것이다. 

주어진 상황에 대한 해결 방법을 위와 같이 제시해 준다. 그리고 "논의" 라는 항목을 따로 둬서 좀더 생각해야 하는 것들에 대해서 설명을 해준다. 그저 "해결" 만 하고 끝나는게 아니라 "논의" 를 통해서 이론 적인 내용이라든지, 주의 사항들을 상세히 알려주는게 이 책의 큰 장점이라고 생각이 된다. 

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

728x90
반응형
반응형

최근에는 처리해야 할 서비스들을 도메인별로 나누어서 마이크로 서비스로 구축하는 경우가 많아졌다. 그러다 보니 서비스들 간에 서로 통신을 해야 할 일들이 많아지게 되고 이런 처리를 어떻게 해야 할지 고민이 많아졌다. 그중 하나의 방법으로 이벤트 기반으로 정의를 해서 정보를 가져올 수 있는 기법들이 나오게 되었다. 

먼저 이벤트를 정의 를하고 프로듀서는 이벤트를 생성하게 된다. 그리고 그 이벤트를 필요로 하는 컨슈머들은 해당 이벤트를 소비함으로써 프로세스를 처리하게 된다. 간단하게 말하긴 했지만 이벤트를 생산하고 소비하는 과정에서 처리해야 할 일을이 많다. 특히 정상처리 상태에서는 괜찮지만 비정상적으로 처리가 잘못될 경우에 대한 생각들을 많이 해야 한다. 

이 책은 이벤트 기반 마이크로 서비스에 대해서 무엇이 필요하고 각각은 어떤 역할을 해야 하는지 알려주고 있다. 각 레이어 별로 구간구간 처리에 대한 방법, 이론적인 내용들을 잘 설명해 주고 있다. 

하지만 읽으면서 느꼈던 점은 아무래도 이론적인 내용들이 많다보니 이런 이벤트 처리에 대한 경험이 있는 상태에서 읽으면 더 도움이 될것 같다는 생각이 들었다. 그저 막연하게 마이크로 서비스가 무엇이다, 이벤트가 무엇이다 정도 알고 있다면 내용을 이해하기가 좀 어려울수도 있을것 같다. 입문자도 읽을수 있다고는 하지만 내용이 머릿속에 잘 그려지지 않았다. 그래서 프로그래밍 레벨에서 관련 내용을 구현해보거나 운영중인 사람들이 읽기에 더 적합한것 같다. 

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

 

728x90
반응형
반응형

파이썬으로 배우는 데이터 분석 입문 이라는 책을 읽어보게 되었다. 파이썬을 활용해서 주어진 데이터를 분석하는 내용을 담고 있으며 책 표지에서도 보이듯이 판다스, 넘파이, Maltplotlib 을 활용한다. 

기본적으로 책이 추구하는 방향은 데이터 분석이기 때문에 다른 책들과 비슷하다. 그래서 내가 말하고 싶은 것은 이책이 다른 책과 다른 큰 장점을 말하고 싶다. 

흥미로운 주제를 통해서 데이터 분석도 배우고 재미도 챙겼다. 

챕터 별로 큰 주제가 있다. 텍스트 마이닝, 미래예측, 데이터 분석등을 다룬다. 그리고 챕터별로 각각의 주제에 맞게 흥미로운 데이터 셋을 가지고 공부를 할 수 있다. 아래는 국가별 음주 데이터를 가지고 분석을 하고 있다.

그리고 내가 가장 관심있게 봤던 부분은 바로 아래 챕터부분이다. 요즘 가장 핫한 "비트코인" 에 대한 시세 예측이다. 챕터를 보자마자 공부할의욕이 확실히 생기게 되었다. 

파이썬을 배우면서 데이터 영역을 공부하는것은 내가 몇번 해봤는데 쉬운 일은 아니었다. 파이썬도 알아야 하고 데이터에 대한 지식도 있어야 한다. 무엇을 분석할 것이며, 어떻게 데이터를 마련해야 할지 조차도 모를 수 있다. 그런데 이 책에서는 다양한 데이터 셋을 가지고 공부를 할 수 있어서 무엇보다 접근이 손쉬워진다. 또 저자분이 동영상 강의 까지 제공해주고 있기 때문에 스스로 공부하는데 큰 도움이 된다. 

천천히 강의를 듣고 책으로 복습을 한다면 책을 다 볼때 즈음에는 충분히 혼자서도 데이터를 분석 해볼 수 있지 않을가라는 생각이 된다. 단, 파이썬 기본에 대한 내용은 포함되어있지 않으니 그 부분은 스스로 학습 해야 한다.

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

 

728x90
반응형
반응형

 

셸 스크립트는 항상 필요할때에면 검색을 해서 그때그때 찾아보기만 했다. 거의 복사 붙여넣기만 하면서 사용해왔다. 여러번 같은 내용을 찾다 보니 간단한 내용들은 알고 있는데 조금만 복잡해지면 여지없이 검색이 필요했다. 

많은 명령어들을 쓰지는 않았지만 자주 쓰는 명령어들을 자주 찾아봤던 기억들이 많다. find, grep 등 항상 자주 사용한 명령어 들인데 왜 쓸때마다 기억이 안나는지..^^

내게 가장 도움이 되었던 챕터이다. 말 그대로 리눅스 사용할 때에 가장 많이 쓰는 명령어들로 구성되어있다.

특히 이중에서도 grep, find 는 내게 많은 도움이 되었다. 기본 설명부터 시작해서 다양한 옵션을 통해 여러가지 사용방법들을 쉽게 설명을 해줬다, 옵션들이 많이 있음에도 불구하고 빠짐없이 예제들이 있어서 셸과는 친하지 않은 나에게 딱 좋았다. 

앞에서 언급했던것 처럼 이책의 가장 큰 장점은 풍부한 예제라고 할수 있다. 정말 초보자를 위해서 하나부터 열까지 다 설명을 해주고 있다. 그리고 단순한 기능 뿐만 아니라 뒤에 보안, 모니터링 등을 통해서 실제 사용하면 편할 스크립트들을 많이 준비해줬다. 이 책을 정독 한다면 리눅스를 사용하면서 셸 스크립트 사용에 대한 불편함은 없어질것 같다.

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

728x90
반응형

+ Recent posts