2014/09 41

Observer Pattern(옵저버 패턴)

Observer pattern(옵저버 패턴)하나의 객체의 상태가 바뀌거나 전송을 하면 해당 객체에 의존하는 다른 객체들에게 연락을 하여자동으로 내용이 갱신되는 방식 1:N의 의존성을 정의하는 패턴 예제>서버에서 접속 받은 클라이언트들에게 1회만 읽기 가능한 정보를 제공한다 라고 가정을 했을때서버에서 정보가 생성이 되면, 서버에 접속되어있는 클라이언트에게 해당 정보를 제공한다 라고 생각하면 된다.클라이언트는 서버로부터 전송된 내용을 읽은 다음 파일로 저장하거나 저장을 안할 수가 있다.읽기가 끝나면 해당 정보는 바로 소멸되는 특징이 있다. 단 읽기가 안되었다면 다른 정보가 수신되더라도 버퍼에 계속 저장되게끔 한다.

Code Archive/ETC 2014.09.22

한글로 출력하기

1. label 텍스트에 안녕이라는 글자를 추가 후 다시 실행 하면자 한글이 꺠져서 나왔는데...밑에 박스 친 곳이 한글 지원하겠끔 하는 코드로 CP_UTF8은 한글 표현이 안되서. ANSI code로 바꾸어주면 정상적으로 한글이 표현된다. 기존값 : CP_UTF8바꾼값 : CP_ACP바꾼 후 다시 실행하면 한글이 정상 출력 된다.로그역시 CP_UTF8로 설정되어 있기 때문에 이것또한 CP_ACP로 바꿔주면 로그값도 한글로 정상 출력된다. libcocos2d -> base -> CConsole.cpp의 _log 함수의 226번째 줄에있는 CP_UTF8을 CP_ACP로 바꾸어 주면 정상 출력된다.

cocos2d 프로젝트 생성 및 HelloWorld 출력

1. 콘솔창에서 프로젝트 생성을 위해 명령어 입력-> cocos new (프로젝트명) -p (패키지명) -l cpp -d (프로젝트 위치) 저는 cocos new TestCocos2D -p com.nam2626.test -l cpp -d c:\cocos2d-project 라고 입력했습니다.실행하고 나면 해당 위치에 프로젝트가 생성 됩니다. 자 우리는 윈도우 기반에서 작업을 할것이기 때문에 proj.win32 폴더를 들어갑니다. 여기서 확장자가 sln인 파일을 실행하면 비주얼 스튜디오가 열리면서 프로젝트 들이 로드 됩니다. 자 그럼 이렇게 창이 뜨는데 걍 확인 누르시면 됩니다. 그러면 오랜 시간동안 프로젝트를 읽고 있으니 꾹 참고 기달리시면 됩니다.기다리고 나면 이렇게 화면이 뜹니다. 오른쪽 솔루션 탐색기..

cocos2d-x 윈도우 환경에서 셋팅

* 현재 셋팅은 윈도우7 64비트 버전 기준으로 셋팅하고 있습니다.1. 파이선 2.7 버전 설치 -> https://www.python.org/downloads/ 2. Android SDK, ADT, NDK 다운 -> http://developer.android.com/sdk/index.html 주의할점은 ADT, SDK, NDK 플랫폼을 통일해야 한다. 32비트면 전부 32비트, 64비트면 전부 64비트....3중에 하나라도 틀리면 나중에 프로젝트 빌드 후 실행하면 런타임에러로 어플이 바로 종료되는 진귀한 현상을 볼수 있음...다운로드 완료 후 폴더 한곳을 생성후 다같이 압축을 풀어 놓고 시작3. Microsoft visual studio 2013 Express설치 -> http://www.visual..

strategy pattern(스트래티지 패턴)

strategy pattern(스트래티지 패턴) 알고리즘군을 정의하고 각각을 캡슐화하여 교환하여 사용할수 있도록 만들어 기존 클래스와는 독립적으로 알고리즘 변경이 가능하다. 예제 코드>1. Car 클래스속성 : speed - double(차량의 속도를 저장할 변수), gear - int(기어값을 저장할 변수)기능 : onAccel(), onBreak(), changeGear()onAccel() : 차량 속도를 올리는 메서드onBreak() : 차량 속도를 줄이는 메서드changeGear() : 기어 변경 메서드 - Car.javapackage com.strategy.test; public class Car {private static final int MAX_SPEED = 250;private doubl..

Code Archive/ETC 2014.09.17

Step16. 채팅 프로그램

서버가 하는 일1. 서버 오픈2. 클라이언트 접속을 받음3. 클라이언트가 전송한 내용을 받아서 다시 접속해 있는 모든 클라이언트에게 전송 클라이언트가 하는일1. 서버 접속2. 메세지 내용 입력 후 서버 전송3. 서버로부터 온 메세지 출력 각각의 서버와 클라이언트가 하는 일을 보면 동시에 입출력은 불가능하므로 스레드를 이용하여 각각 동시에 일을 진행할 클래스를 작성한다. Server 클래스 : 서버 오픈, 클라이언트 접속 받음, ServerWorker 객체를 저장ServerWorker 클래스 : 접속 중에 있는 어느 클라이언트가 보낸 내용을 현재 객체에 연결된 클라이언트에게 전송Client 클래스 : 서버 접속, 서버로부터 온 메세지 화면에 출력ClientWorker 클래스 : 메세지를 입력 받은 후 서버..

Code Archive/JAVA 2014.09.12

json.jar 만들기

1. http://www.json.org/ 에 접속2. 밑에 java하위에 org.json. 클릭3. Free source code is available. 클릭해서 github 접속4. 오른쪽에 download zip 클릭 후 압축파일 다운5. 압축을 푼후 readme 파일을 제외한 모든 파일과 zip폴더 복사6. 이클립스에서 자바 프로젝트 생성후 src에서 org.json패키지 생성 후 해당 패키지에 붙여넣기7. 해당 프로젝트 오른쪽 클릭 후 export 선택8. java->jar file 선택 후 next9. jar file : 에서 경로 선택 후 파일명 입력 후 finish 클릭

Code Archive/ETC 2014.09.12

Step17. 기본 SQL

--테이블 작성create table person( name varchar2(20), age number); --데이터 삽입insert into PERSON values('남상규',29);insert into PERSON(name,age) values('철수1',21);insert into PERSON(name,age) values('철수2',22);insert into PERSON(name,age) values('철수3',23);insert into PERSON(name,age) values('철수4',34);insert into PERSON(name,age) values('철수5',35);insert into PERSON(name,age) values('철수6',46); --데이터 출력select *..

Code Archive/JAVA 2014.09.12