Intel과 AMD에서는 IA-32e Mode, 즉 Long Mode로 전환할 때 Protected Mode(보호 모드)를 거치도록 되어있습니다. 아래 그림은 Intel Manual에서 가져온 Operating Modes Transition Diagram입니다. ^^
 


위의 그림에서 보면 Real Mode(이하 리얼 모드)에서 IA-32e Mode or Long Mode(이하 IA-32e Mode)로 전환할 때 바로 가는 화살표가 없고 Protected Mode(이하 보호 모드)를 거쳐서 IA-32e 모드로 가게 되어 있습니다. 

그.런.데 익명의 제보로 바로 가는 것이 가능하다는 것을 알게 되었습니다. 그래서 구글을 검색해보니 실제로 2005년도에 바로 갈수있는 방법을 찾아내신 분이 있더군요. ^^)-b

OSDev에서 발견했는데, http://forum.osdev.org/viewtopic.php?t=11093에서 그 내용을 보실 수 있습니다. 방법은 비교적 간단합니다. 보호 모드에서 하는 작업을 그대로 리얼 모드에서 한 뒤에 IA-32e 모드로 jump를 하는 것입니다. 아래는 OSDev 링크의 방법을 그대로 옮겨 놓은 것입니다. ^^;;;;

1) Build paging structures (PML4, PDPT, PD and PTs)

2) Enable PAE in CR4

3) Set CR3 so it points to the PML4

4) Enable long mode in the EFER MSR

5) Enable paging and protected mode at the same time (activate long mode)

6) Load a GDT

7) Do a "far jump" to some 64 bit code


때마침 여유가 좀 생겨서 실제로 가능한 예제 코드를 한번 만들어 봤습니다. 기본 뼈대로는 MINT64 OS의 부트 로더 코드와 보호 모드 코드를 사용했고, IA-32e 모드로 전환 가능한지 확인하는 것이 목적이었기 때문에 최소한의 코드만 작성했습니다. 

아래는 실제로 동작하는 화면을 캡쳐한 것입니다. QEMU를 사용해서 확인했습니다. ^^


<실제로 QEMU에서 구동한 화면>


리얼 모드에서 보호 모드를 거치지 않고 IA-32e 모드로 전환하는 방법은 Manual에 의해 보장된 방법이 아니므로, 이런 것도 가능하다는 팁 정도로 보시면 될 것 같네요. ^^;;;

그럼 아래에 실제 코드 나갑니다. ^^
(첨부 파일에 소스 코드와 컴파일된 바이너리도 같이 넣어두었으니 참고하시기 바랍니다)


그럼 좋은 하루 되세요 ;)
 

첨부 파일 :



아시는 분은 아시겠지만, "64비트 멀티코어 OS 원리와 구조"를 출간한 뒤에, 책 내용에 대한 QnA 사이트(http://www.mint64os.pe.kr)를 열심히 운영하고 있습니다. ^^;;;;

<MINT64 OS 사이트>

사이트가 좀 활성화되고 편하게 질문을 올리고 답변할 수 있기를 바래서 익명으로 글 쓰기를 허용했는데요. 이 때문인지 아주 희한한 일이 벌어졌습니다. @0@

어떤 분은 저랑 열띤 토론을 하시다가 갑자기 화가 나셨는지 자신의 글과 그 아래에 달린 저의 피 같은 댓글까지 모두 지우시고 사라지셨으며... 어떤 분은 사라지신 분하고 무슨 관계인지는 모르겠지만 제 책과 저를 다짜고짜 비난하시더군요. ^^;;;; 얕은 지식을 자랑하지 마라고 하시면서...

사실 책의 목차라도 한 번 봤으면 저런 이야기는 쉽게 할 수 없을 텐데 말입니다. ^^;;; 나름대로 초보자도 쉽게 이해할 수 있도록 심혈을 기울였지만, 그 안에 들어 있는 내용들은 결코 얕지 않거든요. ^^)-b
이게 다 익명으로 글을 남기다보니 자기 글에 책임을 지지 않아도 되고, 그래서 자기 마음대로 행동하기 때문에 그런 것 같더라구요. 자기 생각만 하고 예의 따위는 무시하고 등등...


이런 일이 생기고 나니 내가 뭘 위해 사이트를 운영하고 뭘 위해 책을 썼을까 하는 회의가 쓰나미처럼 밀려오더군요. 이런 소리를 들을려고 수많은 밤을 뜬 눈으로 지새고 주말을 고스란히 반납한게 아닌데 말입니다. ^^;;;;

그래도 꽤나 유명해져서 그런거라고 위안을 삼고 있습니다. 그동안 진행 상황을 웹사이트에 올리거나 블로그에 올렸을 때는 아는 분들만 찾아 오셔서 좋은 분들 밖에는 없었는데... 지금은 널리 공개되고 나니 별별 사람들이 다 모여드는구나 하는 생각이 들더라구요. ^^;;;

시간이 지나다보면 결국 예전처럼 좋은 분들만 남게 되겠지요. ^^ 
에궁... 긴 밤 고민하다가 답답한 마음에 한자 적어 봅니다.

그럼 MINT64 OS 화이팅~!!! ^^)/~
윈도우에서 Cygwin을 사용하여 개발 환경을 설정하신 분들이 꽤 되실겁니다. 저 역시 MINT64 OS의 개발 환경을 cygwin으로 구성했습니다. ^^;;;

그런데 Cygwin을 설치한 뒤에 윈도우 콘솔창(cmd.exe)을 실행시켜 gcc를 입력하면, "액세스가 거부되었습니다."라는 메시지가 표시됩니다. 이는 /usr/bin 디렉터리에 있는 gcc.exe 파일이 실제로는 /etc/alternative/gcc에 연결된 링크 파일이기 때문인데요, 이 파일은 다시 /usr/gcc-4.exe에 연결되어 있습니다. ^^;;;
 



따라서 윈도우 콘솔창에서 gcc를 직접 실행하려면 gcc-4를 입력하면 됩니다.아니면 Grampus님이 하신 방법처럼 윈도우에서 심볼 링크를 걸어주셔도 됩니다.(지나다가님, Grampus님 제보 감사합니다. ^^;;;) 

C:\Cygwin\bin>mklink gcc.exe gcc-4.exe

단, makefile을 이용해서 make를 실행하는 경우는 gcc를 사용해도 괜찮습니다.  ^^


cygwin에서 윈도우 폴더에 접근하는 방법은 루트 디렉터리 아래에 있는 cygdrive로 이동하시면 됩니다. cygdrive 아래에는 윈도우 드라이브들이 존재하는데, 이 드라이브로 이동하면 해당 드라이브에 들어있는 파일들이 아래와 같이 표시됩니다.
 


 따라서 원하시면 cygwin 쉘에서 윈도우 디렉터리에 접근하여 작업을 진행할 수도 있습니다. ^^

그럼 좋은 하루 되세요 ;)

 
Intel Architecture Manual을 보면 아래와 같은 Operating Mode Diagram이 있습니다. 각 Mode에 따라서 어떤 Mode로 전환할 수 있으며 이때 필요한 Register 설정은 무엇인지를 나타내는 그림이지요. ;)
 

이 그림을 자세히보면 리얼 모드에서는  IA-32e 모드로 전환할 수 있는 방법이 없습니다. 전환 하려면 보호 모드를 거쳐서 전환해야 하지요. 실제로 Intel Architecture Manual Volume 3A의 9.8.5를 봐도 "The operating system must be in protected mode with paging enabled before attempting to initialize IA-32e mode"로 보호 모드를 거쳐야 한다고 나와있습니다.

그런데~!!! 지나다가님의 제보로 리얼 모드에서 바로 IA-32e 모드로 전환할 수 있는 방법을 알게되었습니다. 물론 제조사 Manual에 나와있지 않은 내용이라, 팁 정도로 봐야겠지만 상당히 흥미로운 내용이라 한번 올려봅니다.

원본의 내용은 http://forum.osdev.org/viewtopic.php?f=1&t=11093&start=0 에서 보실 수 있으며, IA-32e 모드로 변경하려면 실제로 아래와 같이 7가지의 단계를 거쳐야합니다.

    1) Build paging structures (PML4, PDPT, PD and PTs)
    2) Enable PAE in CR4
    3) Set CR3 so it points to the PML4
    4) Enable long mode in the EFER MSR
    5) Enable paging and protected mode at the same time (activate long mode)
    6) Load a GDT
    7) Do a "far jump" to some 64 bit code 
 

위의 단계 중에서 6번은 리얼 모드에서 보호 모드로 전환하는 단계에서 하고, 나머지 6 가지는 보호 모드에서 수행하여 IA-32e 모드의 64비트 서브 모드로 전환합니다. But~!!! 리얼 모드에서 위의 7단계를 모두 수행해서 한번에 IA-32e 모드로 전환하는게 바로 Magic의 정체입니다. @0@)-b

과연 동작할까 싶지만, 실제로 동작하더군요. ㅎㄷㄷ 실제로 동작하는 코드는 http://bcos.hopto.org/temp/init.html에서 보실 수 있으며, 지나가다님이 작성하신 http://jsandroidapp.cafe24.com/xe/1936 에서도 보실 수 있습니다. ^^

정말 깜짝 놀랄 일이군요. ㅎㅎ 어떻게 이런 방법을 찾았는지... ㅎㅎ 세상에는 별별 사람들이 다 있는 것 같습니다. >ㅁ<)-b

안녕하세요, 이벤트가 끝나자마다 다시 이벤트 소식으로 찾아뵙는군요. ^^
 
<진행 중인 이벤트~!! ㅠㅠ 언능 신청한다면 8월 1일까지는 어떻게든 되지 않을까요? ㅠㅠ>


지금 Yes24에서 리뷰어 신청을 하시면 1권을 무료로 증정해주는 리뷰어 이벤트를 진행하고 있습니다. ^^)-b

사실 신청자가 그리 많지 않다는 소식(?)을 들어서,
그동안 책값이 부담되셨던 분들께 도움을 드리고자 이렇게 급하게 올리게되었습니다 .ㅠㅠ
(사실 바로 올렸어야 하는데 주말에 일이 생겨 정신없이 보내다보니... 이제야 올리게됬네요. ㅠㅠ)

월요일(8월 1일)이 당첨자 발표이긴 한데, 
발표전까지만 신청하시면 어떻게든 되지 않을까 하는 희망을 갖고 있습니다.

관심있으신 분들은 지금 바로 신청하시면 될 것 같습니다.
당첨되고 나면 2권만 사서 보시면 되니 괜찮은 이벤트가 아닌가 싶네요. ^^)-b


그럼 언능 신청하시고 책 받으세요 >ㅁ<)-b
하드 디스크에서만 잠자고 있던 MINT64 OS의 소스 코드를 어디엔가 올려야겠다는 생각이 번득 들어서 지난주 금요일부터 고민했습니다. 그러다가 GIT라는 분산 버전 관리 시스템을 알게 되었는데요, 리누즈 토발즈옹께서 리눅스 커널 개발에 쓰신다는 이야기를 듣고 혹해서 깔게 되었습니다.
 
그동안 서브버전을 쓰고 있었는데요, Tortoise SVN이 너무 편해서 GIT도 없나 찾아봤더니~!!! 역시 있더군요. 아래의 두 가지를 설치해주면 Tortoise SVN을 쓸 수 있습니다. >ㅁ<)-b

 

(Download로 가서 윈도우 버전을 다운로드받아서 설치해주세요 ^^)
 
GIT 다운로드 : http://git-scm.com/
TortoiseGIT 다운로드 : http://code.google.com/p/tortoisegit/
 
설치가 끝나면 탐색기에서 오른쪽 버튼을 눌렀을 때, 아래처럼 “Git XXX” 관련 메뉴가 나타납니다.
 
<TortoiseGIT 설치 후 메뉴>
여기서 “Git Clone…”를 클릭하면 Remote Repository에서 프로젝트 전체를 내려 받을 수 있습니다. 저는 MINT64 OS의 소스코드가 올라간 기념으로 아래와 같이 https://mint64os@code.google.com/p/mint64os/를 URL로 선택하고 Directory는 C:\MINT64로 했습니다.
  
<Clone 설정 화면> 
 
위의 화면에서 OK를 누르면 암호를 입력하라고 나오는데요, 공개 프로젝트의 경우 그냥 엔터를 치시면 프로그래스바가 표시된 뒤에 C:\MINT64 디렉터리가 생성됩니다. ^^
 
이제 C:\MINT64 디렉터리에서 마음대로 작업을 한 뒤에, 어느 정도 성과가 나오면 다시 마우스 오른쪽 버튼을 눌러 메뉴를 표시하면 Git Commit -> “Master”… 항목이 보입니다. 이 항목을 클릭하면 Clone을 한 로컬 Repository(C:\MINT64 디렉터리)에 변경사항이 저장됩니다. 
 
말은 Commit인데, 사실 Subversion의 Commit과는 조금 개념이 다르더라구요. Subversion의 Commit은 Remote Repository에 변경사항을 올리는 건데, GIT에서 이 작업은 Push라고 하더라구요. Push는 오른쪽 버튼을 눌러 “TortoiseGIT” 항목 -> 가장 위에 있는 “Push” 항목을 선택하면 됩니다. 단, Push 할 때는 암호가 필요합니다(설정에 따라서 필요하지 않는 경우도 있는지는 모르겠네요. ^^;;;)
 
조금 써보니까 Subversion과 큰 차이가 없어서, 그렇게 어렵거나 하지는 않더라구요. 이제 우리 모두 GIT와 MINT64 OS 프로젝트에 푸욱 빠져보아요. >ㅁ<)-b
 
회사일 하랴, 질문에 답변 달랴, 오탈자 제보 수정하랴 요즘 정신없이 하루하루를 보내고 있습니다. ^^ 그래도 MINT64 OS의 커뮤니티(http://www.mint64os.pe.kr)에 많은 분들이 관심을 가져 주셔서 몸은 좀 힘들지만 즐거운 나날을 보내고 있습니다. ^^
(감사합니다~ 다 여러분들 덕이에요 ;) )

<MINT64 OS 랍니다. ^^>

질문에 답변을 하다가 문득 든 생각인데, 압축 파일 형태로 제공되는 MINT64 OS가... 마치 생명력을 잃어버린 것 같더군요. 뭐랄까요... 질문과 답변을 통해 커뮤니티는 앞으로 나아가는데 MINT64 OS의 소스는 계속 그 자리에 멈춘듯한 느낌이랄까...

그래서 고민 끝에 MINT64 OS의 최신 코드를 웹상에 공개하기로 했습니다. 지금 생각하는 곳은 소스포지(http://sourceforge.net/)나 구글 코드(http://code.google.com/intl/ko-KR/)인데, 어느 곳이 딱 맞을지는 잘 모르겠네요. ^^;;;

둘 중에 어느 한 곳을 골라서 이번 주에 프로젝트를 개설할까 하는데... 혹시 괜찮은 곳 있으시면 추천 부탁드립니다. ^^
그럼 즐거운 하루 되세요 ;) 

<64비트 멀티코어 OS 원리와 구조>


MINT64 OS의 챕터별 예제 소스는 한빛 미디어 웹사이트(www.hanb.co.kr/exam/1836)로 이동하면 받을 수 있습니다.
해당 링크로 이동하면 source_code.zip 파일cygwin_devenv.zip 파일을 볼 수 있습니다.

source_code.zip 파일: 
   각 장별 소스 코드가 담겨 있으며, MINT64 OS를 실행할 수 있는 환경과 각종 데이터 시트를 모아 놓았습니다.
   (책에서 언급한 부록 CD의 내용은 대부분 여기에 들어있습니다. ^^)

cygwin_devenv.zip 파일:
   제가 개발하던 당시 Cygwin 디렉터리를 압축한 것입니다. 
   일반적인 경우라면 최신 버전의 Cygwin을 내려받아서 환경을 구성합니다. 
   하지만 크로스 컴파일러를 만드는데 계속 실패하거나 알 수 없는 오류가 발생한다면 
   cygwin_devenv.zip 파일의 압축을 풀어 C:\cygwin 디렉터리에 덮어써서 문제를 해결할 수 있습니다. ^^


그럼 즐거운 OS 프로그래밍하시고, 출간 기념 이벤트(http://kkamagui.tistory.com/748)도 많이 참여해주세요 ^^
오늘 드디어 그렇게 기다리던 "64비트 멀티코어 OS 원리와 구조"가 제 손에 들어왔습니다. ㅠㅠ 지금까지 A3 용지에 출력된 것만 보다가, 이렇게 책으로 제본된 것을 보니 왠지 울컥(?) 하더군요. ㅠㅠ 그래서 뭔가 저질러야겠다는 생각이 들어서 출간 기념 이벤트를 하기로 했습니다. ^^)/~ 

<64비트 멀티코어 OS 원리와 구조의 실물 사진>


이벤트 응모 방법은 아주 간단합니다. 오늘부터 배송이 시작되었다고 하니 빠르면 내일부터 책을 받으실 겁니다. 그러면...

책을 받았다는 인증 사진을 찍어 저에게 메일(mint64os@gmail.com)로 보내시거나, 블로그에 올리시고 제가 볼 수 있게 이 글(http://jsandroidapp.cafe24.com/xe/216)의 댓글로 링크를 남겨주시면 됩니다. 

그러면 제가 정확히 7월 31일에 랜덤(?)으로 추첨하여 공정하게 1분을 뽑아 소정의 선물을 드릴까합니다. ^^)/~
(7월 31일 자정에 추첨하겠습니다. ^^;;;)

선물은 책을 보시는데 꼭 필요한 것으로 준비할 예정이니 많은 응모 부탁드립니다. ^^

ps) 실제로 보니 책이 정말 잘 나왔네요. 분량이 많아서 내심 걱정했는데, 내용도 알맞게 잘 편집된 것 같습니다. 아주 마음에 쏙~!! 드는군요. :) 

 


<출처 네이버>


정말 오랫동안 트랜스포머 3를 기다려왔는데 드디어 봤습니다~!!! 역시나 기대했던 대로 볼 거리는 엄청나더군요. 특히 쇼크웨이브(맞나?)의 병기는 가히 압권이었습니다. ㅠㅠ)-b 뭐 아무리 그래도 옵티머스 프라임의 상대는 되지 않지만… ^^;;;; 아래는 제가 인상 깊게 봤던 쇼크웨이브의 사진입니다. ^^

 

<출처 베이더 블로그>


그런데 2편도 그랬지만 스토리적인 부분은 조금 아쉬움이 많았습니다. 점점 전쟁 영화 같은 느낌이 강해진다랄까요? 2편도 그런 평이 좀 있었는데, 3편도 역시 그런 평을 피할 수 없을 것 같습니다. 계속 보면서 월드 인베이젼 생각이 나더군요. ㅠㅠ 아무래도 사람들이 로봇을 상대하는 장면 때문에 그런 것 같은데트랜스포머 영화의 포인트랄까요? 그런 부분이 조금 옅어진 것 같아서 아쉬웠습니다. ㅠㅠ

 

그래도 트랜스포머의 팬이라면 당연히 봐야 할 영화~!! 트랜스포머 만세~!! ><)-b

 

책 표지

2008년부터 준비했던 "64비트 멀티코어 OS 원리와 구조"가 드디어 주요 서점에서 판매가 시작되었습니다. ^^)/~ 지난번 글(http://kkamagui.tistory.com/745)에서 다음 주 쯤부터 예약 판매가 될 거라고 말씀드렸는데, 하루만에 예약 판매가 시작되서 깜짝 놀랐네요. ^^;;;; 

제 블로그에 가끔씩 오시는 분들은 알고 계시겠지만, "64비트 멀티코어 OS 원리와 구조"는 제가 2008년에 취미로 시작한 프로젝트에서 시작되었습니다(진행 기록은 http://kkamagui.tistory.com/category/OS%20Kernel/MINT64%20OS를 보시면 확인할 수 있습니다). 물론 가끔 이게 처음으로 만든 OS냐고 물어오시는 분들이 계신데, 2002년도부터 치자면 이 OS가 5번 째입니다. ^^;;;;

최초로 만들었던 32비트 OS가 KKAMA OS(http://kkamagui.tistory.com/251) 이구요, 그 다음에 이걸 이용해서 만든 것이 OS 프레임워크(http://kkamagui.tistory.com/category/OS%20Kernel/32bit%20OS%20Framework) 입니다. 그 후 휴대용 기기쪽으로 넘어가서 OS 같은 펌웨어를 간단히 만들어봤다가 다시 PC로 넘어와서 MINT64 OS의 프로토타입(http://kkamagui.tistory.com/551)도 만들었지요. 그리고 마지막이 바로 MINT64 OS 입니다. 그러고보니 참 많이도 만들었군요. 쿨럭..;;;

MINT64 OS의 동작화면

제가 그동안 OS를 만들면서 느꼈던 점이나 힘든 점을 생각하며 작업 과정을 담은 책이니, OS 제작에 관심이 많거나 멀티코어 OS가 어떻게 동작하는지 궁금한 분들에게 많은 도움이 될 거라 생각합니다. ^^;;;

책은 교보문고를 비롯해서 여러 온라인 서점에서 구매하실 수 있으며, 링크는 아래와 같습니다.

1권 도서 링크 : https://www.yes24.com/Product/goods/65061299(ebook), https://www.yes24.com//24/goods/5270659(종이책)
2권 도서 링크 : https://www.yes24.com/Product/goods/65061297(ebook), https://www.yes24.com//24/goods/5270667(종이책)
1/2권 세트 도서 링크 : https://www.yes24.com//24/goods/5271779(종이책)


종이책은 현재 절판 상태이니 ebook을 이용해주시면 감사하겠습니다. ^^;;;


책을 출판하기까지 도움을 주신 많은 분들께 감사드리며, 앞으로 더 열심히 하겠습니다. ^^
그럼 좋은 하루 되세요 ^^

ps) 아래는 MINT64 OS의 구동화면을 동영상으로 만든 것입니다. 화면을 저장하다보니 끊김이 보이는데, 실제로 실행하면 좀더 부드럽습니다. ^^;;; 

 

<책 표지>


제가 2008년부터 만들기 시작한 MINT64 OS에 대한 책, "64비트 멀티코어 OS 원리와 구조"가 나왔습니다. ㅠㅠ 제 블로그를 방문하시는 분은 이미 알고 계시겠지만, 2008년 말에 취미로 64비트 모드에 발을 담갔다가 그대로 64비트에 멀티코어를 지원하는 OS까지 내리 달렸습니다. 그리고 내친김에 GUI에 응용프로그램까지 제대로 한번 해보자는 생각에 2년 넘게 작업을 했더랬지요. 제가 그간 진행했던 과정은 http://kkamagui.tistory.com/category/OS%20Kernel/MINT64%20OS 에서 보실 수 있습니다. ^^;;;

2008년부터 작업 과정을 올리면서 소스 공개를 바라시는 분들이 많았는데, 조금만 더 정리하고 올린다고 했던게 벌써 3년이나 지났네요. 쿨럭..;; 죄송합니다. ㅠㅠ 그래도 소스코드와 덤으로 제가 했던 작업 내역까지 상세하게 풀어쓴 책까지 공개했으니 너그러이 용서해주세요. ^^;;; 

<MINT64 OS의 실행 화면>


책은 2권으로 이루어져 있고 분량은 대충 2800 페이지 정도 됩니다. 페이지만 봐도 얼마나 내용이 자세한지는 대략 추측할 수 있을 꺼라 생각합니다. OS 만들기가 그렇지만 어셈블리어나 C 코드 한 줄만 틀려도 재부팅되거나 멈추기 때문에, 작업한 내용을 최대한 빼먹지 않도록 노력했습니다. 이 책을 보면 제가 부트로더부터 GUI를 거쳐 응용프로그램을 만들기까지 모두 들어있기 때문에, 장담컨데 이 책만 있으면 누구나 "취미"로 64비트와 멀티코어를 지원하는 OS를 만들 수 있습니다~!! 


글을 올리고 하루만에 판매가 시작되었네요. ^^;;;; 주요 서점에서 구하실 수 있구요, 링크는 아래와 같습니다.


1권 도서 링크 : http://www.yes24.com/Product/goods/65061299(ebook)http://www.yes24.com//24/goods/5270659(종이책) 

2권 도서 링크 : http://www.yes24.com/Product/goods/65061297(ebook)http://www.yes24.com//24/goods/5270667(종이책)

1/2권 세트 도서 링크 : http://www.yes24.com//24/goods/5271779(종이책)


종이책은 현재 절판 상태이니 ebook을 이용해주시면 감사하겠습니다. ^^;;;

그럼 다들 즐거운 하루 되세요 ^^


ps 1) 책이 나오기까지 도움을 주시고 응원해주신 많은 분들께 진심으로 감사드립니다. (__)

      이 책이 나올 수 있었던 것은 다 여러분들 덕입니다.
ps 2) 아래는 MINT64 OS의 구동 화면입니다. 화면 캡쳐를 하다보니 끊기는 부분이 보이는데, 실제로 실행하면 좀더 부드럽습니다. ^^;;;




그동안 정신이 없어서 휴대폰을 거의 버려두다시피 했다가 간만에 안드로이드 마켓에 들어갔더니 업데이트가 무려 20개가 넘더군요. @0@ 그래서 업데이트를 하려고 모두 업데이트를 눌렀는데… 얼래? 상태가 좀 이상했습니다. 업데이트가 된 것도 있고 안된 것도 있는데, 그중에서 유독 “카카오톡” 상태가 이상하더군요.

처음에는 3G 망을 켜놔서 상태가 이상한 줄 알았습니다. 그런데 WIFI 망으로 바꿔도 업데이트가 안 되는 건 마찬가지였습니다. 휴대폰 재부팅도 해보고 이것 저것 다 해봤는데, 계속 안 돼서 결국 한 것이…

 

마켓의 캐시를 모두 날리는 것~!!


 

마켓의 캐시를 모두 날리고 났더니 이제야 잘 되는군요. ㅎㅎ 마켓의 캐시를 날리는 방법은 다음과 같습니다.

 

1. 바탕화면에서 설정 –> 응용프로그램 –> 응용프로그램 관리 –> 모두 탭을 선택한 후 마켓을 선택합니다.

2. 아래처럼 화면이 나오면 “강제 종료” 버튼과 “데이터 지우기” 버튼, “캐시 지우기” 버튼을 눌러줍니다.

3. 바탕화면으로 돌아가 마켓 어플을 다시 시작합니다.

4. 마켓 어플이 시작되면 “Android 마켓 이용 약관” 어쩌구 하는 화면이 뜨는데 “동의” 버튼을 누르시면 다시 마켓을 사용할 수 있습니다.


어휴… 이걸 몰라서 아주 한참 헤맸군요. ^^;;;;


그럼 다들 즐거운 안드로이드 생활하세요 ;)

3주 동안 많은 일이 있었습니다. 프로젝트는 마치 망할 것처럼 바쁘게 흘러갔고 개인적인 사정이 생겨서 저녁에는 노가다(?)를 해야 했으며, 벌여놓은 일은 마감을 향해 달리는 바람에 진짜 정신이 하나도 없었습니다. 심지어 벌여놓은 일은 마감을 넘기기도 해서 이번 주까지 끙끙거리며 일을 해야 했습니다. 물론 주말 출근은 말할 것도 없구요, 황금 같은 현충일 연휴를 그냥 회사에서 보냈습니다.


 퇴근이라도 일찍 했으면 말도 안 할텐데, 오늘이 마지막일 것처럼 새벽까지 일하고 그 다음날 출근하려니 정말 죽을 것 같더라구요. ㅠㅠ 그래서 오늘은 간만에 푹 쉬었습니다. 낮에 잠이 밀려와서 살짝 누웠는데, 너무 좋더라구요. ㅎㅎ 그러고 보니 낮잠을 잔 게 언제인지 생각도 안 나는군요.


이제 좀 쉬었다가 새로운 일을 또 하나 벌여 볼까합니다. 요즘 계속 무지하다는 생각이 들어 틈틈이 책을 좀 빌려놨는데, 빌려놓은 책부터 보면서 시동을 걸어야겠네요. 어휴이제 죽음에 행진은 그만 좀 했으면 좋겠어요. ㅠㅠ 나이가 들어서 그런지 체력적으로 너무 힘들다는쿨럭…;;;

<출처 - 교보문고>


시스템 프로그래머라면 최소한 한 번은 듣거나 읽어봤을 "Windows 구조와 원리"의 저자이신 정덕영님께서 3월 28일에 세상을 떠나셨답니다. 정덕영씨 블로그(http://uvicrabbit.tistory.com/)에서 이런 소식을 접했는데... 솔찍히 너무 깜짝 놀랐습니다. 1월쯤에 퇴원하셨다길래 건강을 회복하는 중이신줄 알았거든요. ㅠㅠ


갑자기 세상을 떠나셨다는 이야기를 들으니, 인생 무상이라는 생각이 드는군요. 아무리 훌륭한 사람이라도 병마는 피해갈 수 없는데... 지금부터라도 조금은 여유를 즐기며 살아야겠습니다. ㅠㅠ 평소에 운동도 잘 하셨던 것 같은데, 암으로 돌아가시다니... ㅠㅠ


여러분들도 건강 챙기시고 여유를 즐기며 사시기 바랍니다. ㅠㅠ

삼가 고인의 명복을 빕니다.
드디어 파이어폭스 4(http://www.mozilla.or.kr/ko/)가 정식으로 출시되었습니다. ;) 구글 크롬과 파이어폭스를 번갈아가며 사용하는지라 파이어 폭스에도 관심이 많거든요. 그런데 실제로 쓰다보면 파이어 폭스가 크롬보다 좀 둔하다는 느낌이 드는데요, 이번에 파이어 폭스 4를 써보니 그런 느낌이 없어졌네요. :)


뭐, 디자인이 위처럼 바뀌어서 구글 크롬을 따라했다는 이야기도 살짝 들리던데... 뭐 비슷한 것 같기도 하면서 아닌 것 같기도 하네요. 그래도 브라우징 영역이 넓어진 건 환영할만 한 것 같네요. ^^;;;;

파이어 폭스를 쓰고 계신다면 당장 업그레이드 하세요 ;) 신세계가 열린답니다. ;)
요즘 회사일 때문에 고민이 많습니다. 아무래도 릴리즈를 앞두고 있기 때문에 더 그런 것 같기도 한데.... 사실 프로젝트를 진행하는 내내 제 고민은 한가지 였습니다.

"어떻게 해야 코드가 완전하다는 것을 보장할 수 있을까?"

이전 과제를 할 때 수정한 코드로 인해 사이드 이펙트(Side Effect)가 많이 생겨서 계속 문제가 되었습니다. 그래서 상당히 골머리를 썩였던지라, 새로 프로젝트를 시작할 때부터 이런 생각이 머리에서 떠나질 않았습니다. 그러던 중에 아는 후배에게 영감을 얻어 코드를 구현하는 단계부터 테스트 코드를 같이 구현하는 방법을 써봤는데, 이게 상당히 효과가 있어서 단위 기능 구현까지는 어느 정도 버그를 줄일 수 있었습니다.

그런데.... 이것도 잠시일 뿐... 코드가 통합되면서 다시 문제가 불거졌습니다. 완성된 단위 함수를 이용해서 작업을 수행하던 중에 문제가 생긴겁니다. ㅠㅠ 일을 분담하다보니 서로 못 보던 부분이 있었고, 미처 챙기지 못해서 당연히 있을 거라고 생각한 부분에 코드가 빠져있었습니다. 그래서 그 접점에 부랴부랴 코드를 챙겨넣고 나니 다시 고민이 시작되더군요.

"통합 과정에서 생긴 이런 문제는 어떻게 해결해야하나..."

한참을 고민한 끝에 도달한 결론은 통합 테스트 시나리오를 보강하는 것이었습니다. 통합 테스트를 할 때도 단순히 기본 동작을 위주로 테스트할 것이 아니라, 내가 고민하고 있는 Case가 정상적으로 동작하는지 확인하는 케이스를 만들어서 은근 슬쩍(?) 끼워 넣는 겁니다. 그러면 팀원들이 통합 테스트를 진행할 때 그 Case를 구현하지 않았으면 문제가 발생할테니까요.
(사실 테스트에서 Fail이 발생하는 것을 보는 것만큼 충격적인 것은 없지요... 쿨럭..;;;)

그래서 테스트 시나리오까지 보강하고 났더니 안심이 되긴 하는데 이번에는 이런 생각이 들더군요.

"과연 이 테스트 시나리오로 충분한 건가? 혹시 다른 Case는 없나?"
"테스트 시나리오가 충분하지 않다면... 혹시 다른 방법으로 코드가 완전하다는 것을 확인할 방법은 없을까?"

이 문제를 며칠째 고민 중인데 아직 여기에 대해서는 혜안을 얻지 못했습니다. 현재 머리 속에서 나온 답은 계속해서 다른 통합 테스트 시나리오를 구성하는 방법인데, 아무래도 새로운 기능을 계속 추가하고 앞으로 나아가야 하는 개발팀에 있기 때문에 이도 한계가 있습니다. 테스트만 주구장창 고민하게는 두지 않는 다는 것이죠. 물론 테스트 부서가 따로 있기 때문에 테스트를 제가 굳이 고민하지 않아도 되지만... 뭐랄까요... 테스트 시나리오가 기존 시스템을 기준으로 만들어져 있어서 새로 추가하느 기능에 대해서는 좀 둔하다랄까요. 그래서 불안한게 솔찍한 심정입니다. ㅠㅠ

아... 정말 어떻게해야 할까요? 컴퓨터가 알아서 코드를 분석하고 취약한 시나리오나 뭐 케이스를 만들어주면 참 좋을텐데... 그럼 제가 이런 고민을 하지 않아도 좋을텐데 말이죠. 혹시 이런 종류의 프로그램이 어디 없을까요? ^^;;;;;;




이번에 소개해 드릴 안드로이드 게임은 "블럭 블럭 크래쉬" 게임입니다. ^^

"블럭 블럭 크래쉬" 게임은 화면에 표시된 블럭들의 순서대로 화면 아래에 있는 버튼을 눌러서 최대한 빨리 없애는 게임입니다.

블럭 블럭 크래쉬의 게임 방법은 간단합니다. 
   1. 화면의 왼쪽 위에 사각형으로 테두리된 블럭의 모양을 확인
   2. 화면 아래에 있는 버튼들 중에서 같은 모양의 버튼을 터치
   3. 1~2의 과정을 게임이 끝날 때까지 반복

난이도는 하수, 중수, 고수 세 가지가 준비되어 있으며. 각 난이도에 따라서 2가지, 3가지 4가지 블럭이 준비되어 있습니다.




자, 그럼 전 세계 사람들과 함게 여러분의 기록을 비교해보세요 ^^

ps) 소리는 게임 화면에서 벨 소리 조절 버튼으로 조절할 수 있습니다.


게임은 http://jsandroidapp.cafe24.com 사이트나 마켓에서 "블럭 블럭 크래쉬"로 검색하시면 다운로드 할 수 있습니다.



<출처 - 교보문고>

주말에 무거운 몸을 이끌고 출근했다가 집에 돌아오니 아내가 고생했다며 소설책 한권을 추천해줬습니다. :) 평소에 히가시노 게이고의 소설을 주로 읽기 때문에 혹시나 했더니만, 역시나 히가시노 게이고의 소설이더군요. ^^;;; 그런데 이번 신작은 제목부터가 뭔가 심상치 않았습니다. "플래티나 데이터"라는 제목인데... 이름에서도 느낄 수 있듯이 약간 미래지향적인(?) 소재를 바탕으로 쓰여진 소설이더군요.

간략하게 줄거리를 소개해드린다면.... 일본에서 인간의 DNA를 바탕으로 사람의 키나 혈액형, 성격, 그리고 인상착의까지도 파악할 수 있는 시스템을 만들게 되었는데, 이 시스템을 범죄자 검색에 활용하여 손쉽게 범죄를 해결할 수 있는 시대가 열립니다. 그러나 이런 것도 잠시... 이를 비웃듯 연쇄 살인이 발생하고 DNA 검색 시스템은 일치하는 결과를 찾을 수 없다는 것만 계속 출력합니다. 그러던 중 시스템의 핵심을 만든 개발자까지 죽는 사건이 발생하고... 이 사건의 용의자로 시스템의 공동 개발자가 지목됩니다. 공동 개발자는 자신의 누명을 벗기위해 경찰의 눈을 피하며 진실을 파헤쳐가는 그런 내용입니다. ^^;;;;;

히가시노 게이고 소설을 보신 분은 아시겠지만, 아주 흡입력이 강한 문체라.... 조금만 읽어볼까했다가 저도 모르는 사이에 마지막 장까지 갔더군요. 이번 소설은 감동도 있어서... 읽고났더니 마음 한구석이 살짝(?) 훈훈해졌습니다. 컴퓨터와 전자기기에 둘러쌓여 이렇게 사는 것이 과연 행복한 것인가 하는 생각도 잠시나마 해봤군요. ^^;;;

나름대로 괜찮은 스릴러물을 원하신다면 히가시노 게이고의 "플래티나 데이터"를 추천드립니다. 그럼 좋은 밤 되세요 ;)


<출처 - 교보문고>

"드리밍 인 코드"는 회사의 같은 층에 도서관이 열렸다는 소식을 듣고 올라갔다가 제목에 이끌려 고른 책입니다. 제목만 보면 코드를 아름답게(?) 짜는 기법 또는 코드로 멋진 프로그램을 만드는 것을 꿈꾸는 것에 관한 내용일 것 같은데... 실제는 "챈들러"라는 개인 일정 관리 프로그램의 일대기(?)입니다. 아니, 이 책이 완료될 당시에는 1.0.0 버전이 릴리즈되지 않았으니 일대기라기 보다는 개발기라고 하는게 더 맞겠군요. ^^;;;

이 책에는 챈들러 프로젝트의 탄생 스토리부터 개발 과정에서 겪는 수많은 난관(일정 수립, 개발 방향의 부재와 잦은 변경, 골치아픈 버그와 지연된 릴리즈 등등)이 적나라하게 적혀있습니다. 특히 릴리즈가 상당히 지연되고 개발 방향이 계속 바뀌는 부분은 수장의 관리 능력 부족으로 생각될수도 있는데, 이러한 부분도 별다른 여과없이 들어있더군요(미치 케이퍼는 대인배...). ^^;;;;

이 책을 보면서 제가 느낀 한 가지는 "아무리 똑똑한 사람도 소프트웨어 개발은 별 수 없구나" 하는 것입니다. 똑똑한 사람도 별 수 없다고 생각한 이유는... 책을 보면 아시겠지만 챈들러 프로젝트에 참여한 사람들이 로터스 1-2-3을 개발하고, 마이크로 소프트에서 개발하고, 넷스케이프 브라우저를 개발하는 등등 아주 쟁쟁한 스타 개발자들이 모였기 때문입니다. 이런 일당 백의 사람들로 이루어진 팀이지만 역시나 프로젝트가 산으로 가는 건... 쿨럭..;;; 어디나 마찬가지더군요. ㅠㅠ

그리고 다른 한 가지는 "오픈 소스 프로젝트란 굉장히 매력적인 거구나"하는 것입니다. 이 책을 보면 지구 반대편에서 챈들러 프로젝트를 진행하는 사람도 나오고, 버그 리포트와 함께 패치 코드를 보낸 유저도 나옵니다. 혼자서 개인 프로젝트를 진행하거나 주변 사람들과 프로젝트를 진행하는 저의 입장에서는 얼굴을 모르는 누군가의 지원(?)이 상당히 인상적이었습니다. 자신에게 별다른 이득이 없지만, 프로젝트에 도움을 주고 싶은 마음 하나로 코드를 읽고 패치를 보내다니... 어흑... 감동의 물결이 밀려오더군요. ㅠㅠ

책을 덮고나니 그동안 정신없이 사느라 무미 건조했던 머리에 비가 온듯한 느낌을 받았습니다. ^^ 앞으로 어떻게 해야 할지에 대한 방향도 조금은 잡은 것 같구요. 혹시 자신이 진행하는 프로젝트가 항상 잘못된 방향으로 가는 것에 대해 회의를 느끼거나, 다른 프로젝트는 어떻게 진행되는지 궁금하다면 일독하시길 권합니다. ^^)-b

ps) 똑똑한 사람들은 뭔가 다른 것이 있을지도 모른다는 기대감으로 이 책을 본다면 상당히 실망하실테니, 그런 기대는 일찌감치 접고 소설처럼 보는게 좋을 듯 합니다.
기억하실 지 모르겠지만 약 1년 반 전에 http://kkamagui.tistory.com/691에서 같은 제목의 글을 남겼습니다. ^^;;; 살짝 훑어보면 아시겠지만 입사하면 바빠서 취미생활이고 뭐고 아무 것도 없고, 특히 프로그램 같은 걸 만들 시간은 더 없다는 주위 사람들의 이야기에 반발해서 쓴 글입니다. 그분들이 하신 말씀과 다르게 마음만 먹으면 시간을 쪼개고 쪼개서라도 할 수 있다는 내용이었지요.

그리고 1년 뒤에 다시 제 상황에 대한 글을 남기기로 했는데, 이제서야 생각이 났네요. ㅎㅎ 조금 시간이 지났지만, 제 상태를 알리자면... 결혼을 한 지금도 저는 여전히 하고 싶은 일을 하면서 살고 있습니다. ^^ 다만, 차이점이라면 프로그래밍을 하는 시간이 조금 줄어들고 대신 책을 읽는 시간이 생겼다랄까요. 나이를 먹고 결혼도 하고나니 왠지 고민이 많아져서 많이는 아니지만 조금씩 책을 보고 있는데, 이 때문에 실제로 코드를 읽고 프로그램을 만드는데 쏟는 시간이 살짝 줄었습니다. 아참, 회사일이 더 많아진 것과 결혼해서 와이프와 함께 있는 시간이 늘어난 것도 있군요. ^^;;;; 그래도 열정만큼은 아직 불타오르고 있어서 열심히 프로그램을 만들고 있습니다.

가만히 생각해보면... 역시 환경이 아니라 마음가짐이 가장 중요한 것 같습니다. 마치 학교 다닐때 부모님이 아무리 좋은 참고서를 사줘도 공부 안할 놈은 안하고, 참고서 같은 거 없어도 공부 할 놈은 열심히 하는 것처럼 말이죠. ;) 아무리 피곤해도 좋아하는 게임이라면 밤을 새는 것도 마찬가지겠군요.

1년 반동안의 큰 변화라면... 새로운 분야, 즉 안드로이드에 도전했다는 것입니다. 덕분에 PHP라는 언어도 좀 배워보고 어설프게나마 mySQL도 살짝 해봤네요.  생각보다 결과가 괜찮아서 나름 만족하고 있습니다. ^^;;; 역시 올해도 지금 벌인 일이 좀 정리되는대로 새로운 분야에 도전해서 내년 이맘때 쯤에 떳떳하게 3편을 쓸 수 있도록 해야겠습니다. 

그럼, 다들 화이팅하시고 좋은 주말 되세요 ;)
이놈의 프로젝트는 Integration이 될수록 점점 빽도만 하고... 그러다보니 퇴근시간도 점점 늦어지는 상황인데.... 갑자기 좀 미션 임파서블한 일이 들어와버려서 하루하루 정신없는 나날을 보내고 있습니다. ㅠㅠ 어느정도냐면... 새로 만들어 놓은 게임이 있는데 시간이 없어서 블로그에 포스팅을 못할 정도.... 그리고 메신저에 로그인 할 시간도 없을 정도랄까요? ㅠㅠ...

일단 오늘까지 해서 일주일치 작업은 마무리한 지라 잠시 한숨 돌리고 있다가, 갑자기 이렇게 살다가는 죽겠다는(?) 무서운 생각이 들어서 하던 일을 놓고.... 정신줄도 놓고 쉬고 있습니다. 사실 이러면 안되는데... 하얗게 태워버렸다는 느낌이랄까요... 쿨럭;;;; 일단 오늘은 좀 쉬어야겠다는 생각이 몇 시간 전부터 빈둥거리고 있습니다. 내일부터는 또 버닝모드로 들어가야 하는지라 좀 우울하긴하지만 그래도 곧 성과(?)를 볼 수 있겠다는 기대감에 열심히 하고 있습니다. ^^

작년에는 해가 바뀌면 더 나은 환경에 있을거라고 생각했는데... 이거 원... 더하면 더했지 덜하지는 않네요. ㅠㅠ 일단 정리되는대로 또 근황을 한번 올리겠습니다. ㅎㅎ

그럼 다들 좋은 밤 되시길~ ;)

ps) 새로 산 노트북이 아주 좋네요 ^^
     거의 데스크탑 수준이네요 ㅠㅠ
이번에 소개해 드릴 안드로이드 게임은 "슈팅 스타" 게임입니다. ^^

"슈팅 스타" 게임은 하늘에서 내려오는 나쁜 별들을 막아내는 슈팅 게임입니다. 

슈팅 스타의 게임 방법은 간단합니다. 
   - 5단계중 한 단계를 선택
   - 스마트폰을 기울여 주인공인 노란 별을 움직임
   - 아래쪽에 Shoot 버튼을 클릭하여 별을 발사

만약 나쁜 별들을 막지 못해서 화면 아래에 닿으면 에너지가 줄어드니 조심해야 합니다.




자, 그럼 슈팅 스타 게임에 빠져보세요~!!


ps) 소리는 게임 화면에서 벨 소리 조절 버튼으로 조절할 수 있습니다.


게임은 http://jsandroidapp.cafe24.com 사이트나 마켓에서 "슈팅 스타"로 검색하시면 다운로드 할 수 있습니다.



중학교 2학년 때 집에서 태어나 약 15년 동안 같이 살다가 간 강아지가 1월 2일에 세상을 떠났습니다. ㅠㅠ 약 2년 전부터 몸이 마르기 시작하더니만 피를 토하기 시작한지 6개월만에 일입니다. 그동안 진찰도 많이 받고 약도 여러 첩 먹였지만, 몸이 다해서 아픈 건 어쩔 수가 없더군요. 그래도 어머니의 헌신적인 보살핌 덕분에 6개월이나 더 버틸 수 있었던 것 같습니다. ^^;;;;

고향집에 내려가면 그렇게 좋다고 반기던 녀석인데, 이제 더이상 없다고 생각하니 좀 적적하네요. 그래도 죽기 전에 제가 사는 곳에 두번 들리고 간 것 같아서 마음이 덜 아픕니다. 무슨 이야기인고 하니... 녀석이 세상을 뜨기 이틀 전부터 이상한 일이 일어났거든요. 

아, 글쎄... 12월 31일 아침에 갑자기 잘 쓰던 PC에 파워가 나간겁니다. 뭐, 4년이나 쓴 PC라서 파워가 맛이 갈만했기 때문에 와이프에게는 노트북으로 인터넷하라고 한 뒤 출근했습니다. 그리고 그날 저녁에 와서 와이프랑 저녁을 먹고 노트북을 켰더니... 아니 글쎄... 좀 전까지도 잘 동작하던 노트북도 고장이 난 겁니다....

PC가 없으면 한시간도 버틸 수가 없기에 이상하다 하며 다음날 1월 1일에 용산으로 가서 500W 짜리 파워를 사왔습니다. 그리고 PC를 잘 쓴 뒤에 1월 2일에 일어났더니... 또 PC가 안켜지는 겁니다. PC와 노트북이 동시에 고장나고, 새로 산 파워까지 고장이나다니... 확률로 따지만 아주 희박할텐데... 무슨 일이 벌어진건지 와이프와 고민하던 찰나에 어머니께서 전화를 하시더군요. 기르던 강아지가 죽었다고....

어머니께 PC가 다 고장났다고 말씀드렸더니, 어머니가 진지한 목소리로 "평소에 너를 그렇게 따르더니, 죽기 직전에 두번이나 들렸나보다... 기쁜 마음으로 새로 사거라..." 라고 하셨습니다. 가만히 생각해보니 정말 그런 것도 같아서 용산에 다시 가 파워를 교환하고 내친 김에 노트북도 새로 샀습니다.

정말 저희 집에 2번이나 들렀는지는 알 수 없지만, 덕분에 노트북이 새로 생겼네요. 녀석이 주는 마지막 선물이라고 생각해야겠습니다. ^^ 기억이 흐릿해지기 전에 녀석의 마지막을 남기려고 이렇게 한자 적습니다. 

ps)  모두 새해 복 많이 받으세요. ^^)-b
이번에 소개해드릴 게임인 "구구단의 달인" 은 구구단 문제의 답을 맞추는 게임입니다. ^^;;; 지난 번에 소개해드린 "수학의 달인~!!"에 이이서 두 번째로 머리 쓰는 게임인 것이죠 ;)


<게임 타이틀 화면과 레벨 선택 화면, 그리고 실행 화면>

구구단 문제는 1~9단과 10~19단의 2가지 종류로 나오며, 최대한 빨리 문제를 풀어 기록을 단축하는 것이 게임의 포인트입니다.
총 3단계의 레벨이 준비되어 있으니 높은 레벨에 도전해보세요~!!

ps) 아이들이 구구단에 좀더 빨리 익숙해졌으면 하는 마음으로 만들어봤는데, 효과가 있을지는 모르겠군요. ㅠㅠ


게임은 http://jsandroidapp.cafe24.com 사이트나 마켓에서 "수학의 달인"으로 검색하시면 다운로드 할 수 있습니다.

아래는 다운 받을 수 있는 QR Code 입니다.


그럼 좋은 밤 되세요 ;)
이번에 소개드릴 게임은 간단한 수학(이라고 쓰고 산수라고 읽음..) 문제를 풀면서 굳은 머리를 풀 수 있는 게임입니다. 지금까지의 게임이 온 몸으로 하는 액션(?)에 초점을 맞췄다면, 이번 게임은 "머리"에도 초점을 맞췄습니다. ^^;;;;

<게임 타이틀 화면과 레벨 선택 화면, 그리고 실행 화면>

수학 문제는 덧셈, 뺄셈, 곱셈, 나눗셈의 4가지로 나오며, 최대한 빨리 문제를 풀어 기록을 단축하는 것이 게임의 포인트입니다.

총 3단계의 레벨이 준비되어 있으니 높은 레벨에 도전해보세요. ^^)-b 쉬운 레벨은 초등학교 아이들 수준 정도여서 교육에도 좋을 것 같습니다. ^^;;;

(고수 레벨에는 2자리 x 1자리의 곱셈 문제도 출제되니 수학에 자신 있는 분들은 꼭 도전해보세요~!! )

게임은 jsandroidapp.cafe24.com 사이트나 마켓에서 "수학의 달인"으로 검색하시면 다운로드할 수 있습니다.



그럼 좋은 밤 되세요 ;)

ps) 디자인을 해주신 디자이너 준님께 감사의 말씀을 드립니다.




요즘 들어 허리 통증이 심해져서 겔럭시 탭이나 아이 패드와 같은 태블릿이 나오면 하나 사야겠다고 생각하고 있었습니다. 그런데... 이게 왠일~!!! 맥북 에어 3세대가 나왔는데.... 11인지가 너무 싸고 가볍게 나온거 아니겠습니까? ㅠㅠ

어흑... 꼭 태블릿을 사겠다는 저의 굳은 결심이... 그대로 무너져 내리면서 지금 맥북 에어를 사야할지 심각하고 고민하고 있습니다.  ㅠㅠ 사실 활용도를 따지자면 당연히 이것 저것 다 되는 맥북 에어를 사는게 당연한데... 누워서 뒹굴거리면서 쓰자니 아무래도 좀 아쉬운 부분이 있는 것이 사실입니다. 

으으... 어떻게 해야 잘 샀다고 소문이 날까요? 맥북 에어를 사는게 나을까요? 아니면 아이 패드를 사는게 나을까요? 이미 사신 분이 있다면 조언 좀 부탁드릴께요 ㅠㅠ)-b
이번에 소개드릴 게임은 기본의 게임과는 좀 색다를 방식으로 진행하는 게임입니다. 지금까지의 게임이 단순히 안력과 손가락의 스피드(?)만으로 고득점이 가능했다면, 이번 게임은 흔드는 기술(?)도 좋아야 고득점을 할 수 있습니다. 왜냐하면, 나무에 달린 코코넛은 흔들어야만 떨어지니까요 ^^;;;


<게임 타이틀 화면과 레벨 선택 화면, 그리고 실행 화면>

게임의 규칙은 단순합니다. 레벨을 선택한 뒤에 게임이 시작되면 스마트폰을 왼쪽/오른쪽 또는 아래/위로 흔들어서 코코넛을 땅으로 떨어뜨린 다음 땅에 떨어진 코코넛을 손으로 터치하면 됩니다. 터치된 코코넛은 자동으로 가운데에 있는 항아리에 들어가니 최대한 빨리 흔들고 열심히 터치하면 최단 시간에 끝낼 수 있습니다. ^^)-b

흔들기가 가미되어 운동 효과도 상당하니 틈틈히 하면 다이어트에도 도움이 될 것 같습니다(제가 몇 번 해보니 등과 이마에 습기가 차더군요.. 쿨럭..;;;).

게임은 jsandroidapp.cafe24.com 사이트나 마켓에서 "코코넛"으로 검색하시면 다운로드할 수 있습니다.


그럼 좋은 밤 되세요 ;)

ps) 디자인을 해주신 디자이너 준님께 감사의 말씀을 드립니다.

약 2주 전에 준 컨트롤러(June Controller) v1.0을 릴리즈하고 잠시 일이 있어서 떠났다가(?) 돌아왔더니, 생각보다 많은 분들이 피드백을 주셨더군요. 하나하나 읽어보다보니 이런 기능은 있으면 좋겠다 싶은게 있어서 기능을 보강한 v2.0을 릴리즈합니다. ^^)/~

v1.0과 v2.0의 가장 큰 차이점이라면 마우스 제어 기능~!!입니다. 사실 준 컨트롤러의 기본 취지는 동영상 플레이어를 스마트폰으로 제어하는 것이라 마우스 부분을 신경쓰지 않았습니다. 그런데 피드백에 마우스도 있으면 좋겠다는 내용을 보고나니 누워서 마우스까지 제어할 수 있으면 참 좋겠다는 생각이 들더군요. @0@;;;;; 그래서 부랴부랴 마우스 제어 기능을 추가했습니다. 아래는 마우스 기능이 추가된 준 컨트롤러의 실행 화면입니다.


- 준 컨트롤러 v2.0의 실행 화면 -

마우스는 실행 하면의 오른쪽 아래에 있는 화면에서 움직일 수 있으며, 동심원을 터치하면 원하는 방향으로 이동합니다. 만일 클릭이나 더블 클릭이 필요하다면 위에 있는 버튼을 이용해서 처리할 수 있습니다(다들 예상했겠지만 더블 클릭은 아주 빨리 버튼을 2번 누르면 됩니다. ^^;;;;;).

또 다른 큰 변화는 바로 지원하는 동영상 플레이어의 수입니다. v1.0은 윈도우 미디어 플레이어(Window Media Player)와 곰 플레이어(GOM Player)만 지원했지만, v2.0에는 KM 플레이어(KM Player)와 팟 플레이어(POT Player)도 지원하도록 했습니다(플레이어 지원 부분은 요청이 있을 때마다 계속 추가할 예정입니다 ^^;;;).

그 외에 다른 부분은 자잘한 버그 수정 정도인데... 자세한 내용은 http://jsandroidapp.cafe24.com/junecontroller_kr.html에서 보실 수 있습니다.


준 컨트롤러는 안드로이드 마켓에서 "준 컨트롤러"로 검색하시거나, 안드로이드 폰 브라우저에서 아래를 클릭하시면 바로 마켓으로 이동할 수 있습니다.




이번에는 게임이 아닌 새로운 어플로 돌아왔습니다. ^^ 주말에 와이프랑 "*순검 3"을 보는게 유일한 낙인데, 동영상 파일에 소리가 들쭉 날쭉한 경우가 많더군요. ㅠㅠ 그래서 어떤 씬에서는 소리를 좀 키우고 어떤 씬에서는 소리를 좀 줄여서 보곤 했는데... 누워있다가 매번 일어나서 조절하려니 여간 귀찮은 게 아니더라구요. ㅠㅠ 그래서 눈 딱감고 만들기 시작한게 준 컨트롤러(June Controller) 입니다. ^^

준 컨트롤러는 PC에서 실행하는 작은 서버 프로그램과 안드로이드 폰에 설치하는 어플로 구성되어 있습니다. 아래는 준 컨트롤러를 실행한 화면입니다. 





위에서 보는 것과 같이 간단히 IP 주소를 입력하는 것만으로 바로 PC의 동영상 플레이어를 제어할 수 있습니다. ^^ 아무래도 게임과 달리 서버와 클라이언트로 구성된 어플이다보니, PC와 안드로이드 폰이 어떤 방식으로 구성되어 있는 가에 따라서 동작에 영향을 받을 수 있겠더라구요. 

그래서 무료 버전에는 기능을 좀 제한하여 동작 여부를 테스트하는 용도로 릴리즈가 되었고 유료 버전은 기능을 모두 쓸 수 있게 했습니다. 무료 버전이라 하더라도 멈춤이나 전체 화면, 볼륨 조절과 같은 필수 기능은 모두 지원하니 쓰는제 큰 문제는 없을 것입니다. ^^

저처럼 왔다갔다 하면서 동영상을 보는게 귀찮다면, 준 컨트롤러를 PC 설치하시는 걸 강력하게 추천합니다.

준 컨트롤러의 좀더 자세한 내용은 http://jsandroidapp.cafe24.com/junecontroller_kr.html 에서 보실 수 있습니다. ^^

준 컨트롤러는 안드로이드 마켓에서 "준 컨트롤러"로 검색하시거나, 안드로이드 폰 브라우저에서 아래를 클릭하시면 바로 마켓으로 이동할 수 있습니다.





+ Recent posts