...++
=

붕괴

2014. 4. 23. 16:40

※ 텍스트로 스압이 있습니다.



얼마 전부터 wordpress로 홈페이지를 짜고 있다. 이걸 좀 빨리 만들어야 할 사정이 생겨서, 코덱스 페이지를 번갯불에 구워먹을 기세로 테마 고치고 플러그인 추가하고 세팅이며 수정을 하고 있다. 새로 플러그인을 활성화할 때마다, php 파일들을 열고 수정하고 새로고침해 볼 때마다 항상 조금씩 떨리지만 의외로 별 문제가 없어 신기해하고 있다. 하긴 그렇게 빠르고 간단하게 때깔 나는 웹 출판을 실현하고 싶어서 만든 게 워드프레스였다고 하니까. 지금은 CSS도 나름 꽤 세련되게 만들어 놓았고, 모바일 뷰는 전체를 한방에 만들어주는 플러그인이 있어서 일거에 해결했다. 이제 오픈만 하면 될 것 같았다.


어제 저녁까지는 그랬다.


상황은 이랬다. 원래 가지고 있던 무료호스팅 폴더에 워드프레스 설치 및 커스터마이징 작업을 다 해 놓았고, 막판에 도메인 문제 때문에 새로 무료호스팅을 하나 더 받아서 거기로 이주시켜야 할 상황이 되었다. 밤 11시부터 4시까지 꼬박 다섯 시간 동안 잘 모르는 영어 참조 사이트며 별로 없는 기술 가지고 끙끙 앓아 가면서 잘은 모르지만 따라하다 보면 어떻게든 되겠지 하는 심정으로 간신히, DB와 테마와 플러그인을 유지하면서 이러구러 옮겨 놓았다. 자고 일어나 한두 시간 더 만지니 도메인도 원활하게 적용되고 드디어 내가 원했던 사이트의 90% 정도가 완성되어서(어떤 기능들은 심지어 개선되기도 했다!), 아 이제 다 됐구나 내심 기뻐했다.

그러다가 알바 출근 시간이 되어서 출근을 했고, 무의미하게 반복되는 타이핑과 문서 제작 작업을 하다가 잠시 자율 휴식 시간에 숨이나 돌릴 생각으로 /wp-admin을 입력했다. 로그인하고, 관리자 화면에서 플러그인 에디터로 들어가, '모바일뷰의 카테고리별 보기 페이지에 카테고리 설명문만 추가하고 다시 일해야지' 하는 생각으로 /wp-content 폴더 속의 어떤 php 아래쪽에 이런 코드를 하나 넣었다. 코덱스에서 생각없이 긁은 것에 괄호 안만 고쳐 붙여넣으면서 생각했다. 분명 여기일 거야. 이거 집어넣으면 카테고리 설명문이 딱 뜨겠지? 빨리 이거 적용시키고 남는 시간에 딴 거 하고 놀아야지. 어디 보자...


<?php echo category_description( %s ); ?>


그리고 새로고침한 화면은 순백 그 자체였다.
내 눈을 믿을 수가 없었다. F12 눌러 확인한 태그라인은 가관이었다. body 태그 이하의 아무것도 로드되지 않은 상태였다. 데스크톱 뷰도, 모바일뷰도 통째로 코드가 꼬여 '폭파해체'된 것이었다.

문제가 거기서 끝이면 다행이었을 거다. 다시 관리자 화면의 에디터를 열고 방금 넣었던 걸 빼면 되니까! 근데 그게 되지 않았다. 에디터는 고사하고 관리자 화면 자체가 들어가지지 않았다. 아뿔싸, 방금 내가 (정확히는 모르지만) /wp-admin 쪽 코드까지 뒤섞어 버렸구나! 머릿속에 오만가지 생각이 다 들었다. 내가 최악의 경우 어느 스텝까지 뒤로 돌아가서 다시 와야 하지? 모바일뷰 플러그인 자체를 지우고 새로 세팅해야 하나? 일단 기존 설치본은 유지되고 있으니까 무료호스팅 전체를 지우고 다시 해야 하나?
나는 알바하는 곳 사무실 한복판에 덩그러니 혼자 앉아, 고요와 정적 속에서, 지난 몇 주간의 고생의 결과가 백색 화면으로 리턴되는 패닉을 겪고 있었다. 정말 흔치 않게 '멘탈의 붕괴'를 제대로 경험했다. 무의미한 질문이 종결 조건 없이 순환하기 시작했다. 아니 왜? 그 코드가 몇 바이트나 된다고 사이트 구조 전체를 비틀어 무너뜨리는가? 이렇게 짧고 간단한 코드의 어디가 잘못될 수가 있다는 거지? 근데 내가 그걸 정확히 어디에 붙여넣었더라?


이성의 두꺼비집이 다시 올라갈 즈음 마지막 질문이 실낱 같은 희망이 되었다. 그래! 아무튼 일단 그 빌어먹을 코드만 다시 뽑아내면 수습된다! 그런데 지금 원래 사용하던 플러그인 에디터는 전혀 가용하지 않은데, 어떡해야 하나? FTP? 이 컴퓨터에는 FTP 프로그램이 없다. 지금 그걸 깔 시간도 없고 정신적 여유도 없다. 웹 FTP? 쓰고 있던 호스팅 사이트의 웹 FTP는 아무짝에도 쓸모가 없었다. net2ftp.com에 들어갔지만 이렇게 잘 알려진 곳의 AJAX가 원활할 리 없었다. 속이 타들어갔다. 결국 아주 예전에 쓰던 무명 호스팅 사이트의 웹 FTP 신세를 다시 져야 했다. 그마저도 대책 없이 느렸다. 그리고 폴더 안에 웬 놈의 php 파일은 또 그렇게 많은지, 그리고 아까는 그렇게 쉽고 명확하게 찾을 수 있었던 라인이 왜 지금은 눈에 불을 켜도 안 보이는지 납득할 수가 없었다.

기억을 더듬어보려고 했다. 하지만 멘탈이 웹사이트 body와 함께 일시에 와르르 무너진 상태라, 게다가 다른 동료나 상사 어른들이 드나들기 시작할 즈음이 되자 침착할 수가 없었다. 보는 눈이 있을 땐 크롬 내리고 hwp 올려서 작업하는 시늉을 하면서도 머릿속은 양편에 다 집중하지 못하고 있었다. 집에 가서 몇 시간이나 더 이걸 붙잡고 있어야 수습이 될지 생각하니 울고 싶어졌다. 내가 뭘 한 거지? 역시 일할 때 딴짓을 하면 안 되는 거였는데! 지금 후회한들 무슨 소용이람? 이제 어떡하지? 이거 수습할 수 있긴 할까? 최악의 경우엔 뭘 해야 하지?


병크를 터뜨린 지 꼬박 두 시간이 지나서야 나는 내가 고친 소스가 fdn_archieve 함수에 연관된다는 걸 알았고, root-function.php를 열어서 그 저주스러운 코드를 삭제해 원상복구 시킬 수 있었다. 다시 한 번 거짓말처럼, 그전까지 작업했던 모든 것이 완벽하게 정상으로 돌아오는 것을 보면서, 나는 마냥 안심하지만은 못했다. 여전히 나는 경악을 그만둘 수 없었다.


세월호 참사 때문에, 그리고 이 참사가 보여준 이 나라의 붕괴상 때문에 그랬다.


굳이 하인리히 법칙을 들먹이지 않더라도, 우리는 어마어마한 재변이 일어나는 것을 볼 때 직관적으로 깨닫는다. 뭔가 잘못되어 왔다. 이것은 우연이 아니다. 적어도 대참사에 우리가 대처하는 자세나 경위를 보고 있으면 알 수 있다. 모든 것이 일사불란했더라면 이 정도의 난리는 나지 않았을 것이라고.


어제 내가 몇 주간 만들어 온 사이트를 무너뜨려 본 뒤 오늘 느끼는 것이 무엇인지 아는가? 그 사이트는 언제든지 무너질 수 있었다는 사실이다. 플러그인 제작자의 의도와 그의 설계 구조를 정확히 모른 채 모양만 내가 원하는 대로 바꿔서 슬쩍 가져다 쓰려고 하던 그 시점, 뭐가 어떻게 사용되는지도 잘 모른 채 온갖 플러그인을 깔고 지우고를 반복하던 그 시점, 플러그인의 소스 코드 자체를 내 입맛대로 고치겠다는 심정으로 플러그인 에디터 플러그인을 깔던 그 시점, 테마 CSS의 미디어쿼리쪽이 성가시다는 이유로 그 부분 전체를 주석 처리해 놓은 그 시점에서, 이미 사이트는 붕괴되고 있었던 것이다. 조금 있으면 여지없이 가라앉을 배의 객실에 구명조끼만 입고 가만히 있으라고 지시한 시점에서, 선원들이 해경과의 교신을 무시한 시점에서, 노후된 여객선에 층을 하나 더 얹은 시점에서, 선령이 지날 대로 지나 일본에서 버리는 배를 싸다고 좋다고 사서 인천에서 제주까지 돌린 시점에서, 그런 짓을 해도 되도록 규제를 풀어줄 대통령이 뽑힌 시점에서, 세월호는 침몰하고 있었던 것처럼.


그리고 그것은 무지, 무관심, 무성의, 바쁘다는 핑계와 당장 뭔가 보여줘야 한다는 성과주의 그리고 별 문제가 없으면 그걸로 괜찮다는 무사안일주의의 산물이다. 절대 한 개발자나 한 선장이나 한 대통령이나 한 교감의 문제가 아닌 것이다. (그렇기 때문에 세월호 참사는 몇 사람에 대한 징벌로 끝날 수 없다고 생각한다.) 당장 내가 소스 코드만 몇 메가바이트가 되는 웹사이트 하나를 어떻게 무너뜨렸는가 말이다. 이 기능? 잘 모르겠으니까 생략하고 걍 주석 처리해야지. 이 마진에 이 패딩? 내 취향 아니야. 없던 코드? 넣어서 돌아가면 되는 거 아냐? 구조적 안정성? 내일모레가 오픈하기로 약속한 날인데 지금 꼭 그런 거 신경 쓰고 있어야 해?


워드프레스를 쓰기 전에는 더 심했지만, 지금도 여전히 내 웹 개발 취향은 <!doctype html>부터 시작해서 처음부터 끝까지 메모장과 개발자 도구만 가지고 하드코딩하는 쪽이다. 코드에 색깔 넣어주는 메모장 유틸도 안 쓰는 편이다. 나보고 CSS를 짜라고 하면 엘리먼트 하나에 라인 하나라는 원칙을 적용하고 {} 괄호 안에서 엔터나 탭은 절대로 안 친다. 문과인 내 눈에는 괄호 앞의 요소 이름이 주어로 보이고 괄호 안이 서술어로 이해되기 때문이다. CSS를 다뤄 본 사람이라면 의심할 것이다. "그렇게 짜놓으면 나중에 수정하면서 소스 찾아볼 때 골치 아프지 않나요?" 그런데 그렇지가 않다. 내가 짠 코드는 내가 원했던 그림 그대로 돌아가거나, 적어도 어디의 무엇이 잘못되었는지 깨끗하게 파악할 수 있다. 그런데 정작 남들이 '미려하게' 짜 놓은 훌륭한 소스들을 보면, 분명히 최대한 알기 쉽고 논리 정연하게 짠 것일 텐데도 불구하고, 이해하는 데 적지 않은 시간이 걸린다.

그것은 고유하고 일관된 논리 구조의 문제이다. 명제를 추가할 때마다 출력 가능해지는 논리값이 제곱해서 증가하는 게 논리 체계이다. IFELSE 함수 짜는 것은  말할 것도 없고 하다못해 이 div를 먼저 입력하느냐 저 div를 먼저 입력하느냐에 따라 요소의 부모와 자식이 뒤바뀌는 게 웹 개발이지 않은가. 진짜로 실력 있는 웹 개발자는 CSS 트릭으로 인테리어 장난을 쳐서 인정받으려고 하지 않는다. 어떤 환경에서 접속하든, 확대 축소를 어떻게 하든, 어떤 글꼴이 기본글꼴이 되든, 나중에 무엇을 넣거나 빼더라도 일체의 논리값이 갑자기 붕괴하지 않게 하는 기술, 거기에 진짜 웹 개발자의 능력이 있다고 생각한다.


'대한민국'의 소스 코드는 어떤가? 일관된 논리대로 작성되기는커녕 그때그때 필요한 요소 붙여넣고 업데이트해서 유지 보수하기 바빴던, 그래서 기트헙에서 포크요청은커녕 레포 업로드하기도 부끄러울 코드임에 틀림없다. 일단 서양에서 추천해 주는 대로 저사양 리버럴리즘 서버를 하나 얻기는 했는데, "일단 사이트를 대박 터뜨려야 할 것 아니냐"라는 미명하에 어설프게 자유게시판 CGI 작성해서 죽어라 돌리고 트래픽 유입은 오는 대로 다 받고, 어디서 신자유 BGM 플레이어 주워다가 정지 불가능한 소스로 때려박고, 파이선인지 뭔지에 제이쿼리인지 뭔지를 접목한 커뮤니티가 유행한다니까 과거 CGI 게시판에 플러그인 갖다 끼우면서 "왜 이거 안 되냐, 우리도 쟤네들처럼 팍팍 돌아가는 것 좀 못 만드냐, 이러니까 랭키 순위가 그 모양이지" 헛소리나 하고, 발견되는 버그는 안 잡고, 허술한 게시판에는 광고 배너만 넘쳐나게 많고, 그러니 올라오는 게시물은 사이트 수준 따라 허접하기 짝이 없는데 운영진이 하는 일이라곤 그저 불량유저 차단, 강퇴, '굵은 빨간색 글씨'로 무섭게 번쩍이는 경고 공지 올리기뿐인 이런 역사를 한 50년쯤 지속했으면, 이젠 슬슬 최신 사양 소셜데모크라시 서버 하나 구해서 거기서 잘 돌아간다는 DB 관리툴이며 웹프로그램을 좀 깔아다가 적극적으로 테스트를 해 보고 체계를 세워서 이주할 계획을 세워야 하는데 그건 고사하고 최근에 게시판 컬러 테마만 빨간색으로 고친 다음 "새 시대를 맞아 새 색깔로 거듭난 새 사이트입니다"라고 몇주째 공지 팝업을 띄우는 뭐 그런 꼴, 그게 이 나라 꼴 아닌가? 이런 사이트에 뭐가 아쉬워서 누가 접속을 해 준단 말인가? "탈퇴하고 싶다", "이 사이트에서 활동하기 싫다" 같은 소리가 나오는 게 뭐가 이상한가? 우리는 정녕 우리의 나라가 '다음 카페' 혹은 '싸이월드 클럽'의 전철을 밟기를 원하는가?


경향신문이 꾸준히 밀고 있는 슬로건 "사회계약 다시 쓰자"는 그렇게 이해돼야 한다. 내가 만들고 있는 사이트가 두 번 다시 어제 저녁처럼 허망하게 무너지지 않으려면 우선 내가 워드프레스의 파일 연결 구조와 php와 db 돌아가는 원리며 CSS 하나하나까지 철저히 안 상태에서 내가 알아볼 수 있는 형태의 코드로 작성하는 것이 마땅할 것이다. 제 2의 세월호, 제 3의 성수대교, 제 4의 삼풍백화점을 만들지 않으려면 재난 관리 체제부터 하급 말단 공직자의 태도에 이르기까지 모든 것이 조금의 허술함도 없이 빠릿빠릿해야 할 것이다. 이 나라가 진정한 의미에서 발전을 하려면 체제부터 그 체제를 살아갈 사람 한 명까지 고유하고 일관된 논리에 따라 긍정적인 방향으로 변해야 하는 것이다. 더 큰 건물 한 채 더 짓고 더 큰 행사 더 유치한다고 해서 국가 경제가 나아지는 것이 아니라는 것을 우리는 보았으며, 배 안에 구명정 구명조끼 비치했다고 해서 승객 전원이 비상시에 안전 탈출할 수 있는 것이 아니라는 것을 우리는 보았고, 잘 이해하지도 못한 플러그인 소스를 눈치껏 살금살금 고친다고 해서 근본적으로 위태했던 워드프레스 사이트의 구조 붕괴가 원천 방지될 수는 없다는 것을 나는 보았다.


붕괴란 그렇게 필연적이고 느리게, 논리 정연하고 체계적으로 복잡하게 들이닥친다.

더 큰 붕괴는, "더욱 '구조적으로 불가피했고'", "더욱 '무지 무관심 무성의 무사안일에 기인한'" 붕괴일 뿐이다.

더 많은 것이 붕괴하고 있다. 내 웹사이트는 소스 코드 하나 넣었다 뺀 것으로 해결했지만, 세월호 참사는, 이 나라의 "병크"를 완전히 디버그하기까지는 도대체 얼마나 많은 라인을 지우고 빼고 넣고 고쳐야 할까? 까무러칠 것 같다.




우리는 그 엄마가 느낀 절망감을 15년이 지나서야 느끼고 있다. 미처 몰랐다는 듯한 얼굴로, 나와는 무관한 특별한 불행인 줄 알았다는 얼굴로 말이다. 우리는 박근혜씨의 대통령직 하야를 요구한다. 하야의 이유는 충분하다. 그러나 박근혜의 하야는 나의 하야와 병행되어야 한다. ‘어쩔 수 없는 현실’이라 말하며, 나와 내 새끼의 구명보트를 기대하며 이 살인 체제를 외면해온, 그래서 결국 99%에 해당하는 누구도 빠져나갈 수 없는 지옥을 만들어버린 내 삶으로부터 즉각 하야해야 한다. 그렇지 않다면 박근혜는 다른 박근혜로 교대될 뿐이다. 아, 우리는 이 지옥을 빠져나갈 수 있을까.

(김규항님)

우리가 만든 것은 물질이 생명을 압도하는 나라였습니다. 사회의 주요한 시스템이 오직 물질적 이익에 의해 움직이고 그 시스템을 정부와 관료, 법령이 뒷받침하는 괴물, 그 괴물에게 우리 아이들이 희생당했습니다.

대한민국을 다시 세워야 합니다. 몇 몇 희생양을 찾아내고 그들을 엄단하여 사태를 마무리 짓는 것으로는 아무것도 바뀌지 않을 것입니다. 재난 시스템을 손질하는 것으로도 충분하지 않습니다. 우리가 만들어야 할 나라는 기본에 충실한 나라입니다. 국민의 생명을 지키는 것을 최우선을 삼는 나라, 성공보다는 안전을 중시하는 나라, 공공의 이익이 사적 이익에 우선하는 나라, 생명과 안전을 지키는 분들이 소명의식을 가지고 일할 수 있는 나라입니다. 위험에 처한 국민을 구하기 위해서라면 국가의 모든 자원을 지체 없이 쏟아 부을 수 있는 나라입니다.

(김상곤님)

이 나라는 그 어디도 망가지지 않았다. 부자부터 가난한 자 까지, 합심하여 전통을 지켜가고 있기 때문이다. 성수대교 붕괴에서 세월호 참사까지, 모두 그저 전통이 무사히 지켜지고 있다는 신호에 불과하다. 모든 참극은 성장주의 계획의 파편이며, 그 계획이야 말로 우리가 망가뜨려야 할 대상이다. 선거 때까지 기다리자고? 맙소사, 우리는 이윤보다 생명이 더 중요하다는 말을 하고 있을 뿐이다. 이것을 확인하는데 투표가 필요하단 말인가?

절벽으로 질주하는 고속도로를 우회하는 길은 거친 숲길 뿐이다. 생명의 대척점으로 가는 경로에서 과속을 주장하는 이 정권을 제거해야 한다. 그 후로 더 이상은, 이 경로를 폐기하려 하지 않는 그 어떤 정권도 진입을 용납하지 않아야 한다. (중략) 저 놈들을 당장 쫓아내자!

(청년좌파 공식 입장)

이번 사고가 정파의 문제인가. 이념의 문제인가. 국가 시스템의 근간에 관한 문제이다. 우리 국민들의 생명과 안전에 관한 문제이다. 우리는 국가 시스템의 근간이 뿌리째 허물어져 있으며, 우리 국민들의 생명과 안전을 국가가 절대 보장해주지 않는다는 사실을 뼈저리게 인식했다. 이 문제야말로 여야 가리지 않고 정당이 나서야 하며, 이념과 학문적 입장 가리지 않고 지식인과 전문가 그룹이 발언해야 하는 사안 아닌가. 이번 일을 당하고도 대한민국이 시스템을 바꾸지 못한다면 사람들은 깊은 절망과 냉소주의로 흐를 것이며, 이 나라는 어쩌면 퇴행을 거듭하게 될지도 모른다. 그렇게 되면 대한민국이라는 나라는 형태는 남아 있되, 실제로는 망해버린 나라가 된다.

(선대인님)


'1 내' 카테고리의 다른 글

너네 집 변기 몇 개야?  (0) 2014.10.18
(근황) 성실에 대하여  (0) 2014.07.21
좋아요 파티가 끝나는 날  (0) 2014.03.31
진로 선택 때문에 고민하는 꿈나무들에게  (5) 2013.10.18
권리금  (4) 2013.09.13
Posted by 엽토군
:

카테고리

분류 전체보기 (797)
0 주니어 PHP 개발자 (7)
1 내 (320)
2 다른 이들의 (254)
3 늘어놓은 (37)
4 생각을 놓은 (71)
5 외치는 (76)
9 도저히 분류못함 (31)

최근에 올라온 글

최근에 달린 댓글

달력

«   2024/12   »
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