"기술"에 해당하는 글들
페이지:«1234567...19»

MacOSX용 대한민국 우편번호 사전 만들기

7월 17, 2012   //   alexken작성   //   기술  //  2 Comments

binWord/blog Leopardの「辞書」アプリで郵便番号辞書を使う란 MacOS용 시스템 사전을 응용한 일본 우편번호 사전 만들기 포스트를 보고 한국어 버전으로 만들어 보았음.

우정사업본부에서도 우편번호 데이터를 얻을 수 있지만,
인터넷에서 아래와 같이 정리된 데이터를 이용하였음.(2012년5월, 51,989항목)

135-806 서울  강남구 개포1동    경남아파트                      1
135-807 서울  강남구 개포1동    우성3차아파트    (1∼6동)         2
135-806 서울  강남구 개포1동    우성9차아파트    (901∼902동)     3
135-770 서울  강남구 개포1동    주공아파트       (1∼16동)        4

아래와 같이 작성한 ruby 코드로 데이터를 사전용 xml 포맷으로 변환하고, XCode에 있는 사전 도구를 이용해서 make 한방 때리면 사전이 튀어 나옴.

#!/usr/bin/env ruby

puts < <XML_HEAD
<?xml version="1.0" encoding="UTF-8"?>
< d:dictionary xmlns="http://www.w3.org/1999/xhtml"
              xmlns:d="http://www.apple.com/DTDs/DictionaryService-1.0.rng">
XML_HEAD

class File
  def File.open_and_process(*args)
    f = File.open(*args)
    yield f
    f.close
  end
end

File.open_and_process(ARGV[0],'r') do |file|
  while line = file.gets
    line.gsub(/\s+/,' ').scan(/^(\S+)\s+(.*)\s+(\d+)\s+$/).each{|zip,index,id|
      puts "<d:entry d:title='#{index}' id='#{id}' from=''>"
      index.split(' ').each{ |x|
        puts "\t<d:index d:value='#{x}'/>"
      }
      puts "<section><b>#{zip}</b> #{index}</section>"
      puts "</d:entry>"
    }
  end
end

puts < <XML_TAIL
< /d:dictionary>
XML_TAIL

원래 txt 데이터는 3MB
MacOSX 사전용 xml로 변환하면 5MB
사전으로 컴파일하면 28MB
Zip으로 압축해서 5.7MB

7월19일 추가사항

배포를 하려해도 호스팅비용이 부담되어 어찌할까 하다가,
요번 참에 github 가입하고, 소스채 올림.

소스: https://github.com/alexken/korzipcode
컴파일된 사전: https://github.com/alexken/korzipcode/downloads

설치방법?
zip 파일을 다운받아 압축을 풀면 ‘한국 우편번호.dictionary’가 나오고 이것을 ~/Library/Dictionaries에 복사하면 끝.
(~/Library/Dictionaries을 파인더로 가기 힘들다면 Terminal.app에서 cd ~/Library/Dictionaries 하고 open . 으로 열 수 있음.)

앨런 튜링 탄생 100년

6월 23, 2012   //   alexken작성   //   기술  //  No Comments

alan turing google doodle

앨런 튜링 탄생 100년 되는 날.
오늘의 구글 두들, 이건 기념으로 남기지 않을 수가 없구나…

올해가 가기전에 레고 NXT로 튜링 머신을 만들기로 나하고 약속했는데, 만만치가 안구먼.

iOS6 베타 버전 설치 인증샷

6월 12, 2012   //   alexken작성   //   기술  //  1 Comment

지난번 쓴 일본어 시리와 울프람 알파의 인공지능와 관련, 한국어 시리의 결과가 궁금했는데, 역시 의미파악은 실패. 영어 시리의 경우 시리가 의미파악에 실패해도, 울프람알파라는 든든한 백업요원이 있어, 지난번 “세상에서 제일 좋은 핸드폰” 이란 질문을 울프람알파가 받아 재미있는 결과가 나왔는데, 울프람알파는 한국어를 모른다는 서글픈 현실…

그리고 이건 경기도 굴욕 사진(이런거야 정식때면 다 해결되겠지만, “주변에 중국집을 알려줘”와 같은 위치기반 의미있는 정보 제공은 한동안 힘들어 보임)

그리고 TOMTOM의 한국 지도는 정말 설렁했음.

처음으로 Google Adsense 수표 받아봄.

6월 4, 2012   //   alexken작성   //   기술  //  1 Comment

처음으로 구글로 부터 $100짜리 Adsense 수표를 받았다.

자랑같아 보이지만 사실 좀 챙피한 얘기이다.
2006년 6월 Adsense에 가입했으니, 6년 만에 받은 것이고, 그만큼 한산하고 인기없는 블로그란 얘기다.
물론 한동안 Adsense를 내려놓은 적도 있고, 올해 1월에 조건을 충족하여 $100 수표를 우편으로 보냈다가 내가 받아보지 못해 Western Union Quick Cash로 변경후 재발행 한 것이긴 하지만, 다 변명이고, 수익률로 따지자면 $108 / (12개월*6년) = 월 $1.5 = 월 1700원 정도의 수입이 발생했다고 할 수 있다.

내가 사용하는 호스팅이 월 500원 이니까, 호스팅 기간 연장을 하거나, 도메인 기간 연장에 사용해야겠다.

디아블로 폰트 조사

5월 18, 2012   //   alexken작성   //   기술, 인생  //  3 Comments

디아블로3 한글 로컬라이제이션 칭찬이란 글을 쓰고 보니, 한글 자모에 + 들어간 지리면 곤란한 디아블로체가 진짜 폰트인지 아니면, 분위기를 위해서 해당 부분만 이미지로 표시했는지가 궁금해서 좀 살펴보았음.
왜냐면, 몇몇 굵직한 타이틀에서만 사용하고, 일반 퀘스트 설명은 죄다 일반 세리프체로 하기 때문이다.

성격상 궁금하면 못참는지라,
까 봤더니 역시 폰트가 맞았음.

하지만 현대 한글 11172자를 다 가지고 있지는 않았지만, KSX1001(구 KSC5601) 2350자 보다는 많이 가지고 있었음.
2350범위는 넘지만 많이 사용되는 “똠”, “뷁”도 포함하고 있음.
하지만 펲시콜라 펲은 없고…

이 글의 취지는 한글 글리프를 다 구현 안했다고 까는 글이 아니라, 진짜로 하나의 게임을 위해서 폰트까지 새로 개발한 블리자드사를 찬양하는 글임을 밝혀둠.
네이버의 나눔글꼴을 제외하고, 다음체, 여러 지자체가 행사때 나눠준 글꼴 대부분이 2350자 수준이었기 때문에 심하게 뭐라하지 말자.

원래는 이렇게 보였어야 했음.

스크린캡쳐 뜨자 마자 폰트를 어디서 구했는지, 폰트 내부를 어떻게 까봤는지는 까먹어 버렸음(무서운 노인성 치매).

블리자드사가 대인배답게 한글날을 기념해 폰트를 공개하면 좋겠지만, 그렇지 않은 상황에서 홈페이지나 문서 작성시 사용하면 고소 크리 맞을 수 있음.

PS:블리자드사의 공식입장을 찾았음(중간의 에반님의 글)

현지화 팀에서 확인한 내용을 알려 드립니다.
아시겠지만 폰트도 지적재산권을 인정받는 저작물입니다. 현재 해당 폰트 개발업체와 계약에 의거해 블리자드 엔터테인먼트에서 디아블로 III의 게임 및 게임 파생물에 해당 폰트를 사용할 수 있도록 되어 있기 때문에 원칙적으로는 제 3자가 사적인 용도로 사용할 수는 없는 점 양해를 구합니다.

로 봤을 때 블리자드사가 폰트에 대한 전체 권리를 가지고 있지 않으므로 향후 공개도 불가능.

HTML5:getUserMedia를 이용한 초간단 웹캠 뷰어

5월 17, 2012   //   alexken작성   //   기술  //  7 Comments
<html>
  <body>
    <video src="" id="myvideo"  autoplay></video>
    <script type="text/javascript">
      var video = document.getElementById('myvideo');
      navigator.webkitGetUserMedia("video", success);
   
      function success(stream){
        video.src = window.webkitURL.createObjectURL(stream);
      }
    </script>
  </body>
</html>

핵심만 요약한게 아니라 실제 동작하는 전체코드.

HTML5 RTC getUserMedia를 이용.
프로그램을 짰다라기 보다, 브라우저에서 getUserMedia를 지원만 한다면 이함수 호출 하나로 그냥 웹캠 뷰어가 됨.
getUserMedia로 웹캠 뷰어는 날로먹고, Skype 정도의 프로그램도 WebSocket과 함께 쓰면 웹앱으로 코딩 몇줄로 끝.

Chrome18 이후(Canary 아니더라도)인 경우, chrome://flags에서 Media Stream 항목만 활성화하면 이용할 수 있음.
Chrome21부터는 기본으로 활성활 될꺼라고 한다.(2012.08.09추가)

위 코드는 표준 코드가 아니고 현재 Chrome에서 동작하기 위한 코드이고, 향후 표준화 완료되면 다음과 같이 수정되어야 함.

  navigator.webkitGetUserMedia("video", success);
  => navigator.getUserMedia({video:true}, success);
 
  window.webkitURL.createObjectURL(stream);
  => URL.createObjectURL(stream);

getusermedia
웹캠이 장착되어 있고, 크롬 브라우저에 플래그 활성화하면 본페이지를 보면 위와 같이 카메라 사용여부를 사용자에게 물어보고 허락해주면 아래 웹캠 화면이 보여야 함.

더 보기 >>

일본어 시리와 울프람 알파의 인공지능

5월 11, 2012   //   alexken작성   //   기술  //  1 Comment

이전 시리 관련 글에 이어서 두번째

오늘 트위터의 광파리(@kwang82)님이 소개해서 화제가 됐던 “세상에서 가장좋은 핸드폰”에 대한 시리의 답변

일본어 시리로 테스트 해보니 “지금 당신 손에 있는 전화기”라는 닭살 돋는 답변이 나왔다.

일본어 시리의 경우 문장의 의미를 파악하는데도 성공했고, 미리 잘 준비한 유머있는 답변도 훌륭했다.

하지만 소름 돋는 것은 울프람 알파의 질문을 해석하는 인공지능이다.
(클릭하면 울프람알파의 답변이 나온다. – 정말이지 이 시시콜콜한 분석은 가히 예술이다.)
영어 시리의 경우, 의미 분석에 실패하였고, 문자열 채 울프람 알파로 넘긴 듯 하다.

1+2 도 아니고

세상에서 가장좋은 핸드폰

의 의미가 과연 뭘까?

수학적으로 명제도 성립하지 않는 이 모호한 질문은 사람한테도 어려운 질문이다.

  • Q: 세상에서 가장좋은 핸드폰? (그게 뭔데?)
  • A1: 가장 많이 팔린 핸드폰
  • A2: CPU 클럭이 가장 빠른 핸드폰
  • A3: 사용시간이 가장 긴 핸드폰
  • A4: 앱스토어의 앱이 가장 많은 핸드폰

사람인 나도 정답을 모르겠다.

하지만, 울프람 알파는 이 질문을 슬기롭게도 “사용자 리뷰 점수”란 수치적으로 측정가능한 질문으로 치환해 냈고,
이는 사람이 봤을 때도 수긍할만한 해석이다.


스티브 잡스도 대단한 사람이지만 스티븐 울프람 박사 또한 정말 대단하네.

디아블로3 한글 로컬라이제이션 칭찬

4월 25, 2012   //   alexken작성   //   기술, 인생  //  5 Comments

내 기억에 게임 로컬라이제이션(지역화)의 갑은 2003년도 xbox용으로 나왔던 헤일로가 아니었나 싶다.
텍스트 번역은 물론, 당대 초호화 성우진으로 음성까지 전부 지역화 했었다.
심지어 꼬맹이 악당들 도망갈때 내던 소리까지도 자세히 들어보면 더빙된 한국어였다.
지금까지도 게임 지역화의의 전설이자 준거라 생각한다.

어제 영문 공개 베타에서 해골왕까지 해보고, 한글 베타는 신청도 하지 않았고, 5월15일을 기다리는 입장이지만, 한글 클로즈드 베타 시작하며 나돌기 시작한 캡쳐 이미지를 보고 소름돋았다.


바로 폰트 때문이다.
한글 번역하며 어휘도 상당히 고심한 흔적이 보이고, 한국어 음성 더빙은 물론이거니와, 게임을 위해서 폰트까지도 새로 디자인 했을 꺼라고는 상상도 하지 못했다.

몇일전에도 한글판 캡쳐이미지를 봤지만 디아블로 특유의 폰트는 합성이라 생각했다.
지금까지 게임 하나를 위해 분위기 맞는 폰트를 개발할 미친 회사는 영원히 없을꺼라 단정했는데, 내 편견이 깨진 것이다.
영어의 경우 26자*2(대/소문자) + 특수문자 추가 만큼만 디자인 하면 되지만, 한글의 경우 유니코드(ISO/IEC10646) 11172자를 포함하는지 완성형(KSX1001:2004) 2350만 있는지는 캐릭터 이름 지정할때 “똠”이나 “뷁”을 입력해 보면 알겠지만, 설령 완성형 폰트라 하더라고 영리를 추구하는 기업입장에서는 비용측면에서 쉽지 않은 결정을 한 블리자드의 용기에 감사를 표한다.

상상해 보라. 저 위 폰트가 굴림체 였으면 얼마나 깰지.

– Posted using BlogPress from my iPad

페이지:«1234567...19»