블로그는 귀차니즘

First Sensation
  • 공지
  • 지역로그
  • 태그
  • 방명록

Dovelet - (1)

Algorithm 2010/03/13 00:42 귀차니스트
  알고리즘 테스트 사이트 인 Dovelet.com 입니다.
문제가 엄청 쉬운 것도 있고 어려운 것도 있는 듯 해 보이는데요.. 어제 2시간 정도 오늘 한 5시간 정도 투자하여 쉬운 쪽의 문제를 많이 풀어보았습니다. 대략 70여 문제를 풀었는데.. 이제는 조금 지치네요.. 나중에 차근차근 진행을 해봐야 겠습니다.

사각형 넓이 구하기
삼각형 넓이 구하기
네 수의 평균
두수의 교환
섭씨온도를 화씨온도로 변환
몫과 나머지 구하기
거스름 돈
손해 본 금액
퓨 즈
대소 판별하기
분수 크기 비교
수영장 가는 날
윤 년
중위수
삼각형 성립 조건
사주 팔자
해킹 회사
팀 구성
지하 차도
점수 맞추기
등차/등비 수열
축소 복사
조건 연산자
오버랩
달의 날수(switch 예제)
별 출력
순차 출력
구구단
7 개 합
끼리끼리 합
홀 수
순차 합
팩토리얼 구하기
순차 합II
최대 값
최소 값
달에서 무게
화학 실험
최대,최소값 출력
복리법
가장 부지런한 농부
약수 출력
3*n+1
완전 수
학 점
완전수,부족수,과잉수
총합,최대,최소
최대공약수,최소공배수
소수(prime number)
서로 소
중간 수
speed limit
세자리수 곱셈
수 추측하기
number steps
두 수의 연결
직각 삼각형 (별)
역 직각 삼각형I (별)
역 직각 삼각형II (별)
E 출력(별)
거울에 비친 E(별)
네모(별)
F 출력(별)
T 출력(별)
H 출력(별)
쾌걸 조로 (별)
삼각형 (별)
다이아몬드 (별)
54321
b54321
주사위 던지기 I
주사위 던지기 II
완전수 출력

어려운 문제는 푸는데 시간이 조금씩 걸릴 듯 하네요.. 차근차근 계속해서 풀어볼 생각입니다. 다들 한 번 풀어보시길 바랍니다.^^;

풀어본 문제 중 하나를 적어보도록 하겠습니다.

프로그램 명: center1
제한시간: 1 초
1 부터 n-1 까지의 합이 n+1,n+2,... 의 합과 같을 때 n 을 중간수라 한다.
예를 들어 , 4 는 1+2+3=6 이고 5 부터 차례대로 더해갈 때 5+6=11 이므로 4 는 중간수가 될 수 없다.

6 은 1+2+3+4+5=15 이고 7+8=15 이므로 6 은 중간수이다.

정수 하나를 입력으로 받아 중간수 인지를 판별하는 프로그램을 작성하시오.

입력

10,000 이하의 자연수가 입력으로 주어진다.

출력

중간수이면 O , 아니면 X 를 출력한다.

입출력 예

입력

6

출력

O

입력

10

출력

X

보충 설명

35 는 중간수
  • 1 + 2 + ... + 34 = 595
  • 36 + 37 + ... + 49 = 595
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

"Algorithm" 분류의 다른 글

Algorithm Traning Book - 다섯번째 문제 (0)2008/06/15
Algorithm Traning Book - 세 번째 문제 (0)2008/06/10
Algorithm Traning Book - 두 번째 문제 (0)2008/06/09
3n+1 Problem (0)2008/02/17
The Blocks Problem (0)2008/02/17
2010/03/13 00:42 2010/03/13 00:42
TAG algorithm, dovelet
받은 트랙백이 없고, 댓글이 없습니다.

트랙백 주소 :: http://www.filewiki.net/tc/trackback/121

댓글을 달아 주세요

Script Interpreter - boost::spirit

Programming 2010/03/09 02:57 귀차니스트
  이번에는 boost에 존재하는 spirit을 사용하여 간단한 스크립트 언어의 Interpreter를 만들어보게 되었습니다. 예전에 IPangYa 를 비롯하여 PangCal 프로그램을 만들 때 잠시 사용하였던 라이브러리를 다시 사용하게 되었는데요, 예전엔 문법적인 체크만 했었는데 이번엔 그래도 파서라는 이름에 맞게 인터프리터를 만들어보게 되었네요.

문법

명령문 -> if문, while문, 변수선언문, 변수대입문

if문 -> if(판별식) { 명령문 } else { 명령문 }

while문 -> while(판별식) { 명령문 }

판별식 -> 수식 비교연산자 수식

비교연산자 -> == != < >

변수선언문 -> var 변수이름

변수대입문 -> set 변수이름 = 수식

수식 = 값 +, -, *, / 값

값 = (값), 숫자, var:변수이름

 

예시

변수선언

ex) var abc

    abc 변수를 선언

변수대입

ex) set abc=100

    abc 변수에 100을 대입

if문

ex) if(1==1) { 명령문 }

          1과 1의 값이 동일할 때 명령문 실행

    if(var:a==var:b) { 명령문 }

        변수a 값과 변수b 값이 동일할 때 명령문 실행

    if(a==b) { 명령문 }

        변수a 값과 변수b 값이 동일할 때 명령문 실행

    else { 명령문 }

           추가적으로 뒤에 붙을 수 있음

while문

ex) while(a<1000) { 명령문 }

       변수a 값이 1000보다 작을 동안 명령문 실행

  위와 같은 문법을 지원하는 스크립트 언어 입니다. 사실 너무 간단한 스크립트 언어라 어떻게 이름을 지정할 것도 없지만요^^; 사용은 무척 쉽게 되었습니다. 사실 boost::spirit에 존재하는 함수에서 abstract parser tree를 만들어주기 때문에 해당 트리를 기반으로 평가함수를 실행하면 되기 때문이죠^^. 이번에는 C Interpreter를 만들어보려고 하고 있습니다. C++ 은 template가 있어서 그 부분은 불가능 할 것 같고 차라리 C 를 만들어보기로 했습니다. 이 부분은 완성이 천천히 진행이 될 것 같군요. 아래는 제가 만들었던 스크립트 언어의 룰입니다.

Identifier = token_node_d[(alpha_p >> *alnum_p)];
Message = '"' >> token_node_d[*(anychar_p - '"')] >> '"';
Program = *Expression;
Expression = discard_node_d[space_p] | IfExpression
| WhileExpression
| VarExpression
| CallExpression
| NumericExpression
| AssignExpression;

AssignExpression = str_p("set")
>> token_node_d[+space_p]
>> LValue
>> discard_node_d[*space_p]
>> '='
>> discard_node_d[*space_p]
>> RValue;

RValue = NumericExpression
| Message
| Identifier;

LValue = Identifier;

ComparisonOperator = str_p("==") | str_p("!=") | str_p("<") | str_p(">");

BooleanExpression = (RValue
>> discard_node_d[*space_p]
>> ComparisonOperator
>> discard_node_d[*space_p]
>> RValue);

IfExpression = str_p("if")
>> discard_node_d[*space_p]
>> '('
>> discard_node_d[*space_p]
>> BooleanExpression
>> discard_node_d[*space_p]
>> ')'
>> discard_node_d[*space_p]
>> '{'
>> discard_node_d[*space_p]
>> Program
>> discard_node_d[*space_p]
>> '}'
>> !( discard_node_d[*space_p]
>> "else"
>> discard_node_d[*space_p]
>> '{'
>> discard_node_d[*space_p]
>> Program
>> discard_node_d[*space_p]
>> '}');

WhileExpression = str_p("while")
>> discard_node_d[*space_p]
>> '('
>> discard_node_d[*space_p]
>> BooleanExpression
>> discard_node_d[*space_p]
>> ')'
>> discard_node_d[*space_p]
>> '{'
>> discard_node_d[*space_p]
>> Program
>> discard_node_d[*space_p]
>> '}';

VarExpression = str_p("var")
>> token_node_d[+space_p]
>> Identifier
>> *( discard_node_d[*space_p]
>> discard_node_d[ch_p(',')]
>> discard_node_d[*space_p]
>> Identifier);

CallExpression = str_p("call")
>> token_node_d[+space_p]
>> Identifier
>> discard_node_d[*space_p]
>> '('
>> discard_node_d[*space_p]
>> !Arguments
>> discard_node_d[*space_p]
>> ')';

Arguments = RValue
>> *( discard_node_d[*space_p]
>> discard_node_d[ch_p(',')]
>> discard_node_d[*space_p]
>> RValue);

CallVal = str_p("var:") >> Identifier;

NumericExpression = Term
>> *(   (ch_p('+') >> Term)
|   ('-' >> Term) );

Term = Factor
>> *(   ('*' >> Factor)
|   ('/' >> Factor) );

Factor =   int_p
| CallVal
|   '(' >> NumericExpression >> ')'
|   ('-' >> Factor)
|   ('+' >> Factor);

 위와 같은 룰로 구성이 되어있습니다.  앞으로 C Interpreter를 구성하게 된다면 여러모로 여기저기 붙여서 써먹을 일이 많을 듯합니다^^. 아마 제가 제작하는 OS에도 사용이 가능하게 될지도 모르겠네요^^; 가능했으면 좋겠는데.. 그럼 직접 적은 글은 별로 없는 영양가 없는 포스팅을 줄이도록 하겠습니다. 다음에 뵙겠습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

"Programming" 분류의 다른 글

Gradient에 대한 정리 (2)2009/01/07
한게임 자동테트리스 Ver 0.6 (40)2008/11/15
한게임 자동테트리스 Ver 0.2 (27)2008/11/03
Read Sector From Floppy (0)2008/07/17
어제 무작정 맹글어봤던 것입니다.. (2)2008/07/16
2010/03/09 02:57 2010/03/09 02:57
TAG Interpreter, 인터프리터
받은 트랙백이 없고, 댓글이 없습니다.

트랙백 주소 :: http://www.filewiki.net/tc/trackback/120

댓글을 달아 주세요

VirtualHttpServer - 가상URL 처리 서버

Small Talk 2010/02/22 01:19 귀차니스트
  요사이 또 한 동안 포스팅을 하지 못했던 것이 있군요. 최근 삼성소프트웨어멤버십이라는 곳에 지원을 하게 되어 그 곳에서 열심히 살다보니 포스팅이 조금 늦었습니다. 사실 이전에 올리던 OS 쪽 부분에서는 조금 많은 변화가 있었습니다.
  실제 Buddyblock 을 통한 메모리 할당 부분쪽이 수정되어 정상적인 동작을 하고 있고, 이로 인해 스케쥴러를 만들 기반은 된 상태구요. 시간이 나게 되면 틈틈이 작업을 할 생각입니다. 현재는 다른 작업 때문에 OS를 통 건드리지 못하고 있네요^^;
  최근 하고 있는 일은 가상의 Http 서버를 만드는 일 입니다. 단순히 이 문장으로는 아마 파악하시기가 힘드실 것 같은데요. 공유기를 한 번 보시면 쉽게 판단이 되실듯 합니다. 공유기의 주소가 대충 몇 가지 있지만 제가 사용하는 공유기의 경우를 예를 들어서 http://192.168.0.1 로 접속을 하면 보통 인증창이 뜨게 되고 HTTP 파일로 공유기의 설정을 서로 바꿀 수 있습니다.
  공유기 쪽에서 클라이언트로부터 전송받은 HTTP 페이지 데이터를 기반으로 공유기의 설정을 계속하여 바꾸게 되는 것인데요. 일반적인 IIS 같은 웹서버를 비롯하여 파일 전송을 주로 하는 역할과는 많이 다르다고 보시면 됩니다. 현재 많이 쓰이는 프로그램 들 중에서 하나를 비교하라고 한다면 BerrysWebShare 프로그램과 가장 비슷할 것 같군요.
  원리는 대충 아래와 같습니다. 어차피 HTTP 프로토콜이라는 것이 TCP 위에서 아스키로 이루어지는 통신의 규약이다보니 HTTP 프로토콜을 서로 전송하고 처리할 수 만 있다면 훌륭한 통신매개체로 사용할 수 도 있습니다. 더욱이 HTTP 라는 것이 범용적으로 사용하는 프로토콜이다 보니 요새 열풍이 불고 있는 스마트폰이나 PSP, PMP등으로도 웹브라우져만 있다면 접근이 가능하게 되어 있는 점이 무척 좋습니다.

POST /aa.html HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg
Referer: http://127.0.0.1/
Accept-Language: ko-KR
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: 127.0.0.1
Content-Length: 40
Connection: Keep-Alive
Cache-Control: no-cache
q=abcdefg&btnG=%C4%F5%B8%AE+%C0%FC%BC%DB

  위 사각형 상자 안에 있는 내용이 어떠한 내용을 요청 받음과 동시에 데이터를 전송하는 형태의 한 부분 입니다. POST 형태로 데이터가 전송되는 부분이 맨 아래에 보입니다. 이러한 데이터를 가지고서 여러가지 가공을 한다면 HTTP 서버에서 즉각적인 처리가 가능하게 됩니다. 좀 재미있는 응용이라고 생각할 수도 있는 부분이라 사실 구현하면서도 정말 재미있었습니다.
  하지만 만들어야 하는 기능이 이 것을 제외하고도 스크립트 언어 쪽 기능도 있다보니 이 부분 또한 처리를 해야 하여 더욱 바쁩니다^^. 그럼 이만 글을 줄이도록 하겠습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

"Small Talk" 분류의 다른 글

최근의 동향과 동방환상마작 한글화 (1)2009/08/21
Gradient 작성중에 있습니다. (3)2008/12/18
게임&인터랙티브 애플리케이션을 위한 수학 (0)2008/11/27
또 오랜기간의 공백을... (0)2008/10/12
남의 소스를 보는 것은 어렵습니다. 그리고... (2)2008/09/27
2010/02/22 01:19 2010/02/22 01:19
TAG HTTP
받은 트랙백이 없고, 댓글 2개가 달렸습니다.

트랙백 주소 :: http://www.filewiki.net/tc/trackback/119

댓글을 달아 주세요

  1. 당구리 2010/02/22 08:26  댓글주소  수정/삭제  댓글쓰기

    ㅎㅎ RSS로 첨 온 글이네.ㅋ

    • 귀차니스트 2010/03/09 12:47  댓글주소  수정/삭제

      헠 ㅋ 다음에도 들러주세용 ㅋㅋ

음.. 여러가지 일이 있지만..

OS Develope 2010/01/22 05:03 귀차니스트
  OS를 만들면서 아직 메모리 관리도 안되고, 스케쥴러도 되지 않는 OS라고 부르기엔 참 민망한 OS이지만 현재 개발은 계속되고 있는 중입니다. 저번주 토욜날 할머니께서 돌아가시는 바람에 부랴부랴 내려가서 3일장을 치르고 오느라 기능을 많이 추가하지는 못했군요. 그 전에도 면접에 대한 준비도 하고 실제 면접도 치르느라 시간이 훌쩍 지나갔습니다^^.
  예전에 올라왔던 스캔코드를 찍었던 스샷과는 다르게 키보드 처리도 어느정도 된 상태의 스크린샷입니다. 모처에 면접을 볼때는 help, mem, size의 단 3개의 명령어만 존재했는데, 현재 메모리관리자를 넣어보려고 하니 제가 생각한 구조에서는 미리 MP Configuration Table을 어느정도 분석하여 코어 개수에 대한 정보가 필요하더군요. 그래서 Process Control Block 도 지정하고 Bootstrap Core 인덱스도 구하고 하는 등의 작업을 추가 했습니다. 대충 생각한 메모리관리자의 구조가 아래와 같습니다.


1. 프로세스 마다 MemoryAllocator 가 존재한다.
2. MemoryAllocator는 BuddyBlock Algorithm으로 할당요청을 처리한다.
3. 프로세스에서 메모리 할당 요청이 들어오면 MemoryAllocator에서 남아있는 여유분의 블럭이 있는지 조사하고 서비스가능한 블럭이 있을경우 BuddyBlock 작업을 수행하여 할당을 한다. 만약 블럭이 없을 경우 PageAllocator에 페이지 할당을 요청한다.
4. PageAllocator에서는 각 Page에 대해서 소유 프로세스를 관리하며, 각각의 페이지 사이즈를 관리한다. 페이지의 할당 요청이 들어왔을 때, 서비스 가능한 페이지가 있다면 해당 페이지를 할당해주고, 아닐 경우 NULL을 리턴한다.
5. 페이지가 할당 요청이 되었을 때에는 MemoryAllocator에 요청된 공간만큼 할당을 시켜준 다음 남은 블럭은 MemoryAllocator에서 자체적으로 다시 관리한다.
6. 해제의 경우 MemoryAllocator에서 남은 블록을 해제 하며 Merging을 수행하여 해당 블럭이 PageAllocator에서 할당하는 기본 페이지 사이즈가 되면 해당 PageAllocator에 페이지 소유를 이양하고 빈 페이지로 설정한다.

  아직 다른 OS에서의 메모리 관리를 자세하게 살펴보지를 않은 상태라 나름대로 고민을 하여 구성을 해보았는데 스스로는 꽤나 괜찮다고 생각을 하지만 알고보면 평범할것 같기도 하여 열심히 구현만 하고 있습니다. 이제 메모리 관리자가 제대로 구현되고 나면 실제로 이제 구현되어야할 스케쥴러를 구현하여 멀티태스킹이 들어가게 되고 이 부분이 되고 나면 그래도 그럭저럭 OS라고 부를 수 있지 않을까 하는 생각이 조금씩 드네요^^;
  다음에도 더 발전된 포스팅 거리를 들고 찾아뵙도록 하겠습니다. 다른 일이 생기지 말아야 빨리 작업이 될텐데 말이죠^^;
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

"OS Develope" 분류의 다른 글

어후.. 드디어 인터럽트 활성화가 되었군요.. (0)2009/12/28
Kernel Image에 어이없는 삽질을... (0)2009/12/16
이제 거미줄을 정리할 때가 된 듯 합니다.. (0)2009/12/15
2010/01/22 05:03 2010/01/22 05:03
TAG 64bit, OS, PlugInOS, X64
받은 트랙백이 없고, 댓글 2개가 달렸습니다.

트랙백 주소 :: http://www.filewiki.net/tc/trackback/118

댓글을 달아 주세요

  1. 비밀방문자 2010/01/30 23:22  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

    • 귀차니스트 2010/02/22 01:04  댓글주소  수정/삭제

      음.. 한글화 파일 0.5 버젼은 따로 네이버 동방환상마작 까페에 보시면 있을겁니다.
      리비젼 2는 되지 있지 않구요.. 1만 된 상태에 그것도 완전하지는 않습니다.

어후.. 드디어 인터럽트 활성화가 되었군요..

OS Develope 2009/12/28 04:09 귀차니스트
  마지막 C++ 커널 진입 글을 올리고 난뒤 많은 시간이 흐른것 같습니다. 엄청 -ㅅ- 도중에 해결할 수 없는 삽질이 계속되어 한 동안 지지부진 하고 있었는데요.. 결과는 오늘 해결을 봤습니다. 결과물은 아래와 같이 Keyboard Interrupt 처리가 되는 화면입니다.(하지만 제대로된 키 입력은 아직 처리를 못했다는게.. 가장 큰 문제라면 문제일까요?)



  위 화면에서 볼 수 있다 시피 깨진 문자가 입력이 되긴 합니다. Scan Code 를 곧바로 출력하게 하였더니 이런 현상이 발생하네요^^; 곧 piKeyboard 클래스를 제작하여 제대로 된 입력을 처리하려고 합니다. ㅎㅎ 그래도 예전에 진입만 되었던 화면이랑 많이 달라진 듯 하죠? 대충 그 동안 추가된 기능이 아래와 같습니다.

1. Memory Size Detection
  - Page Map Level 4 Table등의 메모리 테이블을 구성하여 제대로 메모리 접근이
되는지 검사하여 사이즈를 측정을 하게 하였고

2. Global Descriptor Table
 - KernelLoader 에서 임시로 롱모드 진입을 위한 GDT 데이터를 1MB 영역에 존재하는 커널에서 다시 재구성하여 로딩을 합니다.

3. Task State Segment
 - Task Segment 를 구성했구요. 이를 위해서. 뒤에 적을 하나의 구현이 필요했습니다.

4. Interrupt Descriptor Table
 - CPU에 대한 Interrupt 를 처리하기 위한 IDT를 커널영역에서 구성하였습니다. 물론 Master PIC, Slave PIC 또한 IRQ를 리맵핑하여 처리할 수 있도록 하였습니다.

6. new operator 제공
 - 아주 단순한 new 이긴 합니다만, 현재 커널 상에서 커널을 실제 운용하기 위하여 사용되는 Memory Allocation Alogorithm을 사용한 것이 아닌 문법상으로 new 를 지원합니다. 이 부분이 되어야 x64 Task State Segment 에서 사용할 스택공간을 손쉽게 마련할 수 있겠더라구요^^.

7. Global / Static Class의 Constructor, Destructor 호출
 - 기존엔 Pointer 를 Global 하게 관리하고 Stack 에 커널 오브젝트를 생성한 후, 사용을 하였는데 그 부분을 LD 와 extern "C" 를 이용하여 서로 연결 Constructor, Destructor를 KernelMain 진입 전후에 호출이 되도록 하였습니다. 이 덕분에 커널영역에 데이터가 존재하게 되었구요

  뭐 별 기능이 없는 것 같기는 합니다만. 소스 측면에서는 엄청난 변화가 있었습니다. ㅜㅜ Descriptor Table 들을 어떻게 구성할까 구성할까 하다가 Class 와 Inheritance, Union 을 사용하여 데이터에 대하여 공통적으로 접근하기 쉽도록 일단은 구성을 했었고, 최대한 namespace 를 사용하여 소스코드량은 많아질지라도 구분을 하도록 했고, Get, Set 을 통하여 OOP를 그래도 지켜보려고 했습니다. 그래도 RTTI가 안되다보니 Inheritance의 Virtual Function 같은건 사용할 수도 없습니다. 뭐.. Virtual Function 을 사용하려고 해도 Function Table 로 인하여 Class의 크기가 커지는 문제점이 있어서 손쉽게 할 수 있는 것만도 아니지만요^^;

  지금도 열나게 코딩중이긴 하지만 언제까지 달릴 수 있을지 잘 모르겠습니다^^. 그럼 다음에는 더 좋은 결과물을 들고 포스팅을 해보도록 하겠습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

"OS Develope" 분류의 다른 글

음.. 여러가지 일이 있지만.. (2)2010/01/22
Kernel Image에 어이없는 삽질을... (0)2009/12/16
이제 거미줄을 정리할 때가 된 듯 합니다.. (0)2009/12/15
2009/12/28 04:09 2009/12/28 04:09
TAG OS, OS개발, PlugInOS
받은 트랙백이 없고, 댓글이 없습니다.

트랙백 주소 :: http://www.filewiki.net/tc/trackback/117

댓글을 달아 주세요

◀ 이전페이지 1 2 3 4 5 ... 24 다음페이지 ▶

블로그 이미지
First Sensation 귀차니스트
rss
  • 관리자
  • 글쓰기

카테고리

  • 전체 (119)
    • Computer (3)
    • Language (14)
    • Reverse Engineering (1)
    • Algorithm (10)
    • TopCoder (3)
    • Library (2)
    • Programming (21)
    • Programming Tip (9)
    • PSP-Programming (10)
    • Program (5)
    • Small Talk (33)
    • Document (4)
    • OS Develope (4)

최근에 올라온 글

  • Dovelet - (1).
  • Script Interpreter - b....
  • VirtualHttpServer - 가.... (2)
  • 음.. 여러가지 일이 있.... (2)
  • 어후.. 드디어 인터럽트....

최근에 달린 댓글

  • 좋은정보 감사합니다. :) 출.... 블루아사 03:10
  • 헠 ㅋ 다음에도 들러주세용 ㅋㅋ. 귀차니스트 03/09
  • ㅎㅎ RSS로 첨 온 글이네.ㅋ. 당구리 02/22
  • 음.. 한글화 파일 0.5 버젼은.... 귀차니스트 02/22
  • 관리자만 볼 수 있는 댓글입.... 비밀방문자 01/30

달력

«   2010/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

링크

  • kkamagui 프로그래밍 세상.
  • runner님의 이글루.
  • 당구리의 마굿간.
  • 동우fly.
  • 류광의 번역 이야기.
  • 서광열의 프로그래밍 언....
  • 준호씨의 블로그.
  • 최익필의 이름없는 블로그.
  • 위키는 귀차니즘.

최근에 받은 트랙백

  • 한게임 테트리스 인공지.... 고니's Life 2009
  • ACM 706 (Uva ID) : LCD.... 알고리즘 트레이닝 : Oh... 2009
  • 문제 4 : LCD 디스플레.... 최익필의 이름없는 블로그 2009
  • 궁극의 예외처리. 이름없는 블로그 2008
  • Maximum sum. 티스토리 지점 2008

글 보관함

  • 2010/03 (2)
  • 2010/02 (1)
  • 2010/01 (1)
  • 2009/12 (3)
  • 2009/08 (1)

태그목록

  • GUI
  • OS개발
  • 디인터레이스
  • Programming
  • HTML 파서
  • Reverse Engineering
  • Catch
  • Call By Value
  • Secure
  • 64bit
  • Inheritance
  • 한글표현
  • Newline
  • tr1
  • Codegear
  • Array
  • ostreambuf_iterator
  • Logitech
  • 개인정보유출
  • 개발일지
  • HP
  • 입양
  • LGT
  • TTF
  • STL
  • 파티션
  • 한글
  • Sector
  • TShell
  • 디코딩

지역로그 : 태그 : 방명록 : 관리자 : 글쓰기
귀차니스트’s Blog is powered by Textcube 1.7.5 : Risoluto / Designed by DesignNia.net