미국발 금융위기가 극심하던 2008년 무렵, 기존 금융 시스템에 대한 도전 또는 혁신 방안으로 등장한 비트코인이 블록체인의 시작점이 됐으며, 암호화폐의 전성기를 열었다는 데 대해 이견을 달 사람은 없을 것이다. 기술적으론 거의 30년 이상 이어온 중앙화 아키텍처에 대한 도전이며, 경제적으론 수백 년 이상 존속된 중앙은행에 대한 대안이자 도전이었기에 비트코인이 제시한 블록체인의 개념과 철학, 방향성은 절대적인 것으로 생각됐다.
하지만 비트코인의 암호화폐로서의 속성이 워낙 강한 탓인지 비교적 최근까지 블록체인의 아키텍처로서의 특별함은 암호화폐 외에는 언급되지 않았고, 심지어 암호화폐 비즈니스가 과열된 상태에서 나타난 ICO의 부정적 면모는 비트코인은 물론 블록체인 생태계 전체에 대한 부정론으로 이어졌다. 하지만 그와 동시에 일부에서는 블록체인을 기업의 경쟁력 및 차별화 요소로 판단하고, 이를 극대화하기 위한 다양한 실험을 이어왔다.
이는 암호화폐로서의 정체성을 준수하는 블록체인 1.0 아키텍처에 도전하는 스마트 계약 중심의 블록체인 2.0 아키텍처로의 진화 과정으로 부를 수 있을 것이며, 기술적, 정치적, 논리적인 모든 측면에서 탈중앙화를 장려하던 기존 분위기에서 기업의 경쟁력 강화에 초점을 맞춰 일부는 분산화로, 일부는 중앙화로 블록체인 네트워크의 효율성과 안정성 및 보안성을 강화하는 방향으로 선회하고 있다.
이 책의 주제인 큐오럼은 Go 이더리움의 포크로, 접근성이 매우 높은 이더리움의 토대를 사용하되 기업 중에서도, 특히 신뢰성과 보안성을 생명처럼 여기는 금융 기업의 니즈에 맞춰 탈중앙화와 분산화, 중앙화를 결합하기 위한 실험의 산물이라 할 수 있다. 큐오럼은 Raft 및 IBFT 컨센서스를 활용해 네트워크 참여자에 대한 다양한 수준의 접근성을 관리하는 전략이다. 또한 블록체인을 통해 금융 기업 수준의 정보 보안성과 네트워크 신뢰성을 확보하고자 하는 다수의 국내외 기업에 훌륭한 테스트베드 역할을 하고 있다.
이 책의 번역을 계기로 인사를 나누게 된 저자 나라얀 프루스티는 블록체인 2.0의 철학을 퍼블릭 클라우드 형태로 구현한 블록 클러스터의 기술 최고책임자다. 지난 3년간 목표하는 프로젝트를 완수하기 위해 정말 험난한 삶을 살았다고(맨땅에 헤딩했다고) 하며, 그 고생의 과정 중 일부를 이 책에 반영해 이론에 치우치지 않고 좀 더 실용적이며 흥미로운 책이 됐다고 생각한다. 저자는 IT 기술, 금융 산업, 의료 서비스 등 다방면에 열린 생각을 가진 풀스택 개발자이며, 머지않은 미래에 한국의 큐오럼 세미나에 꼭 초대하고 싶은 블록체인 전문가다.
2019년 5월 말에 내가 진행한 큐오럼 세미나에는 삼성, SK, 한화 등 주요 그룹의 금융 계열 기업 임직원이 다수 참여했는데, 이는 글로벌 최대 은행 중 하나인 JP모건이 큐오럼 프로젝트를 주도하고 있다는 점이 적잖은 영향을 미쳤으리라 생각한다.
이 자리에서 국내 대기업 및 금융 기관 또한 이미 수년 전부터 큐오럼 외 2~3개의 블록체인 플랫폼을 바탕으로 다양한 수준의 실험을 이어오고 있음도 확인할 수 있었다.
혁신 기술 기반의 R&D 사업화에 있어서도 블록체인은 매우 중요한 주제며, 특히 기업의 기술적 차별성 및 경쟁력을 강화할 수 있는 스마트 계약 기반의 사업화는 빅데이터, 인공지능 및 클라우드와 함께 향후 수년간 각광받을 것으로 생각한다. 큐오럼은 기업용 블록체인 애플리케이션 개발을 위한 접근성 높은 라이브러리며, 좀 더 쉽게 이더리움을 이해하고 구체적으로 활용할 좋은 기회가 될 것이다.
몇 년 전, 60년 전통의 글로벌 IT 조사기관인 IDC는 IT 기술을 이끌어나갈 4대 중심축으로 모바일, 소셜, 클라우드, 빅데이터를 지목했다. IDC의 예견은 이제 상식이 됐으며, 모바일 기기 산업은 어느새 성숙기에 접어들었고, 모바일 콘텐츠와 소셜 서비스는 치열한 경쟁만을 남겨두고 있다. 이러한 상황에서 다양한 스마트 기기와 클라우드 환경에서 막대하게 쏟아지는 빅데이터를 시각화하고 유용한 도구 혹은 자원으로 활용하기 위한 시도가 거듭되고 있다. 이런 시도 가운데 국내외에서 가장 두드러진 것이 바로 머신 러닝이라 할 수 있다.
보통의 개발 트렌드는 IT 엔지니어의 관심사지만, 머신 러닝만큼은 기업 경영자, 스타트업 창업자, 보건 행정 공무원, 정책 입안자, 대통령 선거 후보에 이르기까지 높은 관심을 받고 있다. 고객의 명단이 아닌, 고객의 행동을 분석하거나, 고객이 왜 그런 행동을 했는지 맥락을 분석하는 데 있어서 머신 러닝은 주요한 역할을 할 수 있는 단계에 접어들었다. 또한 이미 수년 전부터 산업계, 학계가 앞다퉈서 머신 러닝 라이브러리를 배포하고 이를 문서화하고 있어서 매우 낮은 비용으로 데이터를 분석하고 차별화된 통찰력을 얻을 수 있는 환경도 만들어졌다.
하지만, 머신 러닝의 개념을 구성하는, 기본적인 이론의 개요를 파악하는 일조차 결코 쉽지 않다. 더욱이 개발과 회의, 업무 조율 등으로 매일같이 바쁜 일상을 보내고 있는 현업 개발자라면 머신 러닝의 개념 정리와 응용프로그램의 개발 준비를 별도로 할 여유는 없을 것이다.
이 책은 머신 러닝의 개념 정립, 유용한 라이브러리 소개, 해당 라이브러리의 활용 예제로 구성돼 있다. 지난 십 수년간 머신 러닝의 상용화, 사업화를 위해 노력해온 기업과 대학, 각종 연구 기관의 성과는 무료로 사용할 수 있는 오픈소스 라이브러리로 배포됐으며, 이제 우리는 이들 라이브러리 중 우리가 실제로 필요한 것이 무엇인지 확인하고, 해당 라이브러리에서 관련 리소스를 임포트하기만 하면 머신 러닝 알고리즘을 사용할 수 있게 됐다.
우리 주위의 당면 과제를 소개하고, 이를 해결하기 위해 머신 러닝 알고리즘이 무엇인지 개략적으로 소개한 뒤, 그에 적합한 알고리즘이 무엇인지 매우 알기 쉽게 설명한다. 머신 러닝 기반의 아이템 추천 알고리즘, 또는 이상 행동 감지 알고리즘이 반영된 응용 프로그램을 만들고자 하는 개발자의 시간과 노력을 아끼는 데 도움이 될 것으로 생각한다.
최근 10여 년 사이, 인공지능과 빅데이터, 소셜과 모바일 서비스의 폭발적인 성장과 함께 프로그래밍을 배워야 한다는 사회 분위기가 강하게 조성되고 있다. 웹 2.0 시대에 사는 우리 대부분은 어떤 면에서는 모두 프로그래머이자 코더라고 할 수 있지만, 국내외 정부와 교육기관은 프로그래밍 로직을 작성하는 일을 전문 직업으로 택할 수 있는 수준을 강조하고 있다. 만일 프로그래머가 되는 것에 대해 진지하게 고민한 적이 있다면, 그 첫 번째 단추를 어디서부터 꿸 것인가가 무척 중요할 것이다. 그리고 이미 프로그래머로 활동하고 있다면, 전문가로서의 깊이를 얻기 위해 많은 노력을 하고 있을 것이다.
쿡북을 펴 들고 웹 기반, 혹은 모바일 기반의 애플리케이션을 만들어서 배포해보는 것도 좋은 방법이고, 개발 환경을 설치한 뒤 해당 플랫폼의 예제 코드를 실행해보거나 오픈소스 라이브러리를 다운로드 받아서 개발 문서의 스터디를 시작하는 것도 좋은 접근 방식이지만, 이런 과정을 거칠수록 프로그래밍에 대한 근원적인 궁금증이 커지기 마련이다. 오픈소스 시대에 사는 우리 대부분은 표면에 있는 모듈과 API를 가지고 프로그래밍 혹은 코딩을 시작하지만 시간이 지날수록 그 아래 감춰져 있는 요소를 발굴하고 차츰 더 아래에 있는 프로그래밍의 기단부 혹은 코어를 향해 내려가게 되는 것이다.
이 책에서 다루고 있는 데이터 구조와 알고리즘이 바로 여러분이 찾던 프로그래밍의 기단부이자 코어라고 할 수 있다. 모든 프로그램은 데이터 구조 혹은 알고리즘이라는 소박한 토대 위에 쌓아 올려진 건축물이라 할 수 있으며, 오픈소스 커뮤니티의 아버지라 할 수 있는 에릭 레이먼드(Eric S. Raymond)의 일갈처럼 우수한 데이터 구조는 곧 우수한 프로그램을 판단하는 척도라 할 수 있다.
현대 프로그래밍 언어 대부분은 서로의 장단점을 관찰하고 비교 분석해서 다양한 기능을 담은 모듈과 라이브러리를 지속적으로 배포 및 업데이트한다. 스위프트는 여러 언어 가운데서도 지난 3년 사이 가장 큰 변화를 만들고, 많은 주목을 받아온 프로그래밍 언어라 할 수 있다. 무려 30년간 애플이라는 플랫폼의 기본 언어였던 오브젝티브C를 대체할 목적으로 만들어진 스위프트는 클로저, 제너릭, 타입 추측, 다중 반환 타입, 네임스페이스 등 최신 프로그래밍 속성을 반영했으며, 문법의 간결성과 활용 가능성 측면에서 데이터 구조와 알고리즘을 익힐 수 있는 훌륭한 언어다.
프로그래밍 전문가에게도 데이터 구조와 알고리즘은 부담스러운 주제일 수 밖에 없다. 그 속에는 어쩔 수 없이 프로그래밍에 대한 근원적이면서도 낯선 물음이 포함돼 있기 때문이다. 하지만 약간의 어색함을 참을 용기만 있다면, 예제 코드를 확인해볼 수 있는 시간 여유만 있다면, 이 책에 포함된 내용 대부분을 편안하게 넘겨볼 수 있을 것이다. 대부분의 예제 코드는 그리 길지 않으며, 신속하게 알고리즘의 개요를 파악하고 활용 방안에 대해 생각할 수 있도록 돕는다.
iOS, macOS 애플리케이션을 만들고자 하는 개발자, 이미 다수의 애플리케이션을 배포했지만 프로그래밍에 대한 근원적인 궁금증을 품고 있는 개발자, 그리고 이미 완성된 알고리즘의 성능을 혁신적으로 개선할 방법을 찾고 있는 시스템 개발자에게 데이터 구조와 알고리즘 측면에서의 이해를 돕고 그 해법을 제시한다.
2010년 무렵, iOS는 비교 대상이 없는 최고의 모바일 플랫폼이었고, 오브젝티브C는 개발에 관심 있는 사람이라면 누구나 한 번쯤 배우고 싶어 하는 언어였다. 하지만 iOS 5가 배포됐던 2012년 무렵에는 안드로이드의 급격한 상승세 때문에 iOS와 오브젝티브C가 쇠퇴할 것으로 예상하는 개발자를 자주 만날 수 있었다. 하지만 2015년 12월 기준으로 iOS는 외국 모바일 브랜드의 무덤으로 알려진 한국 시장에서 무려 38%에 육박하는 시장 점유율을 기록 중이고, 일본 시장에서는 55%, 중국 시장에서는 27%를 넘어섰다(미국 마켓 펄스(Market Pulse) 자료 참조). 따라서 iOS에 대한 이해는 결국 모바일 플랫폼에서의 경쟁력으로 이어지고 있다.
2007년 등장 이후 쉼 없이 혁신을 거듭해온 덕분에 iOS는 앱 개발사에게 수익을 가져다줄 수 있는 가장 강력한 유료 콘텐츠 플랫폼으로 자리잡았지만, 앱을 구현하기 위한 기본 도구인 오브젝티브C의 문법적인 난해함은 신규 개발자 유입을 막는 원인이 됐다. 또한 자바, C++ 등 다른 프로그래밍 언어를 사용하는 경험 많은 개발자는 1983년부터 만들어지기 시작한 오브젝티브C 특유의 분위기에 적응하는 과정을 비효율적으로 여기기도 했다. 이 때문에 지난 수년간 아이폰 사용자의 수는 전 세계적으로 급증했지만 개발자의 수는 크게 늘지 않았다.
이와 같은 상황에서, 애플은 이제 막 애플리케이션 개발에 관심을 갖게 된 UI 디자이너와 개발자, 그리고 다른 언어에서 일정 수준 이상의 성취를 이룬 개발자가 좀 더 쉽게 접근할 수 있는 프로그래밍 언어로 스위프트를 소개하기에 이르렀다. 스위프트는 루비(Ruby), 스칼라(Scala), C# 등 현대 프로그래밍의 주요 트렌드인 스크립트 언어 스타일의 간결한 문법을 지향하므로 다른 개발자가 공개한 모듈도 쉽게 읽고 쉽게 수정할 수 있다.
거의 30여 년간 애플의 정체성을 대변해온 오브젝티브C와 이제 막 등장한 스위프트를 하나의 모듈에서 혼용할 수 있다는 점, 그리고 런타임 역시 동일하다는 점은 이미 오 브젝티브C에 익숙해진 수만 명의 앱스토어 기반 개발자가 새로운 언어에 적응하기 위해 최소한의 시간과 노력만을 투입하면 된다는 의미이기도 하다. 스위프트에는 오브젝티브C에 없던 클로저, 제네릭, 다중 반환 타입, 네임스페이스 등의 문법이 추가돼 프로그래밍 편의성이 향상됐고, 세미콜론, 명시적인 타입 선언, 헤더 파일, 포인터, 메모리 할당과 초기화 등의 작업은 생략할 수 있게 됐다.
이 책의 저자인 매트 뉴버그는 오브젝티브C의 장점과 단점까지도 훤히 꿰뚫고 있는 20년차 프로그래머이자 ICT 분야 교육자다. 이 덕분에 애플리케이션 개발에서 스위프트를 어떤 방식으로 익혀 실무에 적용해야 할지를 비롯해 오브젝티브C 언어의 어떤 단점을 보완해주고 새로 등장한 스위프트와 기존 언어가 어떤 부분에서 불협화음을 내는 지까지 생생하게 설명할 수 있지 않았나 생각한다.
스위프트를 컴파일러 등의 연관 개발 도구와 함께 오픈소스 언어로 개방할 것이라는 소식이 있다. 2016년 이후에는 스위프트가 iOS와 OS X 애플리케이션 개발자만의 전유물이 아니라 전 세계의 남녀노소 누구나 쉽게 접할 수 있는 프로그래밍 언어로 성장할 수 있길 바라며, 스위프트를 통해 앱 개발자, 모바일 UI 디자이너, ICT 기획자 모두가 쉽게 이해하고 참여할 수 있는 프로그래밍 세계가 열리길 기대한다
지난 10년은 웹 개발 역사에 있어 자바스크립트의 시대라 해도 과언이 아닐 것이다. 웹 브라우저에서만 작동하던 이 소박한 스크립트 언어에 코웃음 치던 시절도 있었지만, 개발자라면 누구도 부인 못할 수준으로 성장하고 중요도를 띠게 된 언어로 주저 없이 자바스크립트를 꼽을 수 있다. 웹이 세상을 지배하게 된 상황에서 클라이언트 측이든 서버 측이든 어디에서나 특유의 질긴 생명력을 발휘하는 언어가 자바스크립트일 것이다. 그런데 마침 그 시기가 우연히도 2006년에 존 레식이라는 탁월한 개발자가 제이쿼리를 배포하고 커뮤니티에서 합심해 개선해온 때와 겹친다. 광활한 자바스크립트 생태계에는 무수히 많은 라이브러리가 존재하지만 제이쿼리만큼 많은 개발자의 선택을 받은 사례는 아직 없을 것이다.
예나 지금이나 제이쿼리는 특유의 명료함, 문법의 간결성으로 복잡한 프로젝트를 좀 더 빠르고 간단하게 수행할 수 있는 방법을 제공한다. 이 책은 지난 10년 이상 대규모 웹 프로젝트에서 자바스크립트를 이용해 다양한 사용자 니즈를 충족시키고, 난해한 문제를 해결해온 세 명의 저자가 5년에 걸쳐 발전시킨 제이쿼리 개발서의 정수라 할 수 있다. 탁월한 개발자가 그렇듯, 이들 세 저자의 설명은 간결하고 예제 코드는 명료하다. 그래서 이해하기도, 활용하기도 쉽다.
이 책을 읽는 독자라면 제이쿼리에 대한 기반 지식이 없더라도 1장에서 13장까지 주요 예제를 모두 실행하면서도 매우 빠른 속도로 나아갈 수 있을 것이다. 이 책은 상호작용성 높은 웹사이트와 웹 애플리케이션을 만들기 위한 제이쿼리의 3대 미덕인 DOM 조절, Ajax 구현, 이벤트 활용에 초점을 맞추고 있다. 다양한 예제와 시행착오에 대한 해설은 독자의 소중한 시간을 아껴줄 것이다. 또한 최근 자바스크립트 업계의 추세에 맞춰 플러그인의 활용, 개발, 통합 부분을 상세히 소개하고 있으며, QUnit을 활용한 테스트 자동화 또한 실무에 즉시 적용하기에 부족함이 없다.
국내외에서 인공지능에 대한 기대와 걱정이 넘쳐나던 2016년, 『머신 러닝 인 자바』를 번역하면서 인공지능의 하위 분야인 머신 러닝과 본격적으로 인연을 맺었고, 3년이 지난 2019년, 초급 이상의 자바 개발자 또는 머신 러닝 엔지니어를 위한 책인 『자바 머신 러닝 마스터』를 번역하게 됐다.
2016년 이전엔 학계와 IT 산업계를 중심으로 머신 러닝의 가능성을 확인하려는 실험과 시도가 주류를 이뤘다면, 2019년 현재는 IT 개발자는 물론, 데이터 엔지니어, 경영의사 결정자 등의 다양한 니즈에 맞춰 현실적인 당면과제를 즉시 해결하거나 경쟁력을 강화하기 위한 방법 또는 도구로써 머신 러닝을 사용하려 한다.
이 책은 바로 이러한 시대 변화를 반영한 책이라고 생각한다. 머신 러닝 알고리즘에 대해 좀 더 근원적이며 체계적으로 설명하고, 알고리즘을 이해하기 위한 예제가 아닌, 실무 솔루션으로 적용하기 위한 예제를 중심으로 구성됐다. 이 책은 데이터 과학 분야의 중급 및 고급 개발자 알아야 할 데이터 분석, 러닝 알고리즘, 모델 성능 평가, 지도식 및 비지도식 학습, 클러스터링과 이상점 감지, 반지도 학습 및 능동 학습 등 다양한 주제를 상세히 소개하며, 실무적인 활용도가 높은 확률적 그래프 모델링, 텍스트 마이닝, 딥러닝에 대해서도 상세히 설명한다.
각 장의 종반부에는 머신 러닝 알고리즘의 유용성, 사용성을 높인 WEKA, RapidMiner, Smile API, ELKI, JKernelMachines, KEEL, JCLAL, OpenMarkov, DeepLearning4J, MALLET, KNIME, H2O, Spark MLLib, SAMOA 등 업계의 대표적인 오픈 소스 자바 도구의 활용 방법을 소개한다.
마지막으로 머신 러닝이 적용될 수 있는 주요 시나리오를 직접 경험해 볼 수 있도록 UCI HorseColic 데이터세트, MNIST 손글씨 이미지 데이터세트, ELEC 전기 데이터세트, UCI Breast Cancer Wisconsin 데이터세트, UCI Adult 데이터세트, Reuters-21578 데이터세트, UCI Covertype 데이터세트 등의 분석 예제가 마련돼 있다.
중급 수준의 개발 및 엔지니어링 서적이 그렇듯, 이 책 역시 쉽게 읽어나갈 수 있는 책은 아니다. 하지만 자바에 대한 약간의 경험과 머신 러닝에 대한 기초가 갖춰졌다면, 2~3일간 1개 장을 마스터한다는 계획을 세우고, 개론과 예제를 차근차근 따라가다 보면 어느새 머신 러닝 전문가의 길로 들어선 자신을 발견할 수 있으리라 생각한다.
현직 게임 디자이너이자 롤플레잉 게임 프로듀서가 쓴 이 책은 유니티를 이용해서 현대 게임 메커니즘을 어떻게 구체화하고, 실무를 통해 검증된 게임 구현 전략을 어떻게 완성해 나가는지 설명한다.
이 책은 하나의 액션 게임을 완성해 가는 방식으로 작성됐다. 책의 전반부는 게임의 대표적인 특징인 상호작용 객체에 대한 소개와 유니티에서 기본적으로 제공하는 캐릭터 컨트롤러를 게임 디자이너의 의도에 맞춰 수정하는 방법으로 시작하며, 책의 후반부로 가면서 난이도와 전문성을 차츰 높여서, 액션 게임을 만들기 위한 무기, 아이템, 방어 등의 구현, 게임의 전반적인 관리 시스템이라 할 수 있는 게임 매니저와 게임의 몰입도를 높여줄 오디오 매니저의 구현 방식을 구체적으로 소개한다. 마지막으로, 플레이어의 긴장감을 높여줄 수 있는 인공 지능을 지닌 적을 구현하는 방법을 설명한다.
이 책의 또 다른 중요한 특징은 자바스크립트를 이용한 게임 메커니즘의 구현이다. 시중에 있는 대부분의 서적이 C# 스크립트로 게임 메커니즘을 구현하지만, 현직 게임 디자이너인 저자는 게임 스토리 또는 아이디어가 있는 사람이라면 프로그래밍에 대한 부담감을 조금이나마 덜 느끼며 조만간 게임 개발에 나설 수 있도록 자바스크립트로 전체 게임 코드를 완성했다. 또, 유니티 특유의 객체지향 코드를 좀 더 이해하기 쉽도록 부록에서 이에 대한 내용을 간략하지만 알기 쉽게 설명한다.
이 책은 현대적인 게임 메커니즘을 갖춘 프로토타입을 구현하려는 게임 디자이너는 물론, 흥미로운 나만의 스토리와 아이디어를 게임으로 옮기겠다는 의지가 있는 사람이라면 누구라도 활용할 수 있는 유니티 개발서다.
2020년을 기점으로 클라우드 도입에 미온적이던 국내외의 많은 기업이 앞다퉈 클라우드를 도입하고 있다. 10여년 이상의 클라우드 활용 경험이 쌓인 삼성전자 등 대기업은 다양하면서도 모범적인 도입 및 활용 사례를 확보하고, 매년 수백억 원에서 이르는 클라우드 관련 비용을 지출하고 있다. 또한 신한금융그룹, KB금융그룹 등 금융기업도 하이브리드 클라우드를 바탕으로 한 클라우드 퍼스트, 클라우드 네이티브 전략을 표방하고 산업 특화 거버넌스 및 보안 정책을 완성해 나가고 있다는 점에서 앞으로도 클라우드 전문가, 특히 AWS 전문가 및 준전문가에 대한 수요는 더욱 높아질 것으로 보인다.
4판의 출간을 앞둔 지금은 스타트업부터 대기업까지 멀티 클라우드가 확산되는 시기이자, 프라이빗과 퍼블릭 클라우드를 결합한 하이브리드 클라우드 전략을 구체화하는 시기라는 점에서 감회가 새롭다. 클라우드 산업은 성장기를 지나 성숙기로 향해 가고 있다.
국내 클라우드 시장에서도 프라이빗과 퍼블릭 클라우드 도입에 대한 논의가 여전히 뜨겁고, 다수의 퍼블릭 클라우드 사업자가 치열한 경쟁을 벌이고 있다. 그러나 AWS가 시장 선도자이자 벤치마킹 대상이며 클라우드 솔루션 설계 및 이용의 표준이라는 점은 변함이 없다. 그에 따라 AWS 솔루션스 아키텍트는 클라우드의 여러 인증 자격, 학습 주제 중 단연 주목의 대상이다.
이번 4판은 2006년 출범 이후 발전을 거듭해온 글로벌 넘버원 CSP(클라우드 서비스 제공사업자)인 AWS의 최신 기술과 서비스를 반영한 책이자 최신 출제 경향인 SAA-C03를 적용한 글로벌 대표 수험서이다. 컨설턴트이자 네트워크 전문가인 벤 파이퍼, 솔루션스 아키텍트와 리눅스 서버 전문가인 데이비드 클린턴 등 공저자의 지식과 경험을 공유할 수 있을 것이다.
이 책은 1부 AWS 핵심 서비스에서 AWS의 주요 서비스를 개론 형식으로 소개한 뒤, 2부 웰-아키텍티드 프레임워크에서 안정성, 성능, 비용 등 주요 운영 목표에 따라 AWS의 주요 리소스를 어떻게 조합하고 활용해야 하는지 상세히 설명한다. 개론 정리 후 실무 활용 방법을 이해하는 순서로 학습하려는 수험자에게 더 적합하다. SAA-C02와 SAA-C03의 출제영역은 보안성, 복원성, 고성능, 비용최적화 등으로 동일하지만, 출제 비중과 순위 변화가 있고, 출제 가이드에 명시된 요구 지식과 경험은 기존 가이드에 비해 훨씬 구체화, 세분화됐다. 그러므로 SAA-C03 버전의 수험을 준비하는 독자들에게 변화된 방향과 내용을 좀 더 세심하게 살펴볼 것을 권한다.
또한 다른 수험서에 비해 CLI 기반 예제 코드가 풍부하므로 산업계에서 시스템 엔지니어, 서버 프로그래머로 경력을 쌓은 독자에게 좀 더 높은 학습 효과를 가져다줄 것으로 기대한다. 이 책을 통해 바야흐로 클라우드의 전성기를 살고 있는 독자 여러분 모두가 AWS 솔루션스 아키텍트로 경력을 확장할 수 있기를 바란다.
디지털 전환의 시대, 필수불가결의 요소 - 클라우드
클라우드는 급변하는 글로벌 시장에서 가장 중요한 컴퓨팅 환경으로 자리잡았다. 온프레미스로 부르는 전통적인 중앙화된 전산센터는 빠르게 클라우드화되고 있고, 프라이빗과 퍼블릭 클라우드가 각 기업과 기관의 필요에 맞춰 조율된 하이브리드 클라우드가 한국 기업에도 빠르게 적용되고 있다. 클라우드는 컴퓨팅, 스토리지, 데이터베이스, 네트워크, 보안 등 복잡한 기업 컴퓨팅 환경을 자동화한 것은 물론, 산업인공지능과 블록체인 등 첨단의 혁신 기술 또한 신속하게 서비스화해 제공하고 있다.
퍼블릭 클라우드에서 가장 영향력 높은 브랜드 - AWS
2006년 이후, 프라이빗과 퍼블릭 클라우드 시장을 통틀어 가장 영향력 높은 브랜드는 AWS다. 아마존의 퍼블릭 클라우드 서비스가 AWS라는 이름으로 세상에 소개된 후 AWS는 클라우드 산업의 대표 키워드이자 지속적인 혁신과 경쟁우위 요소로 시장을 압도하는 선도기업으로 각인되기에 이르렀다. 2015년 이후 프라이빗과 퍼블릭 클라우드 시장에는 최소 2개의 프라이빗 클라우드와 5개 이상의 퍼블릭 클라우드가 있지만 AWS만큼의 영향력과 인지도를 확보한 브랜드는 존재하지 않는다.
클라우드의 전문성을 공인받을 수 있는 방법 - AWS 솔루션 아키텍트
현대적인 IT 전문가로 인정받길 원하는가? 클라우드 전문가로 인정받길 원하는가? AWS 솔루션 아키텍트 스터디는 그런 바람을 현실로 바꿀 수 있는 좋은 출발점이다. AWS는 상용화된 서비스로 회원가입만 하면 누구나 AWS 서비스를 둘러보고 이용할 수 있지만 수천 가지 이상의 애플리케이션과 수백 가지 이상의 서비스가 융합된 복잡한 AWS의 구조를 이해하려면 좀 더 체계적이고 전문적인 접근이 필요하다. AWS 솔루션스 아키텍트 스터디는 AWS의 큰 그림을 볼 수 있는 안목, 나아가 현대 클라우드 컴퓨팅의 현주소를 파악할 수 있는 통찰을 제공한다. AWS 솔루션스 아키텍트 스터디의 결과로 인증 자격을 확보하고 AWS 커뮤니티와 링크드인 등을 통해 클라우드 전문가와 교류하는 즐거움 또한 크다.
기술 변화, 시대 변화를 반영한 AWS 솔루션스 아키텍트 최신 수험서
팬데믹 사태 이후, 클라우드에 대한 수요가 급증하고 세분화하면서 이미 우리가 잘 알고 있던 영역에 새로운 서비스가 추가되거나, 성능 부족 또는 호환성 부족 요소들이 새로운 요소로 대체되는 전환기를 맞고 있다. 이번 2판은 최신의 시험 출제 기준을 충족하는 것 외에, 전세계 클라우드 사용자의 변화된 요구를 반영하고 있으며, 솔루션 아키텍트가 필수적으로 알아야 할 내용을 일목요연하게 정리해 보여준다.
과거에 비해 솔루션 아키텍트가 되기 위해 공부해야 할 것은 많아지고 난이도 또한 높아졌다. 대신 그만큼 솔루션 아키텍트 자격의 가치가 더 높아졌다.
최고의 수험서와 함께 오늘 바로 시작해 보자.
IT 인프라, 서비스의 자동화 - 클라우드의 중요성
클라우드는 글로벌 환경에서 가장 대표적인 컴퓨팅 환경으로 자리 잡았다. 온프레미스로 부르는 전통적인 중앙화된 전산센터는 빠르게 클라우드화되고 있고, 프라이빗과 퍼블릭 클라우드를 각 기업과 기관의 필요에 맞춰 조율한 하이브리드 클라우드가 한국 기업에도 빠르게 적용되고 있다. 클라우드는 컴퓨팅, 스토리지, 데이터베이스, 네트워크, 보안 등 복잡다단한 기업 컴퓨팅 환경을 자동화한 것은 물론, 산업인공지능과 블록체인 등 혁신기술 또한 신속하게 서비스화해 제공하고 있다.
퍼블릭 클라우드에서 가장 영향력 높은 브랜드 - AWS
2006년 이후, 프라이빗과 퍼블릭 클라우드 시장을 통틀어 가장 영향력 높은 브랜드는 AWS다. 아마존의 퍼블릭 클라우드 서비스가 AWS라는 이름으로 세상에 소개된 후, AWS는 클라우드 산업의 대표 키워드이자, 지속적인 혁신과 경쟁우위 요소를 바탕으로 시장을 압도하는 선도기업으로 각인되기에 이르렀다. 2015년 이후 프라이빗과 퍼블릭 클라우드 시장에는 최소 2개의 프라이빗 클라우드와 5개 이상의 퍼블릭 클라우드가 있지만, AWS만큼의 영향력과 인지도를 확보한 브랜드는 존재하지 않는다.
클라우드의 전문성을 공인받을 수 있는 방법 - AWS 공인 솔루션스 아키텍트
현대적인 IT 전문가로 인정받길 원하는가? 클라우드 전문가로 인정받길 원하는가? 이 책은 여러분의 바람을 현실로 바꿀 수 있는 좋은 출발점이다. AWS는 상용화된 서비스로 회원가입만 하면 누구나 서비스를 둘러보고 이용할 수 있지만 수천 가지 이상의 애플리케이션과 수백 가지 이상의 서비스가 융합된 복잡다단한 AWS의 구조를 이해하려면 좀 더 체계적이고 전문적인 접근이 필요하다. 이 책은 AWS의 큰 그림을 볼 수 있는 안목, 나아가 현대 클라우드 컴퓨팅의 현주소를 파악할 수 있는 통찰을 제공한다. 이 책을 통해 AWS 공인 솔루션스 아키텍트 인증을 확보하고 AWS 커뮤니티와 링크드인 등에서 클라우드 전문가와 교류하는 즐거움 또한 크다.
합격을 위한 공부량? 적지 않다. 시험 난이도? 결코 만만치 않다.
대신 그만큼 값어치 있다. 오늘 바로 시작해보자.
2020. 8. 22
동준상/ 넥스트플랫폼 대표, AWS 테크놀로지 파트너,
한국생산성본부 인공지능 전문가위원
클라우드와 AWS의 세계에 오신 여러분, 환영한다.
20여 년 전 태동한 클라우드 산업은 이제 성숙기에 접어들고 있으며 인공지능과 함께 현대 IT 산업의 중요한 키워드 중 하나다. IT 인프라는 제조업, 서비스업 등 산업 계열과 무관하게 기업 존속을 위한 핵심 요소이자 경쟁력의 원천이 됐다. 그중 클라우드는 현대적인 기업이 변화하는 비즈니스 환경에 적응하기 위해 도입하는 가장 각광받는 IT 인프라 구성 방식이라 할 수 있다.
2006년에 공식 출범한 AWS(Amazon Web Service)는 지난 17년간 글로벌 클라우드 산업을 선도해왔으며, 다양한 기업 고객의 요구 사항을 다른 어떤 클라우드 서비스 제공자(CSP)보다 적극적이며 진취적으로 반영해왔다. 현재 AWS는 글로벌 클라우드 산업의 실무적 표준이자 멀티 클라우드, 하이브리드 클라우드 구성에서 거의 필수적으로 채택하는 퍼블릭 클라우드 서비스로 인정받고 있다.
IT 산업 종사자에게 클라우드 컴퓨팅에 대한 지식과 경험은 필수적인 직무 역량이 됐고, 그중에서도 AWS에 대한 지식과 활용 경험은 글로벌 IT 산업계 어디에서나 인정받는 전문 역량이라 할 수 있다. 클라우드와 AWS에 대한 전문성을 측정하는 여러 방법 중 가장 대표적인 것은 AWS 공인 인증 자격이며 매년 수십만 명 이상이 AWS의 다양한 인증 자격 시험에 응시하고 있다.
AWS 인증 자격의 출발점이라 할 수 있는 AWS 클라우드 프랙티셔너(CLF-C02)의 시험 준비를 돕기 위한 책이며, 이후 AWS 솔루션스 아키텍트 어소시에이트(SAA-C03) 및 프로페셔널(SAP-C02) 등 준전문가 및 전문가 과정으로 나아가는 데 필요한 기초 지식과 경험을 제공한다.
다른 AWS의 인증 자격 시험처럼, 클라우드 프랙티셔너 시험 또한 글로벌 레벨에서 매년 수만 명이 응시하는 시험이므로 도전 의식을 가지고 일정 기간 동안 집중력을 발휘해야 합격할 수 있다. 다만 지난 몇 년 동안은 AWS 솔루션스 아키텍트 어소시에이트 또는 프로페셔널 시험에 비해 체감 난이도가 높지 않고 합격률 또한 높은 수준을 유지하는 것으로 알려져 있어서 너무 많은 부담감을 갖지 않아도 된다고 할 수 있다.
AWS 클라우드 프랙티셔너 시험은 IT 비전공자의 클라우드 및 AWS에 대한 이해를 돕는다는 목표도 지니고 있으며, 컴퓨터 공학 전공자 또는 IT 개발 업무 경력자가 아니어도 수험 준비에는 큰 차이가 없다. 수험 준비에 필요한 필수 지식을 익히는 것은 물론, 지난 20여 년 동안 클라우드 산업 및 AWS에 있었던 큰 변화와 중요한 기술적 개념을 좀 더 쉽게 이해할 수 있도록 내용을 구성했다.
AWS 클라우드 프랙티셔너 시험 합격에 필요한 40여 가지 서비스의 개요 및 핵심 기능 설명에 초점을 맞추는 책으로, 이론과 기본적 활용 연습 그리고 200여 개 이상의 기출 유형 문제 풀이를 통해 좀 더 입체적인 학습 방식을 제공한다.
그럼 우리 함께 AWS 세계로의 모험을 떠나보자!
이 책은 40년 경력의 소프트웨어 엔지니어인 랜달 하이드(Randall Hyde)가 집필한 『Write Great Code』 시리즈의 첫 번째 책이며, 1980년대 이전부터 현재에 이르기까지 소프트웨어 산업에 존재해온 개발 방법론, 프로젝트 운영 전략, 실무 이론 그리고 개발 조직 운영 전략의 집대성이라 할 수 있다. 저자는 현재 3권까지 출간된 시리즈를 통해 혁신적으로 발전해온 컴퓨팅 머신의 작동 원리, 로우레벨로 생각하고 하이레벨로 코딩하는 방법 그리고 개발자의 소프트웨어 개발 프로젝트 수행 방법과 유용한 도구에 대해 설명한다.
저자는 소프트웨어 개발 업무를 작가주의의 산물이 아닌 엔지니어링 측면에서 접근한다. 이로 인해 공감에 기대어 설명할 수밖에 없었던 부분을 정량적으로, 체계적으로 설명할 수 있게 됐으며, 소프트웨어 개발 모델부터 테스트, 문서화까지 일관된 예시와 흐름으로 설명한다.
저자가 소프트웨어 엔지니어로 입문했을 당시에 각광받던 개발 주제(예: 원자로 제어)는 현재 클라우드, 인공지능, 양자 컴퓨팅, 블록체인 등의 주제로 바뀌었다. 개발 접근 전략 또는 방법론 역시 좀 더 세분화되거나 맥락이 아예 바뀐 부분이 있다. 그러나 좀 더 좋은 소프트웨어, 위대한 소프트웨어에 대한 갈망은 개발자인 우리 모두의 공통된 특징이 아닐까 생각한다.
시리즈 1권인 이 책은 위대한 코드를 작성하려는 개발자라면 가장 먼저 봐야할 부분이라고 할 수 있는 연산 머신으로서 컴퓨터의 작동 원리를 설명한다. 하지만 컴퓨터 아키텍처보다는 좋은 소프트웨어를 작성하려고 할 때 필수적으로 알아야 할 컴퓨터의 작동원리와 상호작용 방법에 초점을 맞추며, CPU 및 메모리 아키텍처와 상호작용 방식, 비트 논리 연산, 부동소수점수, 문자 데이터, 입출력, 주변장치버스, 파일시스템 등에 대해 소개한다. 또한 거의 모든 이론 설명에는 세심하게 정리한 참조표와 이미지를 제공하고, 어셈블리 또는 C 등 로우레벨 언어 기반의 핸즈온을 통해 독자의 이해를 돕는다.
이 책은 소프트웨어 개발 경력자에게는 근원이 되는 소스 코드의 가치를 평가할 수 있는 기회가 될 것이고, 개발 입문자에게는 소프트웨어에 대한 토대를 단단히 다질 수 있는 계기가 될 수 있으리라 생각한다.
이 책은 무려 40여 년 전에 (원자로 제어용) 소프트웨어 개발자로 일을 시작한 랜달 하이드의 위대한 코드 작성을 위한 세 번째 책이며, 지난 40여 년간 소프트웨어 개발 산업에 존재해온 방법론, 전략, 실무이론, 체계의 집대성이라 할 수 있다. 저자는 Great Code 시리즈 1, 2권을 통해 하드웨어와의 효과적인 소통 방법과 로우레벨로 생각하고 하이레벨로 코딩하는 방법을 소개했고, 3권에서 엔지니어링 대상으로서 소프트웨어를 설명한다.
소프트웨어 개발 업무를 작가주의의 산물이 아닌 엔지니어링 측면에서 접근해 정성적으로 공감에 기대어 설명할 수밖에 없었던 부분을 체계적으로 설명할 수 있도록 소프트웨어 개발 모델부터 테스트, 문서화까지 일관된 예시와 흐름으로 설명한다.
저자 랜달 하이드의 시대에 각광받던 개발 주제(이를 테면 원자로 제어)는 현시점에서 클라우드, 인공지능, 양자 컴퓨팅, 블록체인 등의 주제로 바뀌었고 개발 접근 전략 또는 방법론 또한 좀 더 세분화되거나 맥락이 아예 바뀌게 된 부분도 있다. 하지만 좀 더 좋은 소프트웨어, 위대한 소프트웨어에 대한 갈망은 개발자 모두의 생각일 것이다.
이 책은 소프트웨어 개발이 좋아서 무작정 일을 시작한 사람이 어느 날 문득 소프트웨어라는 산업 전체를 둘러보고, 지난 수십 년간 존재해온 개발 담론을 확인하며 앞으로 수 년간 개발자로서 자신의 경력을 어떤 방식으로 관리할 것인지 계획을 세우고 싶을 때 읽기 좋은 책이 아닐까 생각한다. 이런 독자들에게 저자는 소프트웨어 개발 방법론은 물론, 프로젝트 팀의 효율적인 운영 방안, 프로젝트가 산으로 가는 목표를 벗어나는 이유 그리고 일일 업무 수행 방법까지 꼼꼼히 설명한다.
작년에 수행한 프로젝트보다 좀 더 나은 프로젝트 수행 방법을 고민하는 개발자에게도 추천한다.
소셜과 모바일 시대를 맞아, 디자이너로서, 혹은 UI 개발자로서 익혀야 할 내용이 끝 없이 쏟아지고 있습니다. 스타일을 담당하는 CSS3는 객체지향적인 스타일 정의 기법과 Sass 같은 익스텐션, 그리고 이를 구현하기 위한 Compass 등의 프레임워크를 적극 도입하는 분위기입니다.
또, 지난 몇 년간 애플리케이션 중심의 프로그래밍 작업이 대중화 되면서 CSS3 역시 독자적인 스타일 정의 기법보다는 HTML5 API, 자바스크립트 프레임워크와 연결해서 DOM 요소를 직접 조작하거나, 스타일 요소를 동적으로 바인딩 하는 등, 프로그래밍에 가까운 스타일 정의 기법이 널리 사용되고 있습니다.
이러한 상황에서, CSS3를 실무적으로 활용하려면 스타일 정의 전반에 대한 내용과 특정한 시각 효과를 구현하기 위한 세부 내용을 꽤 상세히 알고 있어야 합니다. 사용자 문맥과 감정을 고려하고, 콘텐츠 흐름을 반영한 디자인을 하기 위해서는 먼저 CSS3의 세부 요소가 시각적으로 어떤 의미가 있는지 파악해 나갈 필요가 있는 것입니다.
피터 개스통은 이 책을 통해 현대 웹 디자인에서 강조되는 CSS3의 주요 기법을 상세히 설명하고, 그 모든 시각적인 결과를 낱낱이 보여주고 있습니다.
모바일 시대와 함께 전성기를 맞은 미디어 쿼리, 스타일 정의의 기초이자 UI 개발의 단서가 될 선택자, 그리고 지칭하기 힘든 대상을 쉽게 가리킬 수 있게 해주는 모조 클래스와 모조 요소는 코드 기반의 웹 디자인을 위한 필수 요소라 할 수 있습니다.
iOS 7과 안드로이드 킷캣 이후 강조되고 있는 웹 폰트와 동적으로 적용 가능한 텍스트 효과와 타이포그래피 스타일, 웹은 물론, 인쇄 등 다채로운 레이아웃 구성을 위한 다중 칼럼도 소셜과 모바일 콘텐츠 시대에 매우 중요한 요소입니다.
최근 웹 디자인의 주요 트렌드라고 할 수 있는 패럴랙스(Parallax) 디자인에서 거의 빠짐 없이 사용되는 전환 효과와 애니메이션, 다양한 화면 크기에 대응하기 위한 또 다른 전략인 유동적인 박스 레이아웃, 실험적이지만 외부 프레임워크와의 연결을 통해 유연성을 극대화한 템플릿 레이아웃에 대해서도 상세히 설명합니다.
책의 종반부에는 상대좌표 중심의 모바일 레이아웃 작업에 유용하게 사용할 수 있는 계산함수, 반복적인 작업을 대신해 줄 사이클, 웹 기반 게임 구현에 적극 사용될 이미지 스프라이트 등 단편적인 검색만으로는 결코 찾을 수 없는 깊이 있는 스타일 정의 기법을 소개합니다.
CSS3를 실무에 활용할 독자를 위해 꼼꼼히 써 내려간 이 책은 결코 가볍다고 할 수 없는 분량과 내용이지만, 웹 디자이너로서, 그리고 UI 개발자로서 차별화된 경쟁력을 갖추는 데 큰 도움이 되리라 생각합니다.