토요일, 3월 29, 2014

[독서광] 레너드 번스타인의 음악의 즐거움

오늘은 정말 간만에 문화를 다루는 책(출판사에서 선물을 받았다는 사실을 미리 언급한다) 하나를 소개해드리겠다. 음악 애호가라면 레너드 번스타인이라는 이름을 한번쯤 들어봤을텐데, 바로 여러분이 알고 있는 그 번스타인이 지은 책이다. 물론 번스타인의 정치적 성향과 사생활을 고려할 때 한국에서 당연히 금서(응?)가 될 가능성이 높지만 내용 자체가 워낙 훌륭하기에 (특히) 클래식 애호가들이라면 꼭 한 번 읽고 넘어갈 필독서라는 생각이 든다. 물론 '클래식'이라는 단어만 봐도 몰려오는 졸음을 느끼는 분들일지라도 이 책을 읽으면 여러 차례 화들짝 놀랄 정도로 재미있고 이해하기 쉽게 쓰여져 있으므로 음악에 대한 수준과 지식은 문제가 되지 않는다. 이 책 초판이 1959년에 나왔음에도 불구하고 여전히 증쇄를 거듭하고 있으며 심지어 번역서까지 나온 것을 보면 고전의 반열에 올라섰다는 느낌이다. 실제로 다루는 내용이나 전개와 표현 방식이 1950년대 쓰여진 책이라고 도저히 믿기지 않을 정도로 전혀 촌스럽거나 어색하지 않다.

이 책은 크게 두 부분으로 나뉘어지는데, 1부는 '상상의 대화'라는 제목으로 번스타인과 상상의 인물 사이에 주고 받는 편지 형식으로 번스타인이 평상시 생각하던 음악에 대한 이야기 보따리를 풀어놓는다. 2부는 CBS에서 포드 재단의 후원으로 시작한 예술 프로그램인 옴니버스 방송 대본(총 7개)을 그대로 가져왔다. "'악보'를 읽을 수 있으면 얼마나 좋을까?"라는 고민을 평상시 해본 적이 없는데, 이 책을 읽으면서 많이 후회를 하고 말았다. 악보라는 이해하지 못하는 언어의 장벽 앞에서 무릎을 꿇고 텍스트만 읽어야 했으니까 말이다. 혹시 악보를 이해하는 분들이라면 감동이 배가 되리라 확신한다. 뭐 그렇다고 바로 포기하지 마시고, 유튜브에 올라온 방송 내용 발췌본을 보고 들으며 당시 분위기를 느껴보시기 바란다.

베토벤 운명 교향곡

재즈의 세계

지휘의 기술

미국의 뮤지컬 코메디

현대 음악으로의 초대

요한 제비스티안 바흐의 음악

그랜드 오페라의 찬란함

짧은 비디오 클립만 봐도 알겠지만, 뛰어난 지휘자이자 작곡자이자 연주가(피아노)인 번스타인이 각 주제에 대해 아주 적절하게 기존 사례와 이를 뒷받침하는 역사/이론과 _연주_와 자기 경험을 녹여 놓는 기술은 실로 경이롭기까지 하다. 여기에 열정까지 느껴지니 할 말 다한 셈이다.

본문 중 흥미로웠던 부분을 정리해보겠다.

모든 작곡가는 두 가지 면에서 고뇌합니다. 하나는 주제를 이루는 적확한 음들을 찾아내는 것입니다. 다른 하나는 주제를 이어받아 하나의 '교향곡'의 주제로 세울 수 있는 적확한 음들을 찾아내는 것이지요.
운명 2악장의 서두를 위해 베토벤이 공책에 써 둔 선율이 최소 열네 가지 버전에 이른다는 사실이 베토벤의 고뇌를 잘 말해줍니다.
오늘날 운명을 듣는 많은 이들이 이렇게 생각합니다. 이 작품은 처음부터 명료하고 적확하게 베토벤에게서 쏟아져 나와 단방에 완성되었을 게 분명하다고요. 천만에요. 베토벤은 아래 수고와 비슷한 악보를 몇 장이고 썼다 버렸습니다. 그 양이 책 한 권에 달할 정도입니다.
재즈에서는 연주자가 곧 작곡자이고 창작자의 지위, 고로 더 위엄있는 지위를 차지함을 의미합니다.
즉흥 연주, 이것이 모든 재즈 음악의 진면모입니다.
지휘자의 악기는 100명의 '인간'입니다. 자기 의지를 가진 전문 연주자 100명으로 마치 하나의 의지로 하나의 악기를 연주하듯 음악을 만들어 내야 합니다.
템포는 지휘자마다 다릅니다. 같은 작품을 지휘자 여섯 명의 연주로 들어 보면 서로 다른 여섯 가지의 템포를 확인할 수 있습니다.
지휘자는 악보를 눈으로 보는 동시에 머리속으로 듣습니다.
바흐는 가로 낱말과 세로 낱말이 서로 맞물리면서 모든 것이 그 자리에 있음으로써 맞아떨어지는 퍼즐, 즉 '음표'로 이뤄진 최고의 가로세로 퍼즐을 고안한 것입니다.
바흐에게 음표는 단순히 음향이 아니라 작품 그 자체였습니다. 바흐는 음표를 이용해 십자가를 형상화하거나 예수의 손짓을 묘사하거나 천상으로 올라가는 영혼의 움직임을 나타나는 데 기쁨을 느끼는 사람이었습니다.

결론: 클래식 음악에 대해 뭔가 기초를 제대로 알고 싶다면 이 책을 꼭 읽어보기 바란다. 강력 추천!

EOB

토요일, 3월 22, 2014

[B급 프로그래머] 3월 3주 소식 정리

3월 2주 소식을 정리해봤다. 이번 주는 소식이 조금 적다.

  1. 웹 개발
  2. 개발/관리 도구
  3. 고성능 서버/데이터베이스
  4. 기타 읽을거리

좋은 소식을 물고 4월 초에 다시 뵙겠다.

EOB

토요일, 3월 15, 2014

[독서광] The Performance of Open Source Applications

오랫동안 '독서광'을 기다려주신 독자 여러분들께 기쁜 소식 하나 전하겠다. 이번 주부터 격주로 '독서광' 섹션을 다시 열어 독자 여러분들께 좋은 책을 소개하려 계획 중이다. 오늘은 복귀 기념으로 지난 번에 올려드린 The Architecture of Open Source Applications Volume II의 후속 작품인 The Performance of Open Source Applications를 소개드리겠다.

이 책이 나오게 된 배경은 서문에 나오는 다음 한 문장으로 충분히 설명이 가능하다 본다

However, while hundreds of textbooks explain the basics of operating systems, networks, computer graphics, and databases, few (if any) explain how to find and fix things in real applications that are simply too damn slow.

그렇다. 수 많은 책이 운영체제, 네트워크, 컴퓨터 그래픽, 데이터베이스에 대한 기초 지식을 설명했지만, 실제 애플리케이션이 빌어먹을 정도로 너무 느릴 경우 문제를 찾아 수정하는 방법은 설명하지 않았다. T_T

제목을 보면 알겠지만, 이 (전자)책은 오픈소스 소프트웨어의 성능 부분을 집중적으로 파고든다. 처음 목차를 보고서 직전 AOSA 볼륨 I/II에 비해 꼭지도 줄어들고 슬쩍 넘겨보니 페이지도 얼마 되지 않았기에 큰 기대를 하지 않았는데, 하나씩 읽으면서 개발자들의 숨은 고민과 해법이 많이 나와 은근한 재미를 느꼈다. 본문 중 특히 마음에 들었던 내용은 가장 먼저 나오는 'High Performance Networking in Chrome"으로 구글 크롬이 왜 그렇게 다른 브라우저에 비해 엄청나게 빠른지 숨겨진 비밀을 속 시원하게 설명하고 있다. 이 글을 읽고 나서 크롬 창에서 URL을 입력할 때마다 내부 동작이 자꾸 떠오르는 부작용이 생겼지만 덕분에 웹브라우저에 대한 이해도가 아주 조금 올라간 느낌이다.

이 책은 네트워크, 메모리, 실행 속력, 동기화 등 여러 측면에서 성능을 고민한다. 프로그래밍 언어도 C/C++, 자바, 자바스크립트, Erlang, Haskell 등을 다루고 있으므로, 각 언어별 최적화 관련 특성을 비교하며 읽을 수 있다. 애플리케이션 분야도 웹 브라우저, 웹 서버, 빌드 시스템, XML 파서, 테스트 프레임워크, 분산 프레임워크 등 다양한 부문을 망라하므로 자신의 주요 분야가 아닌 다른 분야에서 성능 개선을 위해 어떤 노력을 했고 어떤 성과를 거뒀는지 엿볼 수 있다. 기존 성능 관련 책이 알고리즘이나 프로그래밍 최적화 쪽에 초점을 맞췄다면, 이 책은 실제 오픈소스 아키텍처 설계와 구현 과정에서 성능을 높이기 위한 실무적인 접근 방법을 소개하고 있으므로 상당히 현실적이다. 오픈소스 소프트웨어 설계자와 개발자들의 고충과 고민, 그리고 시행착오를 엿볼 수 있기에 더욱 공감이 갈 것이다.

결론: 성능과 관련해 고민이 많은 개발자라면 이 책을 꼭 읽어보기 바란다. 강력 추천!

EOB

토요일, 3월 08, 2014

[B급 프로그래머] 3월 1주 소식 정리

드디어 봄이 온 듯이 보인다. 봄맞이 새소식 정리~

  1. 웹 개발
  2. 개발/관리 도구
  3. 고성능 서버/데이터베이스
  4. 기타 읽을거리

3주에 다시 찾아뵙기로 하며, 오늘은 여기까지.

EOB

토요일, 3월 01, 2014

[B급 프로그래머] 아주 뛰어난 프로그래머 사이에서 평균적인 프로그래머로 사는 느낌이 어떤가요?

Quora에 다음과 같은 질문이 올라왔다.

Computer Programmers: What does it feel like to be an average programmer among very talented ones?

한글로 번역하자면, "컴퓨터 프로그래머분들께: 아주 뛰어난 프로그래머 사이에서 평균적인 프로그래머로 사는 느낌이 어떤가요?"

여기에 대해 아주 좋은 대답이 올라와 간략하게 소개드리지 않을 수 없다.

Read Quote of Mattias Petter Johansson's answer to Computer Programmers: What does it feel like to be an average programmer among very talented ones? on Quora

음악이든 프로그래밍이든 주변에 뛰어난 사람이 있어야 성장할 수 있다는 말이다. 최고가 되는 순간부터 쇠락을 맞이한 사람이 어디 한둘인가? 자기가 주변 사람들에 비해 바보같다 느끼지 못하면 그렇게 느껴지는 다른 (더 좋은) 곳으로 옮겨가야 성장의 토대를 마련할 수 있게 된다. 물론 "소 꼬리보다 닭 머리가 좋습니다"라는 속담처럼 반대 의견도 있으므로 어디까지나 선택은 개인의 몫이겠지만 말이다.

보충: 본문 중 댓글에 따르면 Pat MethenyBe The Worst라 인터뷰에서 말한 내용이 원본인 듯이 보이며, 참고 자료로 The Passionate Programmer: Tip 4 Be the Worst를 추천해준다. 재미있게 읽어보시기 바란다. :)

EOB