2016. 11. 7. 00:26 독서 영역/Hanbit Readers
728x90



오픈스택이 뭐에요??


이 책은 "오픈스택(OpenStack)"이 무엇인지 궁금해서 그 해답을 얻을 수 있지 않을까 생각이 들어 선택했다.


오픈스택이라는 단어를 처음 들었을 때는 약 1년전쯤 인것 같다. 

그 당시에는 IT 개발자로써 일하면서 처음 들어보는 단어라 매우 호기심이 당겼지만 거기까지 였다. 


하지만 최근들어 사내 인프라 관련한 일을 진행하다보니 자연스럽게 서버 구축이나 클라우드와 같은 기술들에 관심이 늘어가고 있던 차에 "오픈스택"을 다시 마주하게 되었고 이번에는 관심에서 끝나지 않고 개념 및 직접 구축해보고 싶은 마음에 "OpenStack In Action"이라는 도서를 선택하게 되었다. 


오픈스택의 개념 정의부터 구축까지!


이 책은 아래와 같은 내용으로 구성되어있다. 

  1. 오픈스택의 개념을 이해해보자!

  2. 오픈스택을 경험해보자!

  3. 오프스택을 직접 구축해보자!



<오픈스택의 이해를 돕기 위한 비유와 다양한 구성도 표현!>


  오픈스택의 개념을 이해하는데 있어서 "호텔"로 비유하고 글로 이해하기 힘든 각 개체들간의 구조는 구성도를 꼼꼼히 그려넣어서 이해하는데 무리가 없도록 했다. 

  이 책을 보고 나는 오픈스택은 결국 클라우드 자원들을 관리하는 역할을 한다고 정의내릴수 있었다. 그리고 오픈스택에서 관리하는 다양한 구성요소들에 대해서 알게 되었으며 오픈스택의 이해도가 기존대비 한층 높아진 것을 느낄 수 있었다.




<오픈스택의 이해를 돕기 위한 CLI(Command Line Interface)적극 사용!>


  책에서는 오픈스택에서 제공하는 호라이즌 대시보드(GUI)를 통하여 각 기능들을 추가/삭제/관리 하는 것보다 직접 명령어를 입력하는 방법으로 실습을 진행하기를 원한다.

  각 설정 명령어와 매칭되는 OpenStack API들을 보여주면서 오픈스택의 구조를 파악할 수 있다고 소개하고 있다. 독자에게 단순 사용법이 아닌 구조를 이해시키려는고 한다는 느낌을 받았고 그 과정에서 발생할 수 있는 문제점들에 대해 주의사항 및 해결책도 제시하고 있어서 실습을 하는데 많은 도움을 받았다.




<오픈스택의 이해를 돕기 위한 간접, 직접 구축 안내!>


  책 초반에는 오픈스택을 처음부터 구축하기 힘들수 밖에 없기 때문에 가상머신 이미지를 통하여 오픈스택을 접해볼 수 있도록 안내하고 있다. 오랜시간을 투자하지 않고, 구축 시 발생하는 오류없이 바로 오픈스택 웹 관리페이지를 접근할 수 있었다. 

  더불어 2장에서는 우분투 설치부터 시작해서 리눅스에서 개별적인 명령어를 통해서 오픈스택에 필요한 구성목록들을 하나씩 설치하고 설정하도록 안내하는데 이는 오픈스택의 구조를 조금더 명확하게 이해하는데 도움을 줄 수 있기 때문이라고 한다. 분명히 직접 구축할일이 그리 많지는 않을 것이다. 이미 구축된 오픈스택 위에서 관리하는 정도가 주된 일이 될 수 있기에 밑바닥부터 직접 구축해보는 것만큼 친숙해지고 이해력을 높이는데 큰 도움이 될만한 것은 없을 것이다. 




책을 보고나니 ...

처음 시작하면서 던진 "오픈스택이 뭐에요??"라는 물음에 대한 답을 꽤나 많이 얻을 수 있었던 것 같다. 아마도 내가 이해한 내용보다 더 많은 내용이 책에 수록되어 있었겠지만 말이다. 일단 자체 클라우드를 구축해볼 때 까지는 내 옆에서 든든한 참고서가 될 것 같다!!



728x90
posted by acedon
2016. 10. 3. 13:51 독서 영역/Hanbit Readers
728x90

네트워크 보안 시스템 구축을 하려면 무엇부터 시작해야 할까??




이 책은 한마디로 정의하면

 "네트워크 보안 시스템 구축, 보안 관제에 대하여 문외한 사람에게 큰 그림을 그려주는 책

이라고 할 수 있을 것 같다. 




저자가 알려주고 싶었던 것들


- 독자 대상

  보안 시스템을 구축하고 보안 관제를 하려는 기업 및 공공기관 등의 보안 담당자

  보안 시스템  구축과 보안 관제를 배우고자 하는 학생


- 핵심 내용

  어떻게 보안 조직과 보안 관제 센터를 만들어야 하는지?

  보안 관제 시스템 구축과 운용에 대한 기본적인 것을 이해하고 실무에 도움을 주는 것!





네트워크 구축에 대한 큰 그림을 얻었지만, 실제 구축 방법은 어렵더라 ...


  이 책은 "보안 관제 개념", "네트워크 기본 지식"을 소개한 후 네트워크 보안 실습을 위한 "가상 환경 구축"을 소개하고 있다. 


  이 "가상 환경 구축"을 진행하는데 꽤나 어려움을 겪었다. 

분명히 천천히 따라가면서 진행했는데 갑자기 중간 내용은 사라지고 갑자기 완결이 나오는 느낌이라고 할까나?

챕터3에서 GNS3설치 후 라우터 추가 등을 진행하는데 정말 멘붕이 왔다. 갑자기 라우터를 추가하라는데 나는 저런 파일이 없는데... 어디서 나온거지? 


  거기서 시간을 낭비하다가 결국 인터넷 검색을 통해서 찾긴했으나 너무 많은 시간을 허비했다.

여기서 느낀 감정은 "아... 이정도는 알고 있어야 햐는 것이 정상인가?" 지면상 다 설명할 수 없어서 줄인 것 같긴한데 초심자들이 따라가기에는 중도포기할 수 있겠다 싶었다. (아마 나만 그렇게 느낀것일 수도 있지만..)




댜앙한 보안 시스템에 대한 간접 경험을 하다!


  "가상 환경 구축" 이후로 "방화벽 구축", "네트워크 침입 탐지/차단 시스템", "호스트 기반 침입 탐지/차단 시스템", "웹 방화벽", "네트워크 접근 제어 시스템" 등 보안 솔루션들에 대한 설치 및 운용방법에 대하여 너무 무겁지 않고 가볍게 확인 해볼 수 있었다.


  가정 또는 사내에서 사용하는 인터넷이 사용자가 사용하는 그 앞단에서 다양한 침입 탐지/차단 시스템을 통하여 우리의 네트워크를 안전하게 지키고 있다는 점을 알게 되었다. 향후 나만의 서버를 운용하게 된다면 그 때는 이러한 네트워크 보안 지식들을 활용하여 안전한 서버를 구축할 수 있기를 희망한다. 




책을 덮으며 ...


  이 책은 전체적인 네트워크 보안 시스템을 구축하는데 큰 그림을 그리는데 도움을 줄 수 있는 책이라고 본다. 나와 같이 네트워크 보안 시스템 구축에 비전문가가 보면 그래도 방향은 잡을 수 있겠다 싶은 정도이다. 책에서 설명하고 있는 방화벽, IDS/IPS 등 구축하는 방법에 대해서는 생각보다 따라하기 힘들었다. 적은 지면안에 표현해야 해서 그런지 설치 및 준비과정이 스킵 된 부분이 있어서 그런 것 같았다. 


  그래서 이 책으로 큰 그림을 그리고 필요한 기술에 대해서는 관련 전문 서적을 찾는 방법으로 "네트워크 보안 시스템 구축과 보안 관제"를 알아가면 좋을 것 같다!




728x90
posted by acedon
2016. 9. 4. 03:40 독서 영역/Hanbit Readers
728x90

파이썬의 매운맛을 보여주겠어!!

라고 외치는듯 한 표지가 심상치 않다. 




나날이 파이썬의 인기가 늘고 있는 것 같다. 

서점을 가면 파이썬 기초 책들이 우후죽순으로 늘어나고 있는것만 봐도 알 수 있다. 

파이썬은 처음 프로그래밍을 접하는 사람들에게는 충분히 쉽고 충분히 재미를 느끼게 해줄만한 언어다.

이러한 파이썬에도 약점?은 있으니 바로 성능(Performance)부분이라고 말할 수 있다. 


<고성능 파이썬(High Performace Python)> 도서는 악점으로 손 꼽히는 성능에 대한 고민을 해결해주기 위한 책이다. 

이 책은 "성능상의 병목 지점을 파악"하고 "더 빠르고 확장성이 뛰어난 해법"을 위한 실용 지침을 제공한다.



* <경고!!> 도서에 대한 리뷰를 하기 전에 당부의 말을 적어본다. 


이 책은 특수목적을 가진 책으로 파이썬을 충분히 사용해봤고, 현재 파이썬을 활용한 시스템에서 성능문제로 고민하고 있는 독자를 대상으로 하고 있다. 만약, 파이썬의 기초정도의 수준 또는 성능문제 해결에 대한 고민이 없다면 이 책을 읽어나가는데 무척 힘든 여정이 될 것이라 생각한다. 



* 고성능 파이썬의 구성은 알차다!


고성능 파이썬은 총 12챕터로 구성되어 있으며 챕터1과 챕터2는 꼭 읽어 보길 추천한다. 


- [챕터1] 고성능을 위한 파이썬 이해하기 에서는 파이썬을 최적화하기 위해서는 결국 컴퓨터 하드웨어 연산에 대해서 알아야 한다고 강조하고 있다. 결코 성능을 논하려면 하드웨어 직접 제어까지도 논할 수 있어야 한다고 생각한다. 

- [챕터2] 프로파일링으로 병목지점 찾기에서는 시스템의 어느 부분이 느린지? 어디서 과도한 I/O작업이 발생되는지 측정한다. 


그 외 나머지 챕터들은 순차적으로 읽지 않고 자신이 필요한 부분을 먼저 읽어도 될 것 같다는 생각을 해본다. 



* 내용은 어려웠지만 몰입하게 되더라!


나는 [챕터 7] C 언어로 컴파일하기 부분이 제일 궁금했는데 다양한 라이브러리들을 제공하여 파이썬 코드를 C 코드로 변환하여 최적화를 하는 내용으로 핵심적으로 잘 요약되어 있던 느낌을 받았다. 



* 편집에 신경썼구나?


- 각 챕터 시작 시 "이 장에서 배울 내용"이라는 학습목표를 나열하여 독자가 어떤 내용이 나올지 마음의 준비를 할 수 있게 해서 좋았다. 

- 내용 중간중간 "NOTE"를 제공하여 중요 핵심포인트, 꿀팁 등을 제공하여 읽으면서 놓칠 수 있는 부분을 챙겨주는 듯한 느낌을 받았다.



정리하면, 파이썬 초심자가 보기에는 독사같은 책이 될 것 같으며 파이썬의 성능에 목말라 있는 사람이 보면 보약이 될 그런 책으로 정의하고 리뷰를 마친다.  




















728x90
posted by acedon
2015. 12. 13. 01:11 독서 영역/Hanbit Readers
728x90




복잡 미묘한 데이터베이스의 세계로~

이번에 리뷰하게 된 도서는 "SQL 첫걸음"라는 제목을 가진 데이터베이스 입문서이다.
부제로 "하루 30분 36강으로 배우는 완전 초보의 SQL 따라잡기"를 보면서 하루 30분만 투자하면 되는지 매우 궁금해지는 책이다. 물론 나는 하루 30분만 본 건 아니고 몰아보기도 하고 못 보는 날도 있고 했다. ㅎㅎ

그래도 고등학교 때 처음 접했던 MS Access를 통하여 데이터베이스에 대한 경험을 쌓았던 적이 있다.
그 이후 대학에서 데이터베이스 과목을 들으며 심화했던 기억들이 이제는 10년전이라니 ...

이번 기회에 그 기억들을 다시 새록새록 떠올리며 복습하기로 마음먹고 리뷰를 시작해 본다.



나만 신경씌였던 건 아니겠지?

책을 읽다보면 맞춤법에 대해서도 생소하게 느껴지는 부분이 있었다.
바로 "결괏값, 최댓값, 최솟값" 등의 단어들 때문이었다.
사실 나는 처음 저 단어들을 보고 오호라~ 오타 발견이다!라고 외치고 네이버를 찾고, 우리말 맞춤법 검사기를 돌려보니 오타가 아니라 오히려 저게 맞는 표현이라는 것에 적잖은 충격을 받았다.
그 동안 내가 계속해서 틀리게 써왔다는 것을 인지하고 나서다...
참으로 눈으로 보기에 거슬리는 ㅅ받침이 맞는 표현이라니 ㅎㅎ 한글 참 어렵다!

< 맞춤법부터 차근차근 >


혼자서 SQL을 익히는 가장 쉬운 방법이라는데? 확인해보자~

5장 집계와 서브쿼리를 들어가게 되면서 이제 슬슬 머리속이 복잡해 온다.
"ORDER BY, GROUP BY, HAVING, DISTINCT" 등 명령어들의 조합이 헷갈리기 시작한다.
"서브쿼리"라는 것이 등장하면서 이젠 1차원적인 생각이 아닌 2차원 이상으로 생각의 폭을 넓혀야 하므로 천천히 예제를 따라가면서 이해하기를 바란다. 절대적으로 SQL구문만으로는 처음배우는 사람이라면은 이해하기 힘들 것이다.
직접 실습을 진행하면서 출력되는 데이터와 매칭시켜가면서 이해하기를 추천한다!

< 매번 헷갈리던 오름차순과 내림차순 드디어 마스터! >


< MySQL의 내용뿐만 아니라 기타 데이터베이스(Oracle, SQL Server 등)와 비교하여 설명함 >


6장 데이터베이스 객체 작성과 삭제에서는 그 동안 만들어진 데이터베이스 내 테이블들을 사용했다면 이제는 그 테이블을 작성하는 방법에 대해서 설명하고 있다. 과거에 공부할 때 "기본키와 인덱스" 개념에서 매우 어렵게 느껴졌던 기억이 있다. 하지만 이미 알고 있어서 그럴지도 모르지만 매우 간결하게 설명되어 있고 예제를 확인해보면서 명확하게 이해할 수 있었다.

< 인덱스에 대한 개념 설명중 >


7장 복수의 테이블 다루기에서는 하나의 테이블이 아닌 2개 이상의 복수개의 테이블을 사용하는 방법에 대하여 설명하고 있다. 데이터베이스를 처음 접하는 사람들에게 테이블 결합(JOIN)이 가장 이해하기 난해한 부분일지도 모른다. 적어도 아무것도 모르던 나의 어린시절에는 제일 어려웠던 것 같다. 책에서 나오는 용어들 "곱집합, 교차결합, 내부결합, 외부결합" 등 글자로만 이해하려면 답이 안나온다. 위에서도 언급했지만 책에서 설명하고 있는 예제를 따라하면서 이해하는 것이 가장 쉬운 방법이라고 다시금 강조하고 싶다.

< 집합만 나오면 머리아파요, 하지만 천천히 따라가보기! >


8장 데이터베이스 설계에서는 여러가지 설명하고 있지만 "정규화"에 대해서 만이라도 알고 넘어가는 것이 중요할 것 같다.
정규화는 데이터베이스를 효율적으로 동작할 수 있게 테이블간의 짜임새를 맞추는 것이라고 생각할 수 있다.
다시 말하여 테이블 구성을 잘게 잘게 나누어 각각 독립성을 제공해주어 변경에 대한 효율성을 극대화 하는 것이라고 말할 수 있을 것 같다. 물론 이 부분은 이 책을 본다고하여 쉽게 마스터할 수 있는 부분은 아니다. 하지만 그 개념은 이해할 수 있을 것이다. 잘 이해가 되지 않는다면 조금 더 심화된 내용의 서적을 찾아보기를 권한다. 


추억이 새록새록한 마무리~

SQL을 처음 접하는 사람에게는 "친절한 길잡이"가 될 것이며 매우 추천하는 바이다.
과거에 알고 있었지만 현재 잊혀졌던 사람에게는 "추억의 길잡이"가 될 것이다.
단, 데이터베이스 중,고급 이상의 독자라면 이 책은 살포시 덮어두기를 바란다^^


"이 리뷰는 한빛리더스 시즌2 활동의 일환으로 작성되었습니다."

728x90
posted by acedon
2015. 11. 12. 23:54 독서 영역/인사이트
728x90



"누구나 쉽게 배우는 웹사이트 디자인의 비밀"이라는 책을 리뷰하게 되었다. 

이 도서는 "The Principles of Beautiful Web Design" 원서의 3번째 개정 번역판이다. 
3번째 개정 번역판이 나왔다는 것 자체만으로 이 책의 인기와 포함하고 있는 정보들이 유용함을 알 수 있을 것 같다.


5가지 핵심적인 원칙 ?!

이 도서는 아래의 5가지 웹 디자인의 핵심적인 원칙을 바탕으로 초보자도 이해하기 쉽도록 설명해주고 있다.

자 아래의 단어들 중 5가지 원칙을 찾아봅시다!!

정답은? 아마도 모두다 찾았을 것이라 생각을 해본다.

  • 레이아웃 - 1장
  • - 2장
  • 텍스처 - 3장
  • 타이포그래피 - 4장
  • 이미지 - 5장
자! 그럼 5가지 핵심원칙을 살펴볼까 한다.
참고로 이 도서는 "누구나"에게 초점을 맞추어 상당히 쉽고 이해하는데 어려움이 없도록 작성한 것 같은 느낌을 받았다.
 

다 이유가 있는 배치였구나!

1장 레이아웃 챕터에서는 기본적인 레이아웃 구조를 소개하고 실용적인 여러가지 이론 및 실천 방법들을 설명하고 있다.
기술적인 내용들을 간략히 설명하면 "그리드 이론", "균형", "통일성", 강조" 등 다양한 방향에서 레이아웃을 잘 설정할 수 있도록 설명하고 있다.

< 웹 페이지의 레이아웃 구성 >


"그리드 이론"은 3등분으로 나누어서 요소들을 배치하는 내용인데, 쉽게 생각해서 카메라를 찍을 때 나오는 가이드선을 생각하면 이해하기 쉬울 것 같다. 그 가이드선을 이용하여 비율을 맞추어 사람이나 사물을 찍으면 좀 더 안정적인 사진을 찍을 수 있는 것과 같다고 볼 수 있을 것 같다. 

그냥 무심코 스쳐지나가던 웹 페이지들도 나름대로 철저한 기준(지속, 고립, 대비 등)에 의하여 작성되었음을 인지하게 되었다. 예로 트위터 홈페이지는 "대비"(p.30 참고)라는 개념으로 보았을 때 잘 정의된 사이트라 그런지 내 시선은 자연스럽게 "Sign Up" 버튼을 향하고 있었다. 

< 트위터 홈페이지 >

1장 레이아웃 챕터 후반부에는 현재 모든 웹사이트 구성의 대세로 자리잡은 "반응형 디자인"에 대한 설명도 되어있다. CSS를 사용하여 사용자의 디바이스에 따라 레이아웃이 동적으로 변경되어야 하는 부분과 방법에 대해서 안내하고 있다. 


미술 시간이 제일 어려웠었는데 ??


2장 색 챕터는 개인적으로 가장 유익하게 다가왔다.
색에 대한 개념부터 시작하여 RGB색상환의 이해, 단색/유사색 설계, 보색 설계 등 색채 심리학을 통하여 사용자가 느낄 수 있는 가장 좋은 방법들을 소개하고 있다. 
RGB 색상환 도표를 이용하여 보색 설계를 사용하는 방법은 정말 이해하고 나니 신기할 따름이었다!

< 색상환 도표 >


< 보색 설계 방법 >


밋밋한 홈페이지 만들거야? 


3장 텍스처 챕터에서는 밋밋한 홈페이지가 아닌 홈페이지의 컨셉(주제)에 맞는 분위기를 만들어야 한다고 이야기한다.
여기선 텍스처의 정의를 "디자인이나 개체의 표면에 독특한 외관이나 느낌을 더하는 모든 것"을 말한다고 한다.
실질적으로 점, 선, 도형, 부피와 깊이, 패턴 등의 그래픽 디자인 요소들을 사용하여 꾸밀 수 있다. 

아래의 사진은 CSS를 이용하여 패턴을 사용하는 예시이다. 
바탕화면 설정할 때 중앙정렬이나 가로 반복, 전체 반복 등을 생각하면 될 것이다. 

< 패턴 반복에 대한 예시 >


활자의 힘을 보아라!!


4장 타이포그래피 챕터는 저자도 말한다. "중독성"이 있고 엄청나게 방대한 양의 공부할 것들이 있다고 말이다. 
타이포그래피라는 말은 어디선가 들어보았긴 한데 정확히는 모르니 정의만이라도 알아가는게 좋을 것 같다.
"타이포그래피는 글자 쓰기로 인상을 만드는 것"이라고 정의 내릴 수 있겠다. 

다양한 폰트를 사용하여 가독성 및 페이지의 이미지 등을 만들어갈 수 있다. 또한 예쁜 폰트를 과거에는 포토샵등을 이용하여 이미지를 만들어야 했으니 이제는 CSS3의 기능을 통하여 충분히 구현이 가능하다고 한다.
폰트 관련된 다양한 내용들이 수록되어 있으니 꼭 읽어보기 바란다.

< 타이포그래피로 만든 콜라주 >


이미지도 잘 골라야 한다!


마지막 5장 이미지 챕터에서는 이미지를 사용함에 있어서 상황에 적절하게 맞는 이미지를 사용해야 한다고 안내하고 있다.
또한 이미지를 사용할 때는 합법적인 출처가 보장되는 것을 사용해야 한다는 부분을 말하고 있다. 이 부분은 어떻게 보면 저작권 침해의 소지까지 갈 수 있는 민감한 부분임을 인지해야 할 것 같다. 단순히 구글에서 이미지 검색을 통하여 얻은 이미지를 무작정 사용하는 것은 상당히 위험한 일이니 꼭 권한을 확인하도록 한다. 

5장의 끝 부분으로 가니 "창의적으로 사진 자르기"의 내용은 평이한 사진을 좀 더 역동적으로 만들어 줄 수 있는 좋은 방법이기에 참고하면 좋을 것 같다. 


정리 해볼까요??


"누구나 쉽게 배우는 웹사이트 디자인의 비밀" 제목과 같이 정말 쉽게 설명되어 있는 것 같으며 노하우를 전수 받은 느낌을 받았다.

각 설명에 대하여 이미지 첨부(해당 홈페이지 이미지 및 다양한 이미지)가 되어 있어서 직접 링크를 들어가보지 않아도 되기에 부담없이 책만으로도 충분히 이해가 되었다. 

웹사이트 디자인을 기획하려는데 기초가 부족하거나 아이디어가 떠오르지 않으신다면 이 도서를 읽어보기를 추천합니다.!


728x90
posted by acedon