...+46+21
=597,883

이 글은 수시로 업데이트하는 기술 공부 블로그 포스팅입니다. 이런거 공유하면 확실히 낚여줄 내주변 지인이 최소 1명 있긴 한데... 그에게는 이글이 대윾잼+대환장 띠용글로 보일것이지만 알고도 굳이 씁니다. 목표는 1년뒤 나역시 이걸 보며 대윾잼+대환장을 느끼는것


0. 서론

머 아무튼 2017년도 다 저물어가는 마당에 호주 워홀 마치고 돌아와서 취직은 해야겠고 마땅히 벌어놓은 것이라고는 각종 기획의 잔꾀와 워드프레스/코드이그나이터[각주:1]로 좀 굴러본 것뿐인지라… 최소한의 최신 기술과 개념을 익혀놓지 않으면 안 되겠다는 약간의 절박함이 생겨, 귀국 후 크리스마스 이브에 과감하게 세팅하고 시작한 것이 yuptogun.com 프로젝트.

지금까지 걍 구상만 했던 각종 웹앱들을 *.yuptogun.com 형태의 서브도메인 아래에서 각기 구현해서 돌리고, 개중 잘 팔리는 게 생기면 별도 도메인으로 독립시켜서 운영하고, 그러면서 호스팅업체 서버 스택 아래에서 할 수 있는 최대한의 신기술&신개념을 막 도입해 써보는 운동장으로 쓸 계획.[각주:2]


1. 스택: shared LAMP stack hosting + Codeigniter + uncompiled (in-browser) React

A. 서버 스펙. 일단 주어진 서버 환경을 서술하자면... 전형적인 한국 PHP 웹호스팅 스택. 리눅스에 아파치와 MySQL을 깔고 PHP를 상시 켜놓으며 가상 할당 공간에 실행&전송할 파일을 올리는 방식이다. 월 5천 원을 더 내면 SSH 접속을 시켜준다고 하지만 지금은 그마저도 하고 있지 않아서 그야말로 20세기 FTP 홈페이지 스타일. 쉘접속이고 서버설정이고 그딴거ㅇ벗다.

AWS도 있고 다른 옵션도 많은데 굳이 이걸 선택한 이유는 딱 두가지.

  • 비용: 닷홈의 혜자급 상품으로, 도메인값만 닷홈에 내면 디스크 1G와 트래픽 무제한 이용이 무료로 가능하다. 써보다가 트래픽이 증가하면 상위 상품으로 올릴수있음. (물론 하위 상품으로 다운그레이드는 안된다)
  • 시장 친숙성: 서비스 자체를 서비스하는 IT 기업을 제외하면 나의 '클라이언트'가 될 사람들은 보통 shared web hosting 환경에서 뭔가를 하려고 한다.[각주:3] 따라서 임대형 쉐어 웹호스팅 환경이라는 (프로그래머에게는) 꽤 열악한 스택을 선택하기로 함.

B. 프레임워크. PHP라는 서버 언어가 주어진 상황에서 제일 최신 프레임웍을 써볼라치면 아무래도 라라벨이나 심포니 같은 걸 해야겠지? 아니면 좀 힙하게 Slim? 사실 호주에 있을 때 이것저것 건드려 봤는데 결국은 그간 해왔던 코드이그나이터를 골랐다.

  • 가볍다. PSL-7을 준수하는 프레임워크들은 FTP로 배치하는 것이 사실상 불가능하다. 파일이 보통 많아야 말이지. 로컬에서 작업한 걸 통째로 zip으로 묶어 그걸 올리고 unzip을 (쉘로 하건 php코드로 하건) 실행하는 게 그나마 the best practice so far더라.[각주:4]
  • 버전 관리를 할 것이 없다. Ion Auth나 TCPDF 말고는 딱히 더 갖다 쓸 서드파티 라이브러리도 없고, 대부분의 요소들은 어차피 사용자단에서 돌아가야 하는 파일들인지라 그냥 CDN에서 퍼와도 되겠다고 판단했다.
  • Slim은 라우팅까지 성공했고 라라벨은 배치하는 것까지 성공했으나[각주:5] 지금은 백엔드 로직보다는 프론트엔드의 react 공부에 집중하고 싶어서 경험이 있는 Codeigniter를 채택. 보아하니 아직은 코드이그나이터가 php 실무 바닥에서는 현역인 듯도 하고.
  • 뭐 말이 Codeigniter지 가급적 API 생성기로만 사용하고, 각종 라이브러리나 유틸리티는 서버에서 돌아가는 게 효율적일 때(세션관리 등)만 쓸 예정. 애초에 서버란 JSON만 송수신해주면 되는거니까.

C. 뷰처리. 여기서부터 모험이 시작된다. views/template/react.php 파일을 만들고 여기에서 reactjs cdn이라고 검색해서 나오는 파일 두 개와 babel cdn이라고 검색해서 나오는 파일 하나를 불러오게 시켜놨다.

  • 사실 React 생태계가 추구하는 방식대로 하자면 절대 이렇게 해서는 안 된다. 특히 Babel은 내가 짠 text/babel 스크립트 파일을 서버에서 미리 컴파일하는 데 쓰여야 하지, 브라우저에서 낑낑거리면서 실행할 물건이 아니다.
  • 그치만 뭐 일단은 콘솔에 인포 메시지 하나 뜨는 거랑 깜박임 문제[각주:6] 말고는 기능상 별 문제를 모르겠어서 그냥 넘어가고 있는중.


2. 기본 흐름: CI는 json과 뷰파일 목록만 구성하고 나머지는 React가 한다

메인페이지를 만들면서 결정한 설계는 다음과 같음.

  1. 기본 라우팅에 따라 컨트롤러가 실행된다.
  2. 컨트롤러는 다음 세 가지를 주로 실행한다.
    • 로딩될 뷰파일을 결정한다.
    • 뷰파일에서 사용할 데이터를 만든다. SEO용 메타태그, 현재 로그인한 회원 정보 등
    • 뷰파일에서 json으로 출력할 배열을 만든다. 필요한 DB 테이블 쿼리 결과를 json_encode()로 뽑아 $this->data['table'] 형태로 넘긴다.
  3. 메인뷰는 다음 세 가지를 실행한다.
    • 컨트롤러가 넘긴 데이터를 가지고 html 마크업을 뿌린다. 메타태그, 로그인했을 경우와 아닐경우에 따른 html 마크업 등등
    • 컨트롤러에게서 물려받은 json을 스크립트 태그로 html 출력 맨끝에 뿌린다.
      <script>var theData = <?= $data; ?>;</script>
    • 그리고 assets들(React 라이브러리, 메인 js, 각종 CSS 등등)을 불러온다.
  4. 그러면 이제 뷰가 불러온 메인 js 파일은 브라우저 안에서 다음과 같이 작동한다.
    • 메인뷰가 서버 응답으로서 돌려주는 DB 데이터 json을 props/state로 참조한다.
    • 이 props/state와 자기 안에서 const로 규정돼 있는 정적 정보들(e.g. 쿼리결과 없을시 뿌릴 문자열들 등)을 이용해, 엽토군이 정의한 대로 열심히 컴포넌트 클래스들을 렌더링한다.
장황하게 적었지만 코드를 보면 아주 간단한 이야기다. 해당 페이지의 응답결과는 예컨대 위쪽에 <script src="app.js">가 있고, 중간에 <div id="wrapper"></div> 같은 텅 빈 요소가 하나 있으며 그 밑으로 조금 내려가서 보면 아주 장황하게 긴 json을 data 변수에 할당한 script가 한두 개 있는 식이다. 그리고 app.js는 data.table.forEach((record) => {어쩌고저쩌고}) 형태의 라인을 가진다.
어떤 assets을 불러올 것인지를 뷰에서 결정할 것인가 컨트롤러에서 결정할 것인가는 지금은 좀 가닥 안잡혀서 일단 죄다 뷰에서 결정중. 아마 컨트롤러에 다 때려넣는게 더 말은 맞겠지(극단적으로 말해서 뷰파일은 그냥 div#app 하나만 덜렁 갖고있어도 될지도 모른다).


3. 깨달은 것들: React

React를 막무가내로 공식문서 봐가면서 공부하고 적용해 현재까지 깨달은 것들은 다음과 같다.
  • 만약 당신이 MVC 구조에 익숙하고, 새로운 라이브러리의 문법을 배우는 데 큰 문제가 없으며, 지금 당장은 리액트를 가지고 화면에 DB자료를 뿌리는 정도로 충분하다면, 다른 것보다 Thinking in React를 따라가는 것이 가장 좋고 가장 빠르다. 당신이 알아야 할 것은 거의 대부분 나와 있으며, props와 state 개념을 실전으로 바로 알 수 있다. 장황하게 createClass가 어쩌고저쩌고 하는 설명도 생략돼 있어, 필요한 기초에 집중할 수 있다.
  • state는 최상위 컴포넌트에서 통제되어야 한다. 글로 읽을 땐 영 뭔말인지 몰랐는데 실전을 해 보니까 간신히 이해가 되더라.
    예컨대 이런 상황이 있다고 생각해 보자.
#wrapper가 #sidebar와 #content의 2개 요소를 가지고 있고, #sidebar 밑의 a[data-tab=x]를 누르면 #content 밑의 #x가 보여야 함

jQuery라면 구현 자체는 아주 간단하다. .data('tab')으로 x값 얻어와서 $('#content')를 통제할 때 그 값을 넘기면 된다. 하지만 이 구현이 일으키는 변화는 필연적인 것이 전혀 아니며 오히려 아주 우연하고 작위적이다.
이 상황을 React는 이렇게 해결한다.

#wrapper는 #sidebar 밑의 a에 대해서도 책임이 있고, #content 밑의 div들에 대해서도 책임이 있다. 따라서 #wrapper의 this.state.tab을 정의해 주고, #content는 항상 이 state에 대응하는 div를 보여주도록 한 다음, #sidebar 밑의 a가 눌릴 때는 #wrapper의 this.state.tab이 적절히 업데이트되도록 한다. 그러면, #content 밑의 div는 즉시 자동으로 그 state에 반응("react")한다!

이렇게 써놓고 보니 왜 다들 그렇게 열광하는지 알것도 같음. 데이터가 어디로 흐르는지 볼 수 있고 훨씬 더 논리적이다. (단 그만큼 프론트엔드가 초반에 머리 싸매고 시작을 해야 하는 것. 어느 객체가 최상위인가? 정말 모두 한 개의 파일/스크립트 안에 넣어야 할까?)

  • 문자열을 직접 인젝션하는 코딩은 잘 안 된다. 예컨대 html 마크업을 구성하는 문자열은 이스케이프되어 문자그대로 브라우저에 뿌려진다. 정 그걸 띄우고 싶다면 악명높은 dangerouslysetinnerhtml을 쓰든지 차라리 리액트 html 오브젝트로 넣어버리라는 것이 공식 조언이다.
    또 남들은 다 된다고 하는데 나만 안 되는 것이 뭐나면… 문자열을 전달받아 그 문자열과 일치하는 이름의 컴포넌트 렌더링하기. 흔히 알려진 React.createElement(ChildName, null) 용법이 작동을 안 한다.[각주:7]
  • render () 메소드 내에서 const로 만드는 빈 배열은 길이가 0이 아니라 1이다. 이유는 모르겠다. 그래서 forEach push로 필터링을 할 때 결론적으로 이런 식의 이상한 판별식을 쓰고 있다. 이게 아닌데... 분명 더 옳은 방법이 있는데...
if (filteredArray[0].props.name != '') { /* do the stuff */ }
  • PHP가 세션/쿠키를 만드는 과정/방법론 때문에 사용자 인증이 생각보다 번거롭다. Ion Auth를 쓰고 있는데, 최종적으로는 기껏 깔아놓은 react router를 못쓰고 결국 자기 자신에게 로그인폼을 POST 제출해서 로그인 처리하고 리디렉션 시키는 몹시 전통적인 짓을 하고 있다.
    • 원래 계획은 ajax 폼으로 그 자리에서 즉각 로그인을 시키는 것이었다. 로그인 자체는 성공했는데, 문제는 자동로그인("keep logged in") 기능. 자동로그인이 도무지 먹지를 않는다. 왜 그런가 하고 모든 소스를 다 뜯어본 결과… "자동로그인"은 일반적으로 이런 로직으로 동작한다는 것을 알았다.
    1. 사용자가 POST 요청으로 로그인을 시도한다.
    2. PHP는 ID, 해싱된 패스워드, 자동로그인 여부를 받아 로그인(유저정보 매칭)을 시도한다.
    3. 로그인이 성공하면 PHP는 지금 로그인한 세션 고유값을 DB에 저장한다.
    4. 그리고 즉시 HTTP 응답 헤더에 이 세션 고유값이 포함된 쿠키를 쓰라는 요청을 보내는 리디렉션을 실행한다.
    5. 이때 PHP가 별다른 출력을 내지 않아야 비로소 이 쿠키가 써진다.[각주:8]
    6. 리디렉션된 HTTP 응답에서부터 쿠키와 세션은 유효해진다.
    7. 그래서 그 다음부터 (리액트 라우터가 아닌) PHP가 HTTP 요청을 받으면 우선 서버단에서 쿠키와 세션을 확인해 로그인 여부를 체크하고 그제서야 그 결과를 반환해 이용할 수 있게 한다. 여기서 자동로그인 구현 완료.
    • 여기서 5번 스텝이 문제되는 것이었다. ajax 요청은 필연적으로 출력을 낳고, 따라서 자동로그인 로직의 5번에서 멈춘다.[각주:9]
    • 그러면 ajax 요청 콜백에서 적당히 쿠키를 만들면 되는것 아니냐? 싶을 텐데 그러면 7번 스텝이 걸림. 요컨대 자동로그인을 체크하고 로그인해서[각주:10] → 사용자 정보를 가져온 뷰를 → F5로 새로고침하면[각주:11] → 거짓말처럼 로그아웃당함.[각주:12]
    • 서버단이 JS로만 구현되었거나 자동로그인 로직이 좀 달랐다면[각주:13] ajax 콜백의 쿠키 작성만으로도 충분히 자동로그인을 할 수 있었을까 하는 미련이 남지만... 그건 먼 훗날 많은 이치를 깨닫고 나서 다시 보기로. 지금은 우선 로그인을 시켰다는 데 의의를 두면서, u/(.*) 라우팅과 컨트롤러의 u() 통제와 users.js 최적화로 타협한다.[각주:14]

99. 해야될것들

  1. Redux 배워서 써먹기
    • "최상위 컴포넌트에 스테이트 때려박는게 너무 귀찮아서 온갖 방법으로 그걸 회피하는데요 그래서 state management 라이브러리를 씁니다...!"
    • 아직은 귀찮거나 헤비하지 않지만 넘나 당연하게 react의 짝패로 쓰이는 모양이니 싫어도 적용해야할듯.
  2. webpack 배워서 써먹(으면서 필요한 의존성 버전관리하)기
    • "근데 리액트 사용의 정석은 php 파일에서 로드하는거는 아니에요 webpack으로 빌드해서 index.html 및 js / assets 뭉치를 만들고 걔를 static hosting"[각주:15]
    • 지금 당장은 이런 스텝들이 필요할듯
      • React, Babel을 npm으로 받아서 로컬 트리에 넣어놓기
      • 지금 있는 메인 js를 번들 가능하게 조정하기
      • 컨트롤러 $dev 변수에 따라서 지금식으로 다 로드하느냐 bundle-*.js만 불러오느냐를 스위칭할 수 있게. (이건 순 내 편의를 위한 편법. 충격적이게도 지금은 메인 js 고칠때마다 서버에 업로드하고 새로고침을 해서 테스트를 본다고 한다...)
    • 뭐 일단 해놓으면 앞으로는 npm update 한번씩만 돌리면 되겠지
      • 잘은 몰라도 나중되면 지금 뷰파일이 로딩중인 fontAwesome, pureCSS 등등도 죄다 이걸로 관리하게될듯


  1. 그리고 대략 다섯 달 동안이지만 충격과 공포의 해피CGI 솔루션(...)을 경험해봤다. PHP 5.2 이하에서 실행해 달라고 요구하는 솔루션을 들어보신 적이 있는지? 한국에서는 무려 이새끼가 아직도 현역이다. 팩트TV가 이회사 물건으로 돌아가고 있다. [본문으로]
  2. 어차피 만들려는 웹앱들의 본질이 TODO를 크게 벗어나지 않기 때문에 가능한 짓이다. [본문으로]
  3. 보통은 애초에 "서버언어" 개념 자체를 안 갖고 계시니. [본문으로]
  4. 예전의 다른 웹호스팅에 라라벨 올리면서 찾은 방법. 다시 하기는 싫다. [본문으로]
  5. 일단 로컬 구조 그대로 올린다 → 루트의 index.php가 public/index.php 를 require하도록 고친다 → public/index.php 가 ../bootstrap/autoload.php 와 ../bootstrap/app.php 를 require하도록 한다. 이렇게 하면 FTP만 되는 호스팅 환경에서도 일단 라라벨을 굴릴 수는 있음. [본문으로]
  6. 인브라우저 컴파일 중일 때는 아무것도 안 뜨다가 잠시 후에야 가상DOM이 그려지는 문제. 리액트 사용상의 대표적인 대환장 포인트 중 하나라고. [본문으로]
  7. 선배왈 스위치문 써서 컴포넌트 리턴하는 거 말고는 답이 없다고. 안그래도 나도지금 그렇게 하는중이다. 글쎄 이게 아닌데... [본문으로]
  8. 내가 이해한 바로는, 쿠키 생성 코드가 포함된 코드 라인들의 최종 목적이 '뭔가를 출력하는 것'이어서는 안 된다는 느낌이다. 예컨대 redirect()는 괜찮지만 return $resultjson은 안 된다. [본문으로]
  9. 별짓을 다해 확인해 본 결과, 세션도 만들어지고 쿠키 요청도 들어가지만 실제 쿠키 생성부터가 안된다는 것으로 판명. CORS도 확인하고 별짓을 다해봤는데 그게 문제가 아니라 결국 setcookie() 함수의 결함이랄까 설계 때문에 안된다. [본문으로]
  10. 여기선 클라이언트(브라우저)가 단지 쿠키만을 작성한다. [본문으로]
  11. 여기선 서버가 존재하지 않는 로그인정보 세션을 체크하려고 시도한다. [본문으로]
  12. 매치해 볼 세션이 없으므로 자명한 결과. [본문으로]
  13. 대충 찾아보니 JWT(JSON 웹토큰)과 로컬스토리지 사용이 JS 환경에서는 가장 통념으로 사용되는 듯하다. [본문으로]
  14. 그리고 (서버와 리액트가 라우팅을 놓고 싸우는 탓에) 꽤 속도가 느려졌으며 여전히 두세 시간 뒤면 세션이 풀려버린다. 왜죠... [본문으로]
  15. 느닷없이 그런 말을 들어도 지금은 잘모르겠는 부분이지만 여튼 이바닥 선배가 그렇다고 하니 그런줄 알자. [본문으로]
Posted by 엽토군

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

요즘 하는 생각인데, 지나치게 나빴던 경험도 트라우마가 되지만, 지나치게 좋았던 경험도 트라우마가 된다.

오말찬 페이지 포스팅을 리뷰하다가 문득 생각했던 것은, “전하세 예수” 모델의 “경배와 찬양”이야말로, 이게 폭발을 하던 90년대에 시작해 지금 이때까지, 교계와 거기 속한 이들 모두에게 양(+, positive)의 트라우마[각주:1]로 작용해 왔던 것은 아닌가 하는 생각이다. 그것은 그러니까, 소위 온 민족과 나라들(“All Nations”)을 위해, 온 민족과 나라가 떼로 들고일어나서, 한 자리에 와르르 모여 우르르 꺼르르 극적이고 스펙터클한 종교적 경험을 가져 그로부터 영적 각성을 일으킨다는 기획이고, 사실 이는 지극히 인공적으로 치밀하게 조제된 경험이었지만.

이 영상 댓글만 보아도 알 수 있듯 모두가 이 시절을 말도 못 하게 그리워한다. 저때가 좋았다고, 저때는 참 전세계를 돌며 헌신했었다고. 나는 이것이 그냥 훈훈한 추억팔이가 아니라 하나의 트라우마 증세가 아닌가 하는 생각을 하게 된다. 왜냐하면, 그걸 재현하려는 불가능한 시도를 우리는 근 20여 년간 꾸준하게도 지속해 왔기 때문이다. 숱한 크고 작은 교회에서, 각종 선교 단체에서, 무슨 집회 무슨 부흥회 때마다, 우리는 우리 스스로가 저 집회 참가자들이며 연주자며 하스데반 목사라도 된 듯이 목청을 높였고 손을 들었고 방언을 읊었다.

그리고 저 좋은 시절은 결코 돌아오지 않았다.

그럴 수밖에. 저것은 지나치게 좋은 경험이었고 그래서 양(+)의 감정을 갖는 사후외상으로 각인되었기 때문이다. 부의 감정을 갖는 음의 트라우마 ― 일반적으로 말하는 트라우마 ― 가 지나치게 안 좋은 경험이고, 재현되어서는 안 되는 사건에 관한 것이라면, 양의 트라우마는 지나치게 좋은 경험, 그래서 재현하고자 하지만 필연적으로 재현되지 못하는 사건에 관한 것이라고 생각한다. 그리고 음의 트라우마가 그렇듯, 양의 트라우마 역시 필연적으로 자가당착, 부조리, 불행으로 이어진다.

당장 전하세 예수 예배모델이 우리에게 끼친 영향만 보아도 그렇다. 도대체 그게 얼마나 임팩트 있고 강력한 경험이었기에, 도대체 어떻게 매주 주말마다 저 많은 교회의 “찬양팀”들은 끔찍한 수준의 아마추어적 하위 음악 문화를 존속시키게 된 것인가. 그 집회, 그 밴드, 그 목사님의 음반을 듣고 카피하면서, 머릿속에서는 자기들이 그런 걸 올려드리고 있다고 믿으면서, 그리고 그걸 콘솔 앞에서 가만히 지켜보며 헛웃음 웃고 있는 동년배 작가의 차가운 냉소를 받으면서.

나는 이 트라우마가 21세기 인류 전체의 공유 감정이라고 생각한다.

생각을 해 보라. 20세기말 내내 ‘신세계가 온다! 미래가 온다!’ 잔뜩 부풀어서, 그 미래에 뒤지지 않으려고 온갖 혁신[각주:2]을 일궈내다가 막상 21세기가 닥치고 아이폰이니 알파고니 넷플릭스니 드론이니 하는 것 몇 개 받고 “이게 미래다! 끝~” 하면 어떨 거 같은가? 다들 ‘응? 이게 다야? 띠용~’ 하고 어리둥절하지 않겠는가? 지금까지 계속해서 꾸준히 눈과 귀에 새로운 자극을 주느라 못 돌이켜보았던 인류의 정신은 이쯤에서 잠시 휴지에 들어왔고, 그래서 지금까지의 일을 좀 돌아보자니, 그간 존재를 알지 못했던 과거로부터의 양의 트라우마들이 이제금 다시 작용하고 있지 않은가 생각해 본다.

총체적으로 일어나고 있는 70~90년대 콘텐츠/브랜드/컨셉의 리바이벌 붐은 그 증거다. 여러 이유가 있겠지. 그 시절 어린이들이 이제 어른이 되어 돈을 쓸 수 있게 된 점도 한몫할 것이다. 그러나 그게 전부일 수가 없다. 지금의 어린이들을 위한 콘텐츠는 딱히 없기 때문이다. 그냥 다들 과거를 착취하고 있는 것이다. 여기까지는 적지 않은 비평가들이 지목하는 부분이다. 나는 한끗만 다르게 말하고 싶다. 이건 착취가 아니라, 불가능한 과거로의 추구이고, 하나의 사후외상 증세이다.

스트리트 파이터와 모탈 컴뱃이 지금도 새 작품이 나오는 프랜차이즈라는 사실을 알았을 때, 솔직히 조금 경악할 수밖에 없었다. 정말 다들 그걸 그냥 과거 추억팔이가 아니라 진짜로 지금 소비하고 있단 말이야? 잠시 후에는 스타워즈 배틀프론트 2라면서(심지어 2다!) 스타워즈 프랜차이즈의 신작이 나왔다는 소식도 듣는다. 게임을 하지 않지만, 이건 충분히 이상한 징조다. 왜 이래? 뭐 다음엔 ‘풀하우스’나 ‘프렌즈’ 시트콤이라도 리메이크하려나 보지?

왜 아니겠는가? 풀하우스 리메이크는 정말로 진행중이다!

80년대 말에서 90년대까지의 세계적 호황 속에서 사람들은 다들 꿈 같은 시절을 보냈거나 적어도 꿈을 꿀 수가 있었다. 그것은 좋은 경험이다. 그런데 그게 지나치게, 불가능하게 좋았다. 파티는 끝났고 더 이상 그렇게까지 모든 것의 생산량이 급증할 수는 없게 됐다. 자연히 ‘이런 건 어떨까? 저런 것도 해볼까?’ 하는 시도들이 하나둘 종적을 감췄다. 마치 모두가 하스데반 목사님의 좋은 집회가 끝난 뒤 흩어져 집으로 돌아가는 것처럼, 모두가 마음 속으로 내심 아쉬워했다. 그리고 그 아쉬움, 그 잔감을 적절히 대처하고 극복하지 못한 탓에, 그것은 영 실망스럽기만 하던 알루미늄색의 21세기 초엽 내내 묻혀 있다가 이제 와서 하나의 트라우마처럼 발산되는 것으로 보인다.

어떤 경험이 지나치게 좋기만 해도 문제지만, 그 지나치게 좋았던 경험의 속알맹이가 잘못돼 있을 경우에는 문제가 더 심각해진다. 한국 라이트노벨계가 정확히 그렇다. ‘미얄’과 ‘오라전대’로 대표되는 방향으로 갈 것인지 ‘꼬리를 찾아줘’ 류의 방향으로 갈 것인지 망설이던 한국 라이트노벨은 ‘나호’의 등장 이후 완전히 모에부타 컬처가 되어 버렸다. 적어도, 작가 지망생들의 세계에만 한정해서 말하자면, 카넬이 지나치게 크고 전형적이고 유일한 경험을 제공한 이래, 그 세계는 완전히 뒤틀려 버린 상태다.

그들은 서로에게는 설정이 괴상하다느니 맞춤법이 맞지 않다느니 스토리나 캐릭터가 이상하다느니 온갖 독설을 퍼붓지만, ‘감평’을 부탁하며 내놓는 작품이라는 것들이야말로 사실상 “나호가 되고 싶은데 그걸 대놓고 들킬 수는 없고 해서 이것저것 바꿔 끼워서 그럴듯하게 만들고 자기만의 오리지널 개그 몇 줄을 추가해 놓은” 딱 그런 것들이기 때문이다. 단언할 수 있는데, 한국 라이트노벨 작가 지망생들의 상상력의 지평은 정확히 ‘나와 호랑이님!’이 거기까지만인 것으로 딱 폐쇄해 버리고 말았다.

이러니 뭐가 나와도 막 그렇게 엄청 새롭거나 재미있지 않게 된다. 새로운 콘텐츠, 새로운 프랜차이즈, 새로운 생각, 새로운 상상의 세계와 지평이 등장하지 않으니 당연한 일이다. 영어식 표현을 빌리자면 ‘이럴 수 없을 정도로 즐겁고 좋았던’ 경험을, 따라서 재현이 불가능하며 그러므로 재현하려는 시도를 의식적으로 배격해야 하는 양의 트라우마적 경험들을, ‘나호’를 진심으로 행복하게 읽은 작가 지망생들은 미처 의식적으로 배격하지 못하고 그 트라우마에 걸려 그걸 추구하게 된다. 그리고 그 추구는 불가능하고 부조리하며 따라서 불행하다. 예배자들이 ‘올네이션스’에 대해서, 게임 시장이 ‘스트리트 파이터’의 시절에 대해서, 모든 종류의 소비자들이 모든 종류의 90년대의 유산으로부터 지금 그러하다.

대책은 있을까. 평소의 지론을 펴 보자면, 적당히 좋고 온전히 건강한 것들의 보편화만이 이 병질을 다스릴 수가 있다.

우선 다들 환상을 좀 깨야 한다. 그렇게까지 엄청 좋은 스펙터클이, 그렇게까지 엄청 자주 일상적으로 우리 삶에 제공될 수는 없다는 사실을 받아들일 필요가 있다. 폭풍우를 창 밖으로 바라보는 것은 유쾌하지만, 그렇다고 매일 폭풍우가 내릴 수는 없는 것과 똑같은 이치다. 우리 삶의 대부분은 맑거나 대충 구름이 껴 있으며, 시중에 나온 소설의 대부분은 적당히 재미있고 적당히 교훈적일 뿐 불세출의 걸작은 그야말로 불세출로 나온다. 모든 아이돌이 톱스타가 될 수는 없으며, 대부분의 예배 순서는 은혜 받는 기분과 성령 충만한 느낌이 그렇게까지 엄청나지는 않다든가 등등.

그리고 거기서 더 나가서, 그렇게 일상적으로 평범하게 주어지는 각 분야의 대다수 콘텐츠들에서 건전성을 확보해야 한다. 예컨대 오말찬 페이지가 교계 ‘예배 문화’ 비판과 병행해서 꾸준히 목소리를 내고 있는 ‘말씀 찬양’이 바로 대표적인 예다. 어차피 우리 모두가 □커스나 예△전도단이 될 수 없다면, 어떻게 부르든 어쨌든 적어도 가사는 훌륭함이 보장될 ‘시편’을 가지고 찬송하기 시작하면 어떠냐는 것이다. 라이트노벨도, 각종 게임 프랜차이즈도 그렇다. 대작이 될 필요 없고, 스펙이나 무슨 보너스 피처나 특전 상품 따위 아무래도 좋으니, 그냥 낸 돈 값을 하고 약속한 재미를 일정량 이상 준다는 가장 기초적인 데서 시작해 줄 수는 없겠느냐는 것이다.

그렇게 되었을 때 소비자들도 ‘지금 여기에 새로 나온’ 무언가를 선택하게 되면, 그들의 과거의 트라우마를 지금의 경험으로 덮어쓰거나 극복하는 일이 좀 가능해질 것이다. (음의) 트라우마를 극복하는 가장 기본적인 원칙은 그 경험을 이겨낼 수 있을 만한 ‘유사하지만 다른’ 새 경험을 해내는 것이라 하는데, 그렇다면 양의 트라우마 역시 그렇게 극복되어야 하지 않을까? 그러면 우리는 매번 교회에 갈 때마다 왜 우리 교회 찬양 시간은 여의도광장의 그때 같지 않을까 하는 갑갑한 마음도, 왜 나의 추억이 담긴 이 시리즈가 지금 이렇게 우롱당하는 걸 보고만 있어야 하나 하는 어처구니 없음도 좀 나아지지 않을까 한다.

좋았던 경험은 그냥 좋았던 경험이다. 나빴던 경험이 그냥 옛날의 나빴던 경험이듯이. 게임이라는 세계에서, 예배라는 종교 의식에서, 아무튼 생각할 수 있는 모든 경험이 가능한 세계에서 그러하다. 지금까지는 다들 그다지 깊게 생각하지 않았을 테지만, 이젠 그간 우리가 갖고 살아 온 양의 트라우마들을 좀 진지하게 직면해야 하지 않나 싶다. 파티가 끝났다는 사실을 순순히 인정하고, 신발을 신고 집에 돌아가서 밥을 지어 먹고 일을 하고 잠을 자고 일상을 좀 찾을 일이다. 그닥 좋지도 그닥 나쁘지도 않은, 하지만 건전한 경험들이 충만한 그런 세계를 향해서.

  1. 주류 심리학에 없는 개념이다. 그냥 말을 쉽게 하기 위해 지어낸 말이니 오해 없으시길. [본문으로]
  2. 특히 오락문화에 있어서는 20세기말이 혁신이 넘치는 시대였다고 나는 기억한다. 오히려 지금의 업계는 그 시절의 업계에게 빚을 잔뜩 지고 있다. [본문으로]

'2 다른 이들의' 카테고리의 다른 글

양의 트라우마  (0) 2017.12.05
키워드를 뽑아보자  (0) 2017.10.07
#AnimeRight  (0) 2017.02.11
주식회사 버그햄버그버그  (0) 2016.03.21
잘 알려져 있지 않은 사실 2가지  (0) 2016.01.26
시드노벨 표준 조판 양식.hwp  (2) 2015.11.30
Posted by 엽토군

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

평소처럼 월요일 저녁 키친핸드 근무 치면서 손으로는 분무질하고 머리로는 딴생각 이것저것 하다가 대강 정리한 것. 내일 멜번컵 공휴일 저녁근무도 있는데 이 시간 되도록 안자고 일안하고 뭐하는거람


우리는 사상 처음으로, 자기들이 노는 놀이의 규칙을 만들어본 적이 없는 세대를 마주하고 있는지도 모르겠다.

애초에 놀이란 그 행동 자체를 목적으로 하는 행동을 일컫는다. 그러므로 그 규칙을 정하는 것이야말로 놀이의 핵심이고 가치이다. 소꿉놀이는 누가 아버지, 누가 어머니, 누가 자식이 되고 각자 무엇을 하는지를 정하고서야 비로소 시작되고, 땅따먹기는 땅에 네모 금을 긋고 돌을 줍는 데서 시작하고, 하다못해 "데덴찌"를 해도 무슨 구호를 외칠 것인지를 주체적으로 정하지 않으면 안 되는 것이다.

바로 이것, 어린 시절에 스스로 놀이의 규칙을 정하고 그 규칙대로 놀이를 하다가 집에 가는 경험이야말로 유사 이래 인류가 대대로 전수하며 역사를 앞으로 추동한 힘의 한 갈래라고 볼 수 있을 것이다. 새로운 뭔가가 고안되고 발견되고 발명될 때마다, 인류는 그에 대한 규칙을 수립하고 그 규칙대로 과감하게 시도해 볼 필요가 있었으며, 실제로도 그렇게 해 왔기 때문이다. <호모 루덴스>가 말하고 있는 것이 바로 이 개념이다.


그런데 실천적이고 현실적인 차원에서, 지금 이 나라의 아동과 청소년들은 무슨 놀이를 하고 있는가? 어쩌면 지금 그들은 성인 사회가 가공 및 규격화해 유통하는 몇 가지 특정한 형태의 오락과 제한된 종류의 쾌락만을 수용하고 있는 것은 아닌가?

이를테면, 어렸을 적 전쟁놀이를 하며 느끼던 재미들 중 '롤플레잉'이나 '타격감' 등의 특정 측면만을 어른이 되어 선택적으로 부각해 일정한 목적을 일방적으로 제시하는 온라인 게임으로 체계화해 제공하면, 그들의 아랫세대는 "내가 딜러를 하니 네가 탱커를 하니 이번에 누가 승격을 하니" 하면서 PC방에 옹기종기 모여 주어진 목적에 따라 놀고 있는 것이 아닌가 말이다.

비디오 게임이 아동 청소년에게 유익하지 않을 수도 있는 이유를 딱 하나 꼽으라면 바로 이 부분, 놀이의 본질로서 규칙을 수립하고 준수하는 주체의 의식과 경험을 대체 혹 희석한다는 점에 있을 것이다. 분명 그들은 "놀이"를 즐기며 재미를 느끼고 있는 듯하지만, 과연 그것은 ― 인류가 지금까지는 그렇게 했던 바 ― 세계를 놀이하며 새 세계를 소화해내는 세대로의 성장의 바탕일까, 아니면 그저 '놀고 있는' 것일까?

그러나 나는 여기서 오직 비디오 게임에게 아동 청소년을 책임지라고 비난하고 싶지는 않다. 그렇게 따지면 유튜브도, 페이스북도, TV도, 누구도 아주 무고하지는 않기 때문이다. 모든 종류의 즐길거리, 볼거리, 요깃거리가 다소나마 '놀이하는 주체'를 특정 재미에 길들이고 있는 한 말이다. 요컨대, 사회 전체가 운동장(playground)의 문을 닫고 각종 돈 내고 들어가는 "놀이문화공간"만을 장르별로 즐비하게 열어놓은 형국인데, 나는 이 시국을 비판하고 싶은 것이다.


돈 내고 즐기는 놀이들의 공통점은, 목적을 특정하게 제시하고, 그 대신 그 목적을 달성했을 때의 특정한 쾌감을 보장한다는 것이다. 가장 극적인 사례가 '방탈출' 게임방이다. 내 돈 내고 방에 갇히는 놀이라니 뭐 이딴 게 다 있는가? 그러나 방탈출 게임방 자체는 아주 흥미진진한 경험인데, "암호/열쇠를 알아내기 어려운 공간에서 단서와 지혜를 모아 탈출하자!"라는 목적 아래 해당 공간이 치밀하게 구성돼 있기 때문에 그러하다. 심지어, 각 방별로 테마를 갖춰서.

방탈출 게임방과 가장 대조해서 살펴볼 수 있는 놀이로서, 우리 어렸을 때 다같이 집에 가다가 한 번씩은 해 봤을 놀이를 떠올려 보고자 한다. "땅 밟으면 죽음"을 선언하는 순간부터, "땅"이라고 생각되는 곳을 안 밟으려고 보도 블록에 오르거나, 땅에 발을 최대한 짧게 디디려고 깡총거리거나 해 본 적이 있지 않은가? 이때 놀이는 결국 어디까지가 땅이냐, 왜 땅을 밟으면 죽느냐, 어떻게 하면 땅 밟아도 안 죽느냐, 죽으면 부활 못 하느냐 등을 정하다가 다들 집에 도착하는 것으로 끝난다.

외국에도 "땅바닥이 용암이야!"라는 비슷한 게임이 있을 정도로 이 경험은 아주 범세계적이다. 왜 그럴까? 실로 원초적인 놀이이기 때문이다. 아무것도 정해지지 않았으므로, 뭔가를 정해서 잘 해내거나 잘 우기면 이길 수 있고, 그래서 아주 유쾌하고 무해하며, 훗날의 기약이 있는 것이다. 암호도 열쇠도 못 찾으면 담당자가 올 때까지 제한시간 내내 꼼짝없이 기다려야 하는 방탈출이란 "놀이"와는, 근본이 다르다고 할 것이다.

규칙을 정할 수 있고, 대충 그냥 해 보면 되고, 잘 안 되면 우겨 볼 수 있고, '죽어도' 조만간 다시 할 수 있다는 점. 우연히도, 이런 측면들은 사람이 살아봄직한 문명 사회의 안전그물에 그대로 적용된다. 아니, 사실 이는 우연하지 않다. 선진 사회일수록, 어차피 인간사라는 것은 어마어마하게 큰 한바탕 역할놀이일 뿐 그밖의 별볼일은 크게 없다는 사실을 순순히 인정하는 경향이 있다. 다만, 그 진실을 충실히 구체화하는 제도와 예의와 사고방식을 지속시킴으로써, 새로운 놀잇감이 등장할 때 새로운 놀이를 시작하려는 움직임을 막지 않고 적극 장려해 사회 전체를 하나의 운동장으로 열어줄 따름이다.


그렇다면 지금 우리는 어떤가? 아무리 좋게 생각해 보아도, 일단 지금 우리 세대의 놀이란 갈수록 누군가가 주는 규칙과 목적을 가장 '끝판왕'으로 달성하는 것이 그 본질이 되어 가고 있다. '똥망겜'조차도 '혜자이벤트'가 뜨면 적금을 깨든 밤을 새우든 해서 보스를 깨야 직성이 풀리고, 드립 대회가 열린 것 같은 댓글창에서는 너도나도 최고 공감의 리액션을 한줄 넣어 '페북스타'가 되어 보려고 애를 쓴다. "마비노기"처럼 게임 속 세상 중에도 목적이 오픈된 곳이 있던 한때의 놀이 행태와는 정서부터가 다르다.

그래도 이 세대는 1990년대 어느 한때인가에는 각 동네의 정글짐을 손에서 쇠 냄새 날 때까지 헤집고 다녔던 적은 있다. 그 이후 세대는? 2000년대의 한때를 PC방 컵라면과 "서든어택"으로 보낸 세대는, 없던 룰을 만들거나, 룰의 구멍을 찾고 그걸 헤집거나 메우거나 하며, 작으나마 자기들만의 세상을 구축해 본 경험이 있기는 한가? 우리는 그 여지를, 그런 놀잇감을, "운동장"을 제대로 주었는가?

그나마 가장 희망적으로 관측되는 것은 '마인크래프트'다. 현존하는 메이저 게임 중 거의 유일한 완전 오픈 월드 게임인 이 세계에서, 지금 아동청소년 세대는 '마인크래프트 캐릭터 역할놀이 유튜브 콘텐츠'라는 놀이를 찾아냈다. 이걸 자생적으로, 나름의 규칙과 방법과 문법을 찾아서 나온 놀이라고 덮어놓고 긍정하기에는, 어딘가 석연치 않은 점이 너무 많다. 당장 이 놀이의 본령, 그 진짜 재미 포인트가 무엇일까만 해도 그렇다. 게임 세상을 빌렸을 뿐인 '역할놀이'일까, 아니면 별수없이 주어진 제반 여건 하에 어른들의 세계에서 자기 존재감을 겨루는 '유튜브 크리에이터 놀이'인 것일까.

뭔 짓을 하든 "좋아요, 구독, 공유, 댓글"을 많이 벌수록 더 크게 이긴다, 바로 이것이 유튜브 크리에이터 놀이의 핵심인데, 이것은 필연적으로 유튜브 영상을 만들기 위해 참여하는 경험들로부터 각자를 소외 내지 완전히 분리하게 된다. 주유소 직원 노인더러 "100원어치만 넣어 달라"라고 요구하고 이를 영상으로 올리는 인면몰수의 "꿀잼컨텐츠"는 그렇게 가능했던 것이다. 요컨대, 놀이의 목적과 체계가 놀이 주체에게서 유래하거나 주체에 귀속되지 않을 때 그 게임은 성립은커녕 걷잡을 수 없이 파행할 여지가 크며, 지금 청소년들의 "놀이"가 바로 그런 파국의 위험을 안고 있지 않느냐 추측된다는 것이다.


여기서의 파국이란 놀이 자체에 한하는 얘기가 아니다. 언젠가 "지면에 붕 떠서 살아본 적밖에 없는 세대"의 장래에 대해 조잡하게 쓸 때도 생각한 것인데 ― 이 세대는 자기가 놀이의 규칙을 만들 수 있다는 사실을, 언젠가 때가 되면 싫어도 어떤 규칙을 다함께 제정하고 따라야 한다는 진실을 마주했을 때 집단 패닉에 빠질 수도 있겠다는 생각이다. 예컨대 일본에서 (초고령화가 저지하고 있는) 헤이세이 세대의 사회 등장을 생각해 보면 그렇다. 이들이 정치를 해본 경험이 있는가? '블랙기업'을 고발하고 죄 주고 쓴맛을 보여준 적이 있는가? 고작해야 <아이돌 사변>을 있는 힘껏 비웃는 데서 그쳤지 않은가? 기성 정치인들이 우경화에 가깝게 뭔가를 밀어붙이는 것에도, 어쩌면 어느 정도는 그런 차원의 문제 의식이 있지는 않을까? (물론 그렇다고 우경화를 옹호하지는 못하겠다.)

그런데, 이 나라라고 사정이 썩 다르지는 않아 보인다. 이 나라 어린이 젊은이들도, 작은 정치, 작은 제도, 작은 판결, 작은 사회 역할 수행을 익숙하게 여러 번에 걸쳐서 해 본 경험이 없지 않은가 말이다. 지금까지 '놀이터에서의 놀이'를 통해 쌓을 수 있었던 이 경험들이, 동네 놀이터가 완전히 개점휴업 중인 지금, 쌓이기는커녕 맛봐진 적도 없지 싶다. 자연히 이 세대에서 완전히 소멸한 공유 의식들이 있다. '못해도 된다', '져도 된다', '죽어도 된다', '까짓거 다시 하면 된다', '싫으면 그냥 안 해도 된다' 같은 것들이 그것이다.

이 세대는 반드시 잘 해야만 하는 게임을 하고, 지거나 죽으면 안 되는 파티에만 속해 보았으며, 한 번 잘못하면 다시는 돌이킬 수 없는 고입이니 대입이니 하는 갬블을 당연히 받아들이는 세대다. 심지어 싫으면 안 해도 된다는 것조차도 어디서 느끼고 배운 적이 없으니, 못 견딜 만큼 뭔가가 싫어지면 무슨 수를 내거나 그냥 관두지 못한다. 대신, 열심히 궁리한 끝에, 그토록 요구받던 목표치 점수를 받아낸 다음 그 시험지에 "이제 됐어?" 한 줄 갈기고 여보란 듯이 몸을 던지고 만다.

관점이 너무 극단적이라고? 정말 극단적인 전망을 제시해 드릴까? 이들은 사회에 나와서, 그동안 그들이 부조리하다고 생각했던 모든 패악과 구습을, 고치는 게 아니라, 완전히 수용한 상태로 고착할 것이다. 그들의 삶은 하나하나가 거대한 의무가 될 것이며, 왜 사는지 도저히 알 수 없는 삶 투성이일 것이다. 절대 다수가 가라는 회사 가서 하라는 일 하고 받으라는 대출 받아 갚으라는 빚을 갚는 인생으로 점철할 것이며, 이게 뭔가 싶어지는 이들은 점점 더 많은 수가 '인간증발'을 할 것이다. 핵심은… 누구도 중간에 그렇게 선언할 수 있다고 배운 적이 없으므로, 더는 "씨발! 존나 재미없어! 이딴 거 그만하고 이제 딴 거 하고 놀면 안 돼?!"라고 중간에 외치지 않을 것이다. 대신 계속하여, 잔잔히, 숨막히게, 그들이 보고 자란 교실 같은 세상을 이어갈 것이다.


사실은 문득, 요즘 게임이라는 건 다 최종 목표가 있고 다르게 놀 수가 없구나, 싶었던 데서 시작한 생각이다. 그럼 요즘 게임 말고는 별다른 놀이를 해 본 적이 없는 사람들은 나중에 어떻게 되는 걸까, 를 계속 생각하니, 종국에는 좀 깜깜한 세상을 그려보게 된다. 그럴 수밖에. 행동 목적이 어딘가에서 내려와 주어지는 한 그런 세상에 무슨 가망이 있을 리가 없다.

무슨 결론을 지어서 어디에 마침표를 찍어야 할지 모르겠다. 차라리 지금이라도 나머지 세대가 다 들고일어나서 떼로 위선이나 좀 떨어 주면 어떨는지. "못 해도 돼! 져도 돼! 이긴다고 뭐 별거 없어! 쟤가 반칙 쓴다 싶으면 반칙 쓴다고 말을 해! 규칙이 없으면 니가 제안해도 돼! 하다가 잘 안 되면 좀 쉬고 깍두기로 들어와서 시작할 수 있어! 힘들거나 싫으면 그만해도 돼! 너 재밌겠다 싶은 걸 너 하고 싶은 방식으로 실컷 하다가 질리면 집에 돌아가도 좋아!" 음. 써놓고 보니 2017년 한국의 맥락에서 이보다 더 위선적인 꼰대소리가 있을까 싶긴 하다.



추기1: 다 써놓고나서 사전을 찾아보니 영단어에서는 play와 game의 의미가 다르다. play가 일반적 의미의 놀이를 뜻한다면, game은 놀이 중에서도 특히 특정한 목적을 두고 겨루는 놀이만을 한정해 뜻한다. 그렇다면 위의 기나긴 잡설은 결국 이렇게 요약된다. "game이 아닌 play를 해본 적이 없는 세대가 오고 있는 것은 아닌가."

추기2: 어딘가에 공유가 된 걸 보고 피드백들을 (셀프로) 받고 보니... 아닌게아니라 이 요지에서 세대론을 들먹일 이유가 전혀 없었지 싶다. 한동안 20대란 뭔가 청년이란 뭔가 하는 걸 생각하고 살다 보니 그 버릇이 남아서 공연히 불필요한 논지가 들어갔다. 일단은 수긍해 둔다. 내가 여기서 말하고 싶었던 넓은 의미로서의 놀이 ― 자주적으로 각자의 역할과 행동 요령과 규범을 수립하고 다양한 안전 장치와 제도와 문화 아래 이를 수행하는 체계 ― 를 점점 못하고 있는 것은 우리 사는 세상 전체이지 특정 세대가 (특히 더) 그렇다는 말에는 별 근거가 없달까 핵심 주제가 못된다. 이제 글 전체를 수정해야 하는데 그건좀 미루고 싶구먼 ㅠ

Posted by 엽토군

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

딱히 정리는 안된 잡감들. 쓰(려)고 보니 순 꼰대소리인 부분 ㅇㅈ합니다.

현재 이 나라의 청년 세대에게 ‘이번 생은 망했다’라는 관념은 아주 만연하고 광범위하다. 공감을 사기 쉬워서 콘텐츠 제작이나 칼럼, 기사 작성에 많이들 이용했고 나도 그랬다. 심지어 “헬조선”의 지옥도를 해체하고 재구성하는 핵심 키워드로서 청년 사회 붕괴를 말할 수 있는 방법이기도 하니, 너도나도 아주 즐겁게 이생망 이야기를 했다. 그런 서사의 생산과 소비는 과연 유효하고 유익하며 유의미할 것이라 믿었다.

재수생과 반수 이야기 - Sepia☂

그러나 이런 만화가 디씨에서 나와서 사방으로 돌아다니는 형국이 되고 나면 이제 ‘이번 생이 망했다’는 썰과 탄식은 오히려 하나의 장르, 좀 나쁘게 말하면 하나의 타령조가 되어가고 있지 않은가 하는 생각이 든다. 핵심은, 우리의 삶이 “현실은 시궁창”이라는 사실을 적나라하게 묘사하고 기록해 노출하고 묘사하는 일의 사회적 효용이 과연 그렇게 긍정적일 것인가 하는 점이다.

이 서사의 생산 양상은 흡사 386, 486들이 송강호와 황정민을 앞세워서 그들의 젊은 날을 스크린으로 보상 및 상찬받고 싶어하는 것과 본질적으로 대동소이하다는 생각이다. 동일한 점은 다들 모르지 않는 특정 세대의 목격담이며 경험담, 그들이 특정적으로 공유하는 정서와 사상을 굳이 예술 장르의 형태를 빌어 전시한다는 것이고, 차이가 있다면 ‘넥타이 부대’들은 그래도 뭔가 해봤다(해본다)는 모습으로 묘사되는 데 비해 ‘청년들’은 결말부를 증발 내지 페이드 아웃시켜 버린다는 정도일 것이다.

이는 확실히 그 세대가 내다보았던 미래상과 연결되어 있을 것이다. 386, 486들은 자기들이 세상을 바꿔나간다는 주인 의식이 충만했다면 그 직후 세대는 바로 그들, 삼촌 외숙부 할아버지뻘들에게서 “참교육을 시전”당한 입장이라 이렇다할 미래관 자체가 각별히 없다. 따라서 이들이 가지고 있는 것은 시궁창으로서의 현재, 그래도 한때는 퍽 멋모르게 즐거웠던 과거, 그리고 “이번 생은 분명 망했다”라는 대책 없고 확고부동한 결론뿐이다.

그런데 이 결론에 아무런 다음 스텝이나 돌파, 타개의 수가 전혀 없다 보니, 이 세대는 지금 이 결론의 무한 소급과 재생산을 수행하고 있는 것으로 보인다. 예컨대 이 만화가 그렇다. 현재 저 만화는 “공부 자극 확시켜주는 만화”로 홍보되어 유포되고 있는데, 여기서 아주 독특한 생산-유통-소비 행태가 관찰된다. 만화 줄거리 자체는 ‘별 노력 없이 그냥 가는 대로 가면 이렇게 된다’는 것인데, 이를 유통하는 측은 공부라는 노력이 없었을 때 이렇게 된다는 점에 주목하고(아마 동시에 소비하는 입장이라는 점을 유의해야 할 것이다) 이어서 “디테일 오진다”라며 우리가 이미 알고 있는 과거로서의 디테일에 주목한다. 주로 같은 세대인 이 만화의 소비자들은 극단적으로 과장되고 극화된 주인공을 욕하는 것—그리고 작품이 원하는 대로 그 감상에서 거의 한 발짝도 나아가지 않는다—을 주된 감상으로 삼고 있다.

이것이 이생망이라는 장르의 형성 과정을 보여주고 있다고 논해도 좋을까? 나는 그렇다고 본다. 이것은 장르 예술의 형식이고 소비 패턴이다. 그 장르에만 나오는 요소들, 그 장르가 천착하는 정서와 논리 구조의 세팅, 그 장르에서 응당 받아야 할 감상과 교훈 등이 정형화될수록 그것은 더욱 확실한 장르가 된다. 10대 후반에서 30대 초반까지의 현재 대한민국 사람들이 보고 느끼는 것들을 통해 특정한 느낌과 생각이 반복적으로 공고해지는 것을, 이 만화를 포함한 꽤 많은 매체와 콘텐츠에서 점점 목격하고 있다.

문제는, 이생망이라는 장르가 주는 감상이 퇴폐미보다는 퇴폐 그 자체에 더 가까우며, 이 장르에 세팅되어 있는 가치와 관점과 관념 체계가 다분히 퇴행적이랄까 후진적이라는 데 있다. 퇴폐미는 적어도 엄숙주의에 대해서는 반성을 촉구하는 데 비해 퇴폐 자체는 어떤 것도 반성하지 않는다(오히려 그런 것 따위 반성하지 않아도 좋다는 전제가 다분한데, 특히 이 만화의 결말부가 어떤 장면으로의 이행도 특정하지 않는다는 점이 이를 압축적으로 암시한다). 또한 “너(나)는 이마만큼 쓰레기 새끼다, 부모님께 죄송하지도 않냐” 같은 말들은 정말로 “공부 자극”을 시켜준다기보다는 마치 거울을 들여다보는 효과를 일으켜 그냥 자기의 ‘쓰레기 같음’에 더 주목하게 만드는 효과를 일으킨다. 정말 그러냐는 얘기는 묻지 마시라 그냥 이것 다 내 근거 없는 잡감이므로.

이 장르, 현시창 이생망 장르에 가장 가까운 역사상 유사 사례는 신파극이라고 보여진다. ‘불쌍한 새아가, 못된 시어머니’ 등으로 촌스럽게 정형화된 비극들은 분명 특정 세대 특정 집단에게는 지극히 유용하였으되 지금은 심지어 공중파 아침 드라마도 그렇게까지 대놓고 장르화된 신파극을 만들지는 않는다. 왜냐하면 아주 간단하게도, 우리가 정말로 그런 세상을 계속해서 쳐다보고 싶은 것은 아니기 때문이다. 그렇게 자학의 미학으로 점철했던 신파극이 한물 갔듯이, 아주 정교하고 정당하며 말리기 어렵고 모두에게 쉽게 전파되는 자조의 미학으로서의 이생망 역시 적절한 시점에 종말할 것으로 예상되기는 하지만, 다만 이 장르가 한 세대의 뇌리에 어떤 정서를 얼마나 각인할 것인가가 우려스럽다. 실로 우리는 신파극이 낳은 손녀뻘 장르, 막장 드라마를 지금도 보고 있지 않은가 말이다.

결론은… 장르로서의 이생망, 장르로서의 현시창이 형성되는 과정에 있다고 보여진다. 그리고 이 장르는 다분히 자기파괴적이랄까 지속 불가능하달까 바람직하지 않달까 뭐 그런 생각이 든다. 별로 듣기 좋은 소리도 아니거니와 자꾸 되풀이할 소리가 못된다. 할 거면 어떤 타개, 돌파, 최소한의 확실한 골계미나 퇴폐미를 확보하고 가야 한다. 이런 장르, 현재 청년 세대가 자기를 바라보는 관점과 그 표현상의 장르화를 이제는 덮어놓고 긍정하기 어렵다. 우리의 이번 생은 확실히 망했지만, 구체적으로 어디가 어떻게 망했는지까지만을 거듭 되풀이 서로에게 들려주는 일이 과연 어떤 예술적 역사적 공헌을 할 것인가 그런게 있긴 할까 하면 그건 의구하지 않을 수 없는 부분이다.

'4 생각을 놓은' 카테고리의 다른 글

탈-세트장 예능의 종언: <무한도전> 종영에 부쳐  (0) 2018.04.01
포주 레진  (0) 2018.01.31
장르로서의 이생망  (0) 2017.10.31
텍스트  (0) 2017.01.10
무식이 배짱이라고 한두 줄 더 얹어 보자면  (0) 2016.07.18
의제에 대한 생각 둘  (0) 2016.04.30
Posted by 엽토군

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

저 박스 쓰고 눈구멍 통해서 실제 공연 관람을 했던 그 10분을 생각한다.

앉아서 보고 있던 것은 "청이와 삼둥이"였다. 휴대폰만 들고 급히 달려가서 각도를 확인하고 자리를 잡고 포즈(?)를 취한 뒤 사진 나온 걸 확인하고 잠시 후 합류하겠다고 아주 잠깐 10분 정도 앉아있었다. 도대체 청이와삼둥이가 뭐하는 창극인가 애초에 창극이 뭔가 나도 좀 알자 싶어서. 가사 중간에 심청 얘기가 슬쩍슬쩍 나오길래 아 그거 맞구나 하고 확인만 하고(이 사실관계가 정말 그렇게 중요했다) 다시 또 뭔가에 쫓기듯이 슬며시 자리를 떠 다음 장소로 이동했던 걸로 기억한다.

홍보 콘텐츠로서 이 포스팅은 말하자면 배우 앞에 배경이 등장해 배우를 다 가리는 B컷이다. 단국대의 누가 나오는지(당사자들에게는 정말 중요한 커리어 아니겠는가?) 배비장전이 뭐 하는 창극인지(사실 아직도 모른다. 이제 찾아볼 생각) 그걸 정말로 앉아서 즐겨보니 어땠다든지(그때 내 감상은 잘은 몰라도 썩 나쁘지 않다는 것이었다) 하는 정보값은 정작 빈약하고 관객석의 누가 이상하다느니(사진 초점도 무게비중도 무대 주인공에 없다) "참신하고 유쾌"하다느니(내가 본 무대는 딱히 그렇지 않았다) 순 군말뿐이다. 공연을 미리 잘 알고 그걸 실제로 만끽하고서 감동을 느끼며 소식을 전해도 주인공들에게 각광을 줄까 말까인데 나는 이때 최후 수단이랍시고 비상물자처럼 갖고 있는 광목 한복 가져가서 당최 무엇을 하고 있었던 것일까.

누굴 탓하거나 죄줄 생각은 없고 그냥 그랬다는 얘기를 해보고 싶었다. 이렇게 하면 안 된다, 안 되었다는 어렴풋한 생각이 즉석카메라 사진처럼 피어올라 이제야 좀 잘 보이는 느낌이다. 우리는 프로들이 뭔가 약은 요령으로 쉽게쉽게 식상하게 해낸다고 생각하지만, 진짜 프로들은 즐길 것 다 즐기고 알 것 다 알아 가면서 제대로 치기 때문에 그게 쉬워 보이는 것이라고 생각한다. 지난 3년간 꿈을 꾸고 일어나서 생각해 보자면 어쩐지 그렇다.


전주세계소리축제 자체는 훌륭하다. 돈많이벌어 성공하면 5년에 한 번은 갈 생각이다. 전주 자체는 지금도 외국인들에게 서울 대신 추천할 만치 좋았으므로

'9 도저히 분류못함' 카테고리의 다른 글

2주년 기념  (0) 2017.10.08
블로그 유입키워드에 보여서 한줄 메모  (0) 2017.10.01
백엔드  (0) 2017.04.20
잊지 말아야 할 한 가지  (0) 2016.06.13
iYUPTOGUN  (0) 2016.01.30
그냥 생각을 해 봤는데  (0) 2015.04.06
Posted by 엽토군

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절


카테고리

분류 전체보기 (784)
0 현재 호주워홀 (6)
1 내 (326)
2 다른 이들의 (251)
3 늘어놓은 (34)
4 생각을 놓은 (69)
5 외치는 (70)
9 도저히 분류못함 (27)

달력

«   2019/01   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Statistics Graph