Strict Standards: Non-static method Soojung::addReferer() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/settings.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/lifthrasiir/sites/sapzil.info/soojung/settings.php:79) in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Counter.class.php on line 63

Strict Standards: Non-static method Entry::getEntryCount() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/index.php on line 34

Strict Standards: Non-static method Entry::_getQuery() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Entry.class.php on line 175

Strict Standards: Non-static method Soojung::queryNumFilenameMatch() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Entry.class.php on line 175

Strict Standards: Non-static method Entry::getEntries() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/index.php on line 60

Strict Standards: Non-static method Entry::_getQuery() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Entry.class.php on line 203

Strict Standards: Non-static method Soojung::queryFilenameMatch() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Entry.class.php on line 204
TokigunStudio3 | 블로그

내용으로 바로 넘어 가기


TokigunStudio3

228 / 3282   


더 이상 이 블로그는 운영되지 않습니다. 새 블로그로 가 주세요.

노트북의 귀환

2005/07/08 PM 11:48 | 일상 | 12 comments | 0 trackbacks | AllBlog: vote, to pocket

이틀동안 서비스 센터에 맡겼던 노트북이 돌아 왔다. 바뀐 점은,

- 껍데기를 완전히 갈았다. -_-;;; 알고 보니 서비스 센터에 노트북 껍데기 사러 왔던 사람이 그래도 내 것보다 훨씬 정상-_-적인 껍데기를 버리고 가서 그걸 썼다나...
- 키보드와 터치패드를 완전히 갈았다. 특히 터치패드는 5도 이상 휘어 있었더라나...
- 안의 먼지를 모두 제거했다. 특히 쿨러가 먼지 때문에 막혀 버려서 CPU가 꽤나 고열에 시달리던 문제가 완전히 해결되었다. (그냥 느낌으로는 한 20도 정도 내려 간 것 같다;)
- 그 외에 LCD가 깨끗해졌다 (.....)

1년 반동안 노트북 청소를 안 한 댓가가 여기서 드러나는 구나... orz 그래도 A/S 맡겨서 이런 것까지 다 해 오다니 아주 다행스러운 일이다.

노트북도 돌려 받았겠다 계획한 일이나 마저 하자. 특히 Angolmois 작업(........)

↑ Top

오늘의 삽질

2005/07/05 PM 10:17 | 개발/obfuscation | 12 comments | 0 trackbacks | AllBlog: vote, to pocket

거의 다섯 달을 끌어 오면서 막바지 작업을 하고 있는 Angolmois 개발 도중에 발생한 사건.

모든 작업이 끝나고 긴 identifier들을 모두 짧은 것으로 고치면서 그동안 남겨 놓았던 코드들을 정리하는 중이었다. 간단한 예를 보자면...
for(i=0; i<4; i++)
    if(!metadata[i]) {
        metadata[i] = malloc(1);
        metadata[i][0] = 0;
    }
이런 걸,
for(i=0; i<4; i++) if(!bm[i]) *(bm[i]=malloc(1))=0;
이렇게 고치는 과정인 것이다. (내가 짠 코드가 원래 개판이라는 건 좀 접어 두기로 하자 -_-;;;;)

이 과정을 다 해 놓고 나서 실행해 보니까 딴 건 다 잘 되는데 막판에 갑자기 segfault가 나는 것이었다. 혹시나 싶어서 printf를 중간에 넣어 보니까 segfault가 안 뜨는데 이 쯤에서 프로그램 중간에서 스택이 꼬여 버렸다는 걸 눈치챌 수 있었다. (옛날에 이것 때문에 한참 삽질한 적이 있어서 뼈저리게 느끼고 있다.) 이런 종류의 버그는 찾기가 엄청나게 힘들기 때문에 나는 한참 삽질하다가 segfault 안 나는 버전부터 다시 재작업을 하기로 했다.

...어느 순간에 갑자기 또 segfault가 난다. -_-;;;;;;;;;;;

이런 식으로 이틀동안 한 두어번 작업을 되풀이하다가 bms 파일을 파싱하는 부분에서 문제가 생겼다는 걸 알 수 있었다. 즉, 해당 부분의 원래 코드를 내가 작업한 코드로 고치면 에러가 나고 원래대로 돌리면 안 난다. 왜 그런가 살펴 봤더니...




문제가 발생한 부분은 이런 형식의 switch 구문이었다. (default:가 없다는 데 유의)
switch(i) {
case 1: do_something(); break;
case 2: do_another_thing(); break;
case 3: do_nothing(); break;
}
나는 이 코드를 처음에 다음과 같이 고쳤다. (여기서는 별 문제가 발생하지 않았다)
if(i==1) do_something();
else if(i==2) do_another_thing();
else if(i==3) do_nothing();
문제는 나중에 정리를 하면서 다음과 같이 고쳤던 것이다!
if(i==1) do_something();
if(i==2) do_another_thing();
if(i==3) do_nothing();
그리고 각각의 블록 안에서는 i를 고치는 부분이 있었기 때문에 엉뚱한 블록에 갑자기 잡히거나 하는 현상이 발생하면서 오류가 발생했던 것이었다. OTL

교훈: 앞으로는 obfuscation 할 때 로컬 RCS를 애용해야 겠다. 흑흑흑 ||orz

↑ Top

explorer가 싫어질 때

2005/07/03 PM 04:19 | 컴퓨터 | 3 comments | 1 trackbacks | AllBlog: vote, to pocket

혹시나 싶어서 말하는데, 여기서 말하는 explorer는 MSIE가 아니라 윈도우의 기본 쉘(shell)을 말하는 것이다. 음 그러니까 탐색기 같은 프로그램도 이 쉘 안에 들어 있기도 하고, 작업 표시줄 등등의 요소가 모두 여기에 들어 간다.

최근에 explorer의 탐색기에서 오른쪽 버튼만 누르면 엄청난 지연을 보이길래 cmd.exe를 애용-_-했었는데, 날뷁군의 도움으로 깔끔하게 해결했다. 서비스 중에 Server와 Workstation을 죽이면 되는데, 왜 그런 지는 나도 잘 모르겠다. -_-;;;; 아마 쓸데 없는 자원을 차지해서 그런 게 아닐까 하는 생각도 하고 있지만...

이 참에 기본 쉘을 갈아 엎고 다른 걸로 바꿔 쓸까 했는데 다행히도 그런 삽질을 할 필요는 없어진 것 같다. 어차피 이번 방학 중에 리눅스나 깔아야 하니까 상관 없지만 =_=

↑ Top

스케일링 후기

2005/06/30 PM 11:00 | 일상 | 9 comments | 0 trackbacks | AllBlog: vote, to pocket

오늘 3시 반 쯤(밥 먹느라 늦었음)에 치과에 가서 스케일링을 받고 왔다. 생각보다 아프진 않았고, 피도 별로 안 났다. 이빨이 안 좋으면 스케일링 후에 많이 시리다고 하는데 나는 이빨도 별로 안 시리고 양치질할 때 피가 무진장 나는 것 빼고는 별 문제 없다. (그리고 나는 원래 양치질할 때 피가 났기 때문에 상관을 안 한다)





...별 거 아니었네 이거;;;;

아래 글에 댓글 달아서 본인을 격려(?)해 준 여러분께 감사하고 특히 스케일링 아프다고 하셔서 본인을 두렵게 만든 분들께는 앞으로 치과에 가서 엉뚱한 이빨 뽑는다거나 하는 일들이 가득하시길... (뭣?!) -- 아 물론 농담이에요;

↑ Top

치과 방문

2005/06/27 PM 05:09 | 일상 | 6 comments | 0 trackbacks | AllBlog: vote, to pocket

집에 돌아 와서 어머니께서 내 이빨을 보시고 무조건 치과 가서 스케일링을 받으라 하셨다.

뭔 영문인지는 모르겠지만 집 앞 치과 가서 예약을 하고 왔다. 30일 오후 3시.




...근데 스케일링이 뭐지? -_-;;;;;;;;;;;;;; 뭔가 불안해;;;



덤: 상식으로 알고 있는 것과는 달리 스케일링은 정말로 이빨을 갈아 내는 건 아니다. 스케일링 후에 이빨이 시리다거나 하는 것은 치석이 벗겨져서 잇뿌리가 노출되는 것 때문인데, 문제는 이 시린 정도가 치아 질환이 진행된 정도랑 비례한다는 것. 아이고, 나 이빨 안 좋은데! (정말로 불안해졌다)

↑ Top

« previous | next »

Copyright (c) 1995-2005, Kang Seonghoon (Tokigun).