...++
=


​​MVC 구조
- 주말 군부대라고 생각하면 알기 쉬움.
컨트롤러: 당직사관. 상황 판단을 해서 작업을 하거나 준다. 근데 저 혼자서 할 수 있는 일이 거의 없어서 보통은 일단 모델부터 부르고 본다.
모델: 상황병. 필요한 변수를 컨트롤러에게 물어봐서 그거 갖고 자료 뽑은 다음 뷰를 차출해서 작업한다. 사실상 거의 모든 실무는 얘가 혼자 다 함.
뷰: 일반병력. 쪽수가 많다. 각종 물자(HTML JS CSS 등등)갖고 다니면서 모델이 뽑아준 자료 보고 컨트롤러가 시킨 삽질을 해놓는다.


codeigniter 세그먼트
- 밑줄친 세그먼트가 주로 $this->uri->segment(n) 꼴로 호출된다.
- 아 물론 자기가 일일이 섬세하게 routing을 해둔상태라면 할말음슴
0: CI가 깔린 루트폴더. 여기까지는 ㅈㄴ 퍼블릭경로임.
1: 지금 보고 있는 화면 담당 컨트롤러 이름. 앱 복제의 경우를 대비해 고정값으로 적지 않는다.
2: 지금 보고 있는 화면을 만드는 함수(메쏘드)명. list, view, write...
3: 그 함수가 받아야 할 변수. 주로 DB 내 테이블명이나 옵셋(리밋)값.
(2n+2): 그 함수에게 추가로 알려줘야 할 변수명. page, id...
(2n+3): 그 추가 파라미터에 담겨야 할 값. 주로 DB 테이블 내 필드명이나 입력값.


codeigniter 페이지네이션
- "UI를 만들어주는 것뿐".
Q. $config['per_page']에 7을 할당했더니 3페이지 주소 세그먼트에 3이 아니라 14가 뜬다. 근데 이 와중에 게시물들 자체는 에러 없이 잘 뜬다. 왜 이러나?
A. $config['use_page_numbers']가 기본값인 FALSE로 되어 있어서 그럴꺼다. CI 입장에서 페이지 변수는 기본적으로 그 페이지 맨 첫줄에 띄울 아이템의 id 숫자("index")다. 그러니까 너님의 설정대로라면 1페이지에는 id가 0인 자료부터 6인 자료까지가 나오고, 3페이지에는 id가 14인 아이템부터 20인 항목까지가 나올 것이다. 그게 ㅈㄴ 정상이다.
Q. 난 그게 싫다. 3페이지로 가는 링크의 페이지 세그먼트가 당연히 3이어야 되는 거 아니냐? 그렇게 하려면 어떡하면 되나?
A. 어쩌긴 뭐 어째 $config['use_page_numbers']에 TRUE 주고 ㅈ빠지게 로직 짜야지 뭐. 전체 자료를 아이디 내림차순으로 가져오되 (페이지세그먼트값)*$config['per_page']-1을 뒤끝으로, (뒤끝)-$config['per_page']+1을 앞끝으로 해서 가져오는 LIMIT 쿼리문을 작성해야 될 거다. 골치 아프면 하지 말든가.


​​jquery.AJAX()
- 기본 코드 얼개는 다음과 같다.

$('#폼전체id').submit(function(e){ ◀1
  e.preventDefault(); ◀2
  if (폼 전송 거부 조건) {
    alert("이 폼은 전송 못하겠습니다.");
    return false; ◀3
  } else {
    $('폼 서브밋 버튼').html('로딩중…').attr('disabled','disabled');
    $.ajax({
      type: 'POST', ◀4
      url: '폼처리.php', ◀4
      data: $(this).serialize(),  ◀4
      dataType: 'json' ◀5
    }) ◀6
    .done(function(data){ ◀7
      alert(data['title']+"에 대한 정보를 찾았습니다."); ◀7
      $('#받아온 데이터를 사용할 객체').html(data['author']+"이(가) 쓴 +"data['title']"+에 대한 상세정보입니다."); ◀7
      $('#데이터 가지고 manipulate시킬 다른 객체').html(data['detail']);
 ◀7
      $("아까 disabled 시켜놨던 폼 서브밋 버튼").html('새로 시작').removeAttr('disabled');
      // 기타등등 하고 싶은 모든 작업
      })
    }) ◀6
    .fail(function(){
      alert("실패! 다시 시도해 주세요.");
      $('아까 disabled 시켜놨던 폼 서브밋 버튼').html('재시도').removeAttr('disabled');
      // 그밖에도 시키고 싶은 작업
    });
    return false; ◀8
  }
});

- 이하 조금 창피할 정도로 디테일한 설명
1: 제이쿼리에 들어 있는 submit() 는 개이득 메쏘드. 4번 참조
2: 해당 폼 태그의 action 속성과 무관하게 이하의 코드를 작동시켜야 하므로 선택이 아닌 필수. 폼태그의 action="어쩌구" 부분을 통째로 생략하는 것이 여러모로 가장 안전.
3: 매우 기초적인 JS 상식인데 몰라서 고생한 부분. 아무 동작도 하지 말라고 지시하고 싶을 땐 십중팔구 리턴폴스가 답이다.
4: jQuery.AJAX() 메소드의 필수값들은 type, url, data. 나머지는 없으면 없는대로 돌아가는데 이 셋은 꼭 있어야 한다(애당초 폼전송을 기본으로 하는 API이므로 당연하다 하겠다). ajax 호출 조건이 폼전체의 submit 메소드 호출일 경우, 이 시점에서 $(this)는 곧 바로 그 폼 전체이므로, 'data'에는 그냥 $(this).serialize()를 부여하면 끝. (이걸 안 쓸 경우 json 형식으로 일일이 매핑해 줘야 함.{'title':$('#title').val(), 'author':$('#author').val(), …} 하는식 ㅋ)
5: 'datatype'은 안 되고 'dataType'이 됨. 'url'에 지정된 폼처리.php로부터 어떤 데이터가 반환되는가가 이후 .done()과 .fail() 그리고 여기 쓰지 않은 .all() 메소드의 판별 기준이기 때문에 여기에 부여되는 값은 사실 상당히 중요하다. 'dataType'에서 'json'을 지정했는데 php가 함수 맨끝에 echo() 를 돌려서 text를 뱉었을 경우에는 얄짤없이 .fail() 내부가 실행됨. ajax() 메쏘드의 진가는 json을 받아와서 처리 가능하다는 데 있다. 7번 참조
6: 기본 얼개가 $.ajax().done().fail(); 형태임. 이 부분에서 괜히 누구처럼 세미콜론 열심히 찍어서 에러 내지 않도록 한다.
7: 여기서 변수명 'data'를 다른 걸로 바꾸면 작동을 안 함. 코드 결벽증이 있지 않고서야 그냥 냅두자. 자료 참조 방법은 그냥 json 배열 참조랑 똑같음. 위 코드를 보고 어떻게 사용 가능한지 짐작해 보자. 개발자 도구의 response 부분을 들여다보는 것은 매우 도움이 된다.
8: ㅈㅅ 솔직히 나 이거 왜 넣었는지 모름 ㅋ if else로 에러 처리를 했는데 이도저도 아닌 상황에 아무것도 하지 말라고 걸어둔 건가... try catch로 바꿔야 되나... 에이 몰라



추가예정


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

iYUPTOGUN  (0) 2016.01.30
그냥 생각을 해 봤는데  (0) 2015.04.06
Noto Sans KR woff  (2) 2014.07.31
본의 아니게  (0) 2014.01.16
스마트 재생목록 updated better  (0) 2014.01.02
Posted by 엽토군
:

초조함

2014. 12. 20. 01:17

“뭘 왜 그렇게 서둘렀어? 도대체 뭐가 그렇게 바쁜데?”

그러게나 말이다. 지난 며칠 아니 몇 주 동안 마음이 바쁘고 뭔가가 계속 조바심이 났다. ​뺨 한 대 얻어맞은 기분이 되어 문득 정신을 차리고 보니, 나, 지금 초조하다.

두번이고 세번이고 기말 리포트 제출이 어디로 언제까지 어떻게인지를 묻고 있질 않나, 코드이그나이터 자습서를 빌렸으면 빌린 것이지 당장에 시작이라도 할 것처럼 그 두꺼운 넷북이며 책까지 꾸역꾸역 들고 다니다 괜히 종이가방이나 찢어먹지를 않나, 도서관 자리 없어질까 모바일 학생증을 두번 세번 찍고 있질 않나, 심지어 아직 오려면 멀었을 학교 토익 개강날과 대출도서 반납일과 아무도 재촉하지 않은 당첨자 발표에 바짝 쫄아서 신경을 쓰고 있질 않나… ​이젠 이번 뻘짓이 이 정도이길 다행이란 생각도 살짝 든다.

문득 노후화를 생각한다. 지금 이 초조함은 내가 늙어버렸다는 신호일까? 왜 그런 말 있잖은가, 잘못 늙으면 조급함과 괴팍함만 남는다고.

왜 그럴까, 조급함이란 뭘까 생각해 봤는데… 이 초조함은 ‘늦으면 안 된다’라는 강박에서부터 비롯하지 않는가 싶다. ​실제로 나날이 뭔가가 단단히 늦어가고 있다고 느낀다. 연애경험이, 사회진출이, 철드는 속도가, 내가 기획하고 진행해야 한다고 나 혼자 믿은 이벤트의 당첨자 발표가, 졸업이, 숙제 제출이, 전공 이해 속도가, 그밖에 내가 인지조차 하지 못하는 무엇인가들이 기한이 임박했거나 이미 지나간 것 같은 것이다.
분명히 지금은, 물론 과제를 두 개 제출해야 하는 미묘한 기간이긴 하지만, 엄연히 방학 기간이다. 그리고 오늘 나는 방학 중의 내가 으레 그렇듯 뭔가를 다운받고 뭔가를 읽거나 보고 뭔가를 막 혼자 만들면서 잘 놀았다 그런데 ​정말이지, 유례 없이, 혐오스러울 정도로 불편한 맘으로 놀았다. 그 이유가 비단 엄마가 친정 가고 없어서 집에 강아지 콩돌이랑 나뿐이라는 데만 있는 건 아니었다. 통합진보당 해산이 헌재에 의해 선고되었다는, 내 인생에서 일어나고 있는 일이 맞는지 의심스러울 만큼 허탄한 일이 있어서만도 아니었다. ​다만, 그냥 있지 못하는 나 자신을 본 하루였다. 꾸역꾸역 먹고 놀고 누웠는데, 그래도 되는 것이었는데, 나 혼자서 그걸 제풀에 견디지 못했다. ​그래서 단독 판단을 내리고 뭔가 덜 초조해질 것 같은 일을 만들어서 했다. 정신이 들었을 때는 이미 늦었다.

우선 내일 잘 대답하고 잘 혼나고 잘 수습하는 것이 급선무다. 그리고 하여튼 해야 하는 일들에 즉시 착수를 해야겠다. 죽이든 밥이든 되겠지. 그것들이 일단락 되면 하루를 딱 정해서 정말 맘 편하게 놀겠다. 근데 지금 내 상태에서 그게 바로 될지는 모르겠다. ​난 내 머릿속으로 이런저런 일들을 컨트롤할 줄 알게 되었다고 생각했는데, 그저 초조함의 숯불만을 머리 위에 쌓고 있었다. 지금도 일단은 그렇지만 화요일부터는 확실히 ‘먹고 대학생’이다—근데 어쩌다 나는 그토록 내가 좋아하고 선망하며 잘 하기도 했던 그 신분 역할조차도 제대로 못 하는 노심초사 얼간이가 되고 말았나? 다만 그것을 도저히 모르겠다. 졸업반이 되면 다들 이러나 싶기도 하고…

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

백업  (0) 2015.06.16
둠칫둠칫  (0) 2015.05.14
확인받고 싶은 것은 사실이지만  (0) 2014.01.04
요즘  (0) 2013.12.14
설정 평가 부탁 좀 하지 마 ㅄ들아  (2) 2013.10.06
Posted by 엽토군
:

페르시아에서는 왕이 미치면 카프카스로 전쟁을 하러 간다더니 저는 요즘 웹진 만들면서 꾸역꾸역 삽질하며 본의 아니게 키운 기초체력을 활용하여 오도방정 뛰어다니는 중입니다. 음… 이번 학기 성적은 과연 어떨까…


저번에 올린 Noto Sans 테스트 페이지는 건너뛰고, 그 이후 추가로 작업한 것들을 부끄러우나마 올려 봅니다 *-_-* 참고로 위에 있을수록 최신작(?)입니다.



is.gd / waa.ai URL shortener

완전히 개인적인 이유로 작업함. 뒤에 ?from=주소 형식으로 넣으면 prompt를 띄워서 축약주소를 가져갈 수 있게 해놓았다. 에러 핸들링까지는 했는데, isset()은 다룰 줄 모르겠어서 일단 못 함. (그리고 그걸 각 쇼트너 api들이 알아서 해주고있다... ㅋ... ㅋㅋㅋ... 역시 개인의 무능이 체제의 공교함으로 커버되는 21세기로군 ㅋㅋㅋㅋㅋㅋㅋㅋ) 기왕이면 프롬프트 종료 후 history.back()까지 먹여주면 좋았겠지만, 그건 아직은 내 능력 밖이라고 생각된다.

북마크릿으로 쓰시려면 적당한 즐겨찾기를 만드시고 주소를 아래와 같이 수정하세요.

is.gd

javascript:void(location.href='http://eojin.esy.es/isgd.php?from='+encodeURI(location.href))


waa.ai

javascript:void(location.href='http://eojin.esy.es/waaai.php?from='+encodeURI(location.href))

핵심: PHP JSON 파싱 // 다차원 배열 참조 // 에러 핸들링 // sgwlan에서 waa.ai가 멀웨어로 캡쳐되는 문제에 대하여 -_-;



Y'over There!

태어나 처음으로 작성해 본 php 웹앱(?). Yo 사용자에게 메시지 내용이 파라미터로 담긴 PHP url을 GET방식으로(;;;) 전송한다. 수신자는 * from YOVERTHERE라는 노티를 받고, 눌러 보면 송신자가 보낸 메시지가 나온다. 그냥 Yo라는 초단순 앱을 가지고 API 실습을 해 보는 데 의의가 있었음.

핵심: API 사용하기



adblock bookmarklets

픽시브 광고 안보이게 없애기(for touch.pixiv.net):

javascript:(function(e,a,g,h,f,c,b,d){if(!(f=e.jQuery)||g>f.fn.jquery||h(f)){c=a.createElement("script");c.type="text/javascript";c.src="http://ajax.googleapis.com/ajax/libs/jquery/"+g+"/jquery.min.js";c.onload=c.onreadystatechange=function(){if(!b&&(!(d=this.readyState)||d=="loaded"||d=="complete")){h((f=e.jQuery).noConflict(1),b=1);f(c).remove()}};a.documentElement.childNodes[0].appendChild(c)}})(window,document,"1.3.2",function($,L){$("span[css*='premium_info_bar'], span[class*='premium_info_bar'], .comic-banner, a[href*='premium'], .ad-banner, #add-to-home-screen, .premium-page, .info, .ad-container, .ad-body, div[id*='nend'], div[class*='ads-']").css("display","none");});


경향신문 모바일 광고 숨기기(for m.khan.co.kr):

javascript:(function(e,a,g,h,f,c,b,d){if(!(f=e.jQuery)||g>f.fn.jquery||h(f)){c=a.createElement("script");c.type="text/javascript";c.src="http://ajax.googleapis.com/ajax/libs/jquery/"+g+"/jquery.min.js";c.onload=c.onreadystatechange=function(){if(!b&&(!(d=this.readyState)||d=="loaded"||d=="complete")){h((f=e.jQuery).noConflict(1),b=1);f(c).remove()}};a.documentElement.childNodes[0].appendChild(c)}})(window,document,"1.3.2",function($,L){$("#nbpmobilead_div, #mz_wrap, #div_photolink, iframe, .m_btm_ad, span[class*='_2beon'], div[class*='_2beon']").css("display","none");});

다른 php로 넘어갈 때마다 새로 눌러줘야 하는 매우 불편한 애드온. 쉽게 말해서 실제로는 쓸모가 없다. 그냥 jQuery로 작성한 스크립트로 북마클릿을 만들 수 있다는 데 의의를 두기로. 그놈의 동일출처 정책이 뭔지...

(혹시나 써보고 싶으시다면 다음과 같이 합니다. ①아무 페이지나 북마크(즐겨찾기)에 추가하세요. ②위의 코드를 쫙 복사하세요. ③방금 북마크한 페이지를 수정(편집)합니다. 이름은 적당히 "픽시브 광고 ㄲㅈ" 같은 걸로 바꾸시고, 기존 주소(URL)를 지우고, 방금 복사한 위의 코드를 붙여넣고, 저장 또는 적용하세요. ④해당 사이트를 돌아다니다가 광고가 짜증날 때마다 북마크를 누릅니다. 끗)

핵심: benalman.com/code/test/jquery-run-code-bookmarklet (...;;;)



초간단 선택지 카드

웹진에 사용할 일이 있을 것 같아 꼬박 3시간 걸려 만든 j쿼리 장난입니다. 각 카드에는 고유번호 id가 붙어 있고, 버튼을 누르면 버튼에 부여돼 있던 번호를 고유번호로 가지는 카드가 나타나는 식이죠. 실행취소 버튼은 만들 수가 없다는 게 함정 ㅋ

핵심: replace(/\D/,'') // $(".phase[id=p"+to+"]").show();



초간단 폰 배경화면 생성기

제가 혼자 쓰려고 만든 것인데 사용법은 간단합니다. 두 개의 빈칸에서 색을 선택하고 SET을 누르면 그라데이션이 만들어지는데 이거 그냥 SAVE IT 눌러서 저장해 쓰면 되는겁니다. 색은 hex와 name을 지원하고, 잘 모르겠으면 그냥 옆의 RANDOM 누르면 알아서 채워줍니다. 모바일에서 SAVE가 잘 안 되시는 분들은 기본 브라우저에서 직접 열어봐 주세요.

핵심: Math.random 함수로 0부터 ffffff까지 사이에서 랜덤 돌려 16진수로 반환받기 // 문서 전체 내용에서 특정 클래스 찾아 셀렉트하기 // toDataURL 메소드로 base64인코딩해서 href로 돌리기



초간단 더보기 버튼

웹진 워드프레스에 삽입할 자체 제작 숏코드용으로 목업했던 것입니다. 실제 shortcode 함수에서는 [more text="버튼에 들어가는 말" colorback="버튼 색과 말풍선 테두리 색" colortext="버튼에 들어가는 말의 색"]말풍선에 들어갈 말[/more] 구조로 사용 가능합니다.

핵심: .next() // calc(50% - 14px); // border-left-color, border-left-style 등으로 잘게 쪼개어 지정해주고 jQuery에서 꼼꼼하게 셀렉트하기



위키백과 링크 자동 전환기

역시 웹진 개발 과정에서 쾌적한 독자 경험을 위해 혼자서 뚝딱뚝딱 짜본 코드입니다. 문서 내의 wikipedia를 포함하는 모든 링크에 대하여, 사용자가 모바일로 접속했을 경우 링크를 모바일 전용 링크로 덮어씁니다. 위키백과가 아직은 자체적으로 리디렉션을 하지 않는 게 이상하다 싶어서, 그리고 제가 폰으로 보는 PC뷰의 잔글씨를 참을 수 없어서 만들었습니다.

핵심: if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { (…함수…) } // position:absolute; top:50%; left:50%; transform:translatex(-50%) translatey(-50%);



비상용 명함 제조기


페이지가 시키는 대로 버튼을 누르거나 입력하다 보면 명함이 완성됩니다. 우클릭해서 다른 이름으로 저장해 쓰면 되는 것이지요. (그렇습니다 이때는 아직 toDataURL같은 건 꿈에도 몰랐습니다.) canvas를 배우느라 여념이 없어서 많은 뒷이야기가 있었지만 그냥 이제는 다 잊기로 한 참 서글픈 코드였습니다. 처음 만들었을 땐 너무 웃겨서 낄낄거리면서 했다고 합니다.

핵심: 문서 로딩 시점에서 하얗게 색칠된 명함 크기 캔버스 작성 // 이미지를 file로 받아와서(이 원리는 아직도 모름…) 또는 기존 URL로부터 삽입 // 버튼 클릭하면 그 버튼 근처 input에서 val 얻어다가 캔버스에 뿌리기



친척용 컨디션 카드


잘 읽고 자기가 해당이 있는 조건들을 클릭해 선택하고 출력해서 목에 걸고 다니면 되는 카드입니다. 여기 올라온 코드들 중 제일 구현이 막막했던 녀석인데 j쿼리 없이 checkbox "마법"으로 해결하는 레퍼런스가 있어서 그걸로 해결봄. “어진이 아이디어는 어진이가 디자인까지 해야 100%가 나오는 것 같아”라는, 마냥 기분 좋아할 수만은 없는 피드백이 있었습니다.

핵심: checkbox 자체는 숨기고 그 옆에 label for로 연결을 시켜 여기에 각 노드를 넣음 // .checkbox-class:checked ~ .class // @media print로 not:checked display none



flickOut bookmarklets

javascript:(function(){var a=document.getElementById('allsizes-photo').getElementsByTagName('img')[0].src;prompt('Ctrl+C to use it :-)',a)})()

flickr.com에서 저작권이 'All Rights Reserved'로 설정돼 있어서 다운로드를 못 하는 사진들이 있을 수 있죠. 하지만 이런 사진들도 '모든 크기 보기' 페이지는 지원하는데요, 거기서 사용하시면 됩니다. 이 북마클릿을 설치해 두셨다가 "https://www.flickr.com/photos/(영숫자)/(숫자)/sizes/(알파벳)"처럼 생긴 주소의 모든 크기 페이지에서 북마클렛을 실행해 주세요. 이미지 주소를 복사할 수 있는 경고창을 띄웁니다.

핵심: getElementById, getElementByTagName.src (네 그렇습니다 왕초보 코드입니다.)



앞으로도 추가가 될… 까나?

혹시나 소스를 보시거나 포크하시려거든 코드펜 현관에서 엽토군을 찾아주세요.

Posted by 엽토군
:
무한도전?



'1 내 > ㄷ 그림' 카테고리의 다른 글

공중파 가시내 62  (0) 2015.04.25
지상파 가시내 61  (0) 2015.03.24
쓸모없는 5호선 노선도  (0) 2014.10.18
방송국 가시내 59  (3) 2014.10.13
공중파 가시내 58  (0) 2014.10.07
Posted by 엽토군
:

실제로 쓸모가 있는 지하철 5호선 노선도가 필요하신 분들은 차라리 네이버 지도다음 지도로 가세요! 여기 올린 노선도는 쓸모가 없는 노선도입니다!


실로 그림 카테고리에 뭐 올리기는 오랜만인데... ㅈㅅ합니다.
업데이트: 네이버 검색에서 괜히 들어와봤다가 실망하시는 분들이 있는 듯해 RSS 갱신차 최신으로 올립니다.


흔히 볼 수 있는 5호선 노선도는 이런 식입니다. 5호선이 T자형으로 뻗어 있고 나머지 노선들은 환승 정보 외에는 아무것도 없지요.


"그럼 도대체 저렇게 5호선 밖으로 뻗어나간 나머지 노선들은 어떻게 맞물리는 걸까" 하는 생각에서 출발해서, 아주 잉여로운 프로젝트로, "5호선을 T자형으로 쫙 펴서 먼저 그려 놓고 5호선 위주로 나머지 노선을 그 위에 억지로 왜곡해 그려보자!"라는 기획을 해 봤습니다.




그리고 (꼬박 3시간 걸려서) 실제로 했습니다.


5호선 위주로 보는 서울 (C)2013 by yuptogun.tistory.com130227 제 1.0판입니다. 클릭하시면 1920 사이즈로 보실 수 있을겁니다.


The total length of this line is 52.3 km and it is the 3rd longest fully underground subway line in in the world just behind Guangzhou Metro Line 3 and Beijing Subway Line 10 (see world's longest rapid transit tunnel).

이 노선의 총 길이는 52.3km로, 광저우 3호선과 베이징 10호선에 버금가는 세계 3위 최장 전체 지하 노선이다. [출처]


  1. 이 노선도의 저작권은 엽토군(김어진)에게 있습니다. 무단 도용을 엄금합니다.
  2. 역은 기점들만 표시했습니다. 심지어 노선 번호도 표기하지 않고 나머지 노선 색깔도 입히지 않았습니다. 서울을 5호선 위주로 보는 사람을 위한 지도입니다. 만약 이 노선도를 굳이 활용하겠다고 한다면 '*호선 ~방면으로 환승하는 ~역', '~역과 ~역 사이의 목적지 *역' 하는 식으로 읽는 수밖에 없겠지요. 뭔말인지 모르면 말구
  3. 5호선을 제외한 모든 노선은 정확도보다 아름다움(?)을 중시하기 위해 (그리고 도저히 다른 노선을 일일이 왜곡시키는 짓은 손과 머리로만은 할 수가 없어서) 역간 거리 비례가 거의 맞지 않습니다. 예컨대 신도림과 대림, 구로와 가산디지털단지 등이 엄청나게 과장되어 있습니다. 2.0으로 판올림을 하게되면 서울 남서부 저쪽도 어떻게 건드려질라나 근데 엄두가 안ㅋ남ㅋ
  4. 따라서 이 노선도는 거의 실용성이 없고 그냥 서울을 다른 모습으로 보는 목적만 실현한 셈입니다. ㅋ...ㅋㅋ... 나란녀석 못난녀석




원본 파일을 올려둡니다. 저작자표시-비영리-변경금지 2.0 대한민국 CC라이선스를 따릅니다.


JPG 3537*2464 2MB+ / PDN 6MB+

'1 내 > ㄷ 그림' 카테고리의 다른 글

지상파 가시내 61  (0) 2015.03.24
공중파 가시내 60  (0) 2014.11.20
방송국 가시내 59  (3) 2014.10.13
공중파 가시내 58  (0) 2014.10.07
최근에 만든 포스터들  (4) 2014.04.18
Posted by 엽토군
:

너네 집 변기 몇 개야?

2014. 10. 18. 10:20

집안 변기의 개수가 그 집의 계급이다.


고은 시인은 <지붕>이라는 시에서 "지붕이 그 집의 사주팔자다"라고 읊은 바 있다. "기와만년 기와집은 기와로 지붕을 하고 / 굴피천년 굴피집은 굴피로 지붕 얹고 / 초가삼간 지붕이야 짚으로 지붕 이고" 산다고 말이다. 오늘 아침 샤워를 하던 어머니를 쫓아내다시피해서 헐레벌떡 화장실에 들어가 급한 일 보고 나오는 길에 문득 생각이 미친 것은, 지금 시절은 지붕 말고 집안의 변기 개수가 바로 그 집의 팔자, 못해도 현재 처지를 보여주는 것 아닌가 하는 점이다.


지금 이 나라 대부분의 집은 내부에 화장실이 있고, 세면실과 욕실을 겸한 경우가 많다. 그 개수는 아마도 한 개인 경우가 가장 많을 것이다. 어떤 집에 변기가 하나 달리는가? 뻔하지, 단독주택 월세방이나 연립주택이 그러겠지. 변기가 하나만 있어도 저들끼리 어찌어찌 잘 융통하고 살아갈, 그래서 굳이 변기를 두 개 이상 달아 줄 이유가 없는 생활의 사람들, 피차 일이 많아 집에서 일을 볼 일이 많지 않은 소가족 혹은 1인 가구들이 그렇게 살고 있을 테다. 그들은 자기가 화장실에 들어갔을 때 다른 식구에게 폐가 되는지 어떤지를 항상 주의하고 있으며, 그래서 모종의 시간 배분을 만들어 행동한다. 그러지 않으면 나 한 사람의 볼일 때문에 나머지 모두가 씻지도 못하고 빨래도 못 걷고 큰일도 못 보는 불상사가 생기니까. 요컨대 집안에 변기가 하나인 집은 그렇게 매일같이 반복되는 일정량의 번잡스러움에 수시로 대응하며 살아간다. 그 빈도가 어느 정도인가 하면, 그것은 정확히 그 집에 무단정차 과태료 통지서(그렇다, 변기가 하나 딸리는 집에 그 집 전용 주차공간이 주어질 리 없지 않나, 그래서 변기가 하나 있는 집은 딱지도 자주 떼는 것이다), 보험료 자동이체 안내 이메일, 최신 휴대폰 무상교체 운운하는 광고 전화 따위가 방문하는 정도의 빈도이다.


변기가 두 개 딸리는 집은 주로 아파트다. 건설 현장에서 숱한 세대를 거쳐 보건대 짐작할 만하다. 현관 근처에 공용 화장실이 크게 있고, 주로 "부모님 방"(으로 쓰라고 건축학적으로 강요하다시피하는 굉장히 직설적인 모양의 방)의 한쪽 구석에 붙박이 옷장처럼 샤워 큐비클과 변기가 같이 놓인 조그마한 화장실이 있다. 이런 곳에서 살아가는 사람들은 적어도 한 명의 큰일 때문에 나머지 모두의 행동이 올스톱되지는 않는다. 대신 그 방의 짜임이, 그 변기의 위치가 그 사람들의 삶을 탁상시계 만들듯이 딱 떨어지게 조립해 놓는다. "부모님들"의 하루 동선은 방, 방에 딸린 화장실, 식탁, 현관, 밖, 다시 현관, 거실 TV 앞, 다시 방으로, 당최 "아이들 방"이나 큰 화장실에 갈 일이 없다. "아이들"도 엄마아빠 방에 들어갈 일이 별로 없기는 마찬가지다. 가끔 둘 중 하나가 큰일이 길어질 때나 화장실 일 보러 부모님 방을 잠깐 스쳐 지나가겠지. 분명히 삶은 좀더 윤택하고 여유시간은 조금 더 확보되는데, 그 '거슬림 없음'이 어쩐지 어색하다. 그 어색한 '거슬림 없음'이란, 비유하자면 대형마트에 설치된 무빙워크에 쇼핑카트를 끌고 들어갈 때나, 22층에서 내려오는 엘리베이터를 8층에서 잡아 타고 내려갈 때나, 중앙현관에 달린 "세콤"에 터치열쇠를 가져다 대려고 주머니에 손을 넣을 때의 느낌이다.


그리고 이 나라에는 변기가 세 개 이상 있는 집도 분명히 있고, 집안에 변기가 없는 집도 분명히 있다. 더욱 놀라운 사실은, 변기 세 개 달린 집의 비율과 변기 없는 집의 비율이 한심하리만치 바로 그대로 이 나라의 상위 1%와 하위 10%의 비율에 일치하리라고 예상된다는 것이다. 변기 세 개 달린 집에서의 삶을 상상해 본 적이 있는가? 그들은 대다수 우리와는 생각 자체가 다르다. 아니 집안 식구가 세 명인데 그럼 당연히 변기도 세 개여야 하는 것 아니냐며. 집안에 변기가 두 개밖에 없으면 애 일 보고 마누라(바깥양반) 일 볼 때 자기는 어떡하냐며. 아니 그럼 경비원을 경비라고 부르지 뭐라 부르냐며, 택배 좀 받고 청소 좀 하는 게 뭐 대수라고 지가 전태일도 아니고 분신 주접을 떠냐며. 그들은 똥 누러 갈 때와 나올 때가 다르지 않을 수 있는 사람들이다. 자기 변기가 확보돼 있으니까. 그들이 무슨 논리적이고 팩트에 근거한 안전하고 상식적인 냉정함을 갖추고 있는 것처럼 보인다면, 그것은 순전히 그들 집안의 변기 덕분이다. 당장 변기 두어 개 막혀 보라지. 일이 너무 급해서 아주 가끔 집 밖 공중화장실로 나가 봤던 사람들과는 비교도 할 수 없을 만큼 볼썽사나운 "똥 누러 갈 때"의 추태를 보여줄 것이다.

그런 추태는, 자기 집 안에 변기가 없는 집에서는, 도무지 나오지 않는다. 그들의 화장실은 항상 공용이며, 그들의 집은 항상 어디 셋방이며, 그들이 화장실에 있을 때 변소 문을 노크하는 것은 거의 대부분 옆집 사람이다. 화장실에 들어간다는 것은 첫째 귀찮음이며, 둘째 불편함이며, 셋째 잡념의 시작이다. 하지만 그 잡념은 두루마리 휴지처럼 이내 끊기고 만다. 옥외변소의 겨울은 똥 냄새가 얼어 있고, 옥외변소의 여름은 똥 냄새가 끓고 있는 그런 곳인데, 그런 곳을 자기 화장실로 쓰는 사람들에게는 불평도 사치가 되니까. 그저 빨리 일 보고 물 내리고 닦고 나가기만을 바라게 되는 그런 장소를 자기 집 화장실로 쓰다 보면, 자연히 꼼꼼히 씻는 것도 부단히 가꾸는 것도 좀체로 몸에 익지 않는다. 그냥 화장실은 일 보는 곳, 집은 잠 자는 곳 따위가 되면 오히려 그런 골방과는 다른 세상을 보여주는 TV나 컴퓨터, PC방 따위에 몰두하기 십상이다. 중요한 사실은, 여전히 변기가 집안에 없는 집이, 이 나라에 상당히 많다는 점이다. 그리고, 어떤 사람들은 도대체 집안에 변기가 어떻게 없을 수가 있는지 그러고도 사람이 사는지 짐작조차 하지 못한다.


오늘도 버스와 지하철을 타고 다니며, 숱한 사람들의 발과 얼굴과 머리끝을 둘러보며 생각한다. 이 많은 사람들이 다 어디선가는 씻고 일 보고 나온단 말이지. 모든 사람에게는 저마다의 화장실이 있다. 거기에 앉았을 때 가장 안심하고 큰일을 볼 수 있는 자기만의 변기가 있는 것이다. 하지만 그게 집안에 몇 개나 구비돼 있는가의 문제는 조금 다르다. 그것은 정확히 계급적이다. 화장실이 집안에 하나 있던 가족은 집안에 화장실 없는 집으로는 두 번 다시 이사하지 못한다. 하지만 그 가족이 집안에 화장실 세 개 딸린 집으로 이사 갈 일이 생기면, 그들은 그것을 좋은 기회로 보지 분수에 지나친 것으로 여기지는 않을 것이다. 서로 다른 개수의 변기를 쓰는 사람들끼리 공중의 공간에서 마주칠 때, 그들은 이따금 서로를 이해하지 못하곤 한다. 이것은 양극화하게 될까? 적어도 <지붕> 말미에서 시인이 밝힌 사태 하나만은 한동안 그대로일 것으로 보인다. 그게 지붕 때문이든 변기 때문이든, 주거 조건에 최소한의 기본 평등이 없는 한에서는.


어느 하늘놈 막아주나

어느 귀신년놈 막아주나

김어구네 오막살이 그뿐이 아니구나

동고티 김기백이네도

쇠정리 관선이네도

헌 지붕 노래기깨나 떨어진다

한동네 한식구라는 말

두레라는 말

말짱 헛것이여 물감자여

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

“경기(京畿)”를 없애야 한다  (0) 2015.06.18
자기만의 100점  (0) 2015.02.03
(근황) 성실에 대하여  (0) 2014.07.21
붕괴  (0) 2014.04.23
좋아요 파티가 끝나는 날  (0) 2014.03.31
Posted by 엽토군
:
절치부심











'1 내 > ㄷ 그림' 카테고리의 다른 글

공중파 가시내 60  (0) 2014.11.20
쓸모없는 5호선 노선도  (0) 2014.10.18
공중파 가시내 58  (0) 2014.10.07
최근에 만든 포스터들  (4) 2014.04.18
방송국 가시내 57  (0) 2014.01.20
Posted by 엽토군
:
시절이 하 수상하니













'1 내 > ㄷ 그림' 카테고리의 다른 글

쓸모없는 5호선 노선도  (0) 2014.10.18
방송국 가시내 59  (3) 2014.10.13
최근에 만든 포스터들  (4) 2014.04.18
방송국 가시내 57  (0) 2014.01.20
예수전도단 캠퍼스워십팀 2013 《igniting》 앨범 커버  (0) 2013.07.30
Posted by 엽토군
:
책가방 안에 초코파이를 두어 개 넣어본 적이 있다면
같이 좀 고민해보자

왜 작고 힘없는 것들은
맨날 밑바닥에서 짓뭉개져 나오는지

'1 내 > ㄴ 문학' 카테고리의 다른 글

기도  (0) 2017.05.09
너에게 지옥을 보여줄게  (0) 2014.12.31
외주(?)작업들  (0) 2013.08.20
김의기  (0) 2013.07.17
지구방위고등학교 팬시나리오 2화 v1.0  (6) 2012.04.07
Posted by 엽토군
:

요즘 이 카테고리를 채울 일이 별로 없었는데, 따로 저장해두고 싶은 명문이 있어 긁어옴.

이미지는 보기만 해도 빡치는 것들뿐인 관계로 조금 작게 삽입합니다.






[성명] 여러분들의 행위를 성찰하는 시간이 되기를 바랍니다 – 일베와 자대련에 대한 세월호 참사 국민대책회의 입장

일간베스트(일베) 회원여러분, 그리고 자유대학생연합(자대련) 여러분!


9월 6일 광화문 광장에서 행사를 계획하셨다죠? 광화문 농성장에서 라면이나 치킨 등을 먹는 행사더군요. 맞습니다. 여러분들이 이야기 하는 대로 광화문 광장은 시민들의 것입니다. 지금도 광화문 천막 뒤편에는 바닥분수가 시원하게 올라오고 아이들의 웃음소리도 끊이지 않고 있습니다. 그리고 ‘시민’들이 그 앞에서 특별법 제정을 소원하고 있습니다. 그 광장은 여러분들의 것이기도 합니다. 오셔서 마음껏 드십시오. 여러분들을 위해서 식탁도 마련하겠습니다.



그 식탁에서 음식을 드시면서 여러분들의 행사가 과연 어떤 의미인지 진지하게 성찰해보시기를 요청합니다. 아마도 그곳에서 음식을 드시겠다는 것은 유가족과 마음을 나누는 이들의 ‘단식’을 비웃는 것이겠지요. 사랑하는 가족을 잃고 고통 받는 이들을 조롱하고 괴롭히는 행사를 단지 재미로 하는 분들도 있을 것이고, 유가족들의 싸움이 ‘돈’ 때문이며, ‘정치적인 이유’ 때문이라고 믿기 때문에 그런 일을 하는 분도 있을 것입니다.



‘오로지 돈이 인생의 최고 가치이며 모든 행동의 바탕에는 자기 이익이 깔려있다’고 믿는 이들은, 유가족과 연대하는 이들의 마음을 헤아리기 어려울 것입니다. 마음에 깊은 슬픔을 담고서도 다른 이들에게 이런 슬픔을 물려주지 않기 위해서 진실을 규명하고자 하는 그 작은 몸짓과, 그 마음에 공명하여 아무 이익도 바라지 않고 함께하는 이들이 있음을 믿기 어려울 것입니다. 유가족을 조롱하는 행위가 결국 진실을 두려워하는 이들에게 이용당하는 정치적 행위라는 것도 이해하지 못할 것입니다.



무엇이 여러분들을 그렇게 불신과 자기 이익에 대한 집착과 포용력 없는 마음의 상태로 만들었는지 알 수 없으나, 여러분들이 그 광장에서 함께하시는 분들의 눈을 들여다보고, 그 마음을 읽게 된다면 알 수 있을 것입니다. 돈보다 진실이 더 중요하다고 믿고, 우리 사회가 안전해지기를 바라는 그 마음들을 말입니다. 세월호 특별법 요구는 바로 그런 마음입니다.그러니 조용히 식사를 하시면서 귀를 기울이시고 보십시오. 단, 물리적인 폭력을 행사하거나 농성하시는 분들을 단체로 위협하는 행위는 용납하지 않겠습니다.



시민 여러분!


광화문 농성장에서 유가족들을 비웃고 함께하는 이들을 조롱하는 이들에게 분노의 마음이 일어날 것입니다. 이들의 행위는 상처 입은 이들에 대한 폭력이며, 공동체의 선한 의지를 할퀴는 일이기 때문입니다.



그런데 이들은 돈이 최고라고 가르치는 사회에서 인간다움을 잃어버리고 거짓 언론만 보고 들은 채 성찰할 기회를 갖지 못한 이들입니다. 그러니 분노하더라도, 욕을 하거나 상처를 입히기보다는 그저 조용히 지켜봐주시기를 요청 드립니다. 이들 중 일부가 분란을 일으키고 폭력적인 상황을 만들더라도 인내심을 갖고 지켜봐주십시오. 평화롭게 우리의 자리를 지키는 것도 이들에게 보내는 우리의 경고가 될 것입니다.


2014년 9월 5일

세월호 참사 국민대책회의




 




저열함과 무식함이 극단으로 치달을 때 그 앞에서 이렇게 정중하고 떳떳할 수 있다니.

다른 곳에서 점심 도시락을 먹고 방문한 탓에 죄스러워서 밥값을 하려고 강남 피켓 시위로 동조단식을 대신했던 나는 왜 이 지옥도가 이다지도 부끄럽고 민망한지.



Posted by 엽토군
:

카테고리

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

최근에 올라온 글

최근에 달린 댓글

달력

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