2014년 1월 21일 화요일

[iOS] XCode 에서 앱 이름 변경


  • 전에 된것 같은데 안되는 케이스

1. Project 선택 > Target 선택 > Build Setting 선택 후 검색창에 'product name' 입력 한 후
2. Target 선택
3. Build Setting 선택
4. 검색창에 'product name' 입력
5. Product Name 에서 $(TARGET_NAME)을 새로운 이름으로 변경
6. 끝

...라는데 안되네.

"could not inspect the application package name" 메세지 표시되고 디바이스에 설치 안됨.


  • 되는 케이스
1. xxx-Info.plist 선택
2. Bundle display name 선택 
3. 새로운 이름으로 변경
4. 끝


*** 그리고 개발자센터에서 앱 등록 정보에서 이름 변경


2013년 12월 23일 월요일

centos svn 서버 구축

centos svn 서버 구축

1. 설치
# yum install -y subversion

2. 폴더 생성 및 Repository 생성
# mkdir /home/svn
# cd /home/svn
# svnadmin create --fs-type fsfs {repository name}
# chmod -R g+w {repository name}

3. 설정하기
# cd /home/svn/{저장소 이름}/conf
conf 폴더 안에 보면 설정파일이 세 개 있다..
1)
# vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
realm = {Repository Group Name}
2)
# vi passwd
[users]
{아이디} = {비번}  
3)
# vi authz
[{저장소 이름}:/]
{아이디} = rw

4.방화벽 설정
# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 3690 -j ACCEPT
# service iptables restart
* 방화벽 포트 설정이 에러가 날 경우 리눅스 자체의 setup 커맨드를 이용해서 방화벽 3609(tcp, upd)를 열어줄것

5. 환경파일설정
svnserve를 서비스로 구동시키려면 아래와 같이 환경설정파일을 추가해줘야한다
# vi /etc/sysconfig/svnserve
위 경로에 파일이 존재하지 않을텐데 vi편집기로 파일을 생성해서 아래의 내용저장
OPTIONS="--threads --root /{repository 디렉토리}"

6.서버 기동
# svnserve -d -r /home/svn/ --listen-port 3690
# killall svnserve 

7. 기본 폴더 생성
# export SVN_EDITOR=/usr/bin/vim
# svn mkdir svn://{Server domain or IP}/{저장소 이름}/trunk
* 위 명령어 치면 에디터가 뜨는데 :wq!  명령으로 저장후 닫은후 계속(C)를 선택하면 된다.
* trunk 생성 시 "Store password unencrypted (yes/no)?" 에서 yes 또는 예(리눅스 인코딩이 한글의 경우)를 입력
# svn mkdir svn://{Server domain or IP}/{저장소 이름}/branches
# svn mkdir svn://{Server domain or IP}/{저장소 이름}/tags
#기본폴더 확인
svn list svn://{Server domain or IP}/{저장소 이름}
branches/
tags/
trunk/

8. 소스 코드 import
8.1 이클립스에서 작업
이클립스에서 이미 생성된 프로젝트를 share project 메뉴를 통해 trunk에 하면 root에 커밋이 되버린다. 따라서 svn repositories 에서 위의 작업으로 생성된 리파지토리를 추가 trunk선택 후 메뉴에서 import 한다. trunk에서 checkout 할것.

8.2 터미널에서 작업
svn server 로그아웃 후 로컬 작업
# svn import -m "initial import" ./project_folder/ svn://[user_name]@[server_name]/[repository_path]/project_name/trunk/
* branches, tags는 클라이언트에서 필요할때 커밋하는게 편함

추가의 경우
2, 3, 7, 8 만 작업할면 된다


==================== 참고 ==============================
아래 두 사이트를 비교해 가서 설정 할 것



 ** 방화벽 포트 설정이 에러가 날 경우 setup을 이용해서 방화벽 3609(tcp, upd)를 열어줄것
 ** trunk 생성 시 "Store password unencrypted (yes/no)?" 에서 yes 또는 예(리눅스 인코딩이 한글의 경우)를 입력

svn 구축 후 trunk, branches, tags에 소스 import(branches와 tags는 필요에 따라)

기본적으로 trunk에서 작업하고 tag 또는 branches를 사용하고 싶을 때는 UI툴 보다는 터미널에서 svn copy로 작업하는게 빠르겠다.

==================================================
구축 후 새로운 프로젝트(=repository)를 추가 할 경우
1. repository 생성
2. conf 파일 수정
3. trunk, branches, tags폴더 생성
4. 로컬 프로젝트를 서버의 trunk로 import
svn import -m “new import" ./test_app/ svn://username@xxx.xxx.xxx.xxx/project_name/trunk/
5. 서버의 trunk에서 tags, branches로 카피
6. IDE에서 svn tool로 checkout(프로젝트 하나당 리포지토리하나)
7. 끝

2013년 11월 18일 월요일

Remove my project from SVN source control

출처

http://iphonedevsdk.com/forum/iphone-sdk-tools-utilities/96459-remove-my-project-from-svn-source-control.html

1. cd to the top level project directory in Terminal
2. find ./ -name .svn -exec rm -rf {} \;

2013년 11월 11일 월요일

다른 프로젝트를 참조하는 웹 프로젝트에서 classnotfoundexception일 발생할 경우

Build Config에서 참조 프로젝트가 추가되어 있는 지 확인 후
Project의 Properties > Deployment Assembly > Add...후 배포 경로에 프로젝트를 추가 해 주면 되더라.

* 주의) 실제 배포 시 위의 두 가지 설정과는 별개로 참조되는 프로젝트는 jar파일로 만들어 lib폴더에 배포해줘야 함.

2013년 11월 10일 일요일

XCode 5 에서 신규 프로젝트 svn서버에 넣기

Xcode 5, Export Project to SVN repository


http://stackoverflow.com/questions/18894195/xcode-5-export-project-to-svn-repository

2013년 8월 12일 월요일

스프링 기반 웹프로젝트 구축

◆ JEE용 이클립스 다운

◆ 프로젝트 인코딩 설정(java 및 페이지파일등등)
Window>Pref..>General>Content Types에서 페이지파일 UTF-8으로 설정
Window>Pref..>General>Workspace에서 UTF-8으로 설정

◆ 이클립스(JEE) market place에서 sts설치


◆ 이클립스 market place에서 subversive 설치(+커넥터)


◆ Dynamic web project 생성


◆ 폴더 및 스프링 설정


◆ 초기페이지 /WEB-INF/view/의 페이지로 리다이렉션
/index.jsp -> /web-inf/view/main.jsp
스프링시큐리티 세팅 후 삭제

◆ jquery, ajax 세팅
각 메뉴는 일반 submit으로 1:1로 페이지를 만들고 페이지 내부는 ajax로 처리
all ajax는 history back을 고려했을 때 문제가 있음.

◆ json 세팅
jackson-all-1.9.0.jar
json-lib-2.3-jdk15.jar
json-lib-ext-spring-1.0.2.jar
json-simple-1.1.1.jar
+
http://json-lib.sourceforge.net/ (필요한 라이브러리 리스트)

◆ mybatis설정

◆ log4j설정

◆ 스프링시큐리티 설정

◆ jQuery validation

◆ jQuery i18n
스크립트단 jQuery i18.properties
html단 spring tag(MessageSource)
http://viralpatel.net/blogs/spring-3-mvc-internationalization-i18n-localization-tutorial-example/


2013년 7월 21일 일요일

String 을 Byte 단위로 자르는 함수

출처 http://dreamchaser.tistory.com/10

/**
* String 을 BYTE 단위로 자르는 함수
* @author 박동규
* @param startIndex, length
* @return String 잘려진 문자열
*/
public String cutStringToByte (String str, int startIndex , int length) {
byte[] b1 = null;
byte[] b2 = null;
try{
if(str == null ) {
return "";
}
b1 = str.getBytes();
b2 = new byte[length] ;
if( length > (b1.length - startIndex) ) {
length = b1.length - startIndex;
}
System.arraycopy(b1,startIndex,b2,0,length);
} catch (Exception e) {
e.printStackTrace();
}
return new String(b2);
}