개소리 왈왈2009. 4. 23. 11:06
속도차이는..한국에서는 별로 안느껴질지도 모르겠지만,

배경의 비에 젖은 유리 이미지와
대문의 멍멍이 하품하는 이미지 두개의 크기를 대폭 줄였습니다.

jpeg로 되어 있는 배경은 품질을 낮추어서 자세히 보면 티가 납니다만..
그래도 있다는 정도로 느낄수 있게 200KB 에서 60KB로 대폭 줄였습니다.
그리고 대문은 12KB -> 6KB로 50% 줄였습니다!!(광고의 기법 ^^;)


예전에 j4blog의 재준님께서 알려주신 사이트에서 테스트를 해보니
블로그 총용량이 생각보다 많이 줄고 로딩도 빨라진 결과가 보이는군요 +_+!

[selfseo : http://www.selfseo.com/website_speed_test.php]
[pingdom :  http://tools.pingdom.com/fpt/]


참고로 selfseo의 경우 유입경로가 남으므로..
방문자 수가 적을경우 조작을 위해 사용도 가능합니다(!)


테스트 페이지 : minimonk.tistory.com/384
페이지 특성 : 추가 이미지 없이 syntax highlight 사용한 페이지
테스트 결과 :
http://www.selfseo.com/website_speed_test.php 속도 양호 / 74.41KB 전송 / 2.14초 걸림 / 0.03초당 1KB 전송
http://tools.pingdom.com/fpt/ 309.2KB 전송 / 11.4초 걸림

음.. syntaxhighlight의 자체 js 파일도 무시 못하지만..
티스토리 자체 common.js는 줄일 방법도 없고. style.css의 용량도 무시를 못하겠군요.

'개소리 왈왈' 카테고리의 다른 글

웬지 초 공감 유머  (6) 2009.04.27
출근길의 풍경  (0) 2009.04.23
강동구 전자도서관  (4) 2009.04.21
12시간을 기절했습니다 -ㅁ-  (2) 2009.04.21
근황 - 좀비모드  (4) 2009.04.18
Posted by 구차니
Linux/Ubuntu2009. 4. 23. 01:07
어제는 우분투 8.10 바람이 불어서 설치 해볼려고 했더니..
32% 에서 cd 못 읽는다고 배째는 센스.. OTL
하도 굴렸더니 그러려니 해야지머... (CD가 없어서 DVD로 구웠는데 ㅠ.ㅠ)

아무튼 LiveCD 모드로 구동되서 확인해본 패키지 모음들

KCachegrind - Valgrind의 GUI 버전이라고 해야 하나.. 프로파일링쪽이다.

Kscope - 이녀석은 소스 분석쪽이다. 리눅스 계의 Source Insight라고 해야 하나?
Cscope의 GUI 버전

Meld - Python 기반의 비교툴. Araxis 보다 더 좋아 보인다 ㅠ.ㅠ

시냅틱 패키지 매니저 에서 컴파일러 모음
build-essential 이거 하나면 전부 설치 된다고 한다.


개고생하면서 계속 실패 중인... Kscope와 KCachegind 그리고 Meld...
이렇게 쉽게 할 수 있다는 사실에 오~ 초~~~ 쇼크~ OTL

우분투로 바로 전향 고고싱?

'Linux > Ubuntu' 카테고리의 다른 글

gnome-avrdude 컴파일하기  (6) 2009.04.27
ubuntu와 fedora의 비교  (0) 2009.04.26
Ubuntu에 VNC 설정하기  (0) 2009.04.25
kscope on Ubuntu 8.10  (0) 2009.04.24
우분투 설치중  (6) 2009.04.24
Posted by 구차니
회사일2009. 4. 22. 21:03
Koreasat 3의 경우 한글 채널명이 유니코드로 들어 있다.

유니코드는 2바이트 언어이다.
엔디안이 어떻던 간에..
전송시에는 MSB가 우선 전송된다(비트 스트림으로 전송)

가끔은 헷갈리고 힘들 문제지만... (젠장!)

아무튼, 이런 문제로 전송받은 데이터를 앞뒤로 뒤집어 주어야한다.




intel은 리틀엔디안,
motorola는 빅엔디안

리틀엔디안의 장점은 자릿수가 뒤로 늘어남으로 인해, 별도의 자릿수 맞추는 연산이 필요 없다는 장점이 있다고 하는데..

[링크 : http://www.terms.co.kr/big-endian.htm]
[링크 : http://en.wikipedia.org/wiki/Endianness]


결론 : 웬지 우리 셋트에서 한글이 나오니 기분이 묘하네 -ㅁ-
Posted by 구차니
제목은 무려...

개발자는 왜 야근을 하죠?



.... 머라고 답을 해야 하나?

.... 아니.. 너무 노골적인 질문 아냐?

.... 아니 자라나는 새싹의 희망을 꺽으면 안될텐데...

.... 아니 현실은 시궁창이야 ㄱ-

[링크 : http://ask.nate.com/qna/view.html?n=8808839]
Posted by 구차니
Programming/C Win32 MFC2009. 4. 22. 11:25
sizeof()는 type의 크기나 문자열의 길이를 알아 낼때 쓰이는 유용한 녀석이다
근데 문제는 생긴 꼴은 function() 이라서 대충 보면 함수 같은데
엄밀하게 이녀석은 operator이다.(연산자)

그런 이유로, sizeof()는 runtime시에 값이 치환되는것이 아닌 compile time에 값이 치환된다.


#include "stdio.h"
#include "stdlib.h"
#include "string.h"

void main()
{
	char str[] = "Hello World";
	char *str2 = NULL;

	printf("sizeof(char)  %d\n",sizeof(char));
	printf("sizeof(short) %d\n",sizeof(short));
	printf("sizeof(int)   %d\n",sizeof(int));
	printf("sizeof(str)   %d\n",sizeof(str));
	printf("sizeof(*str)  %d\n",sizeof(*str));
	
	str2 = (char*)malloc(12);
	printf("sizeof(str2)  %d\n",sizeof(str2));
	printf("sizeof(*str2) %d\n",sizeof(*str2));

	free(str2);
}

sizeof(char)  1
sizeof(short) 2
sizeof(int)   4
sizeof(str)   12
sizeof(*str)  1
sizeof(str2)  4
sizeof(*str2) 1

처럼 runtime시에 할당되는 크기는 알 수가 없다.
위의 것은 12바이트 문자열이므로(11 + 1byte NULL) 12가 나왔지만
아래는 *char 즉, 포인터 형으로 4byte가 나온것이다.

[링크 : http://www.velocityreviews.com/forums/t635338-sizeof-calculated-at-compile-time-or-run-time.html
Posted by 구차니
날씨도 좋고 미쳐가는건지 모르겠지만..
문득 출근하자 마자 좋은소리 못 듣다 보니..

"내가 왜 출근해서 이 고생을 해야 하지?"

라는 생각이 문득 든다..
돈의 노예로 살아가고 있어서 충실히 노예제도를 따르는 것일뿐인가..


이상과 현실은 다르다고 하지만, 왜 달라야 하는지, 다르게 되어야 하는지는 이유는 모른채
아마도.. 권력자, 재산가들의 뱃속을 채우기 위해 그렇게 되어온건 아닐지..
Posted by 구차니
embeded/80512009. 4. 21. 17:51
신기한 현상을 발견했다.
코드의 위치에 따라 용량이 상당히 많이 변한다는 사실!

for(idx = 0; idx < len; idx++)
{
	tempUnicode = input[idx];
	if(0x0020 <= tempUnicode && tempUnicode < 0x0080)	res = (char)(tempUnicode & 0x00FF);
	else if(tempUnicode == 0x00E1)						res = 0x80;
	else if(tempUnicode == 0x00E0)						res = 0x81;
	...
	else if(0x0400 < tempUnicode && tempUnicode <= 0x045F)
	{
		switch(tempUnicode)
		{
			case 0x0401:	res = 192 +	0;	break;
			case 0x0402:	res = 192 +	1;	break;
			...
		}
	}
	else												res = ' ';
}

Program Size: data=187.7 xdata=0 code=9505

for(idx = 0; idx < len; idx++)
{
	tempUnicode = input[idx];
	if(0x0020 <= tempUnicode && tempUnicode < 0x0080)	res = (char)(tempUnicode & 0x00FF);
	else if(0x0400 < tempUnicode && tempUnicode <= 0x045F)
	{
		switch(tempUnicode)
		{
			case 0x0401:	res = 192 +	0;	break;
			case 0x0402:	res = 192 +	1;	break;
			...
		}
	}
	else if(tempUnicode == 0x00E1)						res = 0x80;
	else if(tempUnicode == 0x00E0)						res = 0x81;
	...
	else												res = ' ';
}

Program Size: data=189.7 xdata=0 code=9698

바뀐건, else if() 내부에 switch()가 있는 경우의 위치가 바뀐 경우이다.
속도 최적화를 위해 빨리빠져 나갈수 있도록 위로 옮겨 주었떠니 용량이 무려!!!
193 바이트나 늘어났다.. OTL

아마도..
코드사이즈가 커지면서 MOV대신 MOVX 라던가..
이런식으로 명령어에 넣어야 하는 주소의 크기가 달라지면서 발생하는 문제가 아닐까 생각이 된다.
Posted by 구차니
embeded/80512009. 4. 21. 17:36
if(tempUnicode == 0x00E0)        output[out_idx] = 0x80;
else if(tempUnicode == 0x00E0) output[out_idx] = 0x80;
else if(tempUnicode == 0x00E0) output[out_idx] = 0x80;
...
else if(tempUnicode == 0x00E0) output[out_idx] = 0x80;
// 대략 128개

이녀석을 컴파일 하면
Program Size: data=189.7 xdata=0 code=10418

if(tempUnicode == 0x00E0)        res = 0x80;
else if(tempUnicode == 0x00E0) res = 0x80;
else if(tempUnicode == 0x00E0) res = 0x80;
...
else if(tempUnicode == 0x00E0) res = 0x80;
// 대략 128개

이녀석을 컴파일 하면
Program Size: data=187.7 xdata=0 code=9518


별거 아닌 코드이지만, 900byte 차이가 난다.
결론. 8051에서는 배열사용을 자제하자(switch / if-else 문처럼 한번의 액션에 분기되는 거라면)
Posted by 구차니
개소리 왈왈2009. 4. 21. 14:40
구글에서 강동도서관을 검색하니 딸려 나와서 한번 가보게 되었는데 의외로 마음에 들어서 후딱 가입을 했다.
근데.. 가입을 하고 보니.. 난 강동구 도서관은 가입되어 있는디 -ㅁ-?
아마.. 두개는 별도로 운영되어 지고 있나 보다.. OTL

1. 강동구 전자도서관의 첫 페이지 입니다. 물론 실명을 감추기 위해 약간의 편집을 했습니다 ^^;

2. 원하는 책을 누르면 책 소개가 나옵니다. 아래에서 대출하기나 책읽기를 누르면

3. 이 창이 뜨면서 ActiveX를 강요합니다.

4. 착한 유저는 ActiveX를 설치하시고, 나쁜 유저는 ActiveX를 설치안하고 안보시면 됩니다(응?)
   아무튼 ActiveX를 설치하고 나면 아래와 같이 책 내용을 보실 수 있습니다.

아쉬운 점은, XML 방식만 봐서 그런지 모르겠지만, 페이지 단위가 아닌 단순하게 웹 페이지에 엄청난 장문으로 작성된
느낌을 받는 다는 점인데.. 전자책의 라이센스문제로 아마.. 그렇게 한것 같지만.. 책 읽는 독자로서 pdf로 그냥 단순 스캔한
그러한 조판방식도 환영받을텐데.. 왜 이렇게 번거롭게 했을까 하는 아쉬움이 듭니다.


주의사항
1. ActiveX 도배이므로 IE 전용입니다.
2. 책 읽기를 누르는 순간 대여가 됩니다.  
   * 대출하신 책은 반납일의 오후 11시 50분에 자동 반납되며, 사전 반납도 가능합니다.
   라고 쓰여 있습니다. 반납은 신경 안써도 될 듯 합니다.
3. 책 대여는 5권까지 가능합니다만, 바로 반납하면 됩니다.  
4. 당연한지는 모르겠지만, 강동구 전자도서관은 강동구 시민만 사용이 가능합니다.

[링크 : http://elib.gangdong.go.kr/main/main.asp]



사족 : 아.. 무참히 깨어진 홈페이지여~ Firefox에서 열면 이런 만행을 보입니다..
사족2: 로그인은 되는척 하다가 안됩니다. ㄱ-


'개소리 왈왈' 카테고리의 다른 글

출근길의 풍경  (0) 2009.04.23
블로그 이미지 다이어트를 했습니다!  (4) 2009.04.23
12시간을 기절했습니다 -ㅁ-  (2) 2009.04.21
근황 - 좀비모드  (4) 2009.04.18
KT 애들 희한해~  (4) 2009.04.17
Posted by 구차니
다 큰 어른이!!
게다가 성인에!!
직딩인데!!
왜 저런짓을 하면서 피는거지 -ㅁ-!






[링크 : http://www.china1.co.kr/bbs/board.php?bo_table=happy&wr_id=117&page=30]
Posted by 구차니