아주대학교에서 기계공학을 전공했고, 어울림 정보기술, 삼성전자 소프트웨어 멤버십, 삼성전자를 거쳐 SK 플래닛에 재직 중이다. 삼성전자 근무 중에 한양대학교에서 전자전기컴퓨터공학 석사를 취득했다. 자동 제어, 보안, SI, UI, 임베디드, 리눅스 커널 등의 업무를 거쳤으며 현재는 웹과 빅데이터 주변 기술을 다루고 있다. 주특기는 임베디드와 OS 계통이고, 주된 관심사는 컴퓨팅 성능 중심 프로그래밍이다.
이 책은 꽤 독특하다. 암호 해킹과 파이썬 코딩을 모두 맨땅에서 시작한다. 즉, 암호학도 파이썬 코딩도 모르는, 심지어 프로그래밍 경험이 거의 없는 사람도 볼 수 있는 책이라는 뜻이다. 그러나 프로그래밍의 기초에만 머무르지만은 않는다. 책의 후반에서는 현대 암호학의 정수인 공개 키 기반 암호까지 다룬다. 암호학과 파이썬을 학습하는 과정을 지루하지도 가파르지도 않게 구성한 훌륭한 안내서이다.
어떤 프로그래밍 언어를 배우는 가장 좋은 방법은 특정 분야의 소프트웨어를 직접 개발해보는 것이다. 간단히 'Hello World'를 찍는 것, 프로그래밍 패턴을 공부하는 것을 넘어서 자신이 직접 쓰기 위한 소프트웨어를 개발해 보는 것이 언어를 익히는 지름길이다.
저자 알 스웨이가트의 이력을 보면 그는 훌륭한 파이썬 선생님인 동시에 훌륭한 파이썬 개발자다. 파이썬을 알파부터 오메가까지 점증적으로 안내하기보다는 소프트웨어 개발의 여정에 따라 요구되는 언어의 특징과 기능을 가르치는 방식을 선호한다. 이 책 역시 암호 해킹이라는 문제를 해결해 가는 여정을 통해 파이썬을 즐기고 익힐 수 있도록 구성하고 있다.
파이썬은 최근 주목받는 인공지능/빅데이터를 중심으로 사용자층이 급성장하고 있는 언어다. 또한 웹 애플리케이션을 비롯해 광범위한 영역에서 사용되고 있다. 파이썬 자체로도 많이 쓰이고 두 개 이상의 언어를 복합적으로 사용하는 폴리글랏 개발에서도 가장 사용성이 좋은 언어다. 또한 파이썬은 사용 수준에 맞게 저마다의 깊이가 있는 언어다. 기본 기능만으로도 복잡한 문제를 해결하는 개발자도 있고, 파이썬의 숨겨진 저수준 기능부터 복잡한 프레임워크까지 사용하는 개발자도 있다. 객체지향으로 개발하는 개발자도 있고 절차적 또는 원시적인 스크립트 수준을 선호하는 개발자도 있다. 파이썬답게(pythonic) 파이썬을 사용하는 개발자가 있는 반면 익숙한 C나 JAVA 방식으로 개발하는 개발자도 있다. 특이한 것은 개발 철학이나 방법론, 파이썬에 대한 지식 수준이 서로 달라도 각자의 방식으로 프로페셔널이 될 수 있다는 것이다. 나는 이것이 파이썬의 가장 큰 매력이라고 생각한다.
이 책을 마쳤을 때 얻게 될 파이썬 지식은 이제 막 기초를 탈출한 수준일 것이다. 그러나 거의 무엇이든 만들 수 있는 수준이기도 하다. 공개 키 암호를 만들 수 있는 것이다. https로 시작하는 웹페이지 통신과 공인인증서에서 쓰는 바로 그 기술이다. 한편으로 공개 키 암호를 이해했다는 것은 현대 암호학의 많은 부분을 이해했다는 뜻이기도 하다. 이 책은 파이썬에 이미 익숙한 독자에게도 유용하다. 파이썬 경험이 있는 독자는 이 책을 통해 빠른 속도로 암호학에 대한 지식을 독파해낼 수 있다.
그럼 즐거운 여정이 되기를!