분류가 모호한 글2009. 5. 28. 23:19
유럽가니 Cal 단위로 열량을 적는게 아니라 J 로 적는다..
그래서 감이 잡히지가 않아 그냥 우걱우걱...

1cal = 4.186J(줄)
평균칼로리 0℃의 순수한 물 1g을 100℃까지 올리는데 필요한 열량의 1/100


칼로리표를 보고 있으면, 웬만한 음식은 거의 Kcal 급이다.
물론 100g 기준으로 하기 때문에 그렇게 표기가 되는 것이겠지만.
Kcal 면 상당히 큰 단위 같으면서도, 매우 작은 것 같다.

[링크 : http://www.kmle.co.kr/ebook_terminology_view.php?Num=1869]

'분류가 모호한 글' 카테고리의 다른 글

memcpy 속도 향상에 대한 어셈블리 넘사벽...  (2) 2009.09.07
tarball  (0) 2009.07.30
개발의 어려움  (4) 2009.05.13
탈리도마증후근과 돼지독감  (0) 2009.04.29
확장자 sgm  (2) 2009.04.03
Posted by 구차니
프로그램 사용/gcc2009. 5. 28. 23:06
오늘 희한한 switch - case문을 들었다

case 1 ... 10:

이런식으로 기존에는
case 1:
case 2:
...
case 9:
case 10:
이라고 쓰던것을 줄여 쓸수 있다고 한다.

검색을 해보니 c#과 gcc에서 지원하고 C99 등에는 검색이 걸려 나오지 않는다.
정체가 머냐?


[링크 : http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework/topic62939.aspx]
[링크 : http://www.devhood.com/messages/message_view-2.aspx?thread_id=13708]
Posted by 구차니
Programming/C Win32 MFC2009. 5. 28. 21:49
일반적으로 사용하는 구조체 초기화 방법은 아래와 같다.
struct address {
                 int street_no;
                 char *street_name;
                 char *city;
                 char *prov;
                 char *postal_code;
               };

struct address temp_address =
               { 0,
                 "st. green",
                 "Hamilton",
                 "Ontario",
                 "123-456");

위의 방법은 C89 의 방법이고
C99에서는 아래와 같이 특정변수만 제한적으로 초기화가 가능하다.

struct address {
                 int street_no;
                 char *street_name;
                 char *city;
                 char *prov;
                 char *postal_code;
               };

struct address temp_address =
{ .city = "Hamilton", .prov = "Ontario" };


[링크 : http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic]
Posted by 구차니
노트북에서 테스트한 SSH + Cygwin/X + VNC 조합은 이상없이 작동하는데..
SSH + Xming + VNC 조합은 VNC가 먹통이 된다..


머가 문제일까?



일단은 VNC는 몇번에 할지 방법이 없으니..
Xming을 localhost:1로 하고 실행하니 이상없이 잘된다..
세션 번호 충돌인가?
Posted by 구차니

얼마전 피싱의 여파로 이런게 뜨는데..
문득 "명박이때문에!" 라고 외쳤다가 벌금 7만원 받는다는 뉴스를 보니...

이런게 나중에 뜨지 않을까 라는 불안감마저 든다


Posted by 구차니
Linux2009. 5. 28. 15:12
frhed에 너무 편해져 있어서인지.. 막상 리눅스에서 헥사 편집을 하려니 막막하다
아무튼 검색을 해보니

vi를 헥사편집기로 전환할수도 있고
:%!xxd       << hex 모드로
:%!xxd -r     << hex 모드에서 빠져나옴

[링크 : http://mwultong.blogspot.com/2007/08/vim-vi-hex-viewer-hex-editor-xxd.html]

heme라는 헥사편집기도 있는데 pctools 느낌이 난다.



[heme : http://heme.sourceforge.net/]
[발견 : http://coffeenix.net/board_view.php?bd_code=1340]
Posted by 구차니
Linux2009. 5. 28. 15:06


위의 사진은 공식 페이지에서 슬쩍..
그런데 어디서 많이 보던 디자인이다 싶긴한데.. frhex보단 조금 불편할 것 같기도 하고..
아무튼.. 서버도 ubuntu로 바꾸어 버릴까 고민이 드는 하루다.




[링크 : http://live.gnome.org/Ghex]
[링크 : http://ftp.gnome.org/pub/GNOME/sources/ghex/2.24/]
Posted by 구차니
자살이 아니라고 국민들이 대부분 믿고 싶어 하는 상황에서
노무현 전 대통령의 영부인 마저도 입을 다물고 있는건...

혹시 집안을 몰살 시키겠다는 협박을 당하고 있어서는 아닐까?
Posted by 구차니
embeded/AVR (ATmega,ATtiny)2009. 5. 27. 22:41
ubuntu에는
/dev/paraport0 가 아닌
/dev/parport0 로 장치명이 되어 있었다.



그리고 그냥 패널에서 실행할경우 일반 사용자 모드로 구동이 되므로
아래와 같이 device를 열 수 없다는 에러가 발생한다.

패널에서 실행방법을 변경하거나
아니면 콘솔에서
$ sudo gnome-avrdude &
로 실행을 하면 해결이 된다.



패러럴로 사용시 stk200으로 프로그래머를 설정해주면
ATMega128을 패러럴로 읽을 수 있다.
Posted by 구차니
프로그램 사용/libjpeg2009. 5. 27. 19:29
libjpeg는 말그대로 jpeg을 위한 라이브러리이다.

이 녀석으로 할 수 있는 것은,
일정 사이즈로 resize(리사이즈) 혹은 scale/scaling(스케일링) 하는 것과
jpg를 bmp로 변환하는 것이다. djpeg를 보면 다른 bmp 포맷으로도 변환이 가능하지만,
윈도우 기반의 Bitmap으로만 할줄을 알아서..(헤더만 차이가 있을려나..)

아무튼 자세한 내용은 libjpeg에 들어있는 libjpeg.doc 을 참조 하면 되지만
한가지 애매한 부분이 있어 추가를 한다.

jpeg_read_header(&cinfo, TRUE);

이부분은 말그대로 jpeg 파일의 크기등의 각종 정보를 불러온다.
그리고 그 정보를 바탕으로 scaling을 준비한다. 그리고 나서

jpeg_start_decompress(&cinfo);

위의 함수를 호출하여(정확하게는 매크로) jpeg 을 bitmap으로 변환한다.
아래는 변환 부분의 소스코드이며,

cinfo.scale_num = 1;
cinfo.scale_denom = 8;

부분의 값으로 인해서 1/8 크기로 축소되어 변형된다.
(이로인해 preview 시에 상당히 빠르게 볼 수 있다. 그리고 jpeg6b 버전의 최대값이 1/8 이다)
	struct jpeg_decompress_struct cinfo;
	struct jpeg_error_mgr jerr;
	FILE * infile;
	unsigned char *data_ori = NULL;
	unsigned char *data = NULL;
	int		calc_width;

	cinfo.err = jpeg_std_error(&jerr);
	jpeg_create_decompress(&cinfo);
		jpeg_stdio_src(&cinfo, infile);
		jpeg_read_header(&cinfo, TRUE);
			cinfo.scale_num = 1;
			cinfo.scale_denom = 8;
		jpeg_start_decompress(&cinfo);
			calc_width = (cinfo.output_width * cinfo.jpeg_color_space + 3) / 4 * 4;
			data = data_ori = malloc(calc_width * cinfo.output_height);
			if(data == NULL)
			{
				jpeg_finish_decompress(&cinfo);
				jpeg_destroy_compress(&cinfo);

				fclose(infile);
				return FALSE;
			}

		while (cinfo.output_scanline < cinfo.output_height)
		{
			jpeg_read_scanlines(&cinfo, &data, 1);
			data += calc_width;
		}

		jpeg_finish_decompress(&cinfo);
	jpeg_destroy_compress(&cinfo);

fclose(infile); free(data_ori);

calc_width = (cinfo.output_width * cinfo.jpeg_color_space + 3) / 4 * 4;

이 부분은 bitmap특성상 4byte align이 되어야 하므로, 4바이트 단위로 끊어주는 계산을 해준다.
아래의 data += calc_width; 에서 사용된다.
Posted by 구차니