블로그 이미지

하얀현자의 Sweet Whisper!

하양이가 하고 있는, 살고 있는- 소소한 하루의 여정。 by 하얀현자


'전체목록'에 해당되는 글 35건

  1. 2010.01.26 달팽이, 저 넓고 거치른 바다4
  2. 2010.01.13 독서 취향 테스트?1
  3. 2010.01.08 MMAP을 사용해보자!3
  4. 2009.12.21 2009년 진행한 프로젝트 정리2
  5. 2009.10.18 MFC - Font 바꾸기!2
  6. 2009.10.09 2009.10.08 | 모아둔 사진들
  7. 2009.09.07 CNCE120 - 인터넷 활용 및 실습 (2)
  8. 2009.08.03 MFC Study #2 - List Control1
  9. 2009.07.13 MFC Study #1 - Control 다루기
  10. 2009.06.27 2009.06.26 | Plan - V2

달팽이, 저 넓고 거치른 바다


"집에 오는 길은 때론 너무 길어"서 노래를 들으면서 온다.
여느때와 다름없이 테이의 노래. 평소같으면 그냥 넘겼을 노래지만 귀찮다는 생각에 그냥 계속 듣고 오던 '달팽이' 라는 노래가 흘러 나오고 있었다.
도대체 이 달팽이란 노래를 왜 리메이크까지 하면서 불렀을까 가만히 노래를 들어보았다.


좁은 욕조속에 몸을 뉘었을때, 작은 달팽이 한마리가
내게로 다가와 작은 목소리로 속삭여줬어.

언젠가, 먼훗날에 저 넓고 거치른 세상 끝 바다로 갈거라고.
아무도 못봤지만 기억속 어딘가 들리는 파도소리 따라서
나는 영원히 갈래.
내 모든 걸 바쳤지만, 이젠 모두 푸른 연기처럼 산산이 흩어지고
내게 남아있는 작은 힘을 다해 마지막 꿈속에서
모두 잊게, 모두 잊게, 해줄 바다를 건널거야.


그 작은 달팽이가 '바다' 를 어떻게 알게 되었을까.
왜 하필이면 지치고 지쳐있어서 욕조에 몸을 뉘었을때 그 달팽이가 나에게 그런 말을 해주었을까.

과연 내가 생각하는 '바다' 는 마지막 꿈속에서 그 힘든 것들을 모두 잊게해줄 만한 그런 바다인가.

Top

독서 취향 테스트?

 

따뜻하고 건조한 여름, 선선하고 비가 많이 내리는 겨울. 너무 춥지도 않고 너무 덥지도 않음. 지중해성 기후는 쨍하고 맑은 날씨와 일년 내내 푸근한 기온이 특징. 겨울에 한정되긴 하지만 충분한 강우량으로 목가적인 초목이 자라며, 수많은 향기 가득한 허브와 과일, 농작물들이 풍성하게 자란다.

극단적이지도, 어렵지도 않은, 언제나 맑고 밝고 풍족한. 이 기후는 당신의 책 취향을 대변해 줍니다.

  • 목가적 친밀함:
    올리브 나무 자라는 드넓은 평원마냥 낙관적이고 선량한, 가슴 따뜻한 내용 선호. 전인류 보편적인 인간애와 감성주의, 편안함과 친밀함을 좋아함.
  • 지속적, 안정적:
    비논리적, 비과학적인 내용에 관대하며, 뻔하고 단순한 내용에 쉽게 질리지 않음. 좋아하는 것에 매우 오랜 세월 애착을 갖는 편. 오랜 세월, 대중들의 검증을 받은 책 선호. 남들이 사보는, 유명한 책들만 본다는 편견이 있을 수 있음.

  • 극단적인 기후에 울컥:
    까다로움, 복잡함, 과도한 두뇌 게임에 반감. 독선적 냉소, 끝도 없는 불평 불만, 지적인 교만에 혐오감. 반사회적이고 극단적 내용에 불쾌감.

출판업계의 관점에서 볼때 당신은 시장의 절대다수를 차지하는 취향입니다. 불황기에도 꾸준히 책을 사서 보는 우직한 소비자 층이며, 출판 시장의 판도를 좌우하는 침묵하는 다수이자, 베스트셀러를 만드는 가장 굳건한 지지자들이죠.

당신의 취향으로부터 많은 지지를 받은 작가들에는 다음과 같은 이들이 있습니다.

에쿠니 가오리
"피렌체의 두오모에, 너랑 오르고 싶어. 그때 나는 평소에 없는 용기를 끌어모아 말했다. 나로서는 태어나서 처음 하는 사랑의 고백이었으므로. 피렌체의 두오모에는 꼭 이사람과 같이 오르고 싶다고 생각했던 것이다...우리의 인생은 다른 곳에서 시작됐지만, 반드시 같은 장소에서 끝날 것이라고."
- 냉정과 열정 사이 中

정이현
"010-97X-5X1.....8."
마지막 숫자를 슬쩍 다르게 댈까 하다가 그만두었다. 그렇게까지 비겁하고 싶지는 않다. 그는 버튼을 꼭꼭 눌러가며 내 번호를 휴대폰에 저장했다. 내 전화벨이 울린다. 당황해서 가방을 여는 순간 벨소리가 뚝 그친다. 액정에 부재중전화 1통, 표시가 떠 있다.
"제 번호 찍어놨어요."
나는 천치처럼 고개만 끄덕였다.
- 달콤한 나의 도시 中

 

 

오오... 왠지 이런건 해볼 때 마다 맞는 듯 하다 +_+
해보고 싶은 사람은 http://book.idsolution.co.kr/?mode=home

 

Top

MMAP을 사용해보자!

MMAP

What is MMAP?

  • MMAP is Memory Mapped IO, It enables accessing file like memory read or write.
    • MMAP은 Memory Mapped IO 로써, 파일에 대한 접근을 메모리에 접근하는 것과 같이 만들어 준다.
  • Therefore it has benefit in IO throughput which has huge overload of each access.
    • 따라서, 이는 각각의 Access 마다 가지고 있는 큰 Overload를 지닌 IO Throughput 에 있어서 이익을 얻을 수 있다.

Implementation of MMAP

Environment under Windows

  • Windows support MMAP form of function CreateFileMapping. This is quite different from UNIX implementation.
    • Windows 에서는 MMAP을 CreateFileMapping 이라는 함수로써 지원한다. 이는 UNIX에의 구현과 다소 상이한 점이다.
  • But, basically it’s same with UNIX one.
    • 하지만, 기본적으로는 UNIX의 그것과 일맥상통한다.

Simple Source Code

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void main(){
 
	// Simple Source Code Using MMAP in Win32 Environment
	// 2008.01.08 Written by snowsage
 
	HANDLE hFile = CreateFile(TEXT("\\tmp.txt"), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL);
	if(hFile == NULL){ printf("<ERROR> CreateFile\n"); return; }
 
	HANDLE fd = CreateFileMapping( hFile, NULL, PAGE_READONLY, 0, 0, NULL );
	if(fd == NULL){ printf("<ERROR> CreateFileMapping\n"); return; }
 
	char* mapFile = (char*)MapViewOfFile(fd, FILE_MAP_READ, 0, 0, 0);
	printf("%s", mapFile);
}

Explanation of Source Code

  1. windows.h has definitions of function which is related to MMAP. So we have to include the file.
    • windows.h 파일이 MMAP과 관련한 함수들을 정의하고 있으므로 이 파일을 Include 해주어야 한다.
  2. First, Create file handler to your file(CreateFile). You have to carefull with access options! It has to equivalent with using in CreateFileMapping function.
    • 먼저 파일에 대한 Handler를 얻어온다(CreateFile). 이때 Access 권한을 설정을 주의하여야한다. 이것은 CreateFileMapping Function 에서 사용 되는 것과 같은 값이어야한다.
  3. Create mapping handle using opened file handler(hFile). Actually, It is real step to map file.
    • Mapping handle 을 file handler(hFile)로 부터 생성한다. 사실 이 과정이 실제 파일로 매핑을 하는 과정이다.
  4. Get pointer from mapped handle(fd). MapViewOfFile function will be return VOID pointer, so we need to type cast VOID to CHAR pointer.
    • Mapping된 handle로부터 포인터값을 얻어온다. MapViewOfFile 함수는 void 포인터로 반환하기 때문에 이에 대해 char*로 TypeCast가 필요하다.

- 원본 글 위치: http://kweb.korea.ac.kr/doku.php?id=kdj-mmap

Top

2009년 진행한 프로젝트 정리

소스파일과 스크린샷등은 나중에 정리되는 대로 올려보기로 하고, 2009년에 진행했던 프로젝트들을 대충 정리해서 올려보기로 한다 :)

  1. www.neo-aik.com
    자의반 타의반으로 완성시킨 neo-aik. 물론 지금은 손을 뗀 상태라서 잘 돌아갈지 어떨지는 모르지만 일단 이쿠자와 유이치라는 일본 가수의 공식홈페이지로 돌아가고 있으니 별탈 없이 굴러가긴 하는듯
  2. www.bandandmusic.com
    여러가지 문제로 인해 구현 중간에 중단해버리고 말았지만, Ajax와 Flash - XML 연동 + 실시간 음악 재생의 MySQL 연동.. 기타 잡다한 기술로 휘황찬란해게 꾸며졌던 사이트.
    물론 위에서 말한대로 '중단' 해 버렸기 때문에 더이상 내가 구현한 사이트가 아니다 :(
  3. dependable.korea.ac.kr
    Dependable Software 연구실의 홈페이지를 제작했다. 모 회사의 사이트를 벤치마킹하여 만든 홈페이지로, 위지윅 에디터로 마치 솔루션에서처럼 홈페이지의 내용을 자유자재로 변경할 수 있다는 것이 특징!
  4. ceeds.korea.ac.kr
    CEEDS (Center for Engineering & Educational Dependable Software) 의 홈페이지로, 역시 Dependable 의 차성덕 교수님 지휘하에 있는 센터 홈페이지이다. 아직 제작중이긴 하지만.. CEEDS 가 1년에 몇십억씩 받는 큰 프로젝트인줄도 모르고 있었던 내가 부끄럽다 ^^;;
  5. (MP) H.264 영상 인코딩 및 재생기
    시간이 되면 정말 제대로 다시 만들어보고 싶은 작품중의 하나. H.264 라는 영상표준 기술이 재미있는 점도 있지만, 역시 과목 프로젝트로 진행하다보니 시간에 쫓겨 최적화되지 못한 코드들이 너무 많이 산재해있었다. Multi-Thread 개념과 MMAP 등의 개념을 적절히 조합하면 내가 만들었던 인코딩 속도보다 훨~~씬 빠른 녀석으로 개조할 수 있을 듯 :)
  6. (SSE) Windows CE 6.0 환경에서 실시간 스트리밍 플레이어
    소녀시대의 Kissing You 를 테스트 음악으로 삼아서 열심히 만들었던 프로그램. Embedded System 특성상 끊김 현상이 심해서 그 현상을 잡기위해 열심히 노력했더랬다. 단순 Queue Buffer를 Circular Buffer로 만들고 Buffer Size 조정도 하고 Pointer 연산이 훨씬 빠르다는 교수님의 말을 상기해 내서 STL 로 만들었던 Structure 를 전부 포인터 연산으로 변경하기도 한, 말 그대로 우여 곡절의 스트리밍 플레이어였다.
  7. (CG) OpenGL 을 이용한 Fractal Tree Simulation (On Windows CE 6.0)
    OpenGL을 이용해 프랙탈 나무를 그렸다. 원래 시나리오는 호수가 펼쳐지고 나무가 어린나무에서 고목으로 자라면서 계절의 변화를 겪는 아주 휘황찬란한 프로젝트였는데, 구현상의 심각한 문제와(그러니까, 기한을 너무 짧게 잡았다...) Windows CE 상에서는 역시 자원의 부족으로 나무 좀 그려주고 나뭇잎 좀 그려주니까 보드가 너무 힘들어해서 그냥 나무 시뮬레이션으로 전환ㅋㅋ 아! 물론 나뭇잎의 계절변화는 들어가있다!! ㅋㅋㅋ Structure 를 실제 나무의 속성을 이용해서 정말 잘 만들었지만 좀더 Embedded 용으로 다듬었으면 좋았을텐데, 하는 아쉬움이 다소 남는다.
  8. (Kweb) PunBB용 사진 갤러리
    PunBB 환경에서는 갤러리가 없는 듯해서, Kweb 홈페이지에 그동안 숙원사업이던 사진첩을 한 일주일? 에 걸쳐서 만들었다. 물론 CrossBrowsing 을 생각해주었지만, 문제는.. 문제는..!! IE 6.0 은 제대로 렌더링하지 못하더라는 것이다. 아.. 정말 IE 6.0 은 제대로 잘 못 만든 브라우져다.....
    이 갤러리 덕분에 PunBB 의 개략적인 구조를 파악할 수 있었다.

지금 기억나는건 이렇게 8개 정도의 프로젝트 들이 있었다 ^^ 생각보다 많이 있었네..
아! PunBB 용 사진 갤러리를 만들면서 Snowsage Player Ver 2.0 을 준비하고 있었는데, 예전에 생겼던 문제점들을 효율적으로 해결할 만한 아이디어가 생각나지 않는다. 단지 현재 해결한건 크로스브라우징 문제정도?

방학중에는 OpenMP (병렬처리) 와 MMAP 을 써볼겸 미디어 인코더를 다시 만들어보거나(온라인연동?) (or)
고대 Subnet 하에서 작동가능한 DHCP Server 를 제작해보거나... 또 뭔가 생각해 놨었는데... 암튼...

물론 이 모든 것들이 인턴 진행중에 가능한 것들일까...나..? ㅠㅠ

Top

MFC - Font 바꾸기!

MFC에서 기본 글자는 MS Sanserif 인지 하는 글자체다.
모두가 알다시피 VS 6.0의 그 Oldish 한 그 글자체..ㅠ
그래서.. 바꾸는 방법이 없을까 해서 찾아봤더니 코드를 찾아내기에 이르렀다!!

 HFONT hFont = CreateFont( 12,0,0,0,0,0,0,0,HANGEUL_CHARSET,3,2,1,       
         VARIABLE_PITCH | FF_MODERN, _T("돋움") ); // 폰트를 돋움으로!!
 [Control Variable].SendMessage( WM_SETFONT, (WPARAM)hFont, (LPARAM)TRUE );

위의 코드를 C(DialogClass)Dlg::OnInitDialog() 에 넣어주니 정상적으로 작동했다.
하지만 문제점은 Static Text Field 에는 Control Variable 을 추가해 줄 수 없으니 불가능하다는 점...
다시 다른 방법을 찾아봐야겠다.

Top

2009.10.08 | 모아둔 사진들

/***
* 언젠가 여름, 학교 주변을 배회하며.. (그래 역시 컴과의 // 는 초록색이야..)
***/


{ 경영대와 백주년 기념관 앞에 있던 표지판 }

 가끔, 직진할 수 없을때 오른쪽으로 가야할 때가 있다. 하지만 결국 도달하는 곳은 같겠지.



 내가 써놓고도 닭살이 돋는구나ㅋㅋ 그냥 아래에서 위로 찍으면 좀 멋있어 보일까 해서 찍어보았다ㅋㅋ 당연히 난 사진 전문가가 아니니까, 나의 쿠키폰이 찍어주셨다-


{ 경영대와 중앙도서관 사이의 분수 }


 위의 사진과 같은 날 찍은 사진. 소나무가 멋있어 보이길래 찍었다. 사실 분수가 나왔으면 더 멋있었을텐데..

/***

* 방학, 과연 그의 계획은.. (물거품..)
***/

{ June과의 재회!? }


 그렇다. 종합정비창 소속의 16년 친구인 준혁이가 전역을 한지 어언 두달이 되어서야 만날 수 있었다. 전역하고 일하고 있다고.. 바쁜중에 쉬는 날에 한번 만나면 맛있는 치킨과 맛있는 맥주를 사준다고 했는데,, 진짜 맛있었네 친구.

   
   
   
   
Top

CNCE120 - 인터넷 활용 및 실습 (2)

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

MFC Study #2 - List Control

 int [List Box Ctrl Var].GetCurSel()   // 현재 선택된 Item 의 번호를 가지고 온다
 int [List Box Ctrl Var].AddString([CString Type Var]);  // AddString!!
 [CString Type Variable].Format(_T("%d"), [int Type Variable]);   // CString에 Int 할당시키기

 - Additional Key Control
Enter 키가 입력되면 다이얼로그가 종료되는 문제를 해결하기 위해서 Key Control에 도전해 보았다.

BOOL [Dlg Class Name]::PreTranslateMessage(MSG* pMsg)
{
    if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN){
      OnBnClickedButton1();
        // 여기에 엔터키 기능 작성
       return TRUE;
    }
    else if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_ESCAPE) {
        // 여기에 ESC키 기능 작성      
        return TRUE;
    }
}

물론 헤더에도 이 함수를 추가시켜 줄 것!
Top

MFC Study #1 - Control 다루기

# 간단한 Button Object 의 Control Methods
AfxMessageBox(myText);                                       // Alert Box
GetDlgItem(btnID)->SetWindowText(myText);           // 버튼의 글자를 변경
GetDlgItem(btnID)->ShowWindow(FALSE/TRUE);     // 버튼의 Show / Hide 를 변경
GetDlgItem(btnID)->EnableWindow(FALSE/TRUE);   // 버튼의 Enable / Disable를 변경
OnOK();   // DlgBox 종료

# Text Object(Check Box) 의 Control 방법
- Text Field 생성 -> Member 변수 추가 -> Category(범주)를 Value 로 선택 -> Variable Name 선언
- Control Button Object 에서 해당 Variable 로 Control
- UpdateData(FALSE / TRUE) ★★
   False 일 경우엔 Variable -> Object 로 변수 세팅! (Redraw/getFromVariable 와 같은 개념)
   True 일 경우엔 Object -> Variable 로 변수 GET!  (parseToVariable)
- COMBO Box 의 경우에는 Control화면의 Data 가 그대로 변수로 내려온다. (Control Number 아님)
   ex) DATA: My Name Is;Yozoh;Give me your;Banana 일 경우,
         OnChange 시에 My Name Is or Yozoh... 이런식으로 하나씩 떨궈져 나온다!
MessageBox(myText, BoxTitle, NULL) // Message BOX

# ProgressBar 의 Control 방법
- ProgressBar 의 Variable은 Control Type 의 Variable -> Class 이다!
- v_CtrlPro.SetRange(min, max); // Range 할당
- v_CtrlPro.SetStep(step); // Step 1개당 몇개의 Step 을 이동한 것으로 처리할 것인지?
- v_CtrlPro.StepIt(); // Step 진행


Top

2009.06.26 | Plan - V

# Queue(){ }

  1. 영어공부 - TEPS나 TOEIC 이나.. 일단 방학때 2달 공부해서 시험은 한번정도 볼까?
(사실 외국 나가려면 TOEFL을 봐야하지만, 사실 바로 부딪히기에는 다소 무서운 감이 있으니 이건 Buffer 의 개념으로 생각하자 :) )

  2. 운동도 좀 하자! 더 이상은 안됨.ㅇㅇ

  3. Mobile or MFC or Networks? - 그래, 뭔가 발전이 있어야지!ㅋ Mobile 쪽이나 MFC, Network 관련된 걸 공부해보자. Network 가 나을거 같긴 하다. Linux Kernel도 좀 공부할 수 있고.. 개인 프로젝트(?) 비슷하게 진행하자... (아 맞아. Class 개념도 다시 공부해야ㅠ)

 

# SWFUploader
  사실 Multiuploader 구현에는 플래시만큼 좋은 툴이 없다. SWFUploader가 사실 그렇게 간단한 구조를 가지고 있을 줄은 몰랐는데. 단지 Handler 만 조작해주면 끝이라니. 진짜 구글코드에 올라와 있는 것들은 하나같이 이렇게 아름다운 Structure 를 가지고 있다니ㅠ

 +

# Tuna~*

지금 배가 고파서 그런가. 이렇게 간단하게 먹는 참치청양고추쌈(?) 도 맛있어 보인다ㅠㅠ 아.. 나중에 뭔가 해먹기 귀찮을때 먹으면 될거 같아서 일단 데려 왔다.
(출처는 먹는언니님 블로그)
Top

prev 1 2 3 4 next