'2011/02'에 해당되는 글 4건

  1. 2011.02.21 | 한국 기(개)독교에 고함!
  2. 2011.02.18 | [펌] 디버그 유형
  3. 2011.02.11 | Hello, World! in Javascript (2)
  4. 2011.02.10 | [JavaScript] replaceAll

한국 기(개)독교에 고함!

Etc.../idle talk | 2011. 2. 21. 15:49
Posted by oveRock

비록 나이롱 신자이긴 하지만, 어쨌든 30년 가까이 기독교인이란 꼬리표를 달고 다닌 사람으로서 감히 한국 교회에 고한다.

목적 주도적인 삶을 살지 말아라! 더러운 수단은 그 자체로 목적을 더럽힌다.

교인들은 자신의 일에 방해물이 생기거나 고난이 닥치면, 그것은 선을 위해 당연히 겪어야 할 고난 쯤으로 여기는 경향이 있는 것 같다. 그리고 그 고난이 강할수록, 그 보상은 크고 달다고 여기는듯하다. 어째서인지, 욕을 먹으면 먹을수록 더 강해지는게 개독의 신념이다.
너네들이 생각하는 그런 고난을 성경은 '애매히 고난받음(unjust suffering)'이라 한다. 말 그대로, 안 받아도 되지만 종교적 신념 때문에 손해를 보는 걸 말하는 거다. 교회 나가느라 주일에 국가고시 못 치는거, 결혼식도 토요일로 잡아야 되는거, (종교 차별이 있는 체제 속에서) 기독교인이란 이유만으로 매맞고 조롱받는 그런 걸 말한다.

이 땅을 다스리라고 했더니 한다는 짓이 4대강이나 파면서 투기놀음을 해서, 아랫것들 최저임금도 보장해주지 않으면서 십일조는 꼬박꼬박 바치고, 주님을 위해(?!!) 불상 목을 따고 땅밟기를 해서 욕을 먹는 거는 unjust suffering이 아니다. 니가 병신이니까 욕먹는거지.

몇몇 기독교인이 하는 행동거지를 보고 있으면, 저 놈이랑 같이 천당을 가느니 지옥을 가는게 정의롭다는 느낌이 드는 건 나 뿐인가?

제발 들어라, 너네들이 믿고 섬기는 예수님 얼굴에 똥을 퍼붓지 마라.
삶의 한 순간 순간이 아름다운 목적이 되는 것, 그게 기독교의 근본이다. 멍청이들아!

댓글을 달아 주세요

[펌] 디버그 유형

0 | 1/s/e | 2011. 2. 18. 11:24
Posted by oveRock

#ref : http://levin01.tistory.com/12

- 하드보일드형
모든 문장과 문장 사이에 printf를 추가한다.
어떤 문장이 문제를 일으키는지 끈기 있게 추적한다.
한줄씩 따라가다보면 문제가 되는 문장을 찾을 수 있기 마련이다.
가끔 담배를 피우러 나가는 것을 잊지 않는다.
잠은 사무실에서 아무렇게나 자는 편이 좋다.


- 안락의자형
가만히 앉아서 모니터를 뚫어져라 응시한다.
전혀 움직이지 않고 몇시간이고 코드를 쳐다본다.
가끔 혼자서 뭐라고 중얼중얼 거리기도 하는데 옆사람은 못알아 듣는다.
그러나 갑자기 마구 타이핑을 하더니 버그를 잡아낸다.
다 좋은데 옆에서 보기엔 미친것 같다.


- 완전범죄형
프로그램을 짤 때 부터 애시당초 머리속으로 무척 많은 생각을 한다.
코드 한줄 한줄 마다 모든 부가효과(side effect), 예외상황(exception), 잘못된 입력을 염두에 둔다.
심지어 멀티 슬레드 코드로 사용되는 경우도 생각하고, 에러 리턴 코드도 구조적으로 만든다.
버그없는 코드는 완전범죄만큼이나 불가능 하다.
결국엔 항상 사소한 것에서 문제가 발생한다.


- CSI 과학수사대형
소스 디버거의 브레이크 포인트는 기본이다. 조건부 브레이크-포인트는 물론이요 스택 트레이스를 한다.
퓨리파이어 같은 소프트웨어로 메모리 leakage도 검사한다.
gprof나 VC-profiler로 프로그램의 병목도 찾아낸다. spi++같은 것도 능숙하게 사용한다.
다른 사람보다 항상 제일 늦게 디버깅을 마친다.


- 미스 마플형
엔지니어들이 디버깅하다 안되서 휴게실에 나가 담배를 태운다.
이런저런 문제점들에 대해 논의를 하고 있는데 옆에서 쓰레기통 비우던 아줌마가 말한
다.

"그럴땐 대게 클래스 destructor에서 널 포인트를 지우는 바람에 그렇게 되는데..."


- 명탐정 코난형
디버깅을 시작한다.
어려운 코드를 들여다 보니 잠만온다.
일어나면 코드가 디버깅 되어 있다.

옆에서 네이버 지식인을 습격하고 있는 초딩이 의심스럽다.


- 소년탐정 김전일형
버그의 원인이 될만한 모듈을 고립시킨다.
코드를 고치려다 버그가 하나 더 발생한다.
버그가 하나 더 발생한다.
버그가 하나 더 발생한다.
이건 연쇄 버그다.
시스템이 크래쉬 한다.

....어쨌거나 버그는 이 안에 있다.

댓글을 달아 주세요

Hello, World! in Javascript

0 | 1/codearts | 2011. 2. 11. 12:51
Posted by oveRock
1탄.
_=["--_[3]","_[4][_[7]](_[5][_[8]](_[3]))","++_[3]",0,document,String,"\x6C\x65\x6E\x67\x74\x68","\x77\x72\x69\x74\x65","\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65","\x63\x68\x61\x72\x43\x6F\x64\x65\x41\x74",0,">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=>>>>>>>==>>>=<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=<<<<<<<<<<<<=>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=>>>>>>>>>>>>>>>>>>>>>>>>=>>>=<<<<<<=<<<<<<<<=<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=",function($){eval($)}];while(_[11][_[6]]>_[10])_[12](_[_[11][_[9]](_[10]++)%3]);

2탄.
_=[function($){while($[_[12]]>_[3])((_[2]=$[_[13]](_[3]++))==_[5]||_[2]==_[6]||_[2]==_[7]||_[2]==_[8])?_[14][_[11]](_[15][_[10]](_[1]+_[9])):_[1]=(_[1]+_[2])%_[4]},0,0,0,26,33,44,46,63,97,"\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65","\x77\x72\x69\x74\x65","\x6C\x65\x6E\x67\x74\x68","\x63\x68\x61\x72\x43\x6F\x64\x65\x41\x74",document,String];_[0]("This script wilL print 'helloworld' onto your browser. iT`ll bE a litTle bit obfuscaTing, bUT CAn NavEr bE iMpOssIble!! :-D WElL, core function r() requires some argument string to parse. oNCe sTaRteD, tHe string will be usEd For some teDioUs coMpuTAtIon. punCtuAtion maRk WiLl pRinT cHarRActEr wiTh a rEsult of tHAt coMpuTaTiOn. nOw it's yOur TUrN to coMpoSe yoUr oWN Message!");

코딩 연습은 기초부터 충실히(응?)

댓글을 달아 주세요

  1. chobo 2011.02.11 17:49  댓글주소 수정/삭제 댓글쓰기

    흠? 많이 심심하신가 보네요.

[JavaScript] replaceAll

0 | 1/web | 2011. 2. 10. 18:17
Posted by oveRock
쌈박하게 본론만
 String.prototype.replaceAll = function(o, n) { return this.split(o).join(n); }

그럼 테스트를 해 봅시다.
alert("hello".replaceAll('l', 'L'));

정규식 쓰고 싶으면 o 인자에 "string"이나 'string' 대신에 /regex/가 들어가야 하....지만, 묘하게 작동이 안 된다!! (ㅋㅋㅋ)
결국 무식하게 돌려야 하는건가 ㄱ-
일단 split의 특성은 좀 이따 연구하고, 그냥 무식한 코드를 만들어 보자.
String.prototype.replaceAll = function(o, n){ var ret = this; while(ret.match(o)) ret = ret.replace(o, n); return ret; }

이제 테스트
alert("hello".replaceAll(/\d/, '*');

죽잖아!! orz

댓글을 달아 주세요

블로그 이미지

oveRock

(life) = ∫(decision)dt

카테고리

분류 전체보기 (129)
Kaffa (13)
Muzik (18)
Skeptic (4)
Foto (10)
0 | 1 (16)
Etc... (68)