Do Not Think!!!

Posted
Filed under 01010101
Eclipse 로 자바 개발을 하면 중단점을 찍고 직접 확인하면서 디버깅을 할 수 있는데,
PHP 개발은 그게 안되서 너무나 불편했었습니다.

eclipse + xdebug 를 이용해서 중단점을 잡을 수 있다는데, 어째서인지 통 중단점이 잡히질 않았습니다.
그래서 그동안은 var_dump 를 이용해서 디버깅을 했었죠.

혹시나 하는 마음에 천천히 다시 해봤는데,
이럴수가!!!
잘 됩니다. ㅜㅜ

자세한 내용은 따로 정리하기로 하고, 일단 급한데로 스샷 몇 장을 올립니다.

우선 여러 프로젝트를 진행하기 때문에 테스트용 virtual host 설정을 추가합니다.
사용자 삽입 이미지

virtual host 설정




그리고 xdebug 를 설치합니다.
역시 우분투... 간단하게 설치할 수 있습니다.
사용자 삽입 이미지

xdebug 설치

사용자 삽입 이미지

xdebug 설치 확인

사용자 삽입 이미지

xdebug 설정




이제 이클립스에서 xdebug 를 사용할 수 있도록 설정합니다.
Window - Preferences - PHP - PHP Servers
사용자 삽입 이미지

이클립스 php 서버 설정

사용자 삽입 이미지

이클립스 php 서버 설정



Window - Preferences - PHP - PHP Excutable
사용자 삽입 이미지

이클립스 php 설정

사용자 삽입 이미지

이클립스 php 설정



Window - Preferences - PHP - Debug 설정
사용자 삽입 이미지

이클립스 php 디버그 설정



Window - Preferences - General - Web Browser
사용자 삽입 이미지

이클립스 웹브라우저 설정

사용자 삽입 이미지

이클립스 웹브라우저 설정



Run - Debug Configurations
사용자 삽입 이미지

이클립스 디버깅 설정




이렇게 이클립스를 설정하고 디버깅을 실행하면,
웹브라우저에서 XDebug 세션이 인자로 붙어서 실행되고,
사용자 삽입 이미지

디버깅!


이클립스에서는 이렇게 중단점이 잡힙니다.
사용자 삽입 이미지

디버깅!


Posted
Filed under 01010101
어떤 XML 파서를 이용해서 XML 을 처리할지 결정하는건 어려운 문제입니다.
처음 접하는 플랫폼에서는 더 어렵죠.

아이폰 프로젝트에서 어떤 XML 파서를 선택할 지에 대한 포스팅이 하나 있네요.
(뉴스피커를 만들 때 보지 못한 포스팅인데, 거의 상황에 맞는 선택을 한거였군요.)

How To Choose The Best XML Parser for Your iPhone Project
  • If you just want to read small XML documents, performance doesn’t matter as much with small documents. You probably want to pick something with XPath support and something that is written in Objective-C to make your job easier. So I’d recommend either TouchXML, KissXML, or GDataXML for this case.
  • If you want to both read and write small XML documents, again performance doesn’t matter as much as functionality and ease of use. You probably want to pick something with XPath support, written in Objective-C, with read/write capability. So I’d recommend KissXML or GDataXML for this case.
  • If you want to read extremely large XML documents, performance is the critical issue here. You’ll want to consider libxml2 SAX, TBXML, or libxml DOM for this, depending on what your exact situation is.

뉴스피커를 만들면서 선택했던 파서는 TouchXML 입니다.
그 이유는
첫 번째, 쓰기가 편했고,
두 번째, XPhath 를 지원했고,
세 번째, XML 용량의 압박이 심하지 않았기 때문에 메모리를 크게 걱정하지 않아도 되는 상황이었기 때문이죠.




Posted
Filed under 01010101
순서가 바뀌어서 좀 늦긴 했지만, 그동안 개발한 코드를 subversion 에 등록해서 소스 관리를 하기로 했습니다.

우선 Xcode 에 subversion 을 연동합니다.
(subversion 은 이미 설치되어 있습니다.)
Xcode - SCM - Repositories 메뉴를 선택합니다.
사용자 삽입 이미지
subversion 저장소 정보를 입력해서 저장소를 등록합니다.
사용자 삽입 이미지
Xcode 에서 아래 그림처럼
  • Groups & Files - SCM
  • File Name - SCM
메뉴를 선택하면, 소스가 수정되었는지 여부를 확인할 수 있습니다.
사용자 삽입 이미지
사용자 삽입 이미지



그동안 작성한 코드를 subversion 저장소에 Import 시킵니다.
사용자 삽입 이미지
사용자 삽입 이미지



Import 시킨 소스가 subversion 이랑 바로 연결이 되면 좋을텐데, 따로 Checkout 을 받아야 합기 때문에 새로 Checkout 을 받습니다.
사용자 삽입 이미지
사용자 삽입 이미지



일반적으로는 이렇게 하면 끝나지만,
svn+ssh 를 사용하고, ssh port 를 변경해서 사용하는 경우에는 저장소에 접근을 하지 못하는 문제가 발생합니다.
이런경우에는 Xcode 의 subversion 설정창에서 포트를 입력하지 말고, ~/.ssh/config 파일을 수정해야 합니다.
(이거 때문에 몇시간을 삽질했습니다. ㅜㅜ)
[code]Host cultstory.com
Hostname cultstory.com
Port <ssh 포트>[/code]


Posted
Filed under 01010101
맥에 php 개발을 위해서 apache+php+mysql 환경을 만들기 위해 하루종일 삽질중입니다.

맥에 기본으로 apache 와 php 가 기본으로 설치되어 있지만, MAMP 가 쉽다는 말에 혹해서 MAMP 를 설치했습니다.
그런데 아무리 해봐도 계속해서 rewrite 관련 에러가 나서 구글신께 물어보니,
apache 버전이 5.0 이라서 발생하는 문제니까 5.2 로 업그레이드를 하라는 답변을 받았습니다.
그런데 MAMP 에서 apache 업그레이드를 어떻게 하는지 몰라서 MAMP 제거!!

그리고 나서는 맥(Mac OS X Snow Leopard)에 기본으로 설치되어 있는 apache 와 php 를 사용하기로 했습니다.
apache 와 php 설정을 하고, mysql 은 기본으로 안깔려 있기 때문에, MacPorts 를 이용해서 mysql 을 설치했습니다.
[code]$ sudo port install mysql5-server php-mysql[/code]
그런데, MacPorts 로 설치하니 소스컴파일을 해버려서 시간이 엄청 걸리네요.
(gentoo 에서 emerge 로 설치하는거랑 비슷해보입니다.)
아무리 소스 컴파일 시간이 길다고 해도, 너무 올래걸려서 이상하다고 생각하고 있었는데,
한참 시간이 지나고나서 설치된걸 확인해보니, mysql 뿐만이 아니라 의존성이 걸리는 모든걸 깔아버렸네요.

기존에 apache 와 php 설정 내용을 다시 설정하고, mysql 도 추가로 설정하는걸로 APM 설치를 완료했습니다.
처음부터 이렇게 했으면 좋았을텐데... 쉽게 할려다가 한참을 삽질했네요.

삽질 내용 정리한거
Posted
Filed under 01010101
기존에 사용하던 OS 는 Ubuntu 리눅스였고, 이번에 맥북을 사면서 Mac OS 를 접해보고 있는데, 일단 접한 문제는 서로 다른 단축키였습니다.

일단 며칠동안 사용하면서 달랐던 단축키를 생가나는데로 몇가지만 적어봅니다.
(맥의 단축키 전체 목록은 인터넷에서 필요할 때 마다 찾아봐야겠습니다.)
붉은색은 우분투, 파란색은 맥 단축키입니다.

한/영 변환
한/영키 <-> command + space

복사하기
ctrl + c <-> command + c

잘라내기
ctrl + x <-> commant + x

붙여넣기
ctrl + v <-> command + v

파일 삭제
delete <-> command + delete

윈도우(창) 닫기 (프로그램 종료)
alt + F4 <-> command + w

브라우저 주소입력창으로 커서 이동하기
alt + d <-> command  + l

브라우저 새로코침
F5 <-> command + r

전체 화면 스크린샷 찍기
print screen <-> commant + shift + 3

특정 창만 스크린샷 찍기
alt + print screen <-> command + shift + 4 누른 후, space 을 누른 후, 원하는 창 마우스로 클릭

Posted
Filed under 01010101
아이폰 개발을 공부하기 위해 도서출판 인사이트에서 출판한 터칭! 아이폰 SDK 3.0 라는 책을 샀습니다.
책에 처음으로 나와있는 예제를 하나 따라해봤습니다.
그런데, 책은 SDK 3.0 을 기준으로 작성했는데, 제가 설치한 SDK 버전은 3.2 라서 예제를 따라하는데 몇가지 문제가 있었습니다.

우선 iPhone 개발을 위해 Xcode 를 실행시킵니다.
그리고, View-based Application 템플릿을 선택하고, 프로젝트를 생성합니다.
프로젝트 이름은 책에 나와있는데로, iPhoneRef 로 정했습니다.



그리고 인터페이스 빌더를 실행시켜서, 화면을 만듭니다.



그리고 책에 나와있는 Action 을 추가하는 단계에서 한번 막힙니다.
책은 SDK 3.0 기준으로 작성되었는데, 설치된 SDK 는 3.2 이기 때문에 책과는 좀 다릅니다.
책에는 Identity Inspector 에서 Action 을 등록하는걸로 나와있는데, SDK 3.2 에서는 Library - Classes 에서 Action 을 등록할 수 있습니다.
아래 그림처럼 Library 창의 Classes 탭에서iPhoneRefViewController 를 선택하면, 하단부에 Actions 탭이 나오는데, 여기에서 Action을 등록할 수 있습니다.
(이거 때문에 한참을 인터넷을 뒤졌는데, 나중에 보니 책 하단에 이 내용이 주석으로 나와있네요... 이 책의 저자분 블로그에서도 이 내용을 확인 할 수 있습니다.)



Action 을 등록한 후, Event 와 Action 을 연결합니다.
아래 그림처럼, View 에서 마우스 오른쪽 버튼을 클릭하면 있는 검은색 창에 Event 목록이 뜹니다.
사용자 삽입 이미지

Evnet 목록




그 중에서 Touch Up Inside 항목과, Document 창의 File's Owner 항목을 연결합니다.
그러면, 위에서 등록한 Action 목록이 뜨는데, 알맞은 Action 을 선택하면, Event 와 Action 이 연결됩니다.
사용자 삽입 이미지

Event 와 Action 연결

사용자 삽입 이미지

Action 선택




Event 와 Action 연결이 완료되면, 인터페이스 빌더로 작업한 내용을 클래스 파일로 저장합니다.
File - Write Class Files 를 선택하고, 저장할 파일 이름을 iPhoneViewController.m 으로 지정해서 저장합니다.



인터페이스빌더에서 만들어진 클래스 파일에 Action 에 대한 코드를 작성합니다.
코드 내용은 책에 나와있는 그대로 작성했습니다.



코드 작성을 마치고, 실행시켜보면 아래 그림처럼 시뮬에이터에서 실행되는 것을 볼 수 있습니다.



책에 나와있는 예제를 따라하는데도 이렇게 힘들다니...
정말 뭐하나 쉬운게 없네요;
Posted
Filed under 01010101
iPhone SDK 를 설치하고 나서 제일 먼저 해본건, Hello World 를 찍어보는거였습니다.

우선 /Developer/Applications 에 있는 Xcode 를 실행시킵니다.
사용자 삽입 이미지

Xcode 실행 아이콘




Xcode 가 실행되면 보이는 시작화면입니다.
사용자 삽입 이미지

Xcode 시작 화면




시작 화면에서 Create a new Xcode project 를 선택합니다.
사용자 삽입 이미지

Create a new Xcode project 선택




흠... 어떤 템플릿을 골라야 하는지 잘 모르기 때문에, 인터넷에서 찾을 수 있는 예제를 보고 View-based Application 을 선택했습니다.
사용자 삽입 이미지

템플릿 선택




프로젝트 이름은 "Hello World" 입니다.
사용자 삽입 이미지

프로젝트 이름 입력





이렇게 프로젝트를 만들면, 자동으로 기본 코드가 생성이 됩니다.
사용자 삽입 이미지

프로젝트 코드 생성




Xcode를 실행하면 기본으로 Active SDK가 Simulator 로 지정되어 있습니다. 실제 iPhone 에서 테스트를 할려면 Active SDK 를 바꿔줘야 합니다.
사용자 삽입 이미지

Active SDK 지정




이 상태에서 Build and Run 아이콘을 클릭하면, 아이폰 시뮬레이터에 빈 화면이 보입니다.
사용자 삽입 이미지

아이폰 시뮬레이터




화면에 Hello World 라는 글자를 출력하기 위해서, Xcode - Resources - HelloWorldViewController.xib 를 더블클릭해서, Interface Build 를 실행시켰습니다.



Interface Builder 를 이용해서 Label 을 하나 추가하고, 그 라벨에 "Hello iPhone World" 라는 글자를 입력했습니다.
사용자 삽입 이미지

Hello iPhone World 출력




Interface Builder 에서 저장을 한 다음에, 다시 실행시키면 "Hello iPhone World" 라는 글자가 보입니다.
사용자 삽입 이미지

시뮬레이터 실행




Hello World 를 출력해주는 어플을 만들어보긴 했지만, 배워야 할 것 투성입니다.
Posted
Filed under 01010101
iPhone Dev Center 에 가입한 후에, iPhone SDK 를 다운받습니다.
다운받은 iPhone SDK 를 열면 아래 그림처럼 보입니다.
(iPhone SDK는  Leopard  와 Snow Leopard 용으로 나눠져 있습니다.)
iPhone SDK 설치는 가운데 있는 iPhone SDK and Tools for Snow Leopard 라는 아이콘을 실행시키면 설치가 진행됩니다.
사용자 삽입 이미지


설치는 아래 그림처럼 쭈~욱 따라가기만 하면 됩니다.



/Developer 에 관련 라이브러리가 설치되고 /Developer/Applications 에 있는 Xcode 가 설치됩니다.



이렇게 하면 iPhone 어플을 개발할 수 있는 최소한의 환경이 만들어집니다.

Posted
Filed under 01010101
아이폰 어듶 개발을 위해서는, 애플의 iPhone Dev Center 에 가입을 해야 합니다.
(최소한 온라인 무료 회원에 가입을 해야 iPhone SDK 를 다운받을 수 있습니다.)

그런데 iPhone Dev Center 가입 페이지는 영어로 되어 있어서, 저처럼 영어에 익숙하지 않은 사람은 회원 가입 조차 쉽지가 않았습니다.
사용자 삽입 이미지



이미 애플 아이디가 있다면 그 아이디를 사용해도 되지만, 저는 애플 아이디가 없기 때문에 새로운 아이디 만들기를 선택했습니다.
사용자 삽입 이미지



온통 영어뿐인 정보 입력폼입니다. 입력해야 하는 정보가 많을 뿐만 아니라, 주소나 전화번호는 그동안 보아오던 형태가 아니라 한참을 고민했습니다.
영어 주소는 한글 주소를 입력하면 영어 주소로 변환해주는 사이트를 이용해서 입력했고...
전화번호는 한참을 검색한 결과,
국가코드 82를 입력하고, 전화번호 011-XXX-XXX 에서 맨앞 0을 뺀 11 을 입력하고, 그리고 XXXXXXX 를 입력했습니다. (맨 뒤에 있는 Extension 은 어떤걸 입력해야 하는지 몰라서 아무것도 입력하지 않았습니다. 이게 맞는건지 모르겠습니다. -_-a)
사용자 삽입 이미지



어쨋든 입력폼을 채우고 다음단계로 넘어가면 이메일 인증과정이 있는데, 대충 요런 이메일이 옵니다. 그러면 빨간부분에 있는 인증 코드를 입력하면 회원가입 완료!!!
사용자 삽입 이미지



회원 가입하는 과정이 너무 험난합니다.
무료 회원 가입도 이렇게 어려운데, 나중에 유료 개발자 등록은 어떻게 할지 걱정입니다.
Posted
Filed under 01010101
맥북을 사고, 처음 키면 몇가지 사용자 정보를 입력합니다.
(이건 MS Windows도 마찬가지죠...)

그런데, first namelast name이 나누어져 있는, 이름을 입력하는 과정이 익숙하지가 않습니다.
first name 에는 "영운"(이름)을 입력하고, last name 에는 "조"(성)를 입력했는데
그렇게 입력하고 나면, 화면에 "조영운" 으로 보이는게 아니러 "영운 조" 라고 보입니다.
사용자 삽입 이미지

아예 영어로 이름을 입력했다면, 그렇게 보이는게 맞겠지만, 한글로 이름을 입력했는데, "영운 조" 라고 보이는게 영 마음에 들지 않습니다.

그래서, 등록한 이름을 변경(아예 한글이 아니라 영어로)하기로 했습니다.
처음에 이름을 등록하면, 컴퓨터 이름과 계정 이름 두 가지에 반영이 됩니다.
그렇기 때문에 둘 다 변경을 했습니다.
계정 이름과 컴퓨터 이름은 시스템 환경설정에서 변경합니다.
사용자 삽입 이미지


먼저, 계정 이름을 변경했습니다.
계정이름은 시스템 환경설정 - 계정 에서 변경할 수 있습니다.


그 다음으로, 컴퓨터 이름을 변경했습니다.
컴퓨터 이름은 시스템 환경설정 - 공유 에서 변경할 수 있습니다.


이렇게 바꾸고나니, 완벽하게는 아니지만, 그런대로 마음에 들게 보입니다.
사용자 삽입 이미지



계정이름을 바꾸면서 느낀건데, 다른건 몰라도 한국 지역화는 MS가 정말 잘했다는 생각이 듭니다.