2014년 5월 29일 목요일

[mysql] 데이터베이스,테이블 생성 및 조회

존재하는 데이터베이스 확인
  • show databases;

choice라는 이름으로 데이터베이스 생성

  • create database choice;


choice 데이터 베이스 삭제
  • drop database choice




choice 데이터베이스에서 사용
  • use choice


테이블 생성

create table [테이블명](
id varchar(20) primary key,
pass varchar(20) not null,
email varchar(50) not null
);

테이블 조회

  • select * from choice_id;




2014년 5월 18일 일요일

루빅스 큐브 40주년, 역시나 재밌는 구글 메인페이지


큐비는 어릴적에 마트에서 호기심에 구매했다가 빠저버렸던 장난감이네요. 포스팅날짜인 5월19일, 큐브 40주년을 맞이해서 메인페이지에 큐브를 만들어 놨더군요?
실제 플레이타임은 한 10분 한듯 하네요. 중간에 롤 하느냐 1시간이나 걸렸습니다. 
자랑하려고 올렸는데 이름 공개까지 되어버렸네요.

2014년 5월 17일 토요일

Android+COCOS2D-x 3.0 Android 실행(포팅)하기

앞의 게시물을 통하여 안드로이드의 모든 준비물은 있을 것이라고 생각하겠습니다. 여기서 더 준비할 것은 포팅할 휴대폰 드라이버 입니다.


이렇게 프로젝트도 생성 해놓으셨을 테고, 이제 실행하면 됩니다.
저는 책을 보고 공부를 하는데 속았습니다. 책 표지에는 Android랑 I phone이란 단어가 2번씩 보이는데도 불구하고 포팅방법은 하나도 안 가르쳐 주더군요. 어디 좀 해주면 덧나나, 분명 못했을 듯

우선 당연 분명히 오프콜스 하게 Eclipse를 켜줍니다. 글보다 그림이 빠를거란 확신이 있기에 그림 설명 갑니다.

요기

클릭, 클릭


자신이 만든 프로젝트 폴더의 proj.android


Project가 Import되었습니다. 하지만 라이브러리인 cocos2d이 깨져있기 때문에 재 설정해줘야합니다. 


라이브러리는 보통의 자바 클레스로 되어 있습니다.(Android no no)


경로는 자신이 cocos2d-x의 설치장소 또는 생성한 프로젝트 폴더(projects\game) 속에 있습니다.
  • cocos2d-x 폴더일 경우
    • 예) e:\cocos2d-x\cocos\2d\platform\android\java
  • 프로젝트 폴더일 경우
    • 예) e:\projects\game\cocos2d\cocos\2d\platform\android\java



WorkSpace(우측 project explore)에서 Android porject 우클릭 -> properties ->android
기존에 있던 라이브러리를 삭제해줍니다.


새로 불러온 프로젝트를 선택하여 적용합니다.


탁!, 끗!


 하기전에 우선 연결할 스마트폰을 '디버깅 모드'로 전환합니다.
프로젝트 우클릭 -> Run as -> Android Application을 누르면!


하하 에러가 나죠.


해당하는 proj.android 폴더를 찾아들어가 줍니다.(Eclipse의 프로젝트 익스플로러에서도 가능합니다.) 그리고나서 build_native.py를 실행해주면, 머머머머머머머머머~ 쭉 진행됩니다.

그러고 난뒤 실행하고 나면


폰이 까꿍 해줍니다.

하지만............... 그래도 안되는 사람은 안됩니다. 다 된다고요? 그럼 난? 뭐지? ㅠㅠ

마지막까지 해도 안되는 분은 다음 명령어를 입력하면 작동됩니다.
  • cocos run -s [프로젝트 폴더] -p android
이건 사실 위의 build_native.py 이 작업의 대체 작업입니다.
.
이상 여기까지 안드로이드 프로젝트 실행(포팅) 이였습니다. ㅅㄱㅇ

--------------------------------------------------------------------------------

Android+COCOS2D-x 3.0 프로젝트 생성하기

3.0버전 이전까지만 하더라도(심지어 3.0beta2) 프로젝트를 쉽게 생성하게 끔 도와주는 프로그램이 있었습니다. Project-Creator.py.. 하지만 이제 이건 지원해 주지 않고 프로젝트 생성을 모두 커맨트창에서 명령어를 통하여 생성할 수 있습니다.

프로잭트 생성 명령어인 [cocos new]를 입력하면

이렇게 나옵니다. 만약


이렇게 나온다면 파이선이 호환 되지 않는 버전이므로 2.7버전으로 다시 까시면 됩니다.(이걸 제가 어케 알게 됬을까요? ㅠㅠ)

 다시 위를 보게 되면 -h는 도움말이고 나머지 요소는 [Project_Name], [-p Package_Name], -l {cpp,lua,js}, [-d Directory] 입니다. 정리를 하면
  • cocos new [Project_Name] -p [Package_Name] -l cpp,lua,js(中1) -d [Directory]
가 되고 순서는 상관 없습니다.
예를 들면 
  • cocos new test -p com.game.exam -l cpp -d E:\Android_cocos2d-x\projects
이렇게 적으시면됩니다. 이렇게 적게되면 cocos2d-x의 cpp템플릿을 기반으로 해서 test의 프로젝트 이름과 com.game.exam의 패키지명으로 E:\Android_cocos2d-x\projects의 하위 폴더에 만들어 지게 됩니다.


폴더를 보게 되면


이렇게 생성이 됩니다. cocos2d 폴더에는 cocos2d-x의 파일들이 들어가 있습니다.
Classes폴더는 제일 중요한 폴더입니다. 저 폴더안에 있는 파일이 핵심입니다. android부터 wp8까지 모든 프로젝트들이 classes폴더 안에 class파일들을 공유하고 있습니다. 



win32폴더를 열면 솔루션 파일이 있고 visual studio를 이용하여 실행시키면 되겠습니다. Android로도 실행을 시켜봐야 하는데 여기까지 하고 다음 포스팅으로 넘어 가겠습니다.

--------------------------------------------------------------------------------

Android+COCOS2D-x 3.0 예제 실행 해보기

지난 cocos2d-x의 설치를 끝내고 바로 이어지는 글입니다. 실행 볼 파일들이 사실 예제 파일은 아니고 템플릿 정도인데, 편의상 예제라고 부를께요.


그림에서 보면 파랑색이 2.2.3버전이고 빨강이 3.0버전입니다. 2.2.3에서는 예제 파일 template->multi-platform-cpp 폴더안에 각종 플랫폼의 템플릿들이 들어가 있고 바로 실행하면 됩니다.

하지만 3.0에서는 templates라고 해서 존재하지만 실행이 불가능하고 진짜 템플릿의 기능만 하는 파일들만 존재합니다. 실행을 해보기 위해선 build 폴더를 찾아 들어가면 됩니다.

Visual Studio 2012를 켜서 솔루션을 불러옵니다. 위치는 당연 cocos2d-x->build의 cocos2d-win32.vc2012.sin입니다.



우선 솔루션부분을 우클릭하여 솔루션을 빌드(또는 메뉴의 Build -> Build Solution)해줍니다. 여기서 라면 끊여먹으면 적당할 정도로 앵간히 오래걸리니 기다려줍니다.


다 되었으면, 이제 솔루션 안에 여러개의 프로젝트 중에서 cpp로 시작하는 2개중에 하나를 선택해서 "set as StartUp Project"를 선택해 줍니다.
  • cpp-test : cocos2d-x에서 제공하는 여러가지 기능들의 예제가 구현되어 있다.
  • ccp-empty-test : 빈 cocos2d-x 프로젝트
그리고 나서 그 아래 있는 Debug->Start New Instance를 눌러주게 되면 프로젝트가 실행되게 됩니다. 

--------------------------------------------------------------------------------

Android+COCOS2D-x 3.0 개발환경 구성하기

진짜 욕나오는 cocos2d 환경 구성하기. 걍 따라하시면 됩니다....

하기전에.....잡담.. 생략하셔도 됩니다.
우선 저의 안드로이드 테스트까지의 파란만장한 시도를 떠들자면... 눈물이 나네요 ㅠ
먼저 cocos2d-x는 버전이 여러가지 있습니다. 비교적 쉬운 플랫폼이라길래 인터넷에서 잘 올라온 과정을 따라할려고 했죠. 2.2.1버전을 설치를 하였는데 과정이 장난 아니더군요. 하지만 막상 작업을 하려고 하니 아는건 쥐뿔도 없고 아래 화면만 보게 되더군요.
그래서 이왕 시작한거 책을 구매하였습니다. 책을 찾아보니 대부분 3.0버전을 기준으로 하였고 지금 2.2.3버전을 많이 쓴다지만 좋은 플렛폼일수록 높은 버전에 대한 준비와 배움이 필요하기에 그렇게 3.0버전을 기준으로 한 책을 샀습니다. 그래도 나름 2.2.1버전을 설치해 봤다고 책에 나온 과정을 무시하고 제 멋대로 설치한 결과!.. 예제가 실행이 안되다니......... 
알고보니 2.2.1에서 빈프로젝트를 template\multi-platform-cpp\proj.win32를 이용하여 실행하면 됬지만, 3.0에서는 \build에 찾아서 실행을 해야 하는 거였습니다. 결국 위와 같은 화면을 다시 보게 되었죠.
이게 끝이 아닌게, 빌드폴더의 파일을 가지고 작업을 하는 것이 아니라 프로젝트 생성을 하고 그걸 이용하여 작업을 해야하는데 책에 나온 create_project.py라는 파일이 없.............
버전이 달라서 없답니다. 같은 3.0기준인데? 책은 정확히 3.0beta2를 기준으로 했더군요. 그래서 다시 3.0beta2로 ㄱㄱ~
이게 끝이 아닙니다. 프로젝트 생성까지 성공했습니다. 근데? 안드로이드 설치가 안되더군요. 해외 페이지까지 해석해가며 내린 결론은. 3.0 다시 설치하기. 그래서 다시 3.0으로 ㄱㄱ
하지만 3.0에는 create_project.py에 대한 부분은 cocos2d 홈페이지에서 자세히 나와 있어서 다시만난 난관이였지만 해결.. 할 뻔했는데?
아...아...아...아...아...아...아...
. 상식적으로 높은 버전은 하위 버전을 포용하는데 3.0버전으로 프로젝트를 생성할 경우 python 2.7버전이 필요하다는 군요. 2010년도에 나온 버전인데... 최신은 3.4버전인데 ㅡㅡ;;
이틀을 삽질하고(물론 별것도 아닌거 가지고 스스로 삽질한 것도 있지만..) 다른 분들은 이러한 피해를 입지 않도록 cocos2d-x 3.0 (beta버전 아님) 개발 환경 구성하기 포스팅을 해보려 합니다.

전체적인 준비물
  1. java SE
  2. eclipse
  3. ADK plugin
  4. NDK
  5. 비주얼스튜디오 2012 이상
  6. Cocos2d-x
  7. python (2.7 *중요)

1. 설치


우선 사용하는 저의 개발 환경은  Window x64 를 사용합니다.

자바 환경 구성을 순서로 나열한다면
  1. Java SE JDK 다운로드
  2. Java 환경 변수 설정하기(Path 설정)
로 나눌 수 있습니다.

1. Java SE 다운로드 하기



Java SE JDK를 다운로드하기 위해서는 오라클 홈페이지로 접속하여 DownLoad를 찾고 Java for Develpoers를 찾습니다.



좌측에 보면 Java SE, EE, ME 등등 여러가지가 있습니다. 이것들을 자바 가상머신의 플랫폼들인데 대표적으로  Java SE,EE,ME로 나누어집니다. SE는 Standard Edition이란 흔히 PC라 불리우는 기기에서의 자바 플랫폼 '표준'입니다. 때문에 JVM의 모든 기능을 지원하고 API를 포함하고 있습니다.
 EE는 Enterprise Edition의 약자입니다. EE는 서버측을 위한 자바 플랫폼으로서 대부분 서버측의 역활은 기업이 맡아왔기 때문에 Enterprise란 용어가 붙은 듯 싶네요.
 ME는 Mobile Edition, 즉 모바일 기기를 위한 플랫폼으로 휴대폰 뿐만 아니라 소형 임베디드 기기, PDA, 셋톱박스 등을 지원합니다.
 안드로이드, Java를 하기 위해선 SE를 필요로 하고 하나의 서버를 두고 통신을 하게 만들려면 EE 또한 필요하게 될 것입니다. 안드로이드는 Java ME을 기반으로 만든 것이 아니고 달빅 가상 머신을 통해 자바로 작성된 운영체제이기 때문에 ME가 아닌 SE를 필요로 한다고 합니다. 

버전 별로 지원하는 것과 지원하지 않는 것들이 다르기 때문에 신중히 선택하여 다운로드 해야 하지만 나는 큰 영향이 없을 것으로 예상하기 때문에 가장 최신 버전으로 다운로드 할 것입니다.
 파란테두리를 클릭하여 JDK 다운로드 페이지로 이동하고
 자신의 운영체제에 맞는 JDK를 다운로드&설치를 진행하면 되겠습니다.

2.Java 환경변수 설정하기

사실 Java 환경 변수를 설정하지 않아도 실행하는 데에는 아무런 문제가 되지 않지만 실행할 파일이 java가 설치된 폴더안에 있지 않으면 Full Path를 입력을 하거나 실행이 되지 않습니다. Path 변수를 설정함으로서 컴퓨터 어떠한 곳이라도 Java프로그램을 접근할 수 있도록 할수 있습니다.

크게 Path,ClassPath와 Java_HOME을 설정을 하게 됩니다. 설정은 GUI환경에서 쉽게 할수 있게 되어있습니다. 저를 기준으로 Window7에서는

'컴퓨터' 우 클릭 ->
고급 시스템 설정 ->
환경 변수 ->


이렇게 찾아오시면 됩니다.


설정을 해야하는 것은 Java_Home,CLASSPATH,Path 이렇게 3가지입니다. 각각을 설명하자면 Path는 앞서 설명한 것처럼 Java가 설치된 경로를 설정함으로서 Java의 프로그램들을 접근하기 위해 설정을 하고, CLASSPATH는 폴더나 파일을 설정하여 그 경로에 있는 Class또는 설정된 파일의 Class파일을 호출하여 사용할 수 있도록 합니다. Java_Home은 다른 어플리케이션들이 Java를 이용할 떄에 JAVA_HOME이라는 환경변수를 참조하기 때문에 설정을 하게 됩니다.

윗 부분에 해당하는 사용자 변수 부분에서 '새로 만들기'를 통하여

  • 변수이름 : JAVA_HOME
  • 변수값 : C:\Program Files\Java\jdk1.8.0_05 (자바 jdk 를 설치한 위치)
설정을 하게 되고

아랫 부분에 해당하는 시스탬 변수 부분에서 '새로 만들기'를 통하여

  • 변수이름 : CLASSPATH
  • 변수값 : C:\Program Files\Java\jdk1.8.0_05\lib\tools.jar (java_home 하위경로 파일)
CLASSPATH를 설정하고 'path' 클릭 후 편집을 눌려

  • 변수이름 : Path
  • 변수값 : (기존 Path)C:\Program Files\Java\jdk1.8.0_05\bin;
기존의 path에 추가를 해줍니다.

이렇게 함으로서 Java JDK 설치와 환경변수를 설정을 하였습니다.

확인을 하기 위해서는 '윈도우키+R' 또는 '시작->모든프로그램->보조프로그램->명령프롬프트'를 실행하여 javac,javaw,javaws등 Path에 편집한 위치에 존재하는 파일을 실행해보면 됩니다. 만약 실행이 된다면 컴퓨터의 다른 위치에서도 실행이 된다는 것이므로 환경변수 설졍이 잘 되었다고 할수 있습니다.


1)이클립스+ADK

ADK란 Android Software Development Kit, 즉 개발도구이긴한데 Android를 지원하는 개발도구 입니다. 보통 이클립스를 많이 사용하실텐데 이클립스에서 Android를 지원하기 위해서 필요한 것이 SDK 플러그인 입니다. 제가 마지막으로 배웠을 때에는 기존 이클립스에서 ADK플러그인 다운받는 식으로 사용하였는데 지금은 안드로이드 개발 페이지에 가보니 1~2을 한번에 만들어 제공을 하더군요. 


다운로드 페이지에 가셔서 ADK Bundle을 다운 받으면 됩니다. 설치를 하시고 압축을 풀어줍니다.
이제 ADK Manager를 이용하여 각 버전에 맞는 API들을 다운받아 설치를 하면 기본적으로 안드로이드 앱을 개발할 수 있습니다.


Window -> ADK Manager 을 찾아가 실행시켜줍니다.


이제 여기서 자신이 개발하려는 버전에 맞춰 다운받아주시면 해당 버전으로 개발을 할 수 있습니다. 여기서 다운로드 서버가 작은지 시간이 오래 걸리므로 빠릿빠릿하게 하면 될듯? 싶네요. 참고로 작년(2013)까지의 버전 점유율 2.3.3버전이상으로 하게되면 대부분에 적용할 수 있네요.


2)NDK

안드로이드에서 C/C++ 코드로 된 모듈을 불러오기 위해서는 NDK (Native Development Kit) 를 이용해야만 합니다. 때문에 설치를 해줍니다. 이것 또한 구글의 안드로이드 개발페이지에서 다운로드 할 수 있습니다.

3)COCOS2D-X

cocos2d-x는 멀티플렛폼 오픈소스 엔진 입니다. 기본적으로 폰 게임 분야에서 많이 쓰이고 전 세계적으로 많은 사용을 받는 엔진이라고 합니다. 이거에 대한 블로그 강좌나 정보를 가장 쉽게 접할 수 있어 cocos2d-x로 정했습니다. 이것도 그냥 다운로드해서 압축을 풀어주면 됩니다. 저는 2.2.3버전을 기준으로 작업하고 있습니다.

4)Python

cocos2d-x 프로젝트를 생성하기 위해서 필요합니다. 이것도 다운로드하고 설치를 해줍니다.

5) 비주얼 스튜디오 2012

우리 모두 구할 수 있자나요? 그렇죠?
사실 제가 처음 2010으로 해봤는데 서비스팩깔면 됩니다. 하지만 2012를 깔아줍니다. 언제 또 어디서 막힐지 모르니..

2.설정

자바 SDK를 설치했을 때와 마찬가지로 환경변수를 설정해 줘야 합니다. 설정하기 위해선

여기(우클릭)

여기

여기

이렇게 찾아오시면 됩니다.

설정은 총 3가지만 하면 됩니다. 아래는 저를 기준이니 경로 설정 잘해줍니다. 경로 구분은 ; 로 구분해줍니다.(저는 cocos2d-x관련 파일들을 E:\Android_cocos2d-x\폴더에 모았습니다.)
  • 시스템 변수 - Path   기존에 추가
    • ~~;E:\Android_cocos2d-x\Python27;E:\Android_cocos2d-x\android-ndk-r9d
  • 사용자 변수 - NDK_MODULE_PATH   새로 만들기
    • E:\Android_cocos2d-x\cocos2d-x-2.2.3;E:\Android_cocos2d-x\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt
  • 사용자 변수 - NDK_ROOT   새로 만들기
    • E:\Android_cocos2d-x\android-ndk-r9d

  • cocos2d-x의 루트폴더의 setup.py 실행
setup.py를 실행하게 되면 위의 것들과 cocos2d-x에 관련된 환경변수를 자동 등록 해줍니다. 하지만 못 찾는 경우도 많아서 위의 것들은 그냥 직접 등록 해주도록 합니다.

  • 명령프롬프트(cmd) 또는 python 에서 "cocos run"을 입력해 줍니다.
이로서 모든 설정이 완료 되었습니다.. 저는 여기까지 2틀걸렸네요. 멍청한듯


바로 다음 포스팅으로 win32랑 android환경에서의 예제 실행을 하겠습니다.

--------------------------------------------------------------------------------