'Small Talk'에 해당되는 글 32건

  1. 2011/07/11 귀차니스트 [64비트 멀티코어 OS 원리와 구조] 책을 받았습니다. (1)
  2. 2011/03/31 귀차니스트 HD2 새로운 기기를 영입했습니다. (1)
  3. 2011/01/17 귀차니스트 최근 프로젝트로 진행하고 있던.. (2)
  4. 2010/07/29 귀차니스트 음 요새 아주 열코딩중입니다. (6)
  5. 2010/06/23 귀차니스트 오랫만에 글을 올리면서.. (1)

  음음~~ 블로그는 여전히 관리가 잘 안되고 있네요 ㅎㅎ.

하지만 그래도 생활은 열심히 하고 있는 귀차니스트 입니다. 다름이 아니라 제목과 같이 해당 책을 받게 되었습니다. 우선 아래의 사진을 보실까요.

 

 

사용자 삽입 이미지

 

 표지 디자인이 깔끔하게 잘 되었다고 생각합니다. 그런데 위 사진으로는 책에 대해서 감이 잘 오시지는 않죠? 그래서 이 것을 준비했습니다. 바로 두께에 대한 사진입니다.

 

 

사용자 삽입 이미지

 

 왼쪽의 책이 CODE COMPLETE 책이므로 두께에 대해서 어림짐작 하실 수 있으실 거라 생각합니다. 최근에개정 되어서 나온 Win32 API 정복, 1/2 분할 부분 중 한 권과도 두께가 비슷하더군요.  API 정복 책은 거의 다들 가지고 계시리라 생각하시기에 두께에 대해서 파악이 가능하실겁니다^^;

 

사용자 삽입 이미지

사용자 삽입 이미지


 음 총 페이지 수? 를 찍어봤는데요, 일단 처음 사진이 1권의 마지막 페이지 수, 두 번째가 2권의 마지막 페이지 수 입니다. 역시 예상대로 내용이 많이 들어있는듯 합니다. ㅎㅎ 또한  처음에 살짝 내용을 봤는데, 내용이 자세하게 된 듯합니다. 아마 이 책 하나면 64비트와 더불어 멀티코어를 지원하는 나만의 OS를 만드는 것에 엄청난 도움이 될 것 같네요^^; 대략적으로 목차를 훑어봤는데, 필수적인 부분은 거의 다 들어가 있는 듯 했구요.

 저 또한 PlugIn OS라는 64비트 지만 콘솔만 지원되는 멀티태스킹 OS를 만들고 있는 관계로, 해당 책은 무척움이 될듯 합니다. 자세한 내용은 다 읽지는 못하고, 가격이 현재 할인하여 99,000원이지만 책 값이 아까울 것 같지는 않다는게 저의 생각이네요. 

 

 그럼 어느정도의 내용을 읽은 후, 후기를 또 다시 올려보도록 하겠습니다. 지금 이 글을 읽고 계시는 OS를만들고자 하는 분에게 말씀드려 봅니다. "그냥 지르셔서 만드시는 겁니다!!~?"

 

 아래는 해당 책에 대한 사이트네요..ㅎㅎ 많이 모여서 서로 도움이 되었으면 합니다. OS 만드는 분들을 자주접할수 없기에 이렇게 모아서 흐흐흐 +_...

http://www.mint64os.pe.kr/

크리에이티브 커먼즈 라이센스
Creative Commons License
2011/07/11 20:49 2011/07/11 20:49

댓글을 달아 주세요

  1. 효영 2011/08/18 20:39  댓글주소  수정/삭제  댓글쓰기

    헐키 ㅋㅋㅋㅋ
    linux gui 검색하니 오빠 블로그가 ㄷㄷ

  2. 준호씨 2011/12/15 10:36  댓글주소  수정/삭제  댓글쓰기

    잘 지내고 계심? ㅋㅋ

HD2 새로운 기기를 영입했습니다.

Small Talk 2011/03/31 02:24 귀차니스트

 네.. 거의 블로그는 폐가가 되어가고 있군요. 그래도 한 번씩 와서 거미줄 제거는 하는 듯해서 개인적으로는 다행이라고 생각하고 있습니다. 제목과 마찬가지로, 이번에 새로운 기기를 영입했습니다. 바로 HD2 인데요. 다들 아시다시피 거의 궁극의 폰이라고 보시면 될듯 합니다 =ㅁ=. 일단 사진 샷 부터..

 

사용자 삽입 이미지

사용자 삽입 이미지

 안드로이드 는 SD롬에 올라가 있고, MIUI 롬입니다. 사실 NAND에 쓰는 것이 아니기도 하고, 처음 올렸던 Rafdroid 인가 그 롬은 무척 느려서 원래 그렇구나라고 했는데 엄청 부드럽고 빨라서 무척 놀란 롬입니다. 안드로이드로 실사가 100% 가능할 정도라고 느낌이 팍 들더라구요.
 뿐만 아니라 WP7도 올라가는데, 중고 32만으로 2개의 고성능 개발기기를 가지게 된 것이 무척 좋습니다.개발 기기로 갤럭시탭을 사용할 수 있는데, 화면 크기도 다르고 해서 일단은 HD2를 여러가지로 영입을 해보았는데, 아주 만족 스럽습니다.
 HD2가 1년 정도 지난 기기임에는 분명하지만 정말 좋다고 말씀 드리고 싶습니다. 이미 주위에 여러명 뽐뿌질을 해놨지요 ㅎㅎ 한 분 은 당장 바꾸시려고 중고를 알아보고 있습니다 =ㅁ=. 고민하고 계신 분이 있다면..이 글을 보고 계시는.. 여러분 그냥 고민 하지 마시고 지르세요 ㅋㅋ 그 것이 정답입니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2011/03/31 02:24 2011/03/31 02:24

댓글을 달아 주세요

  1. 김도형 2011/06/20 03:44  댓글주소  수정/삭제  댓글쓰기

    덕분에 이거 질러서 요번달은 돈없이 살어 ㅠㅠ
    그래도 바꾸니까 좋네 ㅋㅋ

  2. traffic buy 2012/01/24 15:50  댓글주소  수정/삭제  댓글쓰기

    인상감사합니다

최근 프로젝트로 진행하고 있던..

Small Talk 2011/01/17 15:00 귀차니스트

  뭐 하다 보면 여러모로 블로그에 신경을 많이 못 쓰게 되는군요^^; 블로그 초반에는 신경을 그래도 꽤 많이 쓰고 하루마다 적어도 글 하나를 써보려고 했는데.. 실행을 잘 하지 못하는 듯 하여 아쉽습니다.

  그런 생각을 뒤로 하고서 이번에 올리는 글은 최근까지 프로젝트로 진행하고 있던 맞고 게임 입니다. 우선 스크린샷을 먼저 보실까요?

 

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

  대충 위와 같이 구성이 되어 있습니다. 3D 맞고를 생각하고 있는 상황이고, 디자인 적인 부분에 신경을 많이 쓰고 있었는데, 디자이너가 잠수를 하는 바람에 프로그래머인 제가 디자인까지 하게 된 상황이라 여러모로 시도를 많이 해보았습니다.

  제가 맡은 부분은 현재 보이는 부분에서는 서버에서 로직처리, 패킷디자인 및 처리, UI 및 이펙트 디자인,효과음을 작업했습니다. 그런데 기존 디자이너와는 또 다른 디자이너 와 연락이 되어 현재는 디자인을 또 바꾸게 될 것 같네요. 이펙트 및 디자인 부분에서 많은 인상을 줄 수 있는 게임이 되었으면 하는데요. 실제로 가능할지는 아직 잘 모르겠습니다.

  해당 프로젝트는 아이폰, 안드로이드 2가지 OS에서 돌아가는 맞고 게임이고, 정해진 이름은 맞고의 정석 입니다. 한 5개월 쯤 4명이서 작업을 했는데, 이제 거의 마무리 단계에 접어들어가는 군요. 곧 상용화가 가능하게 될 것 같습니다. 그 때가 되면 여러가지 생각해두었던 다른 작업들도 가능할 것 같네요^^. 그럼 다음에도 비슷한 소식 포스팅 해보겠습니다^^.

크리에이티브 커먼즈 라이센스
Creative Commons License
2011/01/17 15:00 2011/01/17 15:00
TAG ,

댓글을 달아 주세요

  1. 김성근 2011/01/20 20:50  댓글주소  수정/삭제  댓글쓰기

    상구리.ㅋㅋ
    오랜만에 들어왔다.ㅋㅋ
    여전히 블로그를 하고 있구먼.ㅋ 맞고 다 만들면 재밌게 게임 해줄게~

음 요새 아주 열코딩중입니다.

Small Talk 2010/07/29 10:45 귀차니스트

  최근에 아주 열코딩할 일이 생겨서 잠적을 할 수 밖에 없었습니다. 과제가 있어서 끝을 내야 하기 때문이지요. 그런데 제가 맡은 분야가 디컴파일분야 입니다(?). 이거 아주 토나오는군요 ㅋㅋ 하루종일 붙어서 작업을 하고 있지만 이거 컴파일러 수업을 들었음에도 불구하고 다른 점이 아주 많아 무척 힘들고 결과물이 정확하게 나오지는 않습니다.

  물론 원래 결과물이 제대로 나오지 않는다고는 하지만 아휴 그래도 좀 나와줬으면 하는데 제가 놓치고 있는 부분이 정말 많은가 봅니다. 일단 만드는 프로그램의 전체 개요는 컴파일된 바이너리 프로그램이 64비트일 때, 해당 프로그램을 대상으로 디버거와 같이 달라붙어 동작하는데, 디버거 기능도 존재하면서 디컴파일 기능 또한 존재하는 프로그램이죠.

  이 프로그램을 만들다 보니 기계어 -> 어셈블리를 다른 팀원이 맡았고, 제가 하는 부분은 어셈블리 -> C 코드인데.. 쩝접 한 숨이네요 ㅋ

그래도 아래에 결과물을 올려봅니다. 아직 함수 인자 및 콜링 컨벤션을 처리하지 않았습니다.

 

원 소스


(Language : c)
  1. int main(int argc, char **argv)
  2. {
  3.     int a;
  4.     int b;
  5.     std::cin >> a >> b;
  6.     if(a == 300)    {
  7.         while(a * b <= 100) {
  8.             a--;
  9.             if(a + b == 150)
  10.                 a *= 2;
  11.         }
  12.     }
  13.     else    {
  14.         if(b == 200)    {
  15.             b++;
  16.         }
  17.         else if(a == 100)   {
  18.             while(a == 100) {
  19.                 a++;
  20.             }
  21.             if(a + b < a * b)   {
  22.                 b++;
  23.             }
  24.             else if(a - b < a * b)  {
  25.                 a--;
  26.                 int c = 23424;
  27.                 std::cin >> c;
  28.                 if(c <= 1000)
  29.                     while(c <= 10000)   {
  30.                         c++;
  31.                     }
  32.                 else
  33.                     c--;
  34.                 std::cout << c;
  35.             }
  36.         }
  37.     }
  38.     std::cout << a << b;
  39.     return 0;
  40. }

디컴파일 소스

(Language : c)
  1. int sub5358030852()
  2. {
  3.     unsigned __int64 vVar0;
  4.     unsigned int vVar1;
  5.     unsigned int vVar2;
  6.     unsigned int vVar3;
  7.     unsigned int vVar4;
  8.     vVar0 = IntArg1;
  9.     vVar1 = IntArg0;
  10.     memset(StackAddress, 3435973836, 32);
  11.     sub5358064932();
  12.     sub5358064932();
  13.     if(vVar2 == 300)    {
  14.         while(vVar2 * vVar3 <= 100) {
  15.             vVar2 = vVar2 - 1;
  16.             if(vVar2 + vVar3 == 150)    {
  17.             }
  18.         }
  19.     }
  20.     else    {
  21.         if(vVar3 == 200)    {
  22.             vVar3 = vVar3 + 1;
  23.         }
  24.         else    {
  25.             if(vVar2 == 100)    {
  26.                 while(vVar2 == 100) {
  27.                     vVar2 = vVar2 + 1;
  28.                 }
  29.                 if(vVar2 + vVar3 < vVar2 * vVar3)   {
  30.                     vVar3 = vVar3 + 1;
  31.                 }
  32.                 if(vVar2 - vVar3 < vVar2 * vVar3)   {
  33.                     vVar2 = vVar2 - 1;
  34.                     vVar4 = 23424;
  35.                     sub5358064932();
  36.                     if(vVar4 <= 1000)   {
  37.                         while(vVar4 <= 10000)   {
  38.                             vVar4 = vVar4 + 1;
  39.                         }
  40.                     }
  41.                     vVar4 = vVar4 - 1;
  42.                 }
  43.                 sub5358064900();
  44.             }
  45.         }
  46.     }
  47.     sub5358064900();
  48.     sub5358064900();
  49.     sub5358030116();
  50.     return 0;
  51. }

  만드는 입장에서 먼저 말씀드리고 싶네요.. 절대 하지 마세요. .. 제가 하는 이유가 있답니다. 이게 x86, x64 명령어를 어느정도 다 처리해야 하다보니 명령어만 631개 정도가 됩니다. 지원 안되면서 정리된 명령어들 이 많이 존재하여 그나마 정리된게 저 정도라죠(?).. 일단 그래요 지금도 달리러 갑니다.. 아흑

크리에이티브 커먼즈 라이센스
Creative Commons License
2010/07/29 10:45 2010/07/29 10:45

댓글을 달아 주세요

  1. 도형 2010/08/08 23:02  댓글주소  수정/삭제  댓글쓰기

    아흑

  2. 테트리스 2010/08/10 13:31  댓글주소  수정/삭제  댓글쓰기

    안녕하세요...인터넷에서 테트리스 인공지능 검색하다가
    우연하게 이곳이 들르게 되었습니다...ㅎㅎ
    제가 이번에 테트리스 인공지능을 자바로 코딩 해보려고 하거든요.
    예전에 한게임 테트리스 오토 인공지능으로 조작하시는 동영상을
    봤는데요..

    테트리스를 인공지능으로 하려면
    자동으로 블럭을 쌓는 부분을 어떤 방법, 알고리즘 등을 써야할 지
    잘모르겠어서요... 조금 그 부분에 대해서 알려주실 수 있나요??

    • 귀차니스트 2010/08/11 20:53  댓글주소  수정/삭제

      음.. 일단 뭐 대충 게임 트리라고 생각하시면 되구요..
      각각의 수에 대해서 트리를 타고 내려가면서 계산을 하셔야 됩니다.

      물론 최적을 위해서는 브랜치 앤 바운드 같은 방법을 사용하셔도 되고.
      점수가 가장 높은 부분을 향해서 커맨드를 생성하신 다음 입력 하시면 되죠^^..

  3. dd 2011/05/19 22:51  댓글주소  수정/삭제  댓글쓰기

    저도 이런거 비슷한거 해볼려고해봤었는데 ㅋㅋ
    저렇게 정확하게 나올줄은 몰랐네요..

    그런데 기계->어셈은 이미 나와있을텐데..
    예로 리눅스 그누에선 objdump 이런거 쓰면 되지않나요?

    • 귀차니스트 2011/05/20 09:16  댓글주소  수정/삭제

      음 프로그램이 리눅스에서 돌아가는 것이 아니고
      다른 글에 보시면 Windows x64 용으로 개발된 프로그램이 있습니다.

      그 상황에서 통합된 기능을 만드려고 한다면 해당 프로그램을 사용하지 못하겠죠..
      그리고 해당 프로그램이 x64가 되는지는 저도 잘 모르겠습니다.

      여러가지 상황이 맞아들어서 팀으로 개발할 때 팀원 한 명이 해당 기능을 전담하게 되었지요

오랫만에 글을 올리면서..

Small Talk 2010/06/23 13:53 귀차니스트

  안녕하세요 요즘 3개월 동안 진행하는 과제가 거의 마지막 달이라서 무척 바쁜 관계로 제대로 글을 올리지 못하고 있습니다. 그런데, 최근 진행을 함에 있어서 약간의 상대적 시간 여유가 생겨 해킨토시라고 불리는 Mac OSX를 깔아보았습니다. 물론 Vmware, Virtual Box등의 가상 머신이 아닌 Native 로 깔아보았죠. 일단 스크린샷을 먼저 보시길.

 

사용자 삽입 이미지

 

 위와 같이 동작하고 버젼은 10.6.3 입니다. Snow Leopard 라고 하죠. 주위에 아는 사람이 정품을 가지고 있었던 터라 그 것을 이용하여 깔아보았습니다. 화면안에 떠있는 프로그램은 인터넷 익스플로어, 파이어폭스,은 인터넷 브라우젼인 사파리입니다. 그리고 또 오른쪽은 Pidgin이라고 하는 프로그램의 Mac버젼인 Adium을 깔아서 네이트온 상대와 대화하고 있는 장면이구요.

 

  제가 이렇게 한 번 깔아보게 된 까닭은 과제가 끝나게 되면 IPhone App 개발을 해보기 위함입니다. 물론 배포는 생각을 하지 않고 있지만.. 사실 만약 IPhone 4HD를 사게 된다면 개인적으로 필요한 프로그램을 만들어서 사용할 생각에 깔게 되었습니다.

  이래뵈도 프로그램안에 xcode도 깔려 있고, 기존에 가지고 있는 워크래프트3 정품도 다시 깔아놨습니다.론글버젼이다보니 프로즌쓰론을 깔고 버젼패치 때 에러가 발생하는 군요^^; 이 것은 웹 서핑으로 해결을 봤습니다. 그래픽 드라이버도 제대로 잡히고 하니 쓸만하군요 ㅎㅎ

 

  그래도 아직 사운드카드가 사운드블라스터 X-FI XtreamMusic 이라 안 잡히고 TV Card가 Fusion HDTV 3 Silver인데 이 것도 지원을 하지 않네요. 최근 바다 SDK와 안드로이드 SDK, IPhone SDK 중 많은 고민을 했으나 아무래도 IPhone 이라는 대세에 이끌린 듯 합니다. ㅎㅎ 그럼 과제가 끝나고 IPhone 개발에 대해서 글을 쓰게 될 때 다시 찾아 뵐지도 모르겠네요 ㅎㅎ

크리에이티브 커먼즈 라이센스
Creative Commons License
2010/06/23 13:53 2010/06/23 13:53
TAG , , ,

댓글을 달아 주세요

  1. kkamagui 2010/06/26 12:07  댓글주소  수정/삭제  댓글쓰기

    오오~ 쵝오 ㅋㅋ >ㅁ<;)-b

    역시 멋지군하 ;)