Search

'분류 전체보기'에 해당되는 글 24건

  1. 2010.12.16 [PhoneGap] 폰갭 기본
  2. 2010.12.14 [JSON] JSON Text -> JSON Object
  3. 2010.12.02 [ORACLE] Commit 후 다시 복구하기
  4. 2010.12.01 윈도우 xampp 설치 및 가상 호스트 사용!

[PhoneGap] 폰갭 기본

SmartPhone/Etc 2010. 12. 16. 09:51 Posted by ditus
스마트폰 앱을 HTML+Javascript 기반의 웹으로 만들 것이냐? Java 나 Objective-C를 기반으로 한 앱으로 만들 것이냐?
"웹"(Web Application)으로 개발하자니 단말의 다양한 리소스를 활용하는데 한계가 있고,
"앱"(Native Application)으로 개발하자니 다양한 스마트폰OS에 대응하는 것이 쉽지만은 않다.

두 방법 사이의 간격(Gap)을 매꿔주기 위해 등장한 방법이 바로 하이브리드앱(Hybrid App)이며,
이러한 하이브리드앱을 위한 오픈 소스 플랫폼이 바로 PhoneGap 이다.

http://www.phonegap.com/

PhoneGap에 대한 개념 참고 : 웹플랫폼에 대한 단상 : BONDI & PhoneGap
 
먼저 iPhone 을 위한 개발 환경을 꾸며본다.

0. iPhone 기본 개발 환경 꾸미기
  이부분은 당근 구성되어 있어야 하는 부분....
  혹시 PC 기반으로 iPhone 개발 환경을 꾸미고자 한다면.... 참고

1. Git 설치하기
  Git는 SVC, SVN 같은 프로젝트 관리 툴이다.
  아래에서 Pre-compiled Installer 를 다운받아 패키지 설치하면 git 설치는 끝이 난다.
 
   http://help.github.com/mac-git-installation/


 
2. iPhone 용 phone-gap 다운받기
   터미널에서 설치를 원하는 디렉토리로 이동 후 다음 쉘을 실행하면 git를 통해 해당 모듈이 설치된다.

   git clone git://github.com/phonegap/phonegap-iphone.git


3. PhoneGap Xcode Template 설치하기

   터미널에서
  1) phonegap-iphone 으로 이동
  2) 'git submodule init' 실행
  3) 'git submodule update' 실행
  4) 'make' 실행. 해당 작업이 끝나면 PhoneGapLibInstaller.pkg 파일이 생성된다.
  5) Xcode를 완전히 종료 시킨 후 패키지를 설치한다.

4. Xcode 에서 PhoneGap 프로젝트 생성하기
  XCode를 실행한 후 새 Xcode 프로젝트를 생성하려면 다음과 같이 User Templates에 PhoneGap이 추가된 것을
  확인할 수 있다.
 


5. 프로그램 삽입
  PhoneGap-based Application을 선택하여 프로젝트를 생성하면 다음과 같은 개발 환경이 나타난다.
  여기서 www 폴더의 HTML 파일을 편집하여 앱을 제작하면 된다.
  나머지 디렉토리나 파일들은 일반 앱 개발과 동일하게 이해하면 된다.
 


6. 빌드 및 실행
  만일 시뮬레이터에서 실행을 원하는 경우 IDE 좌측 상단의 "Base SDK | Debug" 부분을  Simulator로 수정해 주어야 한다.
  그렇지 않은 경우 컴파일 오류가 발생한다.
  Build and Run을 누르면 다음과 같이 하이브리드앱이 실행되는 것을 확인할 수 있다.
 



  출처 : http://devian.tistory.com/181


[JSON] JSON Text -> JSON Object

Web Dev/Javascript 2010. 12. 14. 17:42 Posted by ditus

가장 흔한 예가 Ajax를 사용할 경우이다. Ajax로 호출을 하고 결과값으로 받은 req.responseText로 JSON을 받았을 경우에는 그냥 Text이기 때문에 Object로 변환해 주어야 한다.

{ id:'Outsider', sex:'male' }

Ajax에서 리턴받을 JSON의 형태가 위와 같이 되어 있을 경우에는

 
  1. var obj = eval("("+returnValue.responseText+")");   
  2. alert(obj.id);  // Outsider   

위의 코드처럼 eval을 해주면 JSON 오브젝트로 변환할 수 있다.

[ { id:'Outsider', sex:'male' },
  { id:'Zziuni', sex:'male' } ]

JSON이 위의 형태처럼 배열로 되어 있을 경우에는

 
  1. var obj = eval(returnValue.responseText);   
  2. // -> { id:"Outsider", sex:"male" }   

그냥 eval을 해주면 JSON 오브젝트로 변환할 수 있다.

다만 이렇게 변환할 경우 eval()은 빠르기는 하지만 단순히 그안의 스트링을 그대로 실행시켜 주는 것이기 때문에 리턴값으로 자바스크립트 명령문이 온다면 그대로 실행시켜버리기 때문에 보안이슈가 발생할 수 있다. 

이렇게 리턴받은 소스를 신뢰하기 어려울 때는JSON 에서 제공하는 JSON parser을 사용해야 한다. JSON parser는 오직 JSON text만 받아들이고 다른 스크립트는 거부하고 eval()만큼이나 빠르다.

 
  1. var obj = JSON.parse(returnValue.responseText);   
  2. // -> { id:"Outsider", sex:"male" }   

JSON.parse()의 목적대로 JSON 텍스트 외에는 거부해야하기 때문에 JSON문법을 정확히 지켜주지 않으면 SyntaxError 예외가 던져진다. 그렇기 때문에 키와 값을 모두 쌍따옴표(")로 묶어주는 문법을 정확하게 지켜주어야 한다. 아래처럼....

{ "id":"outsider", "sex":"male" }

여기서 JSON.parse()를 사용하기 위해서는 Douglas Crockford 가 만든 json2.js 가 필요하다. json2.js는 더글라스 크록포드가 JSON의 편리한 사용을 위해 만든 JSON API의 새버전이다.(그래서 2가 붙어있다.) 이 API에는 2개의 메서드가 들어있는데 JSON.stringify()와 JSON.parse()이다. JSON.stringify()는 JSON.parse()와는 완전히 반대로 JSON 객체를 주면 JSON 텍스트로 만들어서 준다. 필요할때 갖다 쓰면 된다. (John Resig 이 이전버전보다 새버전의 API가 훨씬 좋다고 꼭 이걸 쓰란다.)

[ORACLE] Commit 후 다시 복구하기

Database/Oracle 2010. 12. 2. 00:14 Posted by ditus
"select * from 테이블명 as of TIMESTAMP TO_TIMESTAMP('2010-01-01 14:00:00','YYYY-MM-DD HH24:MI:SS');"

정해준 시간에 존재했던 데이터를 뿌려준다.



- 복구법 -

drop table 테이블명;


create table a as(select * from 테이블명 as of TIMESTAMP TO_TIMESTAMP('2010-01-01 14:00:00','YYYY-MM-DD HH24:MI:SS'));

윈도우 xampp 설치 및 가상 호스트 사용!

Server 2010. 12. 1. 11:24 Posted by ditus
우리나라의 APM처럼 apache + php + mysql + 관리툴 을 모아둔 셋업프프로그램이다.
easyEclipse에서는 깔고 연결시켜서 사용할수 있었지만 Eclipse PDT에서는 지원이 안되나 보다.
서버등의 설정을 Eclipse 내에서 할수 없어서 많이 불편하다.
하지만 기본으로 관리툴이 있으니 그냥 그런대로 쓰도록 하자.

설치법은 간단하다. 그냥 다운받아서 깔지만 하면 된다.
설치후 security에서 보안관련 사항들 체크후 처리할것은 처리해두자.


* xampp에 xdebug설치하는법은 아래 퍼나놓은 글을 참고하시라.
최근 Eclipse PDT에는 기본으로 xdebug가 깔려있지만 zend debug로 기본 설정되어있으니 xdebug를 사용하려면
Preferencese 설정에서 디버그 모드를 변경해줘야 한다. 아직 어떻게 사용하는지.. 뭐가 좋은지도 잘 모른다. ㅎㅎ
다만 apache에서 xdebug모드를 사용하면 뭐 좀 자세하게 나올듯 하여 블로그 글을 퍼다 놓았다.

xampp를 설치하고 나서 일반적으로 apm툴을 깔고서 하나의 개발사이트만 localhost에 띄워서 사용들을 한다.
하지만 여러 사이트를 관리하고 개발에 참여하다보면 매번 http.conf파일의 설정값을 변경해서 사용하기 귀찮다.
물론 서버딴에서 작업을 하면 편하지만.. 노트북을 들고다니며 로컬딴에서 작업을 해야 할 경우가 있어서
방법을 강구해 보았다.

1.121.0.0.1 을 localhost라는 주소로 alise해주는 파일을 찾아보자.
C:\WINDOWS\system32\drivers\etc\hosts 라는 파일이다.
메모장등을 이용하여 열고서
121.0.0.1 사이트명 형식으로 한줄 추가해주자.
127.0.0.1       localhost
127.0.0.1       devporiter

http://사이트명 치면 로컬아이피를 참고하게 된다.

2.xampp\apache\conf\httpd.conf 파일 추가
//public_html폴더로 끝나는 폴더의 접근권한을 설정해준다.
<Directory "D:/work/*/public_html">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

3.xampp\apache\conf\extra\httpd-vhosts.conf 파일에서
//주석을 풀어준다
NameVirtualHost *:80


//가상호스들을 추가해준다.
<VirtualHost *:80>
    DocumentRoot "D:/xampp/htdocs"
    ServerName localhost
    ServerAlias localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "D:/work/devporiter/public_html"
    ServerName devporiter
    ServerAlias devporiter
</VirtualHost>

4. http://localhost 시에 xampp의 로컬페이지가 뜨는지 확인해보자

5. http://사이트명 시에 페이지가 정상적으로 뜨는지 확인해보자

출처 : http://www.welog.net/gbbs/bbs/board.php?bo_table=php&wr_id=111