2012/08/29

자바스크립트로 웹 사이트를 구성하는 혁신적인 방법!


자바스크립트는 넷스케이프로부터 개발된 웹 브라우저 기반의 프로그래밍 언어이다. 엇? 잠깐만.. 웹 브라우저 기반의 프로그래밍 언어? 이렇게 잠시 갸우뚱 할지 모른다.

그도 그럴것이 자바스크립트는 그 태생이 초기 브라우저 전쟁 당시 있었던 넷스케이프사로부터 개발된 것이기 때문이다. 사실 자바스크립트의 옛 이름은 라이브스크립트였다. 하지만 넷스케이프사 임직원들은 이 이름을 내켜하지 않았고 1995년 당시 제임스 고슬링이 만들었던 자바 언어와의 통신 기능을 추가해서 자바스크립트로 이름이 변경되었다.

역사까지 세세하게 따져본다면 자바스크립트는 자바 언어를 스크립트 형태로 만든 녀석은 분명 아니라는 건데, 이름이.. 뭔가 자바의 영향을 심하게 받은 듯한 느낌을 받게 한다. 실제로는 아니지만 말이다.

자바스크립트는 브라우저에서 동작하는 만큼 브라우저마다 자바스크립트를 동작시키는 엔진이 다 다르다.

Microsoft Internet Explorer : JScript
Google Chorme: V8
Mozilla Firefox: Rhino, TraceMonkey, JagerMonkey
Apple Safari: JavascriptCore(renamed Nitro)

우리가 알고 있는 자바스크립트는 하나인데 자바스크립트 엔진이 다 다르니 자연스럽게 브라우저 사이에 자바스크립트의 동작 속도가 구현 기능이 다 달라지게 되었다.

이런 이유로 자바스크립트의 표준을 제정하자는 의견이 있어서 ECMAScript가 제정되기 했지만 아직까지는 자바스크립트 엔진에 따라 구현이 다른 경우가 종종 있다.

"자바스크립트 웹 애플리케이션"은 단순히 폼 검사 용도가 아니라 실제로 완전하게 동작하는 자바스크립트 기반의 웹 애플리케이션을 만드는데 필요한 기초 기술과 응용 기술을 소개한다.

자바스크립트로 완전한 웹 애플리케이션 개발은 가능한가?

실제 웹 애플리케이션은 자바스크립트 뿐만 아니라 HTML과 서버 기술(PHP, .NET, Java, Python 등)이 함께 맞물려야 한다.

이와 같음에도 불구하고 HTML과 서버 기술로만 웹 애플리케이션을 구현하기엔 사용자의 요구가 조금 더 고급을 지향하며 반응성이 뛰어난 웹 애플리케이션 수요가 높아지고 있다. 게다가 응용 애플리케이션에서 항상 고민되는 것은 데이터와 뷰의 분리가 강조되고 있다는 사실이다.

데이터와 뷰의 분리는 MVC(Model-View-Controller)로 불리우는 애플리케이션 모델이 선호되는데 데이터는 뷰에 간섭하지 말아야 한다는 것이 이 모델의 핵심적인 내용이다.

"자바스크립트 웹 애플리케이션"은 바로 이 MVC 모델을 기본으로 풀어나간다.

MVC와 이벤트

1장에선 MVC에 대해 이야기하며 자바스크립트에서 MVC를 어떻게 구현할 수 있는지 그 예를 들어 설명해보인다.

자바스크립트에서 MVC는 Model은 데이터, View는 HTML, Controller는 데이터를 읽어서 뷰에 출력해주는 역할을 하는 것으로 구분해볼 수 있다.

뷰에 출력해줄 데이터는 그 종류가 무척 다양하며 그 데이터를 일관된 하나의 방법으로 다룰 필요가 있는데 이를 Model이라는 이름의 구조를 생성하여 데이터를 하나의 일관된 구조의 객체에 담아 데이터를 읽거나 쓰고 서버에 데이터를 저장할 수 있는 구조를 가지게 한다.

이처럼 데이터를 모델을 통해 자유롭게 조작할 수 있게 되었다면 뷰를 생성해야 한다. 뷰는 HTML로 구성하는 것이 일반적이지만 자바스크립트로 동적인 뷰를 구성하는 방법도 있다.

뷰에서 하는 역할은 컨트롤러에서 데이터를 보내주면 이를 표시해주는 역할을 한다. 뿐만 아니라 모델에 변경사항이 생기면 뷰는 이 변경사항을 반영하기도 한다. 그 역도 가능하다.

컨트롤러는 뷰와 모델을 연결하며 상태 등의 관리를 하는 역할을 맡는다.

그렇다면 이벤트는 무엇일까? 윈도우 프로그래밍을 해본 사람이라면 클릭, 이벤트라는 말에 익숙할텐데 이벤트는 어떤 것의 행동을 표현하는 말이다.

가령 승마를 한다고 했을때 말에 올라타 말을 때리면 말이 움직인다. 이것을 이벤트라는 용어로 풀어내면 다음과 같아진다.

행동 : 말을 때린다(때찌 이벤트 발생)
때지 이벤트 : 말이 달린다(둥둥둥둥)

설명이 유치한가? 설령 그렇더라도 애플리케이션에서 이벤트는 무척 중요한 부분을 차지한다. 이벤트는 한국어로 '사건'으로 번역된다(프로그래밍을 처음 배울때 이 용어 때문에 경찰의 사건을 말하는 줄 알았다).

MVC 모델을 적용한 애플리케이션에서 모델의 데이터를 변경하거나 뷰의 데이터를 변경할 경우 이를 서로에게 알려야 하므로 이벤트는 MVC에 있어 필수 요소라고 볼 수 있다.

자바스크립트의 모듈화와 파일 관련 작업하기

자바스크립트는 웹 브라우저 내에서 동작하도록 설계되다보니 모듈화에 어려운 점이 있었는데, 이점을 개선하기 위하여 사용되는 여러 라이브러리를 소개한다. 게중엔 실제로 프로젝트에 적용하여 사용중인 라이브러리가 있는데 이러한 라이브러리를 "자바스크립트 의존성 라이브러리"라고 한다.

의존성 라이브러리가 개발되지 않았더라면 아직도 하나의 웹 페이지에서만 동작하는 자바스크립트를 만들 수 밖에 없었을 것이다.

그리고 웹 애플리케이션은 브라우저 내에서의 드래그앤드롭과 파일 업로드 작업이 무척 제한적으로 구현하거나 구현이 어려웠으나 HTML 5에선 드래그앤드롭 이벤트와 파일 업로드를 바로 할 수 있도록 여러 자바스크립트 API를 제공한다.

이러한 자바스크립트 API의 제공은 실시간 웹을 만드는데 큰 공헌을 한 것이 사실이다.

물론 파일 업로드에 있어선 자바스크립트의 특성상 파일의 읽기 작업만 제공하고 있으나 앞으로 제한적인 접근을 통해 쓰기도 가능하지 않을까 하는 개인적인 바람도 있다.

웹 애플리케이션의 영원한 화두인 실시간 웹

웹이 전통적인 응용 애플리케이션의 텃밭을 하나씩 시도함에 따라서 사용자들은 응용 애플리케이션에서 제공하는 실시간 서비스를 웹 애플리케이션에도 바라기 시작했다.

그러나 Ajax 이전에선 실시간 웹은 브라우저 플러그인을 통해서만 제한적인 구현만 가능해졌을 뿐더러 여전히 웹 자체적으론 구현이 불가능했었다.

그러던 것이 Ajax 의 출현으로 화면의 새로고침없이 데이터를 주고받는 것이 가능해졌다. 완전한 의미에서의 실시간 웹은 아니었지만 대부분 Ajax를 거부감 없이 받아들이게 되었다.

이후 클라이언트와 서버간 연결 유지를 위해선 Ajax 요청을 서버로 계속 던져야 하는 부담이 있었다. 이는 다수의 요청을 주고받을때 요청량이 많다는 문제가 있고 서버에서 데이터를 클라이언트(브라우저)에게 보내어 클라이언트가 바로 데이터를 갱신할 수 없다는 문제가 발견되었다.

이후, 이 문제를 해결하기 위해 Long Ajax로 불리우는 Comet 기술이 먼저 나오고 HTML 5에서 이를 규격으로 만든 웹소켓 기술이 제정되기도 했다.

8장에선 바로 이러한 웹소켓 기술과 Comet 기술 등과 같이 실시간 웹을 구성할 수 있는 방법을 알아본다.

테스팅, 디버깅, 배포는 개발자의 오랜 벗

어떤 언어로 애플리케이션을 제작하든 중요하게 부각되는 것은 테스트, 디버깅, 배포이다. 테스트는 애플리케이션이 제대로 동작하는지 원하는 대로 행동하는지 알아볼 수 있다.

디버깅은 애플리케이션 개발에 있어 가장 중요한 요소로 특히 자바스크립트로 개발함에 있어선 이는 피할 수 없는 숙명적 요소가 아닐까? 디버깅도 IE 5, 6, 7까진 Firefox의 Firebug를 통한 스크립트 디버깅처럼 쉽지 않았다. 물론 IE에서도 필요하다면 Script Debugger를 쓸 수 있었지만 일반 웹 애플리케이션 개발자가 쓰기엔 다소 어려웠던 것이 사실이니 말이다.

개발이 완료되면 애플리케이션을 배포해야 한다. 특히 자바스크립트 기반의 웹 애플리케이션은 브라우저에 기반하여 동작하므로 캐싱을 통해 성능을 강화하고 Gzip을 통해 크기를 줄이고 감사 프로그램을 사용하여 제대로 동작하는지 검사해볼 필요가 있다.

자바스크립트 웹 애플리케이션을 도와주는 프레임워크와 함께 하기

맨손으로 자바스크립트 웹 애플리케이션을 개발할때 우리는 조금 더 쉽게 개발을 도와주는 여러 프레임워크와 만나서 친구 관계를 맺을 필요가 있다.

저자가 직접 개발한 스파인 라이브러리와 백본, 자바스크립트MVC 라이브러리를 통해 자바스크립트 웹 애플리케이션을 조금 더 쉽게 구현할 수 있도록 안내하며 독자는 여러 프레임워크와의 만남을 통해 자바스크립트 웹 애플리케이션을 만드는데 도움을 얻을 것이다.

jQuery 그리고 CSS에 익숙해지기

jQuery는 현존하는 자바스크립트 라이브러리 중에 가장 널리 쓰이는 라이브러리가 되었다. 본질적으로 jQuery는 DOM을 조작하는 라이브러리며 다른 여러 자바스크립트 프레임워크와 함께 사용할 수 있어 자바스크립트 기반의 웹 애플리케이션 개발시에 조금 더 빨리 프로그램을 개발할 수 있을 것이다.

그리고 CSS는 웹 페이지를 조금 더 아름답고 예쁘게 구성할 수 있는 언어이다. 부록을 통해서 저자는 CSS의 확장과 CSS 3 사용을 통해서 웹 애플리케이션을 보기 좋게 만드는데 필요한 기술을 소개한다.

앞으로 웹은... 어떻게 변할까?

"자바스크립트 웹 애플리케이션"은 자바스크립트로 웹 애플리케이션을 만드는 새로운 방법을 제시한다. 하지만 HTML 5가 뒷받침되지 않는다면 Ajax가 그래왔던 것처럼 정체기에 접어들지도 모른다.

웹의 미래는 아직 무궁무진하다. 독자가 꿈꾸는 만큼 구현하는 만큼 이루어지는 새로운 세상이니 한번 쯤 도전해 보는 것이 좋다고 생각한다.

웹은 어떻게 변할까?라는 화두보다 웹은 독자 자신의 성장과 함께 변하지 않을까? 라는 새로운 화두를 던져본다.

코드는 당신 자신을 위해 존재한다. 인간적인 코드 만들기

소프트웨어 개발자에게 있어서 소프트웨어가 폐기되는 것보다 더 무서운 것은 무엇일까? 개인적인 생각은 소프트웨어 유지보수가 소프트웨어 폐기보다 더 무서운 일이 아닐까 생각해본다.

지난 시간에 열심히 코드를 만들어서 기껏 동작하게 해놨더니 오류 투성이에 동작도 제대로 안한다. 밤을 새든, 주말 출근을 하든 코드가 동작하게 해도 더욱이나 중요한 것은 내가 다시 그 코드를 볼 때다.

하루도 아니고 조금이라도 시간이 흐른 다음 본 코드는 광역시 쓰레기 매립장과 그 모습이 흡사하다.

비단, 내가 만든 코드가 아니라 할지라도 그건 변함 없는 사실이다.

그러면 소프트웨어는 어떻게 해야 잘 개발할 수 있을까? 아니 그 보단 어떻게 해야 만들기도 쉽고 유지보수도 쉽게 하게 할 수 있을까?

"읽기 좋은 코드가 좋은 코드다"의 저자인 더스틴 보즈웰과 트레버 파우커는 자신들이 경험한 나쁜 코드와 좋은 코드를 어떻게 구분하는지 그 해결책은 무엇인지 찾아본다.

이 코드를 누가 볼꺼야?

소프트웨어는 개발하는 사람과 유지보수 하는 사람이 작은 회사의 경우에는 같다. 하지만 회사의 규모가 커지고 개발하는 인력이 많아지면 자연스럽게 개발 인력과 유지보수 인력이 나뉘어진다.

물론 이런 구조가 조직 운영의 측면에선 훌륭한 운용 방법이겠으나 소프트웨어 개발에 있어서도 정말 행복한 운용 방법일까?

사람에 따라서 이 질문에 대한 대답은 다를 수 밖에 없을 것 같으니 쓸데없이 진 빼지 말고 코드를 누가 볼것인지 생각해봐야 한다.

내가 생각하는 대답은 이렇다.

자신이 소프트웨어 개발자라면 자신이 만든 코드는  자신이 볼 가능성이 70% 이상이다.

근데 내가 만드는 코드를 내 맘대로 만들면 되지. 왜 읽기 편하게 만들어야 하느냐고 묻는다면 코드는 온전히 본인의 것이기 때문이다.

코드는 미학이다!

코드를 읽기 좋게 만든다면서 자신만 알아볼 수 있는(심지어 자신도 잊어먹는) 코드를 만들어놓고 와! 이건 완전 예술이야! 라고 자신이 감탄하는 코드를 만들어 놓고 나 잘났다~

독자는 이런 종류의 행동을 하면 안된다! 물론 읽기 좋은 코드는 보기에 아름다워야 하니 미학적인 모습을 가지고 있어야 하기는 하지만 그렇다고 해서 무슨 미술관의 추상화 그림처럼 코드를 만들라는건 아니다.

읽기 좋은 코드는 명확한 이름들을 가지면서 코드 정렬을 맞추고 의미있는 순서로 재배치하며 명확한 주석을 기록해야 한다. 그러면서도 소프트웨어 개발에 정해져있는 코딩 규칙이 있으면 그를 따라줘야 한다.

잘 동작하는 코드 vs 명확한 코드

나도 코드를 만들다 보면 명확한 코드보단 그저 잘 동작하는 코드에 집중하게 된다. 그런데 잘 동작하는 코드가 항상 명확한 것은 아니다. 오히려 명확한 코드가 잘 동작하는 코드인 경우가 많다.

잘 동작하는 코드에서 명확한 코드로의 변경은 코드의 제어흐름의 조정과 거대한 표현은 잘개 쪼갠다. 그리고 무엇보다 변수는 말 그대로 자주 변할 수 있으니 그 사용범위가 제한되어야 한다.

이 코드 다른데서도 쓸 수 있을까?

리팩토링에서도 나올 수 있는 이 주제는 코드에 있어서도 프로그램에 완전히 종속하는 기능인지 다른 코드에서도 쓸 수 있는지 확인해보아야 한다. 

이와 같은 이유로 코드에서 분리될 필요가 있는 문제를 찾아서 코드를 분리하는 작업이 필요하다. 또한 작업은 한 번에 하나씩 하도록 코드를 만들어야 한다.

개발자들이 항상 하는 일 중 하나는 있는 라이브러리를 다시 생성한다거나 하는 일인데 우리가 만드는 프로그램은 항상 작은 코드 크기를 유지해야 한다. 그럼으로서 우리는 코드를 조금 더 쉽게 유지보수하고 명확한 문제 해결책을 가지게 된다.

코드만 읽기 쉬워선 안된다 - 선택된 주제들

많은 경우 우리는 소프트웨어 개발에 있어서 기능은 개발하지만 기능에 대한 면밀한 테스트는 잘 해보지 않는다. 그리고 하나의 잘 독립된 소프트웨어를 개발하는 경우도 별로 없다.

많은 경우의 소프트웨어 개발자들은 하나의 잘 설계된 소프트웨어 개발이 아닌 시간에 쫓기는 개발을 하기 때문인데, 이와 관련해서 저자는 한 가지의 해결방법을 제시했다.

테스트 케이스 작성을 통한 테스트를 해결책으로 제시했는데 많은 경우 소프트웨어 개발에서 테스트는 겉핧기 식이 다수다.

테스트를 제대로 할 경우 우리는 명확하고 읽기 쉬운 코드로 만들어진 잘 동작하는 코드를 생성할 수 있게 될 것이다.

우리가 해야 할 일...

소프트웨어 개발에서 코드 작성은 개발자가 해야 할 가장 중요한 일이지만 막상 우리는 이런 책을 보고 그냥 지나가는 경우가 많다.

필요할때 책 속의 지식을 머리속에서 끄집어내서 바로 활용해낼 수 있다면 좋겠지만 사람의 머리는 그 크기가 정해져 있으니 기억할 수 있는 것도 자주 보지 않으면 기억해 낼 수 없다.

"읽기 좋은 코드가 좋은 코드다"는 책 제목이면서 결코 빈 말이 아니다. 우리가 소프트웨어를 앞으로도 지속적으로 개발해야 한다면 이 책을 회사 책상이나 연구실 책상에 비치해두어라.

독자의 코딩이 혼돈 상태에 있을 때 많은 도움을 줄 것이다

2012/08/28

누구나 쉽게 출판할 수 있는 새로운 방법

인간에게 있어서 책은 잘 알지 못하는 세상의 탐험기를 담고 있습니다. 그런데 이와 같은 책이 만들어지기 위해선 책 내용을 기술하는 저자와 책으로 나올 수 있도록 기획하는 기획자와 책 편집을 담당하는 편집자와 표지를 담당하는 출판 그래픽 디자이너와 책을 찍어내는 인쇄소 담당자와 우리가 책을 만날때까지 서점에 배송해주는 물류 업종에 종사하시는 분들과 서점에 배치하는 분들, 서점에서 계산을 도와주는 분들까지.. 우리는 책 한권과 마주하기 위하여 여러 사람들의 피땀 어린 노력이 필요합니다.

적어도 지금까지는 이러하였습니다. 하지만 디지털 콘텐츠가 기하 급수적으로 늘어나면서 출판에 있어서도 이러한 디지털화의 영향을 받기 시작했습니다.

요즘 출판업계에서 디지털 도서의 포맷으로 각광받고 있는 epub과 어도비가 개발한 pdf 포맷 등의 디지털 콘텐츠를 포맷하는 여러 방법이 나오고 있지요.

하지만 디지털 콘텐츠를 만드는 방법 그 자체에 대해선 그다지 연구되지 않거나 아직까지 열악한 현실에 있는 것이 사실입니다.

예를 들어 DocBook 이라고 하는 콘텐츠를 마크업하는 언어는 특정 구조에 맞춰 내용을 기술하면 다른 여러가지 형식(pdf, rtf, latex 등)으로 다시 만들어주는 기능을 별도의 프로그램으로 제공합니다.

적어도 이러한 방법이 스마트폰과 아이패드와 같은 태블릿이 나타나기 전까지는 유효했던 방법입니다.

그러나 사용자의 경험을 제일 크게 여기는 스마트폰과 태블릿은 디지털 도서를 보는 방법을 바꿔버렸습니다. 자! 상상을 해보세요. 한국의 역사를 배우는 디지털 도서일때 참고자료로 이순신의 한산대첩을 드라마의 한 장면으로 제공한다면 적어도 인쇄되어서 나오는 그런 정적인 모습이 아니라 영상으로 제공한다면 교재로서 조금 더 가치있을 겁니다.

이 책은..

최근의 애플에서 멀티미디어 자료를 적극적으로 활용하면서 디지털 도서를 편집할 수 있는 프로그램이 발표되었습니다. 바로 iBooks Author가 앞에서 언급한 내용을 담고 있는 디지털 도서의 제작 프로그램입니다.

<iBooks Author>는 애플의 iBooks Author 프로그램을 사용하는 방법을 담은 책입니다. 

책의 내용은 프로그램의 기본 기능을 먼저 설명하고 실전 프로젝트를 통해서 iBooks Author에 익숙해지도록 구성되어 있습니다.

프로그램의 기본 기능에서는 디지털 도서(전자책)의 개념과 iBooks Author(아이북스 오서)의 기본 메뉴를 알아보고 도서를 쉽게 제작하기 위한 템플릿의 적용과 책 표지, 글자 입력과 내용의 레이아웃, 장, 섹션, 페이지를 구성하는 방법, 사용자와 1:1대로 마주하는 멀티미디어 콘텐츠(이미지, 도형, 표, 차트, 갤러리, 동영상, 음악, 복습위젯, 키노트 위젯, HTML 5 위젯, 3D 콘텐츠)등을 구성하고 디지털 도서에 넣는 방법을 안내합니다.

실전 프로젝트를 이용한 부분에선 종이책을 그대로 디지털 도서로 만드는 것이 아니라 전자책이 가진 점을 활용하여 디지털 도서를 만드는 방법과 다양한 멀티미디어 요소를 이용한 전자 교과서, 회사 업무용 제안서를 만들어 봄으로서 독자를 iBooks Author와 쉽게 접할 수 있도록 도와줍니다.

조금은 아쉽다..

iBooks Author는 디지털 콘텐츠를 가지고 쉽게 디지털 도서를 만들 수 있습니다. 이러한 점에선 1인 출판사를 경영하고자 하는 사람이나 자신이 정리한 내용을 디지털 도서로 만들고자 하는 사람에겐 새로운 경험을 제공할 수 있다고 봅니다.

그러나, iBooks Author는 애플의 생태계 환경(iTunes, iPad, Mac)에서만 쓸 수 있고 제작에서도 Mac이 없으면 제작할 수 없는 등의 문제가 걸려 있습니다.

<iBooks Author>가 1인 출판에 대해 다루는 것이 아닌 만큼 저작권 등의 이야기가 빠져있기도 합니다.

분명 iBooks Author는 독자들에게 디지털 도서를 제작하고 볼 수 있는 새로운 경험을 해볼 수 있지만 iBooks Author의 생태계 환경은 아직 닫혀 있습니다. 이러한 환경이 다른 생태계도 반영된다면 분명히 경쟁력을 제공할 겁니다.

iBooks Author가 탐나지 않으세요? 지금 바로 <iBooks Author>를 통해서 새로운 디지털 도서 제작 방법에 대해 알아보세요!

2012/08/13

대중문화에서 찾아볼 수 있는 인문학의 이야기

<라디오헤드로 철학하기>는 우리가 대중문화를 조금 더 새로운 시각으로 볼 수 있게 함과 동시에 문화의 한 갈래인 대중문화를 조금 더 자세히 볼 수 있는 계기를 만들어주는 책입니다.

그런데 대중문화는 정확히 무엇일까요?

이보다 먼저 문화에 대해 알아볼 필요가 있습니다. 문화는 <위키페디아>에서 발췌하면 다음과 같은 의미를 지니고 있습니다.

 "일반적으로 한 사회의 주요한 행동 양식이나 상징 체계를 말한다. 문화란 사회사상, 가치관, 행동양식 등의 차이에 따라 다양한 관점의 이론적 기반에 따라 여러가지 정의가 존재한다" 문장으로만 설명하기엔 문화는 그 범위가 매우 광대하여 감히 그 정의를 논하기가 어렵습니다.

간편하게 문화를 정의하면 우리가 접하는 사람들의 행동 양식과 생각. 그리고 그것들이 만들어내는 하모니가 문화라고 할 수 있습니다. 그럼 대중문화란 무엇일까요? 대중문화는 대중이 형성하고 소비하는 문화를 말합니다. 대중문화도 우리는 다양한 형태로 접하고 받아들입니다.

음악, 미술, 플래시몹(모두가 약속된 장소와 시간에서 특정 행동을 하는 것), 프리허그 등도 대중문화라고 할 수 있겠습니다.

<라디오헤드로 철학하기>는 영국 5인조 밴드인 "라디오헤드"의 생각과 신념. 그리고 그들이 영향을 받은 사람들의 생각과 행동이 만들어낸 음악을 가지고 철학을 이야기 합니다.

제2차 세계대전 이후 한나 아렌트는 철학자를 "단독자로서의 인간"을 다루는 학문이라고 규정했습니다. 라디오헤드가 부르는 노래는 명확하게 어느 한 분류가 되는 것이 아니라 "얼터너티브"로 분류됩니다.

실질적으로 라디오 헤드가 "록" 그룹이지만 그들의 음악은 스페이스 록이라고 하는 독특한 장르를 가지고 있습니다. 하지만 스페이스 록은 이미 핑크 플로이드의 시드 배릿이 그 선구자입니다. 그렇다고 해서 라디오헤드와 핑크 플로이드가 결코 같은 분류의 음악을 하지 않습니다. 핑크 플로이드가 지구의 암울한 현실을 노래한다면 라디오헤드는 사람과의 관계의 현실을 노래합니다.

1. 목소리를 부여 받지 못한 존재에게

라디오헤드의 톰 요크가 작사, 작곡한 음악은 우리 시대의 삶을 적나라하게 다룬것이 많습니다.  Creep 을 통해서 사춘기 남학생의 좌절과 소외감을 노래합니다. Creep이 담겨있는 1집 앨범 이후 2집 앨범인 The Bends를 통해서는 라디오헤드의 음악은 현상학적이며 실존주의를 추구하는 경향이 강합니다.

라디오헤드의  Ok Computer, Kid A를 통해서는 우리가 알고 있는 듯한 음악을 들려줌으로서 우리의 신경세포를 깨우는 듯한 상태에 잠시 정신을 뺏겨 있습니다. 이런 라디오헤드의 음악은 현상학과 실존주의를 연구하는 철학자에겐 매우 매력있는 주제입니다.

현상학은 철학에서 체화된 경험 자체를 연구하는 학문이라 우리가 사용하는 언어로 분석되고 구체화하기 어렵습니다. 이같은 이유는 느낀 것을 바로 말로 표현하다 보면 경험 그 자체를 한정된 뜻을 가진 언어에 함축시키게 됨으로서 경험 본연의 뜻을 잃어버리기가 쉽기 때문입니다. 독자조차도 이런 경우를 자주 느낄 때가 있습니다.

거미줄을 보더라도 그렇습니다. 또는 거미줄이 실체화된 것처럼 바닥에 균열을 보았을때 바로 징그럽다라는 표현만 쓸 뿐, 이것을 장황하게 설명하진 못합니다.

라디오헤드의 음악은 이전 세대인 비틀즈와 핑크 플로이드와도 그 맥을 달리합니다. 비틀즈가 현실을 벗어나고자 긍정적인 음악이 주류였다면 핑크 플로이드는 암울한 현실 속에 세상과 자신과의 관계가 아닌 자신의  내면을 경계 나눈 음악을 주로 했습니다.

한편, 저자는 대중음악이 당대와 외부세계의 역사까지 드러낼 수 있는가? 그리고 대중음악의 영향을 많은 사람들이 받았는가에 대한 질문과 함께 라디오헤드가 대중음악이 역사적인 상황을 재현하는 것이 정말 가능한 것인가 하는 질문을 할 수 있는 밴드라고 생각합니다.

대중음악이 태연하게 자신의 감정을 표현할 수 있으며 상대적으로 적은 자본을 필요로 하는 예술형태입니다. 사실 음악부터가 표현하기 어려운 세상에 크게 방해받지 않고 조리있게 표현할 수 있는 수단이기는 합니다.

라디오헤드가 하는 록 음악은 1960-1970년대와 그 이후 현재까지 지속되어오면서 현실과 정치, 경제 등의 고유한 사회적 분야에 대해 저항하기 시작했습니다. 이와 같은 대표적인 밴드나 가수는 조안 바에즈와 밥 딜런, 시드 배릿, 핑크 플로이드 등이 그렇습니다.

라디오헤드의 음악도 저항정신을 추구합니다. 특히 이들이 추구하는 저항은 지나치게 무관심해진 개인에 대한 조명을 통해 자아와 세계를 비판합니다.

2. 내가 나약할 때 나만 혼자가 아니라는 사실

우리는 힘들고 괴로울때 나만 혼자가 아니구라고 생각합니다. 실의에 빠져서 죽음을 생각하진 않더라도 나와 같은 상황에 처해있는 사람이 있을꺼야라고 생각합니다.

라디오헤드의 음악을 통해서도 이러한 경향을 보이는 곡이 많습니다. 라디오헤드의 음악은 애브젝트 미학이란 렌즈를 통해서 봤을때 그 의미가 조금 더 부각되는 곡들이 많습니다.

애브젝트 미학은 쥘리아 크리스테바가 처음 주장했습니다. 예술작품 중에는 사람의 머리 해골에 다이아몬드를 박아넣었거나 잘린 손을 표시한다던가 하는 보기만 해도 기분 나쁜 작품들도 애브젝트 미학으로 보면 이해할 수 있다고 이야기 합니다.

어떤 사물의 의미를 알기 위해서 명확한 이분법적 사고가 아니라 3초점 렌즈처럼 중앙 초점의 어딘가에 안경을 맞추어 볼 필요가 있는 것과 다르지 않습니다.

한편 고대 그리스 학자인 아리스토텔레스는 비극을 역사보다 더 진실하고 보편적인 것으로 봤습니다. 어쩌면 우리가 드라마를 즐겨보는 이유도 여기에 있지 않나 싶습니다. 현재도 방영하고 있거나 방영종료된 "천사의 선택"에서의 윤희석씨 모습이나 "조강지처클럽"에서의 안내상씨 모습 등은 우리의 눈을 찌푸리게 하면서도 우리는 그 드라마를 끊임없이 봅니다.

어쩌면 우리는 그와 같은 비극적인 모습을 통해서 주인공을 연민하지만 사실은 우리가 그와 같은 모습이 현실이 아닐까 비극을 통해서 우리는 현실을 대리 만족하기도 합니다.

시뮬라크르와 과다 실재에서는 우리가 사물을 보고 정신적인 상태까지 지배하게 합니다. 어떤 배우가 항상 악역을 맡아왔다면 그 배우가 마치 그 악역을 실제 하는 것처럼 보이는 과다실재 현상과 기업체가 우리는 이런 기업이야라고 주장한다면 정말 순진하게 우리는 그 상태를 믿고야 맙니다.

다르게 우리는 정보화사회로 대변되는 삶을 살고 있지만 우리가 사는 정보화세상은 디지털로 대변되고 있습니다. 라디오헤드의 Ok Computer는 인공적인 사운드를 포함함으로서 우리가 음악에 몸을 맡겼을때의 우리의 영혼이 음악속으로 빨려들어가는 기분을 느낄 수 있습니다.

독자가 느낀 바에 따르면 보통 음악에서 이런 기분을 매우 잘 느꼈습니다. 아리스토텔레스도 음악에는 어떠한 힘이 있는지 파악하기 어려우니 직접 해보는건 어떨까라고 말한 부분에서도 음악은 우리가 생각하는 그 이상의 힘을 가지고  있으니 음악은 해보는게 좋습니다.

3.몽상과 강철로 된 폐

라디오헤드의 음악은 사회의 부조리와 함께 환경에 대한 고찰을 Hail to the Thief를 통해서 그들의 시각을 드러냈습니다.

탄소발자국 측정을 통한 탄소발자국을 줄이기 위한 활동으로 환경을 생각하는 밴드로 거듭난 라디오헤드가 어째서 환경 덕 윤리학에 관심을 가지게 되었는지부터 그들의 생각을 엿볼 수 있습니다.

라디오헤드는 EMI와의 계약이 종료된 이후 다른 음악회사와 계약을 하지 않았는데 이들의 생각의 기저에는 마르크스가 제시했던  C-M-C가 깔려 있습니다. 사람이 중앙에 있고 상품간의 관계를 표현한 이 모델은 사람 중심의 경제 모델이라고 볼 수 있습니다.

그런데 우리 사회가 살고 있는 모델은 M-C-M 모델로서 회사가 돈을 가지고 사람들을 사고 돈을 지급하는 형태의 모델입니다. 이 모델은 마르크스 조차도 이상향으로 삼지 않았던 모델이지만 그가 가장 우려했던 모델은 M-C-M* 이었죠. 이윤을 극대화하기 위한 이 모델은 마르크스가 사람중심의 시장경제로서 적합하지 않은 모델이라고 지적했습니다. 물론 우리는 여전히 마르크스가 공산주의를 제창한 사람으로 알고 있지만요.

우리는 M-C-M*과 같은 형태를 너무 자주 보아 익숙하게 바라보는 것이 있는데 바로 한국의 아이돌이 그런 형태에 속할 것입니다. 올바른 예를 배우고 삶에 대한 지식을 축적할 나이에 여자 아이돌은 뇌쇄적인 눈빛을 보내는 방법을 먼저 배우고 어떻게 하면 남자들이 침을 질질 흘리게 할 수 있는지에 대한 방법을 먼저 회사에게 강요받습니다.

남자 아이돌도 별반 다르지 않지요. 우리는 이러한 모습에서 문화는 산업이 되어선 안된다고 생각합니다. 우리가 즐기고 느끼는 삶의 한 부분인 음악도 마찬가지입니다. 우리가 즐기는 음악은 산업이 아닌 문화 그 자체로 즐길 수 있어야 할 것입니다.

4. 제일 먼저 궁지에 몰릴 걸

우리는 산업화 이후 인간의 삶이 어딘가 모르게 퇴보하고 있고 무언가에 지배당하는 현상을 걱정합니다. 니체는 이러현 한상을 도덕성에 대한 믿음을 상실하면서 생겨난 허무주의가 나타난다고 했습니다.

니체는 신과 같은 존재로 거듭남으로서 허무주의의 늪에서 빠져나와야 한다고 역설했는데, 니체가 말한 말인의 한 예로 라디오헤드의 No Suprises의 화자를 들 수 있습니다.

라디오헤드는 Hail to the Thief의 주인공들에게 인류를 허무주의로부터 구하기 위하여 막중한 임무를 맡깁니다. 우리는 니체가 본 것처럼 말인에서 초인이 되는 과정으로 가는 그 길에서 추락은 있을 수 있지만 추락 자체가 중요성과 도덕적 의의를 강조하는 순간에 있을 것입니다.

톰 요크는 Exit Music을 통해 정해진 규칙과 규범을 강요하는 사회로부터 벗어나야 한다고 이야기 합니다. 사실 Exit Music은 로미오와 줄리엣의 OST 였지만 만들어진 곡은 전혀 다르지만요. 어찌되었든 톰 요크는 이런 상황에 대하여 저항을 해야 한다고 음악을 통해 말합니다.

라디오헤드의 음악 중 Nude에 대해 프랑스의 실존주의 철학자였던 메를로 퐁티식으로 말하자면 라디오헤드는 문화가 처음 나타날때의 경험 같은, 조용하고 외로운 배경으로 돌아갔다.라고 말할 수 있습니다.

라디오헤드는 그들이 부르는 노래가 외계인의 시점에서 노래를 부르는 것 같으면서도 전에는 없었던 것은 라디오헤드의 음악이 우리와 라디오헤드 사이를 조금더 가깝게 만들고 있는 것이지요. 독자에게도 라디오헤드 뿐만 아니라 같은 거리를 유지할 수 있게 도와주는 밴드가 있으니 굳이 라디오헤드 뿐만은 아니겠지요.

라디오헤드는 Hail to the Thief를 통해서 추상적인 유토피아와 디스토피아를 한꺼번에 드러냅니다. Hail to the Thief는 미국의 정치상황과 맞물려 나온 앨범인데, 그 앨범이 정치적인지 아닌지를 떠나서 폭 넓은 정치적 메시지와 자신들의 의지를 드러낸 앨범이기도 합니다.

라디오헤드는 음악을 통해 구체적인 유토피아가 가져온 그릇된 모습을 비판하고 현실에선 여전히 추상적인 유토피아와 유토피아 못 지 않게 디스토피아도 필요하다고 역설합니다.

 라디오헤드는 음악을 통해서도 권력과 부패, 폭력에 대해 이야기합니다. 권력의 정의에 대해서도 말합니다. 특히 Hail to the Thief와 Ok Computer까지는 이와 같은 주제를 가지고 이야기합니다.

한나 아렌트는 권력이란 여러 사람이 한 사람의 말을 따르는 것이 권력이며, 권력을 유지하기 위해 폭력이 이용되면 결국은 폭력은 권력에게 그 자리를 빼았습니다. 이런 구조를 놓고 봤을 때엔 권력보다 권력을 유지시키는 수단의 한 종류로 폭력이 사용되선 안되겠습니다.

그러고보면 올바른 권력을 만들어내기 위해서 그리고 폭력에 대응하기 위해서는 끊임없는 저항이 필요한건 사실입니다.

라디오헤드는 그들의 뮤직비디오를 통해서  자아의 형이상학적과 우이와 다른 사람 사이의 분할을 전제로 하는 영상이 있기도 합니다. 데이비드 보위가 출연한 지구로 떨어진 사나이에서도 이와 같은 시각이 투영되어 있습니다.

5. 여기는 아니야 그럴리 없어..

라디오헤드는 Kid A 앨범을 통하여 포스트모더니즘을 표현하고자 했습니다. 리오타르는 "포스트모던은 할당된 수신인도 없고 딱히 정해진 이상도 없지만, 실험으로 가치가 측정되는 문학과 예술의 조건이다"라고 말했습니다.

Kid A는 첫번째 곡이 Everything in Its Right Place인데 이 곡을 통하여 라디오헤드가 포스트모던을 어떻게 설명하고자 했는지 살펴볼 수 있습니다.

리오타르는 포스트모던의 주요 개념인 분쟁을 "언어의 불안정한 상태와 경우 때문에 말로 표현되어야 하지만 그렇게 될 수 없는 어떤 것, 문학, 철학 혹은 일부 정치적인 상황에서 성패를 좌우하는 건 적절한 표현을 찾아서 분쟁의 증거를 제시하며 입증하는 것이다"라고 했습니다.

라디오헤드는 이러한 질문에 대하여 Kid A 앨범을 통하여 언어의 지속성에 의문을 던지는 방법으로 분쟁을 설명합니다.

포스트모던의 가장 큰 특징 중 하나는 거대담론에 대한 불신입니다. 우리사회에서도 사회에 형성된 담론을 어기고자 한다면 모험을 해야 합니다. 리오타르는 이러한 거대 담론 하나 둘보다 작은 담론을 여러개 형성하는 다원주의가 옳다고 봅니다.

마지막으로 라디오헤드는 In Rainbows 앨범을 통하여 계몽주의에서의 섹스가 신체간의 접촉. 그 이상 이하로 보지 않았습니다. 하지만 라디오헤드는 섹스와 유혹도 하나의 미학과 신호로 보았습니다.

섹스를 하기 위한 전위 단계로 유혹을 보는 것이 좋겠다고 보여집니다. 적어도 섹스가 단순한 신체접촉이 아닌건 확실하니까요.

장 보드리야르는 유혹도 섹스도 게임의 일종으로 보았는데 장 보드리야르 사망이후(2007년) 그가 남긴 숙제들은 아직도 여러 갈래로 나뉘어 가고 있다고 하니, 우리도 계몽주의에서의 개념이 아닌 새로운 상태에서의 개념을 이해할 필요가 있지 않을까 합니다.

이 책을 처음 받아봤을때와 지금도 여전히 이책은 여전히 난해하고 어려운 주제를 가지고 있습니다. 몇 번을 읽어봐도 마찬가지입니다. 고교때부터 대학때까지 철학을 배웠지만 라디오헤드의 음악과 함께 접하는 철학은 과거에 알던 철학의 기준 자체를 심각하게 바꿔버렸습니다.

사실 음악을 함께 들었더라면 더 좋았지만 그렇지 못해서 조금 안타깝기는 합니다. 스스로 생각해도다시 보는 철학은 듣는 철학, 이해하는 철학, 느끼는 철학. 그 이상이 아니었나 싶습니다.

철학을 유리잔에 비유한다면 채워도 끝이 없는 잔이라고 할까요?

이 더운 여름 날, 독자 분. 모두에게 한 가지 이 책을 읽는 팁을 드린다면 일단 머리속을 깨끗이 비우고 보시고 반드시 책을 보시기 전에 음악 그 자체와 친해지시기를 진심으로 바랍니다.

후일담이지만 본 도서의 제목은 "라디오헤드로 철학하기"보다 "라디오헤드로 철학 여행하기"가 오히려 개인적으로 와닿는 본서의 제목인 것 같기는 합니다.

철학이 결코 어려운 주제가 아닌 독자의 삶에서 녹아드는 주제였으면 좋겠습니다.