본문 바로가기

Programming

PhoneGap의 모든것 - Plugin 개발 (3) 최근엔 "하이브리드 앱"이라는 용어가 마케팅으로 사용될 정도로 PhoneGap에 대한 관심이 많습니다. 하지만 아래와 같은 장점을 가지고 있지만 단점도 가지고 있습니다. 장점- 기존 Javascript 코드를 부분적으로 재사용 가능 - 하나의 웹 코드 (HTML, CSS, Javascript)를 작성하면 부분적으로 여러 플랫폼(iOS, Android, Window Phone, Black berry, webOS, smybian, bada) 재사용 가능 단점- 웹베이스로 코드가 동작 되기 떄문에 비교적(Native App과 비교하면) 느리다.- PhoneGap API들은 가장 기본이 되는 것만 제공해 준다. (PhoneGap API 참고 : http://docs.phonegap.com/en/1.7.0/ind.. 더보기
PhoneGap의 모든것 - 프로젝트 셋팅 (2) 이번 문서에서는 PhoneGap를 셋팅하고 (iOS) PhoneGap 프로젝트에서 javascript 초기화에 대해 다룬다. Getting Start PhoneGap http://phonegap.com PhoneGap을 시작하는 사람들을 모두 들어가 봤을만한 공식 사이트다. 아주 친절하게도 http://phonegap.com/start 이 주소로 들어 가면 플랫폼 별로 초기 셋팅을 어떻게 하는지에 대해 순서대로 나와 있다. 주의 해야할 사항은 xcode 를 이용하여 iOS 플랫폼에 셋팅을 하는 경우라면 초기에 PhoneGap을 설치하고 Cordova Project로 생성을 한 뒤에 위와 같은 폴더 구조가 나오는데 바로 컴파일을 하면 제대로된 화면이 안나오고 아래와 같은 메세지를 볼수 있다. PhoneGa.. 더보기
PhoneGap의 모든것 - 동작원리 (1) PhoneGapPhoneGap의 기본컨셉은 대부분의 모바일 플랫폼이 WebView를 가지고 있기 때문에 기본적인 기능들은 HTML과 CSS, Javascript로 만들어서 WebView에서 동작하게 하고 Device(Native)의 도움이 필요한 영역은 PhoneGap framework가 도움을 줘서 설치되어 동작하는 어플리케이션을 만들수 있는 방법을 제공 하는 것이다. Apache Cordova Adobe가 PhoneGap을 인수한 뒤에 PhoneGap을 Apache재단에 기부하였다. 그래서 Opensource가 되었고, PhoneGap 1.5 (Cordova) 버전부터 클래스 이름이 죄다 바뀌어 버렸다. PhoneGap에서 제공하는 것들 WebView만으로는 구현이 어렵거나, Native의 도움이 필.. 더보기
Sublime Text 2 에서 Nodejs 셋팅하기 Sumblime Text 2는 맥을 사용하면서 ecplise 만 사용하다 좀 더 가벼운 툴을 찾던 중에 지인을 통해 알게 된 툴 입니다. (TextMate를 사용하려고 했지만 한글이 제대로 입력 되지 않는 문제가 있기에 패스;;) 다운 로드 : http://www.sublimetext.com/ 사용한지는 몇일 않되었지만 벌써 여기 저기 추천하고 다니는걸 보면 툴이 여간 마음에 들었나 봅니다. 맥은 물론, 윈도우, 리눅스까지 모두 지원되고 무/유료 버전이 있습니다. 크게 차이는 없고 무료 버전은 가끔 구매 하라는 알림 팝업이 노출 됩니다. (이미지 출처 : http://www.sublimetext.com/) 툴 자체는 설치해서 잠깐만 사용해 보면 알테니 생략하고 본 툴에서 Nodejs 를 셋팅하고 테스트 .. 더보기
Facebook actionscript API Adobe 와 Facebook 이 공동으로 작업한 라이브러리이다. Actionscript 로 구현되어 있어서 Facebook에서 제공하는 대부분의 기능들을 API 실행만으로 사용 가능 하다. Project Home : http://code.google.com/p/facebook-actionscript-api/ 어플리케이션 등록 이 라이브러리는 Web, Desktop(AIR), Mobile(AIR) 용으로 각각 구현 되어 있다. 사용할 플랫폼에 따라 해당 swc를 지정해서 사용하면 된다. Facebook 앱을 생성해서 사용하는 절차는 다음과 같다. 1. https://developers.facebook.com/apps 에서 새앱 만들기 클릭 2. App Display Name(사용자에게 보여질 앱이름) 과.. 더보기
ID3 관련 사이트 개인적으로 만들어 보고 싶은게 있어서 찾아본 id3 사이트들. ID3 레퍼런스 http://www.id3.org/ ID3 Parser ( 가사 못불러옴 ) http://blog.ashier.com/2007/11/08/id3-parser/#comments ID3 분석 http://clansim.tistory.com/99 http://blueskybox.tistory.com/31 http://mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm http://www.gigamonkeys.com/book/practical-an-id3-parser.html http://blog.naver.com/ttakiya?Redirect=Log&logNo=120001348951 ID3 가사 Write.. 더보기
Code Naming 이름만 잘 지어도 반은 먹고 간다. 프로 젝트를 하면서 같이 프로젝트 하는 분께 많이 들었던 말 입니다. 나 스스로는 다른 사람이 이해 할 수 있게 지었다고 생각했는데, 결국은 더 좋은 이름이 있었다는 걸 뒤늦게 깨닫곤 하지요. 제가 지금 말하는 "이름" 이란 프로그래밍을 할때 사용되는 변수 명이나 함수명 그리고 클래스 나 팩키지 명 모두를 뜻 합니다. 하나의 프로그램을 혼자서 만들고 앞으로도 다른 사람에게 코드를 공유할 일이 없는 한 자신이 알아 볼수 있는 이름 으로만 지으면 상관 없다고 생각하는분도 있을 텐데요. 오랜만에 봤을 경우에도 직관으로 알수 있는 이름 즉, 모든 사람이 알기 쉽게 표현 하는 방법이 필요 합니다. 그래서 저는 개발을 할때 영어사전 을 실행 시켜 놓고 작업을 하는데요. 그래도 많.. 더보기
Strategy Pattern (AS3) Strategy Pattern 이란? - Strategy Pattern 에서는 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. Strategy Pattern을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. - 동일 계열의 알고리즘군을 정의하고, 각 알고리즘을 캡슐화하며, 이들을 상호교환이 가능하도록 만듭니다. 알고리즘을 사용하는 클라이언트와 상관없이 독립적으로 알고리즘을 다양하게 변경할 수 있게 합니다. 여러 책들에서는 Strategy Pattern 을 위와 같이 정의 하고 있다. 두 정의의 공통적인 부분은 알고리즘군을 정의 하고 각각을 캡슐화 하여 교환 하여 사용할 수 있다고 언급 되어 있는 부분 인데, 이 말은 어떠한 로직에서 캡슐화 가능.. 더보기
Strategy Pattern GoF의 디자인 패턴 중 Strategy Pattern에 대한 정의는 다음과 같다. Strategy Pattern 에서는 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. Strategy Pattern을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 알고리즘군을 정의 하고 각각을 캡슐화 하여 교환 하여 사용할 수 있다고 정의 되어 있는데 이 말은 어떠한 로직에서 캡슐화 가능한 기능들은 따로 빼내어, 보다 확장에 유연한 프로그램 구조를 만든다는 말과 같다. 어떠한 프로그램이 기획되고 구현 되는 과정에서 만들어야하는 프로그램의 기본 스펙이 확정되어 끝까지 유지 되는 경우는 없고, 새로운 이슈가 추가 되거나 프로젝트를 완료 하고 나서 추가적인 이슈가.. 더보기