나는 리뷰어다 (40) 썸네일형 리스트형 소프트웨어 아키텍처 - The Hard Parts 리뷰 아키텍처 관련 책들을 요즘 많이 읽어보고 있다. 책을 읽는다고 완벽하게 습될수 있는 범위는 아니지만 여러번 읽으면 좋아지겠지라는 생각으로 읽고 있다. 이 책은 아래와 같이 등장인물이 나온다. 그리고 그들의 시스템을 변경시켜가는 과정을 아키텍처 이론과정과 함께 설명을 하고 있다. 아마도 우리가 관리 또는 개발하는 시스템을 변경하려 할때 이 등장인물들이 겪는 경험을 하게 되지 않을까 생각이 든다. 등장인물들의 대화를 통해서 요구사항과 현재 시스템의 상황들을 파악할 수 있다. 아마도 이부분이 다른 책들과 큰 차이점인것 같다. 딱딱한 이론만 있는것보다는 시나리오가 있는 이야기가 있다보니 이해를 잘 할수 있다. 각 챕터마다 처음 시작과 끝에 위와 같은 대화들을 주고 받는 내용들이 나온다. 이 이야기 속에서 나오는.. 오늘부터 IT 를 시작합니다 리뷰 책 표지에 보면 "비유와 이야기로 풀어낸 비전공자를 위한 필수 IT 교양서" 라고 써있다. 책 내용의 대부분이 IT 관련 용어들, 상황들에 대한 이해를 돕기위한 이야기들로 구성되어있다. IT 교양서인만큼 읽는데 어려움은 없었다. 물론 전공자의 입장에서 책을 읽었기 때문에 더 쉽게 느껴졌을 수는 있다. 책에 나오는 내용들에 대해서 이미 알고 있거나 최소한 한번정도는 들어봤던 용어들이었기 때문이다. 하지만 비전공자라고 해서 이해하지 못할 내용은 없어보였다. IT 용어들 중에서도 일상생활에서 충분히 들어봤을 정도의 용어들이 나오기 때문이다. 수학적 지식이나 프로그래밍 관련 전문 지식들이 많이 섞여서 내용이 구성되었다면 읽다가 어려움을 느꼈을 분들이 많을지 모르겠지만 이책은 그런 부분은 거의 없어서 일반 교양서.. 기업의 성공을 이끄는 Developer Relations 리뷰 책을 읽어보기 전까지는 단어의 의미조차 알지 못했던 Developer Relations 에 대한 책을 읽게 되었다. 단어 자체가 길다보니 보통은 축약해서 DevRel(데브렐) 이라고 표현을 하는것 같다. 처음에는 데브렐의 역할이 기업의 마케팅이나 영업과 비슷하다고 생각을 했으나 알고 보니 전혀 다른 역할이었다. 내가 책을 읽으면서 간략하게 파악한 그들의 역할은 다음과 같았다. 개발자들을 위한 문화를 만드는데 고민한다. 커뮤니티를 만들고 활성화 될수 있도록 돕는다. 하지만 이런 행동들이 기업의 홍보를 위한것이 아니어야 한다. 마지막 문장이 정말 의미심장하다. 기업의 홍보를 위한것이 아니어야 한다. 정말 쉽지 않은 일이고 단시간이 이루어 질수 없는 일이다. 분명 꾸준한 노력과 인내, 그리고 속한 조직의 지지.. [나는 리뷰어다] 도메인 주도 개발 시작하기 도메인 주도 개발은 회사에서 항상 적용해보고 싶었는데 내가 가진 지식이 많지도 않고 실제 경험도 없다보니 쉽게 해볼수는 없던 영역이었다. 책도 읽어볼 엄두가 나질 않아서 책도 많이 안읽은 주제중에 하나 였다. 그런데 이번에 새롭게 나온 이책을 읽어볼 기회가 생겨서 도메인 주도 개발을 다시 접해볼 수 있었다. 저자가 책에 써넣은대로 이 책은 초중급을 대상으로 쓰여진 책이다. 말 그대로 도메인 주도 개발에 대해서 알고 싶고 각각의 의미가 무엇인지 개념을 알고 싶고 어떻게 적용하는지 알고 싶은 분들을 위한 책이다. 그리고 책에 나오는 예제 코드들은 java, spring boot, jpa 등을 기반으로 설명을 해주고 있다. 따라서 책을 좀더 잘 이해하고 싶다면 앞에 말한 것들에 대한 사용경험이 있는것이 좋다... [나는 리뷰어다] 개발자에서 아키텍트로 많은 시간 개발을 하면서 시스템 아키텍처에 대해서 생각을 안해왔던것은 아니었다. 하지만 그런 지식들은 공부를 해서 생기는게 아니라 실제 경험으로 해봐야만 알수 있다는 생각을 많이 했었다. 그런데 요즘드는 생각은 이론으로 알고 실제 경험을 하면 더 많은것을 할수 있고 더 잘 할수 있을거라는 생각이 많이 들었다. 그래서 최근 책을 고를때에 아키텍트 관련 서적을 많이 골랐던것 같다. 개발을 하다가 나이 먹으면 아키텍트를 해야 한다 라는 그런 의견(?) 들이 많긴 한데 개발자에서 아키텍트로 간다는 것은 생각처럼 당연하지도 않고 쉽지도 않다. 지금도 물론 개발도 하고 아키텍트 역할도 하고 있지만 솔직히 그게 아키텍트로서의 역할이 맞는지, 아니면 개발자인지 구분이 안간다. 그리고 매번 같은 방법, 같은 형식으로만 .. [나는 리뷰어다] NGINX Cookbook NGINX에 대한 내용은 사용할 때에만 잠깐 인터넷으로 설정이라든지 방법만 찾아 봤을 뿐 책을 읽어보는 건 처음이다. 고급 기술을 활용한다기 보다는 상황에 맞게 설정만 하고 끝나는 경우가 많아서 깊게 공부해보려는 생각은 못했던것 같다. 최근 읽어본 책들을 보면 사례를 중심으로 설명하는 책들이 많이 있었는데 이 책도 사례 중심으로 내용을 설명하고 있다. 그중에서도 내가 관심있게 본 내용들은 인증과 보안제어 챕터이다. 인증이나 보안쪽은 어떤 환경에서든지 빠지지 않는다. 그런데 막상 인터넷을 찾아보면 방법 자체가 맞는 방법인지 알 길이 없다. 그렇다면 도뮤먼트를 읽는 수밖에는 없는데 영문으로 되어있는 도큐먼트를 빠르게 이해하기는 쉽지 않다. 그래서 이 책에 나온 여러가지 상황에 따른 사용 방법을 알고 있다면 .. [나는 리뷰어다] 이벤트 기반 마이크로서비스 구축 최근에는 처리해야 할 서비스들을 도메인별로 나누어서 마이크로 서비스로 구축하는 경우가 많아졌다. 그러다 보니 서비스들 간에 서로 통신을 해야 할 일들이 많아지게 되고 이런 처리를 어떻게 해야 할지 고민이 많아졌다. 그중 하나의 방법으로 이벤트 기반으로 정의를 해서 정보를 가져올 수 있는 기법들이 나오게 되었다. 먼저 이벤트를 정의 를하고 프로듀서는 이벤트를 생성하게 된다. 그리고 그 이벤트를 필요로 하는 컨슈머들은 해당 이벤트를 소비함으로써 프로세스를 처리하게 된다. 간단하게 말하긴 했지만 이벤트를 생산하고 소비하는 과정에서 처리해야 할 일을이 많다. 특히 정상처리 상태에서는 괜찮지만 비정상적으로 처리가 잘못될 경우에 대한 생각들을 많이 해야 한다. 이 책은 이벤트 기반 마이크로 서비스에 대해서 무엇이 .. [나는 리뷰어다] 이것이 데이터 분석이다 파이썬으로 배우는 데이터 분석 입문 이라는 책을 읽어보게 되었다. 파이썬을 활용해서 주어진 데이터를 분석하는 내용을 담고 있으며 책 표지에서도 보이듯이 판다스, 넘파이, Maltplotlib 을 활용한다. 기본적으로 책이 추구하는 방향은 데이터 분석이기 때문에 다른 책들과 비슷하다. 그래서 내가 말하고 싶은 것은 이책이 다른 책과 다른 큰 장점을 말하고 싶다. 흥미로운 주제를 통해서 데이터 분석도 배우고 재미도 챙겼다. 챕터 별로 큰 주제가 있다. 텍스트 마이닝, 미래예측, 데이터 분석등을 다룬다. 그리고 챕터별로 각각의 주제에 맞게 흥미로운 데이터 셋을 가지고 공부를 할 수 있다. 아래는 국가별 음주 데이터를 가지고 분석을 하고 있다. 그리고 내가 가장 관심있게 봤던 부분은 바로 아래 챕터부분이다. 요.. [나는 리뷰어다] 처음 배우는 셸 스크립트 셸 스크립트는 항상 필요할때에면 검색을 해서 그때그때 찾아보기만 했다. 거의 복사 붙여넣기만 하면서 사용해왔다. 여러번 같은 내용을 찾다 보니 간단한 내용들은 알고 있는데 조금만 복잡해지면 여지없이 검색이 필요했다. 많은 명령어들을 쓰지는 않았지만 자주 쓰는 명령어들을 자주 찾아봤던 기억들이 많다. find, grep 등 항상 자주 사용한 명령어 들인데 왜 쓸때마다 기억이 안나는지..^^ 내게 가장 도움이 되었던 챕터이다. 말 그대로 리눅스 사용할 때에 가장 많이 쓰는 명령어들로 구성되어있다. 특히 이중에서도 grep, find 는 내게 많은 도움이 되었다. 기본 설명부터 시작해서 다양한 옵션을 통해 여러가지 사용방법들을 쉽게 설명을 해줬다, 옵션들이 많이 있음에도 불구하고 빠짐없이 예제들이 있어서 셸과.. [나는 리뷰어다] 진지한 파이썬 전에 읽었던 "나의 첫 파이썬" 에 이어서 이번에는 "진지한 파이썬" 을 읽게 되었다. 책 제목에서 느낄수 있듯이 이 책은 파이썬의 진지한(?) 부분에 대해서 설명해 주고 있다. 우선 파이썬이라는 언어의 기본 적인 내용들은 알고 있어야 한다. 기본적인 문법에 대한 내용보다는 파이썬으로 무언가를 만들때 혹은 프로젝트를 구성하는 것부터 시작해서 라이브러리 관리, 문서화, 배포, 테스트, 성능에 관련 된 내용을 담고 있다. 장점과 단점을 몇가지 알아보면 다음과 같다. 장점 - 개발을 하면서 프로젝트의 구조를 어떻게 만들어야 하는지, 그리고 자칫 소홀히 할 수 있는 문서화는 어떻게 해야 하는지 좋은 가이드를 알려준다. - 다양한 방법의 단위 테스트를 알려주고 있어서 개발시에 상황에 맞게 적용해 볼 수 있다. 단.. 이전 1 2 3 4 다음