글쓴이 보관물: koasing

CJ헬로비전 명의변경

최근에 아는사람이 귀국하면서, 국내에 마땅한 휴대폰이 없다길래, CJ헬로비전에서 개통 후 방치중이던 넥서스5를 넘겨주기로 하였다.

그리고 역시나 심한 트롤링 -_- 을 당한 관계로 명변 프로세스를 적어둔다.

특히나 CJ는 서울시내에 전산업무가 가능한 대리점이 없으므로 일처리가 더욱 지랄같아진다.

참고로 모든 상담원은 잘못된 부분을 모르므로 (사내 안내문서부터 잘못되어 있음) 114 상담시 입싸움을 좀 심하게 해야 할 것.

1. 양도인(=회선 넘겨주는 사람)이 CJ 고객센터 (일반 전화1566-0114) 에 전화하여 명의변경을 신청한다.

ARS에 명의변경 메뉴가 없는데 신규신청 문의로 가면 된다.

2. 양도인의 명의변경 의사를 녹취한다.

3. CJ 고객센터에서 양수인(=회선 넘겨받는 사람)에게 전화를 걸어 명의변경 의사를 녹취한다.

4. 양도인과 양수인에게 이메일로 가입신청서가 1부씩 발송된다.

<—– 여기부터 홈페이지 내용이 잘못됨 —–>

5. 양수인은 가입신청서를 작성하되, “명의변경 고객정보” 섹션을 비워두고 작성한다. 뒷면의 신용정보조회 동의 등에도 서명해야 한다.

6. 양수인은 작성한 가입신청서를 양도인에게 발송한다.

7. 양도인은 양수인의 가입신청서를 수령하여, 명의변경고객정보 섹션을 작성한다. 본인 서명이 필요해서 이 지랄이다.

8. 양도인은 가입신청서의 첫 페이지만 작성하되, 내용은 양수인의 것과 동일하게 기재하고 마지막 하단부의 서명은 양도인의 것으로 작성한다.

9. 양도인은 가입신청서 2부를 CJ 본사로 발송한다.

<—– 여기까지 홈페이지 내용이 잘못됨 —–>

10. 양수인과 양도인의 신분증을 스캔하여 CJ에 메일로 발송한다.

11. CJ에서 전산작업 후 양수인에게 새로운 유심을 발송한다.

12. 새 유심을 꽂고 개통절차를 완료하면 명의변경 완료.

가장 좋은 방법은 그냥 둘이 손잡고 전국에 열몇개 정도 존재하는 CJ 대리점에 가는거다. -_-

휴대폰 약정제도

위약1, 위약2, 위약3, (그리고 조만간 나올)위약4에 대한 설명

1. 위약1
단말기 할인제도. 휴대폰 할부원금을 할인하고, 약정기간에 따라 위약금을 선형 차감한다.
신규/번호이동/기기변경 가입시에만 가능하며, 단독가입(중고/자가유통 단말기, USIM단독개통 등)시에는 가입 불가능.

SKT : T기본약정. 전산시스템은 남아있지만, 2012년 11월 2일자로 모든 요금제에 대해 위약금이 0원 설정되어 사실상 폐지된 상태.
KT : 쇼킹 기본형 중 핸드폰 할인 부분(피처폰). 쇼킹 기본형은 위약1과 위약3을 묶어둔 형태이다.
LGT : 정보없음(폐지로 보임)

2. 위약2
무약정 할인제도 도입당시 위약1을 중복 가입할 수 없어서 비슷한 개념으로 도입됨. 약정금액 산정이나 약정제한사항은 위약1과 같다.
현재는 위약3과 묶여서 동시가입 되는 경우가 많다.

SKT : 약정위약금2
KT : 핸드폰할인2 (홈페이지에서는 초기설정금액만 조회 가능하며, 위약금 조회는 114를 통해서 가능)
LGT : 정보없음

3. 위약3 : 할인반환금
무약정 할인제도를 단독가입까지 확대 적용하면서, 약정만료 전 해지시 누적 할인금액의 일부를 반환하도록 할인반환금제도가 생김.
사용기간이 길 수록 누적 할인금액이 늘어나므로 반환금도 늘어나게 된다. 대표적인 비선형 차감 위약금이므로 주의해야 한다.

SKT : 스페셜약정할인(3G), LTE플러스약정할인(LTE)
KT : 스마트스폰서(3G), LTE스폰서(LTE), SIMple할인(약정만료후 재가입, 중고개통 등), 쇼킹 기본형 중 요금제 할인 부분(피처폰)
LGT : 정보없음

4. 위약4 : 단말보조금반환금
단통법 시행이후 도입될 것으로 예상되는 위약금. 단말기 신규/번호이동/기기변경시 지급되는 보조금 금액에 비례하여 설정될 것으로 보인다.

현재 단말보조금은 새 단말기를 구매할 때에만 지급되지만, 단통법 시행이후에는 단독가입에도 단말보조금에 상응하는 수준의 요금할인을 추가로 적용해야 한다.
요금할인은 가입기간에 따라 월분할하여 적용되지만, 단말보조금은 가입시점에 몰빵으로 지급된다. 따라서 형평성 상 단말보조금에도 위약금이 적용될 가능성이 높다.

위약금 차감패턴에 따른 분류

약정만료시점에 받게 되는 총 누적금액을 1로 보았을 때, 해지시 발생하는 위약금 도표

1. 선형 차감(파랑) : 위약1, 위약2, 위약4(안1)
약정시점에 모든 할인금액을 몰아서 받는다. 약정금액이 고정되고, 사용일수가 증가함에 따라 위약금은 선형으로 감소한다.
미사용 기간에 대한 할인금액을 반환한다고 생각하면 된다.

2. 비선형 차감(녹색) : 위약3
약정시점에는 할인금액이 없으며, 사용기간에 일정하게 나누어 할인을 받는다. 해지시점을 기준으로, 누적 할인금액에 위약비율을 곱하여 산출하게 된다.
누적할인금액을 반환하되, 사용기간에 따라 반환금이 할인된다고 생각하면 된다.

** 녹색 그래프가 비정상적으로 적은 것처럼 보이는데, 이는 “약정만료시점에 받게 되는 총 금액”을 1로 두었기 때문이다.
** 녹색 그래프는 인터넷, 와이브로에 적용되는 일비례 곡선이다. 통신사 위약3은 기간별로 반환비율이 다르므로 실제로는 변형된 사다리꼴을 그리게 된다.

3. 복합형태(빨강) : 위약4(안2)
선형 차감과 비선형 차감을 결합한 형태.
미사용 기간에 대한 위약금과, 사용 기간에 대한 반환금을 모두 받는 형태이다. 소비자에게는 가장 불리한 형태.

회선을 유지하였을 때 받게 되는 할인금액의 비율이다.

선형 차감은 오래쓰건 짧게쓰건 딱히 이익도 손해도 없으며

비선형 차감과 복합형태는 글쎄요

단통법 내용 요약

자세한 법령과 고지내용은 다음 사이트를 참고할 것.
이 문서는 법적인 효력이 없으며 단지 법령과 시행령(안)의 내용을 이해하기 쉽게 요약 정리한 글임.

국가법령정보센터 http://law.go.kr/LSW/lsInfoP.do?lsiSeq=154297
방송통신위원회 입법예고 http://kcc.go.kr/user.do?boardId=1101&page=A02030900&dc=K02030700

1. 단통법의 목적
(생략)

2. 용어의 정의
– 대리점 : 이동통신사와 이용자 간의 계약 체결 및 변경 등의 작업을 대리 또는 위탁받아 처리하는 자
– 판매점 : 이동통신사와 이용자 간의 계약 체결 및 변경 등의 작업을 복대리 또는 재위탁받아 처리하는 자

– 출고가 : 단말기 제조사 및 이동통신사가 대리점에 휴대폰을 공급하는 가격
– 지원금 : 휴대폰 구입비용을 지원하기 위해 이용자에게 제공되는 일체의 경제적 이익. “구매가격 할인, 현금 지급(캐시백), 가입비 보조 등”으로 법령에 명시됨

3. 법으로 금지되는 사항
다음 사항은 법으로 금지됨
– 가입 형태(신규가입, 번호이동, 기기변경)에 따라 지원금을 부당하게 차등적으로 지급하는 행위
– 거주지역, 나이, 신체적 조건에 따라 지원금을 부당하게 차등적으로 지급하는 행위
– 이용약관에 정해진 사항 외에, 보조금 지급조건으로 특정 요금제 / 부가서비스의 의무사용기간을 두고 이를 위반시 위약금을 부과하는 등의 개별계약

전국적으로 같은날에는 같은 보조금을 지급해야 하며, 기기변경이라고 보조금을 적게 주면 위법행위가 됨.
특정요금제 강제(XX요금제 이상만 가입가능 조건), 부가서비스 떡칠도 금지대상.

4. 법으로 허용되는 사항
다음 사항은 법 및 시행령으로 허용됨
– 사용 요금제에 따른 보조금 차등지급은 미래창조과학부와 방송통신위원회가 별도 기준을 선정하여 공시
– 출시일로부터 15개월이 경과한 단말기는 보조금 규제 대상에서 제외됨
– 통신사 보조금에 더하여, 대리점에서 15%까지 추가 지급 가능

예를들어 통신사에서 30만원 보조금을 주는 경우, 대리점에서 4만5천원을 추가하여 지급 가능함.

5. 법으로 강제되는 사항
다음 사항은 법 및 시행령으로 강제됨
– 통신사는 휴대폰 별 출고가, 요금제 별 지원금, 이에 따른 실제 판매가격을 홈페이지와 인쇄가능한 매체로 공시해야 함
– 대리점은 출고가, 통신사 지원금 및 대리점 자체 지원금, 실제 판매가격을 인쇄물로 공시해야 함
– 한 번 공시한 내용은 7일이상 유지해야 함
– 공시한 내용은 편철하여 3개월간 보관해야 함

– 지원금을 받지 아니하고 가입하는 경우(중고단말기나 자가유통용 단말기 등), 지원금에 상응하는 수준의 요금할인 등 혜택을 제공해야 함
– “지원금에 상응하는 수준”은 미래창조과학부에서 결정

즉슨 휴대폰 보조금은 매 주단위로 정해질 듯 하며, 한 번 정해진 보조금은 적어도 일주일간 유지됨.
또한 보조금을 안 받고 가입하는 경우(유심 단독가입이나 해외수입 등), 요금할인 혜택이 늘어남
(근데 위약금4 추가될 것으로 보임)

6. 보조금 규모 공시
– 방송통신위원회는 매 6개월마다 보조금 상한액을 공시함.
– 보조금 상한액은 최소 25만원 최대 35만원 사이에서 결정

윈도우에서 . 으로 시작하는 파일/폴더 만들기

http://superuser.com/questions/64471/create-rename-a-file-folder-that-begins-with-a-dot-in-windows

윈도우에서 파일/폴더 이름을 . 으로 시작하게 만들려면…

.gitconfig.

으로 입력하면 된다. 마지막 . 은 알아서 삭제된다. 아 문화충격…

참고로 XP는 안된다고 한다. 윈도우7, 8에서 작동 확인됨.

git server 설치 메모

사실 개인 프로젝트는 GitHub이나 bitbucket 써도 된다. 회사 일 때문에 내부 서버를 써야 할 때에나 도움이 될 듯.

1. 하드웨어 준비

실제 머신이 있으면 좋겠지만 돈도 없고 배선도 귀찮고 공간도 좁다. 가상머신 사용하기로 함.
윈도우에서 가장 안정적인 VMware 사용. VM Player는 non-commercial 조건으로 공짜로 사용가능하다.

싱글코어 + 메모리 512MB, 가상 디스크는 4GB, 16GB 두 개로 생성.
작은거에 부트 + 시스템 + 스왑 다 때려박고, 큰거는 온전히 레포지터리 저장용으로만 사용한다.

2. archlinux 설치

https://wiki.archlinux.org/index.php/Installation_Guide

사실 리눅스 배포판에는 ubuntu나 centos 기타등등 유명한게 많지만, 그만큼 덩치가 크다.
git server만 굴릴것이므로 가볍고 용량작은 + 패키지매니저 지원하는 배포판 찾아보니 archlinux가 만만해보임.
apt 사용하려면 lubuntu같은 버전 써도 될거다. 그래도 시스템파티션 크기는 키워야 하겠지만.

https://www.archlinux.org/ 에서 ISO를 다운받는다. 홈페이지에서는 Netboot 추천하는데 잘 안된다.

Live모드로 부트하면 콘솔에서 키보드 커서가 깜빡거리는 상황을 맞이하게 된다. 정상이다(…)
위키페이지를 찬찬히 읽으면서 수동으로(…) 설치하자.

설치할 때 파티션 설정을 조심하자. 마지막거만 주의하면 된다. 저기에 git 저장소가 들어가니까 큰 파티션을 잡아준다.
참고로 루트를 저만큼 잡아도 이것저것 세팅+삽질 이후에도 1.2GB 사용한다. 충분히 넉넉하다는 말임.

/dev/sda1 = /boot 300MB
/dev/sda2 = /     2.7GB
/dev/sda3 = SWAP  1GB
/dev/sdb1 = /srv  16GB **

3. 패키지 설치 및 설정

설치가 완료되면 일단 루트로 로그인한다. 일반계정에서 sudo 사용하려면 visudo 로 설정을 하나 풀어줘야 한다.

wheel 검색한 후 주석을 풀어주고 :wq 하면 wheel 그룹 유저는 sudo 사용이 가능하게 풀린다. 이제 필요한 패키지들을 설치하자.

# pacman -S --needed base-devel wget openssh git
...
# systemctl enable sshd.service
...

4. SSH 설정

https://wiki.archlinux.org/index.php/Secure_Shell

ssh 데몬 설정 편집은 /etc/ssh/sshd_config 파일을 고치면 된다. 적어도 포트번호 변경하고 루트 SSH 차단은 설정해 두자.
설정이 완료되면 ssh 데몬을 재시작하거나 시스템을 재시작.

이제 일반유저로 로그인한다. 원격으로 git을 사용해야 하는데, git 계정의 비밀번호를 까발리고 다닐 수는 없으니 인증키 방식 로그인을 사용해야 한다.

디테일한 내용은 http://opentutorials.org/module/432/3742 등 온라인에 자료 많으니까 넘어가자. 기본값으로 키를 만들면 된다.
암호는 쓸거면 입력하고(당연히 이쪽이 보안상 좋다) 자동로그인이 필요하면 안 만들면 된다.

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/myname/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
...

key를 만들면 ~/.ssh 폴더에 파일 두 개가 생성된다.
혹시모르니 개인키 파일의 권한을 확인한다. 개인키 파일(id_rsa) 권한은 반드시 600이어야 한다.

$ ls -al ~/.ssh
...
-rw------- 1 myname users 1766 Jan 01 00:00 id_rsa
-rw-r--r-- 1 myname users  399 Jan 01 00:00 id_rsa.pub

5. Gitosis 설치

https://wiki.archlinux.org/index.php/Gitosis
https://wiki.archlinux.org/index.php/AUR

아까 git도 설치했었다. 버전 확인하고 설정도 좀 바꿔준다.

$ git --version
git version 1.9.0
$ git config --global user.name "John Doe"
$ git config --global user.email "[email protected]"
$ git config -l
user.name=John Doe
[email protected]

이제 저장소 권한관리 도구인 Gitosis를 설치하자. Gitosis를 이용하면 저장소 별로 접근권한 제어를 할 수 있다.
접근권한 제어는 별도 툴이 있는건 아니고, gitosis-admin 이라는 git 저장소에 키파일과 설정파일을 커밋하면 알아서 반영된다. git으로 git을 관리하다니.

여튼, 원래 Gitosis를 설치하려면 파이썬 깔고 어쩌고저쩌고 해야 하는데, 누군가 고맙게도 이걸 자동화 시켜뒀다.
다만 archlinux 기본 패키지로는 반영 안 돼서 수동으로 패키지 파일을 만들어서 깔아야 한다. 별로 어렵지는 않다.

우선 https://aur.archlinux.org/packages/gitosis-git/ 에서 타르볼을 다운받고 압축을 해제한다.

$ wget https://aur.archlinux.org/packages/gi/gitosis-git/gitosis-git.tar.gz
...
$ tar -xzf gitosis-git.tar.gz
...

압축 풀은 폴더로 들어가서 makepkg로 패키지파일을 만든다. 의존성 해결을 위하여 -d 옵션을 준다.
패키지 빈 게 있어서 sudo 권한을 요구할거다. 설치하고 잠시 기다리면 타르볼을 만들어준다.

$ cd gitosis-git
$ makepkg -s
...
$ ls -al
...
-rw-r--r-- 1 myname users 53552 Jan 01 00:00 gitosis-git-0.2.r50-g9481bb0-1-any.pkg.tar.xz
...

만들어진 타르볼을 패키지 매니저로 설치한다.

$ pacman -U gitosis-git-0.2.r50-g9481bb0-1-any.pkg.tar.xz
...

이제 간신히 Gitosis 패키지를 시스템에 설치한 것이다.

6. Gitosis 설정

이제 Gitosis를 실제로 작동하게 만들자. 루트 권한으로 작업한다.
git이라는 유저는 git 설치과정에서 자동으로 만들어진다.

$ sudo mkdir /srv/gitosis
$ sudo chown git.git /srv/gitosis
$ sudo -H -u git gitosis-init < ~/.ssh/id_rsa.pub
Initialized empty Git repository in /srv/gitosis/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /srv/gitosis/repositories/gitosis-admin.git/

여기까지 하면 git 서버가 작동하는 것이다. 클로닝 해 보자.

$ git clone ssh://git@localhost:22222/gitosis-admin.git
...

ssh-keygen 에서 암호를 입력했으면 암호를 물어볼거다. 입력하면 된다.
클로닝까지 성공하면 Gitosis 설치가 완료된 것이다.

사용자 추가는 keydir 안에 RSA 공개키 파일을 넣어주면 되며, 파일명이 곧 계정명으로 사용된다.
접근권한 설정은 gitosis.conf 에서 한다. 자세한 설정방법은… google it.

Java의 코드페이지 MS949

개발자에게 CP949라고 하면 으레 EUC-KR을 기반으로 MS에서 확장 정의한 코드페이지를 생각할 것이다.
PC에서 한글을 표현하는 방법으로서 사실상 표준으로 사용되고 있고[footnote]아직 유니코드로 완전히 이전되지 못했다. 인터넷만 봐도 여전히 많이 쓰이는데 뭐…[/footnote], 당장 위키피디아CP949 페이지를 들어가봐도 Microsoft’s implementation으로 문서가 시작한다.

CP949

위키피디아의 CP949 Map

여튼. 어쩌다보니 MBCS 텍스트의 코드페이지를 바꿔 해석해야 하는 코드스냅이 필요하여 자바로 코드를 짜게 되었다.

예를 들면 이런거다. Shift-JIS에서 특수문자 “☆”은 0x8199 로 매핑되는데, 이를 CP949로 해석하면 “걲”이 된다.
이런 사유로, Shit-JIS에서 “☆新年☆”이라는 문자열이 CP949에서 “”걲륷봏걲”이 되어버린다. 허허허…

필요한 코드는 이를 바로잡아주는 코드인데, 사실 코드 자체는 정말 간단하다.

자바는 문자열 처리에 UTF-16BE를 사용하며, 필요한 경우 이를 꽤나 편리하게 바이트 스트림으로 변경이 가능하며,
반대로 바이트 스트림에서 코드페이지를 지정하여 문자열을 만들어낼 수도 있다.

public static String convertCodepage(String src, Charset cpCurrent, Charset cpNew)
{
	byte[] b = src.getBytes(cpCurrent);
	String n = new String(b, cpNew);
	// 사실 한 줄로 줄여도 된다.
	return new String(src.getBytes(cpCurrent), cpNew);
}

이런 코드를 짜고, 파라미터로 CP949를 적용하면 잘 될 줄 알았다.

근데 안 된다 -_-

차근히 찾아보니 자바에서 CP949는 MS 구현이 아니랜다. Charset 클래스에서 CP949는 x-IBM949의 동의어로 처리된다.
흠 그런가? 하고 좀 더 찾아보니, x-IBM949는 단지 EUC-KR에 확장 ASCII 코드를 몇 개인가 더 붙여둔 것 같다.

즉슨, 안타깝게도 x-IBM949는 KS-X-1001[footnote]일부에게는 KS-C-5601이 더 익숙할지도 모르겠다.[/footnote]에 정의된 8,848글자의 한글만 표현할 수 있으며, 이를 벗어나는 이른바 “확장 한글”[footnote]CP949에서 추가로 정의된 글자들. 예를들면 “똠”이나 “쓩”, “뷁” 같은거[/footnote]은 표기할 수 없다.

그렇다면 자바에서 MS 확장을 사용할 수는 없는걸까? 물론 쓸 수 있다. MS 확장 구현은 “MS949″로 정의되어 있다.
위의 코드에서도, 파라미터만 MS949로 변경하니 의도한대로 잘 작동하는 것을 확인할 수 있었다.

다만 안타까운 사실은, 이것을 찾아내는데 장장 세 시간이 넘게 걸렸다는 점 정도일까. 선마이크로시스템즈 나쁜색기들.

맥북에어 모니터 HDMI 출력 젠더

맥북에어는 외부모니터 연결 단자로 miniDP 단자만 제공한다. 아직은 HDMI나 DVI가 많이 사용되므로 젠더가 필요하다.

어쩌다보니 넷메이트 제품만 줄줄이 달아두게 되었는데 딱히 스폰받은건 아니고 -.-
룡산에서 집어온게 넷메이트 젠더(가운데거)라 찾기 쉬워서…

miniDP – HDMI(숫) 케이블(2미터) : http://prod.danawa.com/info/?pcode=1216123
맥북과 HDMI 모니터를 직접 연결할 수 있다.

miniDP – HDMI(암) 젠더 : http://prod.danawa.com/info/?pcode=1230327
별도의 HDMI 케이블이 필요하지만 휴대가 간편하다. 요즘 웬만한 세미나룸은 HDMI 케이블을 구비하고 있으니, 휴대가 목적이면 이쪽이 더 편리하다.

miniDP – DVI/HDMI/DP 멀티젠더 : http://prod.danawa.com/info/?pcode=1535693

참고로 상기 링크는 전부다 passive 방식이며, 최대 해상도 1920×1200까지만 지원한다.
2560×1440 이상 해상도로 넘어가려면 active 방식 젠더를 사용해야 한다. 애플 정품이 17만원 정도 한다.

지메일 계정간 이전하기

학교 메일서비스가 용량이 뭐같이 작아서 (교수/교직원 500MB, 대학(원)생 50MB, 졸업자 5MB…)
메일 자동 포워딩을 이용하여 구글 지메일을 실질적인 메일서비스로 쓰고 있었다.
(물론 설정 잡아주면 학교메일 주소로 발송 가능하므로 이렇게 쓸 수 있었다. 나이스 구글.)

며칠전에 학교 메일이 구글 앱스에 연동된다는 공지가 돌았다. 즉, 아예 학교메일 주소로 구글 서비스 로그인과 메일 수발신을 지원한다는 것.
물론 지금 상태로 냅둬도 되지만, 몇 가지 사소한 장점을 핑계로 구글 앱스로 옮겨버렸다.

– 기존 방식으로는 메일포워딩으로 서버를 한 번 더 거치면서 메일 수신이 1~2분정도 지연되는 경우가 있다.
– 지메일 기본 계정은 15GB이지만 구글 앱스 사용시 기본 30GB를 준다. 지금 사용량이 8GB를 조금 넘는 정도라 별 문제는 없지만, 용량은 다다익선.
– 졸업이후 따로 아카이브를 안 해도 된다.

여튼. 구글 계정을 옮겼으니 기존에 쓰던 개인계정에서 새로만든 구글앱스 계정으로 데이터를 옮겨야 한다.
옮길 데이터를 크게 정리하자면 1. 메일 2. 주소록 정도.

사실 주소록 이전은 간단하다. 기존 계정에서 주소록 내보내기 -> 새 계정에서 주소록 가져오기를 하면 잘 이전된다.
드라이브와 캘린더는 안 써서 모르겠다. 다른 서비스는 구글앱스 계정에서 미지원이고.

문제는 메일.
구글에서 자체적으로 이전이나 백업복원을 지원하지는 않고, 인터넷 검색해보면 보통 IMAP 활성화한 다음 메일 클라이언트로 수동으로 옮겨라 식의 가이드만 나온다.
그런데, 이렇게 IMAP으로 하나씩 옮기는건 시간이 보통 오래걸리는 일이 아니다. 작년쯤인가 약 3년분 6천건의 메일을 업로드 하는데만 하루가 꼬박 걸렸으니 뭐.
(사실 이건 IMAP 클라이언트의 비효율적인 작업절차 때문이기도 하다. 메일 하나 올릴 때마다 세션을 새로 열어서 작업하니 뭐…)

하물며 현 시점에 메일은 더 쌓여서 약 8200건 정도고, 용량도 약 8GB를 넘는다. 이걸 메일 클라이언트로 다운로드 받아서 업로드를 새롭게 하려면… 두통이 엄습한다.

이런 고민을 한 사람이 나 뿐이지는 않을테니 좀 더 검색해 본 결과 다음과 같은 프로그램을 찾았다.

Gmvault: gmail backup

제목대로 지메일 백업하는 프로그램인데, 계정정보를 바꿔치기 해서 계정간 데이터 이전에도 쓸 수 있고, 메일 라벨(폴더기능)도 잘 지원한다.
타 클라이언트가 복수 라벨을 제대로 취급 못해서 메일 사본을 만들어내는데, 이 프로그램은 정확하게 라벨을 찾아서 반영해준다.

다만, 파이썬 기반이라 작업을 콘솔에서 명령어 쳐서 해야 하는게 좀 불편할지도 모르겠다.
사용할 지메일 계정에서는 IMAP 사용설정을 해 줘야 하고, 전체편지함을 IMAP에서 볼 수 있도록 활성화도 해 줘야 작동한다.
설정이 제대로 안 되어 있으면 오류를 뿜어내니 잘 읽어보자.

SMSC 설정

SMSC = SMS Center : 통신사에서 문자발송을 위해 지정해 둔 특수번호

http://www.blogfromamerica.com/wp/?p=10307

http://yolife.tistory.com/6

기타등등에서 발췌

SKT +8210009910xxxx / PDU 089128010099012925 (?)
(xxxx에는 자기 전화번호의 국번=가운데4자리 들어감)

KT +821029190900 / PDU 07912801929190

ドコモ +81903101652 / PUD 07911809131056f2

ソフトバンク +819066519300 / PDU 0791180966153900

std::nothrow

Reference : http://www.cprogramming.com/tips/tip/cincrement-new-does-not-return-0-on-failure

C++ new는 할당실패시 bad_alloc exception을 던진다.
매번 try-catch 하기 귀찮으니까, malloc()처럼 오류상황에서 0을 리턴하게 만들고 싶은 경우, 다음과 같이 고친다.

#include <new>
...
type_t *ptr = new (std::nothrow) type_t[size];
...