짜릿한 역전승 즐거운 감상하시기 바랍니다.
'기타' 카테고리의 다른 글
파워디렉터를 이용하여 워터마크 삽입하기 (0) | 2015.07.01 |
---|---|
마이의 새로운 전략 전술 공개합니다. (0) | 2013.09.14 |
Mac, ip-time 그리고 VPN (0) | 2013.02.12 |
상식 상식 (0) | 2012.06.15 |
우리은행 구로점 (0) | 2012.05.22 |
짜릿한 역전승 즐거운 감상하시기 바랍니다.
파워디렉터를 이용하여 워터마크 삽입하기 (0) | 2015.07.01 |
---|---|
마이의 새로운 전략 전술 공개합니다. (0) | 2013.09.14 |
Mac, ip-time 그리고 VPN (0) | 2013.02.12 |
상식 상식 (0) | 2012.06.15 |
우리은행 구로점 (0) | 2012.05.22 |
PHP로 혹시 apple push notification service를 구축하려고 하시나요?
아마도 여러분께 이 포스팅이 유용할지도 모르겠네요.
최근 아이폰 어플리케이션을 런칭하면서 php로
apple push notification service를 구축하는 경험을 했습니다.
APNS(Apple Push Notification Service)는 애플 푸시 노티피케이션 서비스입니다.
PHP - cURL 비동기 통신 (0) | 2013.12.01 |
---|---|
셀 높이 조절 (0) | 2013.06.25 |
앱 정보 가져오기 (앱이름, 버전) (0) | 2013.06.19 |
스토리보드 커스텀 셀 (공개) (0) | 2013.06.12 |
유니코드 출력 (0) | 2013.02.01 |
PHP - cURL 비동기 통신 (0) | 2013.12.01 |
---|---|
apple push notification 쉽고 간단하게 구축하는 easy apns (0) | 2013.07.10 |
앱 정보 가져오기 (앱이름, 버전) (0) | 2013.06.19 |
스토리보드 커스텀 셀 (공개) (0) | 2013.06.12 |
유니코드 출력 (0) | 2013.02.01 |
////////////////////////////////////////////////////////////////////////////////////
// 앱 정보 가져오기
NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];
// 앱 버전
NSString *szAppVersion = [ infoDict objectForKey:@"CFBundleShortVersionString"];
// 빌드 버전
NSString *szAppBuildVer = [ infoDict objectForKey:@"CFBundleVersion"];
// 앱 이름
NSString *szAppName= [ infoDict objectForKey:@"CFBundleDisplayName"];
apple push notification 쉽고 간단하게 구축하는 easy apns (0) | 2013.07.10 |
---|---|
셀 높이 조절 (0) | 2013.06.25 |
스토리보드 커스텀 셀 (공개) (0) | 2013.06.12 |
유니코드 출력 (0) | 2013.02.01 |
[iPhone]keychain 을 이용한 id, password 저장 (0) | 2013.01.16 |
파트 1
http://www.youtube.com/watch?annotation_id=annotation_989047&v=fnzkcV_XUw8&src_vid=0AsChJk422c&feature=iv
파트 2
https://www.youtube.com/watch?v=0AsChJk422c&noredirect=1
셀 높이 조절 (0) | 2013.06.25 |
---|---|
앱 정보 가져오기 (앱이름, 버전) (0) | 2013.06.19 |
유니코드 출력 (0) | 2013.02.01 |
[iPhone]keychain 을 이용한 id, password 저장 (0) | 2013.01.16 |
[iPhone]keychain 을 이용한 id, password 저장 (0) | 2012.12.18 |
VPN : Virtual Private Network..
학생때 부터 많이 들어온 용어.
보안을 강화해서 가상으로 터널링을 해준다는 식으로
개념만 대~~~충 알고 있던 녀석.
오늘에서야 처음으로 실전에 응용해 보았다.
회사 공유기(ip-time) 가 VPN 서버 기능이 제공되어서 VPN 설정을 했다.
VPN 설정을 하면, 외부에서도 회사 사내망의 네트워크에 연결 된 것과 동일한 조건을 만들어 준다.
즉, 사내망 안에서만 접근할 수 있는 samba 파일 서버라던가, 회사 안에 있는 네트웍 프린터 라던지,
회사 내에서만 접근 할 수 있는 녀석들에게 외부에서도 접근이 가능해 지는 것!
사실, 프로젝트 이미지 리소스를 공유하기 편리한 방법을 찾느라 시도해 봤다.
여기서 윈도우는 설명이 많이 있지만, 맥 os 는 별로 없고 옛날 것들이라서
새로이 끄적 거리는 바.
우선...
회사 공유기 설정 (VPN서버 설정)
외부에서 접근할 네트워크에 존재하는 VPN 서버의 설정이다. 여기서는 공유기가 VPN서버 역할을 한다.
공유기의 VPN 설정에서
1. 동작모드 : 실행
2. 암호화 : 없음
으로 적용한 뒤,
외부에서 VPN연결에 사용할 계정을 추가한다.
아래의 예는 계정은 vpn1, 암호, 할당받을 ip 주소는 192.168.0.201 로 설정한 것이다..
이때 공유기의 내부 네트워크 설정에서 자동 할당되는 ip 주소의 범위는 200 을 넘지 않도록 했다.
즉, vpn 연결에 사용할 ip 주소가 내부 자원에 자동 할당되지 않도록 했다.
공유기의 vpn 설정 화면, vpn1 이 접속됨으로 보인다.
그렇다, 현재 난 집에서 vpn1 계정으로 회사에 연결해, 회사의 공유기에 접근해서 스크린샷을 찍었다.
서버 설정은 이걸로 완료.
다음은...
맥에서의 설정 (VPN 클라이언트 설정)
1. 맥의 환경설정, 네트워크로 들어간다.
2. 네트워크 어댑터 목록이 있는 화면 하단에 보이는 + 버튼을 누르고 아래 그림처럼 설정 한다.
생성을 누르면....
1. 서버주소 : 회사 공유기가 할당받은 공인 ip 주소.
회사 공유기의 시스템요약정보를 보면 '외부 IP 주소' 라고 보이는 곳에 적힌 ip 주소.
2. 계정이름 : 공유기에 생성한 vpn 계정 이름. 내 경우는 vpn1 이다.
3. 암호화 : 없음
4. 인증설정을 누른 뒤, 암호 칸에 공유기에 생성한 계정의 암호를 입력한다.
그리고, 고급을 눌러 VPN연결을 통해 모든 트래픽 허용을 체크한다.
다시 승인을 누르고, 연결 버튼을 누르면 아래처럼 연결이 된다.
연결된 모습. vpn에서 할당 받은 ip 주소가 보인다.
'메뉴막대에서 VPN 상태보기'를 체크해 두면 메뉴막대에 연결상태가 표시된다.
& 그리고...
뽀나스..
여러분의 한방 솔루션을 위해, 오늘 직접 겪은 삽질을 공유한다. ㅠㅠ
1. VPN 연결이 안되는가??
- 혹시 회사 내에서 접근을 시도했다면.. 퇴근하고 집에가서 해보자.
- 혹시 머리를 좀 써서 맥의 사내망 연결을 끊고 와이브로를 연결해 시도했다면,, 기특하지만...
vpn 연결이 1초쯤 되었다가 끊기는, 촘 짜증나는 현상을 보게 될것이다.
- 스마트폰 테더링으로 시도해보자... (엄청난 속도와 3g 데이타용량은 본인 책임)
- 스마트폰에도 vpn 설정이 있다. 스마트폰에서 vpn 연결이 된다면 공유기의 설정은 잘 된 것이다.
2. VPN 연결은 성공?
이제 회사 삼바 서버에 접근해 보자.
회사 내에서 하는 것과 똑같이 맥 파인더에서 cmd - k 를 눌러서 smb://192.168.0.xx 처럼 입력하고 접근하면 된다.
어라...
그런데 탐색중만 한~참 뜨고 결국 연결이 안된다면,
현재 인터넷에 연결된 어댑터의 ip 주소를 확인해 보자.
보통 집에서도 공유기를 쓰니, 집 인터넷 연결도 192.168.0.xxx, vpn의 ip도 192.168.0.xxx 처럼
같은 서브넷일 확률이 높다.
이런 경우라면 어쩔 수 없이
집 공유기의 내부 네트워크에 사용되는 서브넷 대역을 변경해라. (예를 들면 192.168.1.xxx 처럼 중복 되지 않도록)
마이의 새로운 전략 전술 공개합니다. (0) | 2013.09.14 |
---|---|
모두의 마블 for kakao 프로게이머 미친 주사위 놀음. (0) | 2013.09.14 |
상식 상식 (0) | 2012.06.15 |
우리은행 구로점 (0) | 2012.05.22 |
국회의사당 멋진 사진 (0) | 2012.05.21 |
아이폰 어플을 개발하다 보면
unichar unicode = 0x00A9;//©
NSString * tmp = [NSString stringWithCharacters: &unicode length:1];
NSLog(@"출력 %@",tmp);
앱 정보 가져오기 (앱이름, 버전) (0) | 2013.06.19 |
---|---|
스토리보드 커스텀 셀 (공개) (0) | 2013.06.12 |
[iPhone]keychain 을 이용한 id, password 저장 (0) | 2013.01.16 |
[iPhone]keychain 을 이용한 id, password 저장 (0) | 2012.12.18 |
아이폰 가로 스크롤 메뉴 샘플 (0) | 2012.12.18 |
스토리보드 커스텀 셀 (공개) (0) | 2013.06.12 |
---|---|
유니코드 출력 (0) | 2013.02.01 |
[iPhone]keychain 을 이용한 id, password 저장 (0) | 2012.12.18 |
아이폰 가로 스크롤 메뉴 샘플 (0) | 2012.12.18 |
인엡 재구매 복구 로직(restore button) (0) | 2012.10.23 |
맨티스 1.1.1 버젼을 사용하다가 이번에 1.1.6 버젼으로 업그레이드를 했습니다. ChangeLog를 살펴보니 1년동안 업그레이드를 착실히 해온 것 같습니다. 새로운 버젼을 설치 하면서 과정과 사용법을 간단히 정리해 보았습니다.
맨티스 설치사양은 아래와 같습니다.
1. 다운로드 및 설치
1) 다운로드
맨티스 다운로드 페이지나 혹은 프롬프트 상태에서 아래와 같이 맨티스 설치 파일을 다운로드 받은 후에 압축을 풉니다.
2) 링크
mantis로 접근하기 위해 압축이 풀린 디렉토리에 심볼릭링크를 걸어줍니다.
3) 설치
웹브라우져에서 http://[YOUR-DOMAIN]/mantis/admin/install.php를 실행하여 설치를 시작합니다. 먼저 아래와 같은 첫화면에서 DB 접속정보를 입력합니다.
MySQL 관리자 권한이 있는 계정을 'Admin Username'과 'Admin Password' 필드에 입력하시면 설정한대로 Database와 계정을 생성합니다. 입력을 완료한 후에 'Install/Upgrade Database' 버튼을 클릭합니다.
다음단계에서는 'Write Configuration File(s)'에 오류가 발생합니다. 이는 mantis 루트에 config_inc.php 파일을 생성할 권한이 없어서 입니다. 아래의 작업으로 해결할 수 있습니다.
4) config_inc.php 설정
기존 샘플 파일(config_inc.php.sample)을 아래와 같이 복사합니다.
config_inc.php 파일을 열어 오류메시지에 있는 내용대로 아래와 같이 DB를 설정합니다.
기본 메일계정을 설정합니다.
기본으로 한글사용을 위해 아래와 같이 추가합니다.
* admin 디렉토리 삭제
마지막으로 ./admin 디렉토리를 삭제합니다. admin 디렉토리는 초기설치와 관련된 파일들이 위치해 있어 설치후에는 필요가 없이 권한없이 접근할 수 있기 때문에 삭제합니다. 삭제하지 않으면 로그인 화면에서 오류가 표시됩니다.
5) 로그인
웹브라우져에서 http://YOUR-DOMAIN/mantis 로 들어 갑니다. 아래와 같이 맨티스 사이트가 나오면 오류없이 설치된 것 입니다.
관리자 아이디인 'administrator'와 초기 기본 패스워드인 'root'를 입력하고 로그인 합니다. 관리자 패스워드는 계정관리로 들어가 반드시 변경해야 합니다.
2. 사용자 계정
'관리/사용자 관리' 메뉴로 들어가 '계정생성' 버튼을 클릭하여 사용자를 추가합니다. 계정 생성후에 상세한 옵션이나 권한을 설정할 수 있습니다.
이메일로 계정등록이 발송되기 때문에 이메일 주소를 정확히 입력하셔야 합니다. 테스트를 하여보니 제 서버에서는 이메일이 발송 되지 않았습니다.
* 이메일 발송 오류
맨티스 루트디렉토리에 있는 config_defaults_inc.php에서 아래의 g_phpMailer_method를 0으로설정되어 있던 것을 아래와 같이 1로 변경하였더니 이메일이 정상적으로 발송되었습니다.
같은서버에 있던 이전 버젼은 0으로 mail()을 사용해도 발송되었는데 이번 버젼에 문제가 있는 것인지 다른 문제가 있는 것인지 모르겠습니다. 저는 0일 경우에는 발송이 안되고 1과 2일 경우에는 발송이 되었습니다.
3. 프로젝트
1) 프로젝트 생성
'관리/프로젝트 관리' 메뉴로 들어가 새로운 프로젝트를 생성합니다. 역시 등록 후에 아래와 같은 상세한 설정을 할 수 있습니다.
2) 서브 프로젝트
연관된 서브프로젝트를 생성하고 관리할 수 있습니다.
3) 버젼
버젼을 등록하고 관리합니다.
3) 분류
이슈등록시 지정할 분류를 관리합니다.
4) 사용자
프로젝트에 관련된 사용자를 추가하고 권한을 설정할 수 있습니다.
4. 이슈 등록 및 확인
1) 사용자 등록
사용자 계정(testID)로 로그인하여 '이슈보고하기' 메뉴를 클릭합니다. 해당 프로젝트를 선택하고 버튼을 클릭하여 필드를 입력하고 등록합니다.
아래는 등록된 이슈목록입니다.
2) 관리자 확인
다시 관리자로 로그인 하면 메인화면에서 새로운 이벤트를 확인할 수 있습니다. 할당되지 않은 이슈에는 담당자를 할당하거나 바로 처리할 수 있습니다.
5. 기타
1) 위키
위키설정은 사실 큰 의미는 없습니다. config_default_inc.php파일에서 g_wiki_enable 속성을 ON으로 하면 메뉴에서 wiki의 링크가 추가됩니다.
2) 사용자화
웹에서 관리 메뉴와 config_default_inc.php 파일을 변경하여 용도에 맞게 변경할 수 있습니다.
* 커스텀 필드 등록
아래와 같이 사용자 필드를 등록할 수 있습니다. 이외에 권한등 다양한 옵션이 있습니다.
등록된 필드를 프로젝트에 링크하며 해당 프로젝트의 이슈 등록시 사용자 등록필드가 출력됩니다.
* 디자인 변경
core 디렉토리의 html_api.php의 함수들을 수정하여 페이지마다 공통적인 top, bottom과 그외 다른 디자인을 변경할 수 있습니다.
이외에도 공지사항, 문서관리등과 함께 편리하게 이용할 수 있는 기능들이 많이 있습니다. 장단점이 있지만 개인적으로는 Trac보다는 Mantis가 편한 것 같습니다.
Ubuntu에 Oracle Java7, Tomcat7 설치하기 (0) | 2014.04.02 |
---|---|
Fatal error: Call to undefined function curl_init() 20 해결하기 (우분투) (0) | 2013.12.11 |
우분투 1204 root 권한으로 폴더 열기 (0) | 2012.09.22 |
wget 문제점 (0) | 2012.09.22 |
mysql log-bin 계속해서 늘어나는 용량 문제 해결하기 (0) | 2012.09.21 |
유니코드 출력 (0) | 2013.02.01 |
---|---|
[iPhone]keychain 을 이용한 id, password 저장 (0) | 2013.01.16 |
아이폰 가로 스크롤 메뉴 샘플 (0) | 2012.12.18 |
인엡 재구매 복구 로직(restore button) (0) | 2012.10.23 |
IOS 기반 어플 효과음 재생 (0) | 2012.10.22 |