G-Test Pattern

개발&Development/웹 | 2008/05/26 00:07 | 겐도

이전의 의 버전업을 공개합니다. V4는 이전에 개발되었습니다만 이번에 새로운 문제도 발견되어 V5까지 공개합니다.

이 패턴의 목적은 웹에서의 데이터 처리를 제대로 하는지에 대한 핸들링을 검증하는 일반적인 실험용입니다. SQL Injection쪽과는 상관이 없습니다.

  1. Version 1 : & ' "의 처리 확인, <,> 처리도
    <gen&doh'">
  2. Version 2 : 자바스크립트 대응 주석코드 추가
    <!--gen&doh'"-->
  3. Version 3 : +가 URI로 넘어갈때 공백으로 바뀌는 특성 테스트
    <!--gen&doh+'"-->
  4. Version 4 : V2에서 주석째로 제거되는 경우 에러가 나지 않아 에러를 쉽게 발견하는 코드 추가
    <!-- <![CDATA[gen&doh'"-->+sihwpg]]>
  5. Version 5 : 바보같은 파서를 위한 오픈 코멘트
    <!-- <![CDATA[gen&doh'"-->+sihwpg]]><!--</miyu>

version 2 부터는 ghost님이 참여하셨고, version 5는 miyu님이 발견하셨습니다. version 4부터는 JS 내에서의 스트링 처리를 테스트 합니다. 즉 JS가 아닌 영역은 version 3로도 충분합니다.

정확히 입력받고, 출력되고, 표현되며, 다른 부분에 영향을 주어서는 안됩니다. Version 4의 경우 "<!--"에 대해 파싱 단계에서 무난히 넘어간 후 Script 영역에서 다르게 처리되므로 에러가 발생하지 않는 경향이 있어 이전글에서 설명하였듯이 아예 에러가 나도록 유도합니다. 더불어 "</miyu>"파트는 FireBug가 지적하는 "</"문제를 찾기 위함입니다.

이 글은 절대 펌을 허락하지 않습니다. 오류 수정이나 정보의 집합을 위함입니다. 링크만 거시기 바랍니다.

아래의 코드를 보자.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>G-Test 5</title>
</head>
<body>
 <script type="text/javascript">
//<![CDATA[
  var testval = "<!--";
//]]>
 </script>
 <div>겐도 오빠 사랑해</div>
 <!-- 정말? -->
 <div>ㅇㅇ</div>
 <script type="text/javascript">
//<![CDATA[
  var testval2 = "-->";
//]]>
 </script>
</body>
</html>

파이어폭스는 나의 사랑을 잘 표현해 주고 있다.
사용자 삽입 이미지

FireFox 2 on Vista


허나 IE 7. 로딩부터 심상치 않다.
사용자 삽입 이미지

IE7 on Vista

그리고는 깔끔한 흰 화면을 보여준다.
사파리는 거의 기대를 말자. "<!--"가 미리 처리되어 많은 브라우저들이 "-->"까지 날려준다. 위처럼 script 영역을 벗어나는 주석태그가 있는 경우 오동작 한다. 오동작이 맞는지는 모르겠다. HTML Spec을 아무리 읽어봐도 어느것을 먼저 해석해야 하는지에 대해선 모르겠다.

아무튼 자바스크립트 영역에 뭔가 출력할땐 조심하자.

저 문서의 타이틀에서 살짝 보이듯이 곧 "G-Test Pattern V5" 공개하겠습니다.
뭐그리 정신이 없었는지 간만에 RSS 리더를 보니 약 4천개의 글이 밀려 있었다. 물론 2천여개는 뉴스사이트 피딩이라 쉽게 넘길 수 있지만 그래도 나머지 2천개의 글을 읽는 것은 곤욕. 약 두시간에 걸쳐 다 읽어본 것 같다.

프로젝트 막바지엔 역시 많은 생각들이 든다. 특히 아쉬움이나 나 자신에 대한 부족함을 강하게 느끼는 시기가 되곤 한다. 또한 서른즈음이라는 시기적 특성과 복잡한 외부 요소들은 또다른 생각의 요소들이 되고 강한 흐름을 만들어 머리속을 휘젓고 다닌다. 머리가 녹아버릴듯한 느낌이 드는 시기이다.

"인정". 요즘 생각의 주된 키워드로 저 단어를 들 수 있을 것 같다. 나는 누군가에게 인정받고 있는가. 그리고 나는 누군가를 인정하고 있는가. 정확히는 무엇으로 인정하고, 받고 있는 가란 부분일 것이다. 또한 나 자신은 나에 대해 어떤 부분을 인정하고 있는가도 생각중이다.

욕심은 인간의 본성임엔 틀림없다. 모든 것을 버려도 "해탈"의 경지에 가고자 하는 욕심이 남아 있지 않은가. 욕심이 있어야 자신도 발전하고 일도 추친될 것이다. 허나 과도한 욕심은 모든 것을 망쳐 버린다. 나는 얼마나 나의 욕심을 적절히 조절할 수 있는가.

나는 무엇을 잘하는가. 그리고 어떤 부분들이 보강이 필요한가. 또한 어떤 부분은 과감히 포기하고 타인에게 의지해야 하는가. 협업이란 무엇인가. 언젠가 누군가에게 이야기 하였듯이, 협업은 혼자 하는 것보다 효율이나 퀄리티를 올려주고, 혹은 혼자선 할 수 없는 것들을 이룩할 수 있게 해준다. 그런데 협업이란 어떻게 해야 하는가. 아직은 잘 모르는 부분이 더 많다. 아니 아는 것이 별로 없는 것인지도 모르겠다.

대학때가 그립다. 일에 얽매이지 않아 이것저것 하고 싶은 것 해 볼 수 있던 시절. 물론 학업에도 매달리지 않아 학점은 처참하지만 수업에서 들은 내용 조차 내 마음대로 파볼 수 있었고 학생이란 특권으로 많은 정보도 얻어 볼 수 있었다. 여기저기 기웃거리며 좀 가르쳐 다라고 때도 써 볼수 있었고 몇일밤을 방에 처박혀 알고 싶은 것에 매달릴 수 있었다. 이제는 책 한권 파보는 것도 쉽게 시간을 내기 어려운 것 같다.

연애 사업은 거의 공식적으로 중단을 선언해 버렸다. 난 한번에 두가지 중대사를 처리하기엔 능력이 부족한가 보다. 결국 가능성이 높은 일쪽으로 집중하기로 생각했다. 그리고 시간나면 반대쪽으로 집중하자라고 생각은 했지만, 그게 언제가 될지는 모르겠다.

5월이 끝나간다. 곧 잔인하리라 예상되는 6월이 온다. 현재 예정된 것만 해도 상당히 스릴러다. 솔직히 나에게 7월은 올 수 있을 까란 생각마저 든다. 그래도 시간은 흘러가겠지. 그리고 또다시 많은 것들이 변화되겠지.
사랑이란 감정은, 인간에게 몇 안남은 순수한 감정이어야 하는데, 누군가를 좋아하게 되어 작업을 시작하려는 순간 그 순수성이 훼손되는 딜레마에 빠져 아무런 행동도 하지 못하고 그저 하늘에서 여신이라도 떨어지길 바라는 상황에 빠져버렸다면 아래의 책을 추천한다. 뭐 운명적 만남에 의해 이미 하늘에서 누군가 떨어졌다면 볼 필요는 없다.

사랑의 코드(낭만적이고 전략적인) 상세보기
크리스티안 슐트 지음 | 푸른숲 펴냄
사랑도 프로그래밍 하는가요? 왜 우리는 낭만적으로 사랑을 하는가? 운명적인 만남도 미리 프로그래밍된 걸까? 블로그와 싸이월드 안에는 어떤 사랑의 코드가 숨어 있나? 이와 같은 사랑에 관한 실제적인 그리고 학구적인 관심을 담아 정리한 연구서. 《사랑의 코드》에는 사람들이 끊임없이 관심을 갖지만 여전히 신비한 미지의 세계로 남아 있는 사랑과 결혼이라는 주제를 사회학적 관점을 통해 정리한 것으로 이상화에 갇히
연애 카테고리쪽 책을 무심코 보다가, 보통 이쪽 카테고리는 "원나잇스탠드"용-작업용- 내용을 주로 다루는데 비해 이 책은 좀 본질적인 문제를 다룬다. 좀 직설적으로 말한다면 기존의 작업용 행위들을 정당화 시켜주는 이론적 베이스를 설명하고 있다. 아직 중반 정도를 읽고 있지만 이미 첫장에서 나에게는 많은 고민 해결의 실마리를 던져주고 있다.

현대의 사랑, 결혼, 성에 대한 3가지 조합은 자연스러운 것이 아니라 상당히 근세가 되어 만들어낸 문화 코드일 뿐이라는 지적에 동감한다. 서양의 역사관점에 맞추어 기술되어 있지만 내가 속해 있는 한국 조차 지금의 가정시스템을 시작한 것은 그리 오래 되지 않았고, 더불어 전체적인 문화의 변화에 따라 3가지 조합에도 변화는 분명 일어나고 있다. 현대의 시스템이 자신에게 부자연스럽다라는 느낌이 사실일 수 있으며 더구나 타인이 선택한 시스템이 자신에게도 맞으리란 보장은 더더욱 없을 것이다. 반대로 어떤 부분들은 속한 사회의 시스템에 의해 강제되는 부분이 있는 것도 그 사회의 구성원으로서 당연한 것으로 생각할 수 있다.

사랑을 소통이라는 관점으로 분석한 시도는 상당히 마음에 든다. 현대사회의 인류는 점점 자신의 본질(Identity)를 잃어버리는 상황에 놓여 있다. 편의점 아르바이트생을 그 사람 자체로 인식하기 보다는 "알바"로 인식한다. 이웃마저도 "누구누구씨"가 아닌 새벽 4시만 되면 자명종 안끄고 버텨서 나를 시끄렇게 하는 "옆집사람"으로만 존재한다. 그사람들에게도 나란 존재는 밤 늦게까지 노래 하나만 죽어라 듣고 있는 "옆집사람"으로 존재할 것이다. 회사에서는 그냥 팀이란 존재로만 인식되거나 팀 내에서도 어떤 역할을 하는 담당자 정도로 인식될 뿐이다. 이런 상황에서 가정은 자신이란 존재를 자신 자체로 인식될 수 있는 몇 안되는 시스템 중 하나일 것이다. 사랑의 과정도 이런 관점에서 분석한다. 타인에게 자신의 존재를 인식시키는 과정이라는 것이다. 연주자에게 청중 중 한명이 꽃을 전달해 주는 것이 아닌 자신에게 관심있어하는 "XX씨"가 나에게 꽃을 주는 상황을 만드는 것이다. "작업"을 하는 사람은 받는 사람에게 자신을 인식시키는 소통의 과정을 한다는 것이다.

<신세기 에반게리온>에서도 비슷한 이야기가 나오기도 한다. 주인공 신지에게 존재하는 레이, 아스카, 미사토 등등. 사람은 주위 사람들에게 자신으로서 존재하고 싶어하고, 서로 상처를 주고 상처를 받을지라도 관계(소통)를 만들어 가려 하며, 그중 한가지가 사랑이란 형태로 표현되는지도 모른다. 또한 소통의 대상이 이성이 아닌 동성이거나, 동물, 객체가 된다 하더라도 그 상황을 이해하는 데 무리는 없다.

내가 지금까지 좋아했던 사람들 그리고 지금 찾고 있는 사람이, 나름의 해석에 따라서는, 내가 인정받고 싶었던 사람들이고 내가 나라고 생각하는 모습을 봐 줄 수 있는 사람을 찾고 있다고 할 수 있다. 분석의 정도가 증가하니-물론 완벽히 클리어 된 것은 아니지만- 한결 문제가 명확해 지고 문제공략의 방법이 명확해 진다.

자! 당장 집에서 금붕어를 키우는 것이다!

OTL.

~~~~~~
적어도 소개팅만 하고 나면 난 왜 더욱 더 일에 매진했는지가 나름 설명이 된다는 점에서 만족중.
~~~~~~
언젠가의 임원회의때, 구성원들이 "대체가능자원"이 아닌 "독자 작전가능 전술무기"가 되어야 하고 그렇게 유도하겠다고 주장하면서도 뭔가 비유가 부족해 라고 생각했는데 비슷한 맥락에서 설명이 되는 것 같기도 하다. 인간은 자기 자신이 명확해 질때 자신이 할 수 있는 일을 제대로(Fully) 할 수 있는 것 같다. 길거리에서 쓰러지면 반드시 사람을 지정하여 119 신고해 달라고 해야 연락을 한다고 하지 않는가. 지나가는 행인3은 전화를 걸지 않는다고.
윈도우에게 Full Machine Power를 줘야 한다면 Bootcamp로 부팅해야 겠지만 이미 상당수의 작업은 맥에서 하고 있고 가끔 지름신이 강림하셨을 때나 필요한 윈도우니 VMWare Fusion으로 올려보자.

VMWare Fusion 최신버전에선 Bootcamp 파티션을 지원한다. 다만 직접 부팅때와 VMWare 상에서 올라갔을 때 하드웨어가 달라지므로 DSP 버전으로 설치하는 것은 비추(혹시 문제가 없다는 정보가 입수되면 업데이트 하겠다.). 걍 일반 버전 얼티밋으로 본인은 설치했다. 64비트 버전도 비추다. 3기가 메모리 제한이 있지만 드라이버나 어플리케이션 서포트가 아직은 요원하다. (2008년 5월 기준)

잡설은 뒤로 하고 어떻게 하는가?

VMWare를 실행한다.

Virtual Machine Library 윈도우에 보면 "Boot Camp partition"이라고 나온다.(자동 디텍션 됨. 안나오면.. 전 몰라요. @.@;)
사용자 삽입 이미지

메뉴얼엔 Run 하라고 하지만 Settings 버튼을 누른다. 처음 로딩되므로 잠시 준비 시간을 요구한 후 가상 머신이 로딩된다. Power를 넣자.

가상머신에서 커서를 빼내는 방법은 Ctrl-Command임을 잊지 말고. 처음 부팅을 하면 약간 난리가 날 것이다. 드라이버 찾고 등등등... 기다렸다가 다 취소한다. Virtual Machine 메뉴에서 Install VMWare Tools를 선택하면 경고창 한번 나오고는 윈도우에 또 setup.exe 할래? 라고 물어본다. 고고고~~

설치를 다 하고 나면 바로 리부팅 하지 말고 윈도우 업데이트 한번 때려준 후 리부팅.

참 쉽죠?
사용자 삽입 이미지

이전 1 2 3 4 5 ... 91 다음