Article Category

분류 전체보기 (108)
나의 이야기 (52)
Study - Programming (39)
Study- MSC (11)
Study - ETC (0)
Project (3)

Recent Comment

Recent Trackback

Calendar

«   2008/08   »
          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            

Archive

  • Total45,126
  • Today26
  • Yesterday33
  1. 2008/07/12
    3rd Project : RAD Tool for Win32 API (2)
  2. 2008/06/08
    프로그램 관리자
  3. 2007/11/10
    하고 싶은게 너무 많아 감당을 못할때
  4. 2007/10/07
    답답하구나 (10)
  5. 2007/09/22
    도전, 프로그래밍!

프로젝트명 : RAD Tool for Win32 API

수행 기간 : 2008.8~2009.12
                군 기간 중 약 3번의 정기 휴가(총 30일) 간 수행할 예정

사용 언어 : C++/MFC

계획중인 기능
- Win32 API 코드를 읽고 그에 따른 디자인을 해 주는 기능
- 직접 GUI를 통한 직관적인 디자인을 하면 그에 따른 Win32 API 코드를 생성해주는 기능



- 윈도우 프로그래밍을 하는 방법은 여러 가지가 있지만 그 중 대표적인 방법으로 Win32 API 를 이용하는 방법이 있다. 그러나 그 방법이 직관적이지 않고 수많은 함수들을 사용해서 일일히 작성해야 하므로 그 강력함 만큼 불편한 점이 있다.
  이를 극복하기 위하여 다양한 방식의 윈도우 프로그래밍 기술이 나왔는데 MFC 등의 방법도 생겼고, RAD(Rapid Application Development) Tool을 이용하는 방법도 있다.
  특히 Visual Basic, Delphi 등으로 대표되는 RAD 툴의 경우, 직관적인 디자인 방식을 제공하기 때문에 높은 생산성을 보여주지만 그만큼 기능상의 한계도 가지고 있다.
  그래서 이번 프로젝트에서 API 코드를 읽어서 그에 따른 디자인을 화면으로 보여 주고 또한 직접 디자인 하면 코드를 생성해 주는 방식의 프로그램을 만들어 보고자 한다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback 0 and Comment 2
음.. 근무할 때 핑 테스트한다고 창을 열댓개를 띄워 놓고 그러니까

작업 표시줄이 너무 복잡하더라

그래서 어떻게 할 방법이 없을까 생각하다가 아예 실행 중인 프로그램을 관리하는 프로그램을 만들자고 생각해서 만들어 보았다
사용자 삽입 이미지

생각보다 간단히 만들 수 있었다.

Find Windows를 클릭하면 실행중인 프로그램이 목록으로 뜨고 Show/Hide를 조정할 수 있다.

휴가 와서 이거랑 비트맵 깔짝대는거 한다고 하루는 사용한 것 같다.

아 내일 가는구나.. 기분이 착찹하다... 일단은 핵심 소스만

   i = SendMessage(hList,LB_GETCURSEL,0,0);
   SendMessage(hList,LB_GETTEXT,i,(LPARAM)str);
   tempHwnd = FindWindow(NULL,str);
   ShowWindow(tempHwnd,SW_SHOW);
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback 0 and Comment 0
  지금 내가 공부 하고 있는 언어들을 한번 세어 보면

1. C
2. C++
3. JAVA
4. C#
5. VB.NET
6. Delphi

  여기에 세부 분야까지 넣어 보면
1. API
2. MFC
3. TCP/IP

  뭐 이정도. 문제는 이런 것들을 그냥 배워 보고 싶다는 생각에 건드려만 본다는 것이다. C/C++이야 항상 만지고 있는 거니 예외라 치고, 델파이는 거의 안하니 제외 해도 너무 하려고 하는게 많다. 특히 C#이랑 JAVA는 의욕에 비해 하는게 너무 없는듯하다.

  지금 생각은 이렇다. 한 두가지 정도만 집중할것이냐 조금만 더 힘낼 것이냐. 솔직히 말해서 조금 버겁긴 하지만 그렇다고 못하겠는건 아니다. 그냥 진도가 너무 안나가는 것에 대한 불안감?

  그래도 대학 와서 내가 이쪽 분야 그동안 공부했던것과 비교해 본다면 결코 무리라는 생각은 안든다. 다만 걱정되는건 어린 시절 근 10년간 VB를 파 오면서 너무 공부하기에는 어렸었다는 것도 있었겠지만 여러가지를 많이 해보고 싶어서 이것 저것 해보다가 어중간하게 얕고 넓게(?) 익히게 되어서 그게 반복되지 않을까 신경쓰인다.

  1월 안에는 윈어플 큰거 하나 짜놓고 가긴 가야 하는데.. 제일 승산 있는게 무엇일까? 제일 승산있는건 MFC나 C#쪽인데.. 아무래도 최근에 새로 배우는 언어는 C#이 제일 무난하게 나가고 있어 조금만 더 하면 윈폼 시작할것이니. 아니면 지금 텀 프로젝트한다고 공부중인 MFC도 요즘들어 뭔가 감이 잡혀가기 시작해서 조금만 더 노력하면 속도가 붙을 것 같은데..

  이렇게 해봐야 겠다. JAVA로는 뭐 만드는건 잠시 미루되 꾸준히 공부는 하고 MFC는 텀에 충실하되 실력이 늘 수 있게, 그리고 C#으로는 뭘 만들도록 주로 공부해 봐야지. 이렇게 실천할수 있으면 얼마나 좋아.
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback 0 and Comment 0

  요즘들어 자꾸 우물 안 개구리라는 느낌을 자주 받는다. 그도 그럴 것이, 요즘 코드 짜는 것들을 보면 별찍기라던지, 진법변환이라던지, 정렬 알고리즘이라던지, 뭐 이런것들이다. 그야말로 학교 과제용 코드들. 이런 쉬운 것들만 자꾸 하다 보니 내가 무슨 C의 본좌라도 되는 것처럼 자만하게 되는 것 같기도 하고, 그런 느낌이 들땐 흠칫 놀라면서 다시 마음을 가다듬곤 하긴 한다.
  지금 생각하면 참 실력 많이 늘었다고 느끼는건 사실이다. 어린 시절 아직 사고 능력이 부족 할 때에는 잘 이해가 안가던 것들이 지금은 하나 둘씩 이해가 되어가고 있고, 좀 더 경험도 쌓여 가고 있고.. 객체지향? 이런거 어릴때는 뭔지도 몰랐던 개념이였지만 지금은 오히려 객체지향 프로그래밍이 익숙할 떄도 있다.
  그렇게 뭔가 좀 아는게 늘어가다 보니 지적 허영심에도 많이 빠지더라. 뭔가 내가 천재라도 된 것 거처럼 걷기도 전에 뛰려고 하는 식으로 다른 걸 배우려고 하고.. 그러다가 포기할때도 있고.. 참.. 후회할 때가 많다. 그냥 하나만 팠으면 더 나았을 텐데..
  오늘 어쩌다 알알이라는 분의 블로그에 들어가서 글을 읽었었다. 여자 프로그래머이신듯 하던데.. 참 블로그가 대단하더라.. 정말 나'따위'라는 말이 생각나더군. 참 그러면서 내 자신에게 왠지 모르게 화가 나고 나도 저런거 할줄 알아야 하지 않겠냐라는 생각도 하고, 그러면서 리폿, 학과 공부, 학점 같은걸 생각하니 또 답답하고.. 하고싶은 건 많은데 해야 할것도 많다 이런 거겠지.. 전에도 한번 썼었지만 차라리 백지상태로 들어와서 공부해 나갔었음 좋다는 생각이 많이 드네.
  이 다음 내용을 생각하다 눈에 들어온 게 저 위쪽 문단에 '지적 허영심'이란 단어..참 나를 부끄럽게 만드는 단어다. 조금, 아주 조금 안다고 혼자 설쳐대는 꼴이 아닌가 나란놈은. 어차피 나중에 가면 다 똑같아 지는거. 부끄럽구나 부끄러워. 차라리 학점이라도 높았으면.
  더이상 썻다가는 비참해 질 것 같다. 그만 써야지.

이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback 0 and Comment 10
  음.. 블로그 포스트가 하도 올릴게 없어서.. 간단히 생각해 본게 C를 처음 접하거나 익숙하지 않은 사람들이 C에 익숙해지게 할 수 있도록 몇가지 간단한 퀴즈를 내 보는 식으로 포스팅을 해보자는 것이였다. 내 실력도 아직 많이 미숙하지만, 간단한 퀴즈 정도는 내 볼 수 있으니까, 내 능력이 되는대로 할만한 퀴즈가 있으면 내 보자 한다.

  커리큘럼은 일반 C 학습과 비슷하게. 이정도를 해결 할 수가 있다면 적어도 그 부분에서는 익숙하게 사용할수 있다고 할 수 있을 것이다. 자유자재라고는 장담 못하지만..

  그럼 첫 번째 퀴즈는 무엇인가? 맨 처음이니 출력 관련 문제를 간단히 내 볼까 한다. 출력 결과는 다음과 같다.
사용자 삽입 이미지

  간단하다. printf함수 하나만을 이용한 간단한 메뉴 출력 프로그램이다. 입력받거나 입력 후 작업 그런 것은 상관없으며, 단순히 위와 같은 결과물만 출력되면 된다. 참고로 Press...이 부분은 출력할 필요가 없다.

  단, 이 프로그램 작성의 조건은 다음과 같다.
1. printf함수의 사용은 한 번 뿐이다.
2. 개행을 하는 것은 \n을 이용하되, 한줄에 저 모든 것들이 나타나서는 안된다. 반드시 한 줄당 코드 한 줄이 있어야 한다.
   즉 저 프로그램을 짜기 위해서는 1개의 printf에 적어도 6줄의 코드(메뉴 및 Bar의 수 만큼)가 있어야 한다는 것이다.(기타 #include, main함수 이런 부분은 제외)

  그냥 단순히 한줄로 다 짜면 되지 않느냐 할 수 도 있겠지만 만약 콘솔에서 10개쯤 되는 메뉴를 출력하게 짜야 한다고 치자. 이것을 한줄로 한다 하면 꽤 복잡 할것이고, 문단 정렬도 꽤 성가실 것이다. 그냥 한 줄당 printf하나를 쓰기에는 뭔가 비효율 적이고, 그냥 하나의 printf로 코드를 보기 쉽게 짜 보는 것도 괜찮을 것이다.

  관심 있는 사람은 비밀글로 리플을 달으면 그에 대한 답을 할 예정이다. 간단한 테크닉이지만 의외로 잘 모르는 사람도 있어서 한번 해 본다. 그럼 답변 기대해야지!
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback 0 and Comment 0