2011년 8월 10일 수요일

Algorithm Analysis :: Big O - notation

*O(n) means to the UPPER BOUND


O(1)     : 자료의 양에 관계없이 일정한 시간이 걸리는 작업
O(lg n)  : 자료 집합을 반으로 나누고 그 반을 다시 반으로 나누는 과정을 반복하는 작업
O(n)     : 자료 집합을 순회하는 작업
O(n*lg n): 자료 집합을 반복해서 둘로 나누고 나뉘어진 반을 순회하는 작업
O(n^2)   : 한 집합의 각 자료에 대해 같은 크기의 다른 집합을 순회하는 작업
O(2^n)   : 집합의 모든 부분집합을 생성하는 작업
O(n!)    : 집합의 모든 순열을 생성하는 작업

Call Stack (maybe...?)

            [Activation Record of Function Foo]


+---------------------------------------------------------+
|                    Input Parameters                     | <= CCS
+---------------------------------------------------------+
|                      Return Value                       |
+---------------------------------------------------------+
|                     Local Variables                     |
+---------------------------------------------------------+
|    EBP (Base Pointer of Previous Activation Record)     |
|  Return Address (Next Command of Current Function Call) |
|                           ...                           |
+---------------------------------------------------------+
| Output Parameters (Input Parameter of Next Call Stack)  | <= NCS


                            ...


* Input Parameters: 현재 콜스택에 실제 복사된 파라미터
* Return Value: 함수 리턴시 리턴된 값의 저장 공간
* Local Variables: 현재 함수의 지역변수
* EBP Register: 이전 콜스택 시작주소의 저장 공간
* Return Address: 현재 함수 호출 후 다음 수행될 명령어 위치의 저장 공간
* Output Parameter: 다음 함수 호출 시 Input Parameters가 됨


*CCS: Current Call Stack
*NCS: Next Call Stack

2011년 8월 9일 화요일

Using Pointer in C

Execution Environment :: VS2010


// #1 type conflict :: warning, runtime error
char *sptr = "abc", *tptr;
*tptr = sptr;
printf("%s\n", tptr);

// #2 type matched :: no error
char *sptr = "abc", *tptr;
tptr = sptr;
printf("%s\n", tptr);

// #3 not-allocated memory space :: runtime error
char *sptr = "abc", *tptr;
*tptr = *sptr;
printf("%s\n", tptr);

// #4 constant integer allocation in integer pointer :: runtime error
int *iptr = (int *)10;
*iptr = 11;
printf("%d\n", *iptr);

// #5 type conflict :: warning, runtime error
int *iptr = 10;
*iptr = 11;
printf("%d\n", *iptr);

// #6 soon fixed :: no error
int *iptr = (int *)10;
iptr = NULL;

2011년 7월 19일 화요일

Meeting with my cousin Kyeongsu,
also with a grandma at bus terminal,
thinking about myself a lot,

I thought I have to be changed.
Even though it will be really hard.

2011년 7월 15일 금요일

rainy

I will stay at my hometown Boeun for about one or two week.
Today is my materal grandfather's birthday. So, my materal cousin has come to my home now. I'm a little nervous to meet him. What conversation we will do? But I'm not sure whether the reason of being nervous is that.

2011년 7월 9일 토요일

에어컨을 틀어서 서늘한 줄 알았더만 역시나 찐득찐득

7시반.
또 그 애 꿈을 꿨다. 마지막이겠지. 이제 미련은 버릴거니까.
말씀을 보고 싶었지만 시간이 그래서 밥을 먼저 먹으러 갔더니
갔다와선 게임 삼매경.

점심을 성현이와 또 먹고는 아예 windows 7을 설치하고
nba2k11과 pes2011을...

시간이 되어 우리 사랑하는 A103호 친구들을 보러나갔다.
나 혼자서는 절대 가보지도 못했을 홍대 근처를 다른사람 신경 안쓰고
마음껏 놀고 얘기하고 꼬장부리고 그랬다.

하지만...,
하루종일 내 마음은 불편하다.
뭔가 쉬운 것을 놓치고있다.
하나님 앞에 서 있다는 걸 느낄 수 있다면
내가 이렇게 고민만 하고 있을까?
오늘 홍대입구 역까지 오는 길에서 택원이에게 하소연했던 것처럼
하나님 앞에서도 말이 술술 나왔으면 좋겠다...

2011년 7월 8일 금요일

비, 그리고 덥진 않으나 끈적끈적함

"띵동, 띵동띵동"
"어... 나가께에..."
요 며칠은 동영이형이 초인종을 눌러주면서 잠이 깬다.
그 덕분에 하루 세 끼 잘 먹어서 살이 좀 찌려나.

공부가 너무 안 되서 오랜만에 학교에 감.
그 동안 노는 것도 지겨웠던 걸까.
뭘 해야할지 고민고민하다가 낭비한 시간도 꽤 된 듯.
그래도 오디오북 - Magic Tree House도 그렇고 Hackers LC도 그렇고 괜찮았다.
공부가 좀 됐다.

점심엔 화구 3인방 + 동석이형과 설렁탕을.
오후엔 조금 더 빈둥대다가 5시가 되면서 집으로 돌아왔던 듯.

돌아오자마자 - 그래도 조금 공부했다는 사실이 좋았다 - 동영이형네랑 저녁 먹고
아, 그리고나서 게임을 했구나.
Runescape라는 게임. 흐음.. 아마 끊는 게 좋겠지..?
영어가 좀더 재미있어졌음 좋겠다.

흠.. 너무 빈둥대도 시간이 빨리가는구나.
10시에 자려고 했는데 벌써 12시반이라니.
내일은 우리 A103호 아이들을 보러가는 날.
좀 기대되지만 택원이나 다른 애들은 더 설레하겠지?
아이들을 좋아하는 마음은 아마도 내가 제일 적을거야?
그나마 내가 해야하는 건 부담없이 하고싶은대로 시간을 보내며 즐기다 오는 것.
아이들이 좋아할 수 있게.

It's time to go to bed.
There is nothing to worry about.

2011년 7월 4일 월요일

찝찝한 날씨

새벽 2시. 악몽을 꿨다. 왠지 바로 잘 수가 없길래 잠깐 휴게실에서 말씀을 보았다.
무서웠는지 마음이 많이 약해져서 조금은 내 영혼이 말씀을 잘 받아먹었던 것 같다.

오전 6시.
그리고 오전 8시.
현우와 아침을 먹고 아무런 생각없이 미드 시청.
침대에 누운채로 ㅇ.ㅇ
엉덩이를 빼고 책상에 엎드려 ㅇ.ㅇ
현우가 나가고는 어김없이 만화책과 워3로 5시를 찍었다.

버스를 타는 시간. 점점 지겨워진다. 허리만 아프고...
7시 화정 모임에 참석하여 드디어 첫 게임.
저번 신금호부터 왠지 몸이 말을 안 듣는다.
부상.
아욱.. 괜히 승질만 나고. 게임도 못 뛰고.
아니.. 어쩌면 다행인지도. 요즘의 생각과 생활의 패턴을 전환할 필요가 있다.
모임이 끝나기도 전에 귀가.
언제나처럼 늦은 귀가에 고픈 배를 컵라면과 이번엔 샌드위치, 그리고 입가심으로 커피우유.

공부도 안하고. 그렇다고 딱히 하는 것도. 생각도 없는.
이런 내가 싫은데. 그런데 잘 바뀌진 않는다.
또 착잡한 마음. 그래선지 말씀을 또다시 듣게 된다.

"혼자 있을때... 하나님을 바라보는 시간"
들은 말씀 중 가장 기억해야할 부분인 것 같다.
하나님, 말씀을 들으면 적어도 한 문장은 가슴과 머리속에 꼭 내장하게 해주세요.
내가 힘들때 주님 생각 안날때 기억나고 되새겨서 다시금 그리스도를 떠올릴 수 있게.

2011년 6월 28일 화요일

맑았다가 밤에 갑자기 비

마침내, 귀찮음과 무기력함을 이겨내고 운동을 시작했음.
생명빛교회에 가서 기타를 치고, 데스크탑을 새로 설정함.
교회에 있는 시간이 그래도 좋았음. 매일 기타나 피아노를 치고 싶다.

저녁에는 하나스퀘어에서 토익공부를 했음.
하기 싫은 마음도 있었지만 하나님께 기도하며 공부함.

기분이 좋은 하루.
오늘 아침의 말씀에서 잡은 기도제목이 뭐였더라.
"나의 영혼이 잘 되는 것으로부터 시작"
감사합니다 주님. 내 기도가 응답된 것 같습니다.
내 영혼이 더욱 잘 되기를 기도합니다.
내 영혼이 잘 됨같이 범사에 강건하기를 기도합니다.



'안수현'이라는 사람은 의사이기에 자신의 직업속에서 하는
말과 행동 하나하나가 전도와 연결될 수 있었습니다.

그러면 나는, 컴퓨터과학자로서 나는,
내가 손가락으로 두드리는 행동들과
개발되어 사용되는 프로그램과 기계들이
어떻게 전도로 연결될 수 있을까요, 하나님?

2011년 6월 20일 월요일

Chrome AngryBirds

link: http://chrome.angrybirds.com/

angry birds 한번 해보고 싶었는데 이렇게 가능하네 ㅎㅎ
재밌네.. 신기신기~

6월 20일 월요일 후덥찌근




새벽까지 미드를 본 관계로 아침은 사망.
점심까지 계속 자서 밥도 못 먹을 뻔.
아마도 내 기억에 의하면 뭔가 욕망을 자극하는 꿈을 꾼 것 같기도.

이러면 안되겠다 싶어 얼른 샤워 후 수박이 나온 점심을 먹음.
점심때 TV에 나온 국군포로에 관한 프로그램에 관심이 감.

토익책을 들고 갔으나 영어공부하기가 싫었던지 도서관으로 가서 CCNA책을 펴봄.
서문을 읽고 충동이랄지 도전이랄지 책을 사야겠다고 맘을 먹음.
공부를 좀 더 하다가 시간에 맞춰 CCNA 수험서를 사고 지교회 예배에 도착.
참, 지현이가 추천해준 <그 청년 바보의사>란 책도 한권 삼.
아마도 전공에 막혀 가뭄든 논두렁처럼 답답하게 굳어있는
내 머리속을 좀 뚫어보고 싶었으리라.

지교회 예배를 드리고 나름 하나님만 바라보고 싶었으나..
역시나 치유받을 게 많다는 걸 깨닫게 됨.

지현이, 성욱이, 목사님, 교수님과 함께 저녁식사 후에는
헤어에센스와 린스를 사고 상우형의 호출에 잠시 농구장에 들렀다 집에 돌아옴.
버스안은 왜그리 졸린지... 자리에 앉기만하면 눈뜨면 집앞.

돌아와서는 또 공부하기도 말씀보기도 싫어져
약간의 미드를 시청 후 동영이형과 음료하나를 마시러 감.
생각난 김에 현우것도 하나 구입.
자려던 찰나에 못났던 하루라도 기록에 남겨두는 게 좋을 거 같아 
손가락 운동을 좀 함.

그리고 이렇게 졸린데 시간은 벌써 12:20
아마도 내일도 늦게 일어나지 싶은데...
이런 일기보다도 "주님께대화체" 형식으로 쓰는 게 유익할 듯 싶구나.
그건 내일부터.
그만 자자... ㅎㅎ

2011년 6월 18일 토요일

Hamachi :: Virual LAN program

download link: (mac) http://logmein-hamachi.en.softonic.com/mac
download link: (windows) http://hamachi.en.softonic.com/

워크래프트3를 재원이랑 같이 하려다보니...
배틀넷 시디키는 없고...
발견한 방법인데 너무 좋다 ㅎㅎ
보물섬을 찾아낸 느낌

2011년 6월 12일 일요일

해바라기 - 행복을 주는 사람 (1983年)



행복하지 않은 요즘.
무엇때문일까.
취업일까.
학점일까.
밤새는 날들이 많아서일까.

얼마전..
형 면회가 끝나는 날.
엄마와 함께 학교 근처에서 냉면을 먹고
남부터미널로 가서
엄마를 시골로 내려가는 버스에 태워드리고
손을 흔들며 인사를 했는데..
왠지 모르게 살짝 눈물이 났다.
서울에 올라와서 내가 뭘 하고있나 싶은 생각이 들었던 걸까?


하나님, 나는 아무것도 가진 게 없습니다.
성적도 안 좋고, 돈도 없고, 세상도 잘 모릅니다.
그래도 내가 행복한 건 (다른 많은 이유들도 있겠지만)
당신이 나를 구원하셨고 지금 나의 곁에 계시기 때문입니다.
그러니까 하나님 내가,
가장 멋있는 컴퓨터공학자가 되게 해주세요.

모든 것이 다 갖춰진 걸 바라지는 않습니다.
복음때문에 행복한 컴퓨터공학자가 되게 해주시고.
복음때문에 컴퓨터가 재밌고 좋은 컴퓨터공학자가 되게 해주시고.
복음때문에 가장 인간적인 컴퓨터공학자가 되게 해주시고.
복음때문에 가장 복음을 잘 전하는 컴퓨터공학자가 되게 해주세요.

복음때문에 사람이 좋고 컴퓨터가 좋고 복음이 좋은 사람.
사람에게 따뜻함을 주고 좋은 프로그램을 주고 이 세상에서 가장 좋은 복음을 주는 사람.

2011년 5월 25일 수요일

C++ :: error c2533 : constructors not allowed a return type

link: http://www.evilskel.com/220

클래스를 선언하고 ;(세미콜론)을 안 주면
생성자가 return type을 가진다는 에러를 주는구나..

C랑 Java랑 너무 헷갈리는 요즘 ㅋ

CTF :: example problems

1. decrypt ciphertext
    - l33t
    - page source

2. admin login

3. HTTP GET

4. vim jail & system cracking
    - Ctrl + z : escape without exiting vim program
    - password file : /etc/passwd    /etc/shadow
    - using vim more : http://developersnote.blogspot.com/2011/01/vi.html
5. hidden key in BMP file
    - vim command: wc (number of lines, words, characters of a file), du(size of file)
    - hexedit (hex editor) & bmp file format

6. weird icon

7. basic BOF
    - stack frame
    - using perl : ./(execution_file) `perl 'print -e "A"x16 . "\x50"'`

8. advanced BOF
    - shellcode

9. reversing
    - link: http://uiandwe.tistory.com/category/%EB%87%8C%EC%84%B8%ED%8F%AC%EB%8D%A9%EC%96%B4%EB%A6%AC%22%22/%EB%A6%AC%EB%B2%84%EC%8B%B1

reference
-----------
When searching result is bad ... GO TO YOUTUBE !
CTF problems type : http://beist.org/new_ver_board/read.html?table=new_freeboard&uid=199&page=93
Web application attack type : http://blog.daum.net/f85t75/2576448http://acc.ahnlab.com/secu_view.asp?seq=4743



2011년 5월 23일 월요일

이산수학 숙제를 하다가..

하나님 오늘은 왠지 공부가 잘 되네요.
어쩌면 말씀을 보며 하루를 시작해서 그런지도 모르겠습니다.
아직도 할 게 많고 걱정이 많아요.
하지만..,
보이는 사실을 보지 말고 함께 하시는 당신을 기억하게 해주세요.
내일도 바르게 시작했으면 좋겠습니다.