반응형

 

원인 : Provisioning을 교체한 경우 발생
해결 : Xcode를 완전히 종료한 후 다시 시작

 

 

 

 

반응형
반응형

 

iOS를 사용하는 각종 장비에 6.0 베타버전으로 업데이트하는 방법을 아주 간단히 설명드리겠습니다.

순서대로 따라만 하시면 바로 적용됩니다.

 

1. 토렌트 프로그램을 설치한다. (이미 설치되어 있다면 패스~)

    - 다운로드 링크 : http://www.utorrent.com/intl/ko/returning-visitor

 

2. 자신의 기기에 맞는 iOS 펌웨어 파일을 다운받는다.

 

3. 기기를 PC에 연결시킨 후 아이튠즈를 실행시킨다.

 

4. 아이튠즈의 왼쪽탭에서 자신의 기기를 선택한 후 오른쪽탭의 기기 정보에서

   Shift버튼을 누른 상태에서 업데이트 확인 버튼을 클릭한다.

 

5. 펌웨어 파일 선택 창에서 다운로드 받은 펌웨어 파일을 선택한다.

 

6. 펌웨어 업데이트가 시작된다.

 

 

 

 

 

 

 

 

반응형
반응형

 

기본적으로 Windows7 에서는 ICMP라고 불리는 Ping 응답을 허용하지 않는다.

ICMP 수신 패킷에 대한 응답을 허용하기 위해서는 아래의 설정을 해주어야 한다.

(ICMP : Internet control message protocol, 인터넷 통제 메시지 프로토콜)

 

1. [제어판] -> [시스템 및 보안] -> [Windows 방화벽] 으로 이동한다.

 

 

2. 왼쪽 탭의 [고급 설정]을 선택한다.

 

 

3. 왼쪽탭의 [인바운드 규칙]을 클릭한 후, 오른쪽탭의 [새 규칙]을 선택하면 [새 인바운드 규칙 마법사]가 실행된다.

 

 

4. 왼쪽탭의 [규칙 종류]를 클릭한 후 [사용자 지정]을 선택한다.

 

 

5. 왼쪽탭의 [프로그램]을 클릭한 후 [모든 프로그램]을 선택한다.

 

 

6. 왼쪽탭의 [프로토콜 및 포트]를 클릭한 후 프로토콜 종류를 ICMPv4로 선택한 후 밑의 [사용자 지정]을 선택한다.

 

 

7. [ICMP 설정 사용자 지정]에서  [특정 ICMP 종류]를 선택한 후 [반향 요청]을 체크한 후 확인을 누른다.

 

 

8. 왼쪽탭의 [작업]을 클릭한 후 [연결 허용]을 선택한다.

 

 

9. 왼쪽탭의 [이름]을 클릭한 후 적당한 이름을 적어주고, 밑의 [마침]을 선택한다.

 

10. 이제 외부에서 자신의 PC로 PING을 날리면 응답을 받을 수 있다~^^

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
반응형

NSUserDefaults 에 UILocalNotification을 저장하는 목적은 fireDate가 초과되지 않은 LocalNotification을 차후에 취소하기 위해서인데요, 기본적으로 NSUserDefault 에 UILocalNotification 객체를 그대로 저장하려고 하면 오류가 발생합니다.
이를 해결하기 위해서는 NSUserDefaults 에 저장하기 전에 약간의 작업을 더 해주어야 합니다.
(아래의 예제에서는 UILocalNotification 형의 notify 변수가 이미 설정되어있다고 가정합니다.)



1. NSUserDefaults 에 UILocalNotification 저장
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:notify];
[[NSUserDefaults standardUserDefaults] setObject:data forKey:<key value>];



2. NSUserDefaults 에 저장된 UILocalNotification 읽기
NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:<key value>];
UILocalNotification *notify = [NSKeyedUnarchiver unarchiveObjectWithData:data];

if(notify){ // Local Notification Cancel
        [[UIApplication sharedApplication] cancelLocalNotification:notify];
}













반응형
반응형

아이폰 프로그래밍을 하다보면 빈번히 사용하게 되는것 중의 하나가 NSUserDefaults 일 것입니다.
NSUserDefaults 의 용도는 간단하게 전역 데이터 저장소라고 생각하시면 됩니다.
데이터의 종류는 int / bool / url / object 형으로 거의 모든 데이터를 저장할 수 있습니다.
데이터의 보존 기한은 앱을 삭제하기 전까지는 쭈욱~ 유지됩니다.

그럼 NSUserDefaults 에 데이터를 저장하고, 저장한 데이터를 읽어오는 방법에 대해서 설명하도록 하겠습니다.
(참고로 NSUserDefaults 에 데이터를 저장하기 위해서는 [data, key]의 쌍으로 저장을 해야합니다. key값은 NSString형의 문자열입니다.)



1. NSUserDefaults 에 데이터 저장

 (1) int 값 저장
[[NSUserDefaults standardUserDefaults] setInteger:<int value> forKey:<key value>];


 (2) bool 값 저장
[[NSUserDefaults standardUserDefaults] setBool:<bool value> forKey:<key value>];


 (3) object 저장
[[NSUserDefaults standardUserDefaults] setObject:<object> forKey:<key value>];

 

(4) 저장한 데이터 동기화(적용) 

[[NSUserDefaults standardUserDefaults] synchronize];


 


2. NSUserDefaults 에 저장된 데이터 읽기

 (1) int 값 읽기

int value = [[NSUserDefaults standardUserDefaults] integerForKey:<key value>];


 (2) bool 값 읽기
bool value = [[NSUserDefaults standardUserDefaults] boolForKey:<key value>];


 (3) NSString 값 읽기 (NSString 값 저장은 NSString 자체가 object이기 때문에 setObject를 이용하면 됩니다.)
NSString *value = [[NSUserDefaults standardUserDefaults] stringForKey:<key value>];


 (4) object 읽기
id value = [[NSUserDefaults standardUserDefaults] objectForKey:<key value>];








 









반응형
반응형
윈도우환경에서의, 톰캣의 실행파일이 catalina.bat이 아니라 Tomcat.ext일때 사용하는 방법이다.

시작-실행-regedit으로 레지스트리 편집기에 들어갑니다.



HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat7\Parameters\Java
의 경로로 들어갑니다.



JvmMs를 더블클릭하여 값을 변경합니다.


 
반응형
반응형
 톰캣 다운로드 및 설치

톰캣 설치전, JDK를 꼭 깔아주세요. ^^ 

톰캣의 다운로드 페이지로 이동합니다.
http://tomcat.apache.org/




각자 사양에 맞게 설치파일을 다운받습니다.
전 Window32비트 체제이므로  32-bit/64-bit Windows Service Installer을 선택했습니다. ^^



다운받은 파일을 실행합니다.
Next를 눌러주세요



I Agree. 동의합니다.



기본선택 항목대로 하고 Next합니다.
Start Menu Items : 시작메뉴에 넣을 것인가?
Documentation : 톰캣 Document설치
Manager : 톰캣 매니저 설치



톰캣은 8080포트가 진리죠 http port는 그대로 8080으로 사용하고
만약, 다른프로그램에서 8080포트를 사용하고 있다면, 안 쓰는 포트로 바꿔줘야 겠죠? ㅎ 
톰캣 Administrator에서 사용할 아이디와 비번을 정해줍니다.



java가 설치된 경로로 자동으로 설정됩니다.
Next를 눌러주세요.



톰캣설치경로는 자신의 편의에 맞게 수정하여줍니다.



설치가 완료됐습니다.
톰캣 실행 및 readme파일 보기는 해제시켜주고 Finish~




 환경변수 설정

내컴퓨터-속성-고급시스템설정-환경변수
- path 설정(시스템변수)
톰캣의 bin폴더를 추가하여줍니다.
C:\Tomcat 7.0\bin;



톰캣설치폴더안의 api jar파일들(jsp-api.jar, servlet-api.jar, el-api.jar)을 
자바가 설치된 폴더 밑의 C:\jdk1.7.0_02\jre\lib\ext에 복사하여줍니다.



- classpath 설정(시스템변수)
방금 jAVA설치폴더 밑에 옮긴 jar파일들의 경로를 추가하여 줍니다.
C:\jdk1.7.0_02\lib\ext\jsp-api.jar;
C:\jdk1.7.0_02\lib\ext\servlet-api.jar;

 
- JAVA_HOME 설정(시스템변수)
JAVA의 설치경로를 입력하여 준다.
C:\jdk1.7.0_02



- CATALINA_HOME 설정(시스템변수)
톰캣설치폴더를 입력한다.
C:\Tomcat 7.0

 
 


 설치 확인하기
 
톰캣설치 폴더(C:\Tomcat 7.0\bin)의 Tomcat실행파일을 실행한다.


실행하면 다음과 같은 화면을 볼수 있다.



인터넷창에 http://localhost:8080을 입력하여 톰캣초기화면이 뜨는지 확인한다.



 












 
반응형
반응형

1. 숨김파일 보기
- [터미널]을 실행시킨다. (Control + Space 키를 눌러 [스포트라이트]에서 터미널 입력 후 실행)
- 프롬프트상에서 아래의 명령을 입력한다.

defaults write com.apple.Finder AppleShowAllFiles YES


- Command + Option + ESC 키를 눌러 [응용 프로그램 강제 종료]를 실행시킨다.
- [Finder]를 강제 종료 시킨 후 다시 Finder를 실행시킨다.


2. 숨김파일 감추기
- [터미널]을 실행시킨다. (Control + Space 키를 눌러 [스포트라이트]에서 터미널 입력 후 실행)
- 프롬프트상에서 아래의 명령을 입력한다.

defaults write com.apple.Finder AppleShowAllFiles NO


- Command + Option + ESC 키를 눌러 [응용 프로그램 강제 종료]를 실행시킨다.
- [Finder]를 강제 종료 시킨 후 다시 Finder를 실행시킨다.


* 숨김파일은 Unix/Linux 기반의 운영체제에서 . 으로 시작하는 파일을 의미합니다.







 
반응형
반응형

xcode 4.2에서 4.1로 다운그레이드 하려고 xcode 새로 설치중 itunes를 종료하라는 팝업창이 출력되었는데, 실제로 itunes를 종료시켜도 팝업창이 사라지지 않고, 설치가 진행이 안되는 현상이 발생하였습니다.
이 문제는 커널에 itunes 프로세스가 살아있기 때문에 발생하는 문제이며, itunes 프로세스를 제거(kill)해 주면 설치가 계속 진행됩니다.

[해결방법]

1. 터미널을 실행시킵니다. (Lion기준 Launch Pad ->유틸리티 -> 터미널)

2. 아래의 커맨드를 실행시킵니다. (iTunes에서 T가 대문자입니다.)
ps aux | grep -v grep | grep iTunes

3. (2)번의 커맨드를 실행시키면 아래의 결과가 출력됩니다.
OYH            30720   0.0  0.1  2487008   4720   ??  S     9:42AM   0:00.07 /Applications/iTunes.app/Contents/MacOS/iTunesHelper.app/Contents/MacOS/iTunesHelper -psn_0_454767

4. (3)번의 빨간색 숫자가 PID(프로세스 아이디)이며, 해당 프로세스를 KILL해 줍니다.
kill -9 30720


자~!! 이제 설치가 계속 진행되시죠~? ^0^











반응형
반응형


navigator에서 new-other-Project from SVN을 선택하고 Next를 눌러주세요.
사용하고자 하는 Repository의 위치가 추가되어있지 않다면 Respoisory의 위치를  추가해야겠죠?
Create a new repository location을 선택하시고 Next 눌러주세요.





URL에 다음과 같은 형식으로 넣어주고 Browse를 눌러 세부경로를 정합니다.
세부경로까진 기억이 잘 안 나니깐 우선 리파지토리로 로그인한 후 , 선택하는거죠.

svn : //ip/userid 
user : svn리파지토리 id
password : svn리파지토리 비밀번호
Save authentication : 이걸 체크해주시면 아이디랑 비번이 저장되겠죠 ^^
 






Browse를 누른 화면입니다.

또 3가지 폴더가 보이시죠?

trunk - 소스의 주 개발 작업을 진행하는 폴더
branches - 소스의 실험적인 작업을 진행하는 폴더, 소스의 현재 버전을 유지보수 하고, 현재 버전을 기반으로 차기 버전을 개발할 경우 이 폴더 이용
tags - 현재 릴리즈된 소스를 관리하기 쉽게 따로 보관하는데 사용. 즉, 개발을 위한 것이 아니라 보관을 위한 것이기 때문에 export만 해야 한다. 체크아웃하여 커밋 할 경우 경고 메시지가 출력된다.
 
여기서 저희가 테스트프로젝트를 저장했던 branches-test프로젝트를 선택하여 줍니다.



세부경로까지 선택한 화면입니다.
이제 Next를 눌러주세요.



checkout from svn
해당 프로젝트가 여러버전이 존재할텐데요.
아래 옵션을 선택해서 사용하시면 되겠습니다. 보통 최신본으로 하죠. ^^

Head Revision : 최신
Date : 날짜와 시간
Revision : 저장된 버전중 골라서
 




그뒤로 Next해주시면 다음화면이 뜨면서 프로젝트가 다운로드 됩니다.














 

반응형

'Programming > Window' 카테고리의 다른 글

윈도우7에서 ICMP(핑) 응답 허용하기  (2) 2012.05.24
톰캣 Heap Size 설정  (0) 2011.12.29
톰캣 설치  (7) 2011.12.29
이클립스 SVN 사용법 - 프로젝트 업로드  (2) 2011.11.14
이클립스 SVN 플러그인 설치  (0) 2011.11.14
반응형


test프로젝트를 SVN에 업로드 하려고 합니다.
프로젝트를 선택하시고 마우스 오른쪽 버튼을 누르고 Team-ShareProject를 선택해주세요. 





SVN을 선택하시고 Next버튼을 눌러주세요.






기존에 사용하던 SVN Repository가 있다면 선택한 후 하위경로를 더 써주면 됩니다.
사용하던 Repository가 없을 경우는 다음과 같이 URL에 입력합니다.





url에 svn://ip/계정을 입력합니다.
url옆에 browse를 누르고 사용자인증을 거치게 되면 

 

현재 계정밑에 유지되고 있는 3가지 폴더를 보실 수 있습니다.
저 3가지 폴더는 다음을 의미합니다.

trunk - 소스의 주 개발 작업을 진행하는 폴더
branches - 소스의 실험적인 작업을 진행하는 폴더, 소스의 현재 버전을 유지보수 하고, 현재 버전을 기반으로 차기 버전을 개발할 경우 이 폴더 이용
tags - 현재 릴리즈된 소스를 관리하기 쉽게 따로 보관하는데 사용. 즉, 개발을 위한 것이 아니라 보관을 위한 것이기 때문에 export만 해야 한다. 체크아웃하여 커밋 할 경우 경고 메시지가 출력된다.
 
 
저흰 주개발 업무를 위한 trunk를 선택한 후 프로젝트명을 추가해줍니다.

 

이제 프로젝트 생성 로그를 박아주시고






commit 로그도 입력해 줍니다.
로그의 생활화는 매우 중요합니다.














 
반응형

'Programming > Window' 카테고리의 다른 글

윈도우7에서 ICMP(핑) 응답 허용하기  (2) 2012.05.24
톰캣 Heap Size 설정  (0) 2011.12.29
톰캣 설치  (7) 2011.12.29
이클립스 SVN 사용법 - 프로젝트 다운로드  (2) 2011.11.17
이클립스 SVN 플러그인 설치  (0) 2011.11.14
반응형


 플러그인 다운로드
 
 참조 : http://www.eclipse.org/subversive/downloads.php

메뉴바에 Help-Install New Software로 들어가 다음의 사이트들을 추가합니다.
- Subversive plug-in 설치 

 
[ http://download.eclipse.org/technology/subversive/0.7/update-site/ ]
그림의 항목을 선택후 Next



Subversive SVN Connector
http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/]
체크된 항목을 선택후 Next



Next 버튼을 누르면 설치가 완료됩니다.



 
설치 확인
 
package Explorer에서 마우스 오른쪽 버튼 누르고
new - other 에서 다음과 같이 SVN항목이 뜨는걸로 확인 가능합니다.














반응형
반응형


터미널 프롬프트상에서 아래의 커맨드를 입력하면 에러 코드에 대한 정보가 출력됩니다.

cat /usr/include/bits/errno.h
cat /usr/include/asm-generic/errno.h
cat /usr/include/asm-generic/errno-base.h

참고사이트 : http://www.basiclinuxcommands.com/2008/07/linux-error-codes-basic-linux-command.html

반응형
반응형

SVN 백업 및 복구는 관리자 명령이기 때문에 슈퍼유저(root) 권한으로 실행해야합니다.

1. 백업 방법
 (1) 백업하고자 하는 저장소의 상위 디렉토리로 이동합니다.
 (2) 아래의 명령어를 사용하여 덤프파일을 생성합니다.
svnadmin dump [저장소 경로(상대경로가능)] > [덤프파일이름]
 (3) 저장된 덤프파일을 잘 관리하면 됩니다.

2. 복구 방법
 (1) 복구하고자 하는 저장소의 상위 디렉토리로 이동합니다.
 (2) 아래의 명령어를 사용하여 복구합니다.
svnadmin load [저장소 경로(상대경로가능)] < [덤프파일이름]

※ 주의 : 꺽쇠(-_-)의 방향은 백업시에는 [경로] > [파일], 복구시에는 [경로] < [파일]
반응형
반응형
리눅스에서 프로그램을 만들다 보면 Memory Leak 체크를 할 필요성을 느낍니다.
이럴경우, Memory Leak을 찾는 툴이 valgrind입니다.
프로그램은 사이트(http://valgrind.org/)에서 받을 수 있구요~ ^^

다운받은 파일을 압축을 풀고 그 폴더에 들어간 뒤, valgrind파일을 실행시킵니다.

제가 가장 편하게 사용하는 메모리릭 체크 방법은 다음과 같습니다.
 
valgrind --leak-check=full --log-file=memcheck.txt -v --error-limit=no [프로그램경로] [인자]
 
--leak-check=full : 메모릭에러가 날 경우 소스파일명과 라인위치 출력

               이 옵션을 사용할려면 디버깅컴파일을 해야합니다. (컴파일시 -g 옵션)
--log-file : 체크결과를 저장할 로그파일명

이렇게 실행하고 나면 로그파일이 만들어지는데 이 두 부분만 보면 됩니다.


LEAK SUMMARY ( Memory Leak 요약 )
==18431== LEAK SUMMARY:
==18431==    definitely lost: 1,025 bytes in 1 blocks
==18431==    indirectly lost: 0 bytes in 0 blocks
==18431==      possibly lost: 12,749,264 bytes in 112 blocks
==18431==    still reachable: 4,240 bytes in 16 blocks
==18431==         suppressed: 0 bytes in 0 blocks
==18431== Reachable blocks (those to which a pointer was found) are not shown.
==18431== To see them, rerun with: --leak-check=full --show-reachable=yes
1블록에서 1,025만큼의 메모리 Leak이 발생했다는 걸 알 수 있습니다.
definitely lost외에 항목은 불분명한 것이므로 굳이 볼 필요는 없습니다.

LEAK DETAIL
definitely lost로 로그파일을 검색하게 되면 상세내용을 찾을 수 있습니다.
==18431== Thread 1:
==18431== 1,025 bytes in 1 blocks are definitely lost in loss record 2 of 9
==18431==    at 0x4C2179E: malloc (vg_replace_malloc.c:236)
==18431==    by 0x40A16F: make_friend_best(char*, int, int) (friend_srch.c:798)
==18431==    by 0x406A45: Friend(int, int, int, int, int, int, int, char*, char*, char*, char*, char*, int, char*, char*) (friend_thread.c:600)
==18431==    by 0x4052C6: main (friend_srch_main.c:75)
이 로그를 보게되면, 동적할당 하는 부분에서 릭이 발생했고
friend_srch.c소스에 798라인이 그 부분이라는 걸 알 수 있습니다.


메모리 릭 찾기 참 쉽죠잉?  














 
반응형

+ Recent posts