vim 스크립트로 여러 파일의 BOM 한 방에 제거하기

awk나 sed로 해보려 했는데 잘 안 돼서 전전긍긍하다가 vim으로 하는 방법이 있어서 메모함

아래의 내용으로 파일을 만들자 (bombomb.vim으로 만들었다고 가정)

set nobomb
set fileencoding=utf-8
wq

find를 이용하여 java확장자를 가진 파일에 일괄적으로 BOM을 제거한다

find ./ -type f -name “*.java” -exec vim -S bombomb.vim {} ;

끝ㅋ

 

iOS IPA 익스포트할 때 원하는 프로비저닝 매핑하기

XCode 6에서 XC: 로 시작하는 프로비저닝이 생성되어 IPA를 만들 때 무조건 저 프로비저닝이랑 매칭되어 테스트 단말기에 설치가 안 되는 문제를 겪었다. 해결방법을 찾아서 블로그 포스트로 투척!

터미널에서 아래 명령어를 입력. 프로비저닝 이름은 파일경로가 아닌 프로비저닝의 이름을 입력한다는 것에 유의.

xcodebuild -exportArchive -archivePath "~/Library/Developer/Xcode/Archives/날짜/아카이브이름.xcarchive" -exportPath IPA생성경로 -exportFormat ipa -exportProvisioningProfile "프로비저닝 이름"

C#에서 스마트폰 이모지(이모티콘) 필터링

만드는 게임에서 스마트폰 emoji(이모티콘)에 대해 폰트와 DB의 미지원 이슈가 있어서 서버단에서 필터링을 해야 할 일이 생겼다.

타 언어에서는 UTF32로 된 정규식 범위가 사용이 가능한데, C#에서는 UTF16이 한계(?)여서 부득이 짤라서 써야 한다.

UTF32 -> UTF16은 여기에서 컨버팅 할 수 있음.

string emoji = "이모지문자";
emoji = Regex.Replace(emoji, @"uD83D[uDC00-uDFFF]|uD83C[uDC00-uDFFF]|uFFFD", "");

이모티콘 혹은 그 외의 유니코드 테이블 확인은 여기서 확인이 가능하다.

413 Request Entity Too Large

정말 간만에 삽질 후기를 올리게 되었다. 물론 그 동안은 삽질 안 했냐 하면 또 그건 아니지만..

취미 프로젝트의 이슈트래커로 요비(http://yobi.io)를 사용하고 있는데, 게시물 첨부파일을 업로드하는 과정에서 1메가만 넘어가면 칼같이 “413 Request Entity Too Large” 에러가 나는 것이었다.

요비 로그에도 별 특이점은 발견되지 않고 한참 구글링으로 난항을 겪고 있을 무렵, nginx 설정관련 쓰레드가 눈에 들어왔다. nginx 설정에 client_max_body_size 항목을 확인 하라는 것.

처음엔 대수롭지 않게 여겼으나 요비의 접근은 nginx의 proxy_pass를 통하게끔 셋팅을 해 놓았었다는 사실에 점점 촉이 느껴지기 시작했다. 같은 방식으로 confluence를 셋팅해 놓은 것이 도움(?)이 되어 그쪽에도 파일 업로드 테스트를 해 보니 역시나 같은 현상이었다.

부랴부랴 설정 파일을 보았는데 아예 해당 항목을 설정하지 않은 것으로 보아 client_max_body_size의 기본값이 1M였던 듯 싶다ㅋ..

넉넉히 설정값을 바꿔주고 nginx를 재시작 해 주니 업로드 잘 됨! 하마터면 멀쩡한 yobi를 탓할 뻔 했다.

오늘의 교훈: 나만 생기는 이슈는 다른 쪽 문제일 가능성이 큼(..)