프로젝트 내의 이미지를 불러오기 위한 방법으로 UIImage 클래스의 imageNamed 메소드를 많이 쓴다.
(책에 그렇게 많이들 나와 있다. )

하지만, imageNamed 라는 메소드는 시스템에서 캐싱을 하는 바람에, 사용후에 메모리에서 해제되지 않는다.
자주쓰는 이미지라면 상관 없지만, 용량이 크고, 한번쓰고 마는 이미지라면 메모리 관리에 악영향을 끼치게 된다. 대표적인 앱이 이미지뷰어 앱을 들 수 있다.


UIImage *temp_img = [UIImage imageNamed:@"temp.png"];


반면에, imageWithContentsOfFile 라는 메소드는 캐싱을 하지 않는다. 캐싱을 하지 않아서 속도면에서는 불이익이 있지만, 사용후 해제가 되므로 메모리 관리 부분에서는 장점이 있다.


NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"temp.png" ofType:nil];
UIImage *temp_img =[UIImage imageWithContentsOfFile:imagePath];



블로그 이미지

하루하루

하루하루를 열심히 살아가는 그런 사람이 되고자 합니다. 오늘을 후회없이 말이지요.

,

xcode 환경에서 디버깅을 하기 위해서 많이 쓰는 함수가 NSLog() 함수이다.

디버그 모드에서야 로그 찍어 보느라 많이쓰지만, 릴리즈를 할때 그대로 둔다면 앱의 성능에 문제가 생길 수도 있다. 그래서 릴리즈 할때는 NSLog를 주석처리하고 릴리즈 하게 되는데 그게 여간 귀찮은 작업이 아닐 수 없다.

구글링 하다가 우연히 아래와 같은 을 발견. 나말고도 다른 많은 분들이 비슷한 방법을 사용중인가보다.

우선, 프로젝트명_Prefix.pch 의 이름을 가지고 있는 프로젝트 프리픽스 파일을 열어서 코드를 마지막에 추가한다.


#ifdef DEBUG
    #define NSLog(fmt, ...) NSLog((@"%s[Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
    #define NSLog(...)
#endif



그리고 디버그 모드에서만 NSLog 가 작동을 하도록 #define DEBUG 1 설정이 디버그 모드에서 자동으로 설정되도록 만들어준다.
프로젝트 Info 창을 띄워서 OTHER_CFLAGS 라는 항목을 검색한다. 만약에 없으면 Info 창 왼쪽 하단의 톱니바퀴를 눌러서 Add User-Defined Setting 메뉴를 통해서 OTHER_CFLAGS 라는 항목을 추가한다.

항목을 찾았으면(or 추가했으면) -DDEBUG=1 이라는 값을 세팅해 준다. 이제 디버그 모드에서는 로그가 출력되고, 릴리즈 모드에서는 출력이 안된다.
이를 아예 자주쓰는 템플릿에 넣어두면 새로 만드는 프로젝트마다 자동으로 적용되어 있어 더 편하게 작업할 수 있다.


템플릿이 저장되어 있는 디렉토리는 다음과 같다.


/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application/


참고: http://iphoneincubator.com/blog/debugging/the-evolution-of-a-replacement-for-nslog


블로그 이미지

하루하루

하루하루를 열심히 살아가는 그런 사람이 되고자 합니다. 오늘을 후회없이 말이지요.

,
보통 링크나 버튼에 마우스가 올라갔을경우 손바닥 모양으로 변하는 CSS Style 을 주실때,

cursor: hand;


라고 하시는거 같습니다.
그런데, 이것은 IE 에서만 적용되는 방법이라 쓰시면 안됩니다. 다른 브라우저에서는 인식을 못하거든요.
손바닥 모양이 나오게 하고 싶으실때는 다음과 같이 해주세요 ^^

cursor:pointer;


이상 입니다. ^^
블로그 이미지

하루하루

하루하루를 열심히 살아가는 그런 사람이 되고자 합니다. 오늘을 후회없이 말이지요.

,
요즘 웹개발 하실때, AJAX 많이들 쓰시죠? 적재 적소에 적절하게 잘 쓰시고 계신가요? ^^
이곳에 AJAX 어플리케이션 예제들이 있네요.
제가 본것들도 있고 한데, 정리가 무척 잘 되어 있네요.
웹어플리케이션 만들때, 참고하시면 좋을것 같습니다.





블로그 이미지

하루하루

하루하루를 열심히 살아가는 그런 사람이 되고자 합니다. 오늘을 후회없이 말이지요.

,
블루문님 블로그에서 본 누가 웹 기획자를 미치게 하는가 라는 글을 보고 개발자로서 그간의 경험에 근거하여 패러디 해봅니다.
지극히 개인적인 사견임을 미리 밝혀 둡니다. ㅋㅋ

1. 기획서 같은(?)파일 메일로 보내놓고 이제 개발만 하면 되지?라고 묻는 사람

본인은 기획을 했다고 믿고 있지만 알고 보면 되지도 않는 기능, 넣어놓으며 그림을 그린 것일뿐 ,그리고 이제 개발만 하면 되지 않냐고 만족스런 웃음을 띄며 앉아 있을 때.


2. 기껏 코딩해 왔더니 이렇게 코딩해서 되겠냐고 하는 사람

상사가 던진 문제를 밤새 고민해서 풀어논 하수 개발자. 코드 리뷰하니, 이딴걸 짜느라고 밤새웠냐고 , 이렇게 짜니 경력자를 데려오느니 하며 인신공격을 서슴치 않는 사람. 처음부터 고수는 없다. 하수 개발자들이 고수가 되는 것. 차분히 제대로 가르치라. 


3. 한 달 걸릴 일을 이틀 안에 처리하라는 사람

한달 걸릴 일인데 이틀안에 해내 보자 라고 외치는 사람. 한달걸린 코드와 이틀걸린 코드는 그 만큼 차이가 있다. 이틀걸려 오픈한 어플리케이션이 얼마나 잘 돌아갈것 같은가.


4. 야근은 기본, 철야는 옵션을 외치는 사람

야근을 안하면 코드가 안나온다고 생각하는 사람. 코드의 질은 체력에 의해 결정된다고 믿는 사람... 내가 퇴근 안하는데 내 밑으로 전부 야근하라는 사람. 집에가기 싫으면 당신이나 가지 말라. 애꿎은 부하 개발자 잡지 마시라. 잠도 충분히 자고, 재충전할 시간이 있어야 좋은 코드가 나오고, 창조적 발상이 나온다.  


5. 개발 후 문서작업시에 하나하나 설명해 달라는 사람.

개발자가 코드를 만든후에 완료를 짓기 위해서는 코드에 대한 설명을 문서로 남긴다. 문서로 남기는것 까진 좋다. 하지만, 함수내의 코드를 하나하나 설명해 달라는 사람. 이 함수가 부르는 모든 관련된 함수들 또는 DB 등을 하나하나 설명해 달라는 사람. 대부분 만들어 주면 읽어 보지도 않는다. 궁금하면 직접 코드를 보라.

'잡다한 생각' 카테고리의 다른 글

배려...  (5) 2006.09.08
퇴보란..?  (0) 2006.09.03
먹은거 관리해 주는 웹서비스  (8) 2006.08.28
월 638만원 `급여 킹` 대림산업 건설부문  (3) 2006.08.17
아 못참겠다~! 지하철 2호선!!  (2) 2006.08.16
블로그 이미지

하루하루

하루하루를 열심히 살아가는 그런 사람이 되고자 합니다. 오늘을 후회없이 말이지요.

,