기본 콘텐츠로 건너뛰기

2012의 게시물 표시

Web Technologies for Non Web Developers

Overview 지난 10년간 임베디드 및 모바일 S/W 분야에 몸 담았던 (Web 개발 초보자) 일인으로서 좀 복잡해보이는 웹 기술에대해 아는 수준에서 정리해보고자 한다.
Big Picture
Web Application은 크게보면 얼굴을 담당하는 Front-end 기술과 모든 일을 뒤에서 처리하는 Back-end로 나뉜다. 어떤 기술들이 Front-end 쪽인지 Back-end 쪽인지를 제대로 구분할 수 있는 정도가 Web Application 개발자로서의 시작점이라 할 수 있겠다.

Front-end 기술의 가장 기본은 HTML, CSS, JavaScript이다. 더불어 동적 페이지를 보여주기 위해 AJAX라고 하는 기술용어도 등장한다. 이 기술들은 모두 사용자가 직접 보고 쓰는 UI를 멋지게 구성하기 위해 사용된다.
jQueryExtJsBootstrap 위와 같은 Front-end 기술들은 JavaScript 코드를 휠씬 쉽게 보기 좋은 UI를 구현할 수 있도록 도와준다.

Back-end 기술은 딱히 표준이란게 없고 기호에 따라 선택하여 사용한다. 각 IT 업체별로 자신만의 기술이 있고 오픈소스로도 다양한 기술들이 있다.
MS - ASP.NETOracle, IBM - Java EE (JSP)Google - Google App Engine (Java, Python, Go)Open SourceRuby - Ruby on RailsPython - Django, Grok, web2py ...PHP - CakePHP, Symfony ... Back-end의 다양한 기술들은 주로 HTTP 요청 처리, 데이터베이스 관리, HTML 페이지를 생성하는 등의 구현을 편하게 해주는 역할을 한다.

나처럼 처음 Web 기술을 접하는 개발자들이 가장 혼란스러워 하는 부분이 위처럼 너무 다양한 기술들이 있다는 것. 하지만 적어도 Front-end에 있어서는 공통적으로 익혀야할 기술이 있다. 바로 HTML, CSS, JavaScript. 어떤 Front-end Framework도 이…

AWS re:Invent 2012 Keynote

Amazon의 2012년 3Q 실적은 약 13 billion USD이다. 한화로 14조 정도. 이해를 돕기위해 비교하면 kt의 분기당 매출이 약 5~6조 정도 이다.  이 중 약 2 billion USD를 차지하는 AWS 사업. AWS re:Invent 행사의 Keynote 동영상으로 AWS의 미래 계획에 대해 살펴보도록 하자.
Day 1
Day 2

Status of Smart TV (Google, Apple, MS and Samsung)

Overview Google, Apple, MS, Samsung등 IT 업체들의 스마트 TV에 대해 살펴보자.
What kind of Smart TV? 누가 어떤 스마트 TV 플랫폼을 내놓고 있을까? (완제품 TV 형태가 아닌 셋탑박스 형태 포함)
Google TVApple TVMicrosoft Xbox 360RokuSony PlaystationSamsung Smart TVLG NetCast 위 플랫폼 중 개인적으로 관심있는 4가지 플랫폼에 대해서 살펴보자. Apple TV셋탑박스 형식. HDMI, Optical audio 단자 제공iTunes에서 영화, 드라마 등 다양한 컨텐츠 구매 가능Netflix, Hulu Plus, Vimeo, Youtube, MLB, NBA, NHL, WSJ 등의 외부 컨텐츠 시청 가능AirPlay 기능을 이용하여 Mac, iPad, iPhone 기기의 화면을 스트리밍하여 Apple TV에 연결된 TV에서 출력가능아직은 Apple TV용 어플리케이션 개발 및 구매가 불가능하다.하지만, 곧 외부 개발자용 SDK등을 제공하지 않을까 싶다. Apple은 당연히 iOS 운영체제와 동일 커널에 Cocoa Touch와 거의 유사한 개발 플랫폼을 내놓겠지? 2012년 3분기에만 130만대의 Apple TV가 팔렸다. 전년 동기 대비 170% 성장세이다.  Apple TV 3rd generation unboxing review from DetroitBORG Google TV셋탑박스와 일체형 모두를 지원하지만 현재 Google 사이트에는 소니의 셋탑박스 제품만 있다. (Google은 버디박스라고 부른다.)Google Play에서 제공하는 컨텐츠를 소비할 수 있고 Apple TV와 달리 Google Play에서 추가적인 어플리케이션을 설치할 수 있다.Apple TV에 비해 이것저것 외부 채널이 많은데 주요한 것들은 Youtube, Netflix, iBBC, Amazon, HBO, Cartoon Network 등이 있다.Android App으로 외부 …

Google's New Business - Mobile Operator?

Overview News source: Google, Dish Held Talks to Launch Wireless Service





미국 내 위성 TV 사업자인 Dish와 Google이 무선사업에 대해 논의 중이라고 한다. 미국내 무선 통신 사업에 대한 현재 상황을 알아보고 왜 구글이 현재 사업과는 완전히 다른 분야에 관심을 보이고 있는지 추측해보자. What's Going On? 미국 내 약 1400만 가입자를 가진 Dish Networks사는 무선 통신 분야로 사업확장을 노리고 있다. 4G 무선 주파수에 대한 FCC의 조건부 승인을 받은 상태이며 사업 파트너를 물색 중이다. 그 중 Google이 Dish Network와 무선 사업에 대한 협력을 논의 중인 사실이 밝혀지면서 과연 Google이 무선 통신이라는 새로운 사업 분야에 뛰어들 것인지 관심이 집중되고 있다. (관련 뉴스)

Google은 몇 개월전에 이미 Cable TV 사업 영역에 뛰어든 선례가 있다. Kensas City에 국한되기는 하지만 광통신 모바일 브로드밴드 사업자로서 서비스를 제공하고 Google Fiber TV 셋탑을 가입자에게 제공하고 있다. (관련 뉴스)

Gigabit 인터넷은 한달에 $70, Google Fiber TV 서비스 포함하여 한달에 $120에 제공한다. 2 TB 크기의 Google Storage Box를 별도로 구매하면 TV 녹화도 가능하다. 당연히 Google Drive에 연결하여 Cloud 기반의 저장소를 이용할 수 있도록 한다.
Mobile Statistics 무선 통신 시장의 전망 및 현재 미국 내 사업자들의 통계 자료를 살펴보자.
미국의 무선 통신 사용자는 이미 101% 가입률에 도달하였다. 최고 수준의 가입률을 보이는 유럽의 127%에 비해 약 25%정도 모자른 수치이지만 통신 시장의 규모 확장을 기대하기는 어렵다. 2018년 경에는 북미 가입자의 60% 이상이 4G LTE 사용자가 될 것으로 예상하고 있다. 그만큼 무선 환경에서도 많은 데이터를 빠른 속도…

Facebook stocks keep rising. Why?

Overview 지난 7일 동안 Facebook의 주가가 거의 20% 정도 올랐다. 평소 좀 사볼까 했던 종목이기에 배가 좀 아프기도 하거니와 왜 갑자기 주식이 올랐는지 궁굼해서 조사를 좀 해보았다. Facebook의 주식이 급 상승한 이유와 향후 전망은 어떨지 (감히) 추측해본다.

Facebook Figures 일단, Facebook과 관련된 중요한 수치들을 정리해보자.
일 사용자 수 - 5억 8천만명 (2012년 9월 기준)최초 상장 시 1주당 가격 - $38최총 상장 시 기업가치 - $104 billion현재 기업 가치 - $51 billion (한화로 약 55조)종업원 수 - 4331명 (2012년 9월 30일 기준)2012년 3Q 매출 - $1.26 billion2012년 2Q 매출 - $1.15 billion Facebook Stocks Lockup? 인터넷 뉴스를 검색해보면 지난 1주일간 Facebook의 주가가 급상승한 이유를 다음과 같이 설명하고 있다.

"Shares of Facebook Inc jumped nearly 13 percent on Wednesday, as investors breathed a sigh of relief that expiring trading restrictions on a huge block of shares failed to trigger an immediate wave of insider selling."

즉, 그간 내부자 거래 금지에 의해 묶여있던 다량의 Facebook 주식이 거래 가능하게 되었음에도 불구하고 급작스런 매도 증가가 발생하지 않아 투자자들이 안심하게 되었고 거래량 증가 및 주가가 급등하게 되었다는 것이다.

이를 IPO Lockup 이라고하는데 상장하는 회사의 주식을 소유하고 있는 내부 직원들의 경우는 상장 후 약 3~6개월 동안은 거래를 할 수 없도록 하는 조치이다. 이 Lockup 기간이 완료되어 Facebook 직원들이 소유하고 있던 대량의 주식이 매도로 나오면 주가가 …

Lumia 920 Selling Figures?

Overview Nokia의 명운을 건 Lumia 820, 920이 AT&T를 통해 판매된지 약 10일 정도의 시간이 지났다. 과연, 얼마나 팔리고 있을까? 과거의 제왕 Nokia를 되살리는 시발점이 될 수 있을 것인가? 아직, 공식적인 판매 수치 발표는 없었지만 여기 저기서 발표하는 자료들을 참고하여 Nokia의 미래를 예상해보자.

2012 Q3 result of Nokia 일단, 2012년 Q3의 결과를 보면 Nokia는 여전히 추락중이다.

Nokia Q3 2012: Just 2.9m Windows Phones shipped - SlashGear‎Nokia's Q3 2012: $754M Operating Loss, $9.49B Net Sales, 2.9M ...‎Nokia Drops Out of Top 5 Smartphone Companies Rank‎ 
Lumia 920 출시를 앞두고 기존 Windows Phone 수요가 확 줄어든 탓이 크다고 하겠다. 그만큼 Lumia 820, 920 제품의 판매가 더욱 중요한 의미를 가진다.

What's going on Europe? 상대적으로 Nokia에 대한 제품인지도가 좋은 유럽에서의 상황은 어떨까? 몇몇 인터넷 뉴스 소스에 따르면 아래와 같은 상태이다.

이탈리아에서는 iPhone 5를 제치고 Lumia 920 블랙 모델이 판매량 1위라고 한다.프랑스에서도 출시되고 바로 매진을 기록 중이다.영국에서도 출시 하루만에 매진되었다고 한다. 아래 그림에서 보듯이 출시 주에 바로 1위 판매량을 기록 중이다.독일에서도 일부 매장에서 매진을 기록하고 있다. 이 소식이 Nokia Facebook 페이지에서 공식 발표된 후 주가가 5%가량 가파르게 상승하였다.유럽은 아니지만 호주 Telstra에서도 예약 판매 하루만에 매진을 기록했다고 한다.하지만, 초기 공급 물량이 너무 적어 매진이 빨리되고 있다는 분석도 있다.
What's going on US? 현재 AT&T에서만 출시된 미국의 경우는 어…

iPhone 5 and HD Voice

Overview Apple의 Phil SchillerWideband Audio에 대해 설명하고 있다. 소위 HD Voice라고 알려진 Wideband Audio가 iPhone 5에서 지원된다고 한다. HD Voice란 무엇인지, 실제 사용자들에게는 어떤 이점이 있는지, 한국에서도 지원이 가능한지 등에 대해 살펴보도록 하자. What is HD Voice? HD Vocie는 더 깨끗한 음성통화를 가능케 하기 위해 Nokia가 개발한 기술이다.기존 휴대폰의 음성통화는 AMR (Adaptive Multi-Rate)라는 음성 코딩을 이용한다.이와 달리, HD Voice는 AMR-WB 음성 코딩을 사용하는데 WB란 Wide Band를 의미한다.즉, AMR-WB는 위 그림의 푸른색 영역과 같이 기존 AMR (노란색 영역)에 비해 더 넓은 대역의 음성을 지원할 수 있다는 것이다. 노래를 부르면 저음과 고음의 범위가 있는데 이를 음성 대역이라고 이해하면 되겠다. Sampling도 기존 8kHZ에서 16kHZ로 2배 커진다. MP3 파일의 음질도 64k, 128k, ... 점점 높아질 수록 음질이 더 깨끗한 것처럼 Sampling rate가 높으면 음질이 좋아진다.단, HD Voice의 깨끗한 음성통화를 즐기려면 무선 네트워크와 휴대폰이 모두 이 기술을 지원해야한다. 호주 사업자인 Telstra가 제공한 아래 비디오를 보면 HD Voice의 시연을 볼 수 있다.
What's about the other phones? 자. 그렇다면 iPhone 5 외에 다른 휴대폰들은 HD Vocie를 지원하지 않나? 아니다. 많은 Nokia 휴대폰이 아주 오래전부터 지원하고 있고 지난 10월 GSA 리포트에 따르면 이미 14개 회사에서 127개의 모델이 HD voice를 지원하고 있다. 대표적인 휴대폰으로는 Nokia의 Lumia 시리즈와 Samsung의 Galaxy S3등이 HD Voice를 지원한다.

How about Korea? 그렇다면, 한국에서  iPhone 5를 구매하면…

Open Source Chart for iOS

iOS 앱 개발 시 Chart 그리는데 유용한 open source 프로젝트 들.

Spider (Radar) Charthttps://github.com/wonkim/RPRadarChart Bar, Line and Pie Charthttp://code.google.com/p/core-plot/
Another onehttps://github.com/honcheng/iOSPlot

LTE AR.Drone 2.0 by NSN Smart Lab Kroea

This is demo video for flying AR.Drone 2.0 with LTE network remote controlling and video streaming.

LTE 네트워크를 이용한 AR.Drone 2.0 쿼드콥터 조종 동영상입니다. 제가 몸담고 있는 NSN Korea Smart Lab에서 데모용으로 만들어보았습니다.

LTE USB 동글을 AR.Drone 2.0 쿼드콥터에 설치하여 LTE 네트워크에 연결시키고 iPad LTE에 설치한 application에서 리모트 조정을 하게끔 구현하였습니다. (참고: NSN Korea 사무실에는 자체 LTE 실험망이 깔려 있어 iPad LTE 버전이 LTE로 동작가능합니다.)

iOS에서 Ping 구현하는 방법

네트워크에 특정 IP의 호스트가 접근가능한지 테스트하는 가장 간단한 방법은? 아마도 Ping으로 확인하는 방법?

ping www.apple.com

보통 이렇게하는 방법이 가장 쉬울 것이다. 네트워크 프로그램을 개발하다 보면 특정 호스트가 지금 접속이 가능한 상태인지 ping으로 주기적으로 테스트하는 코드가 필요할 때가 있다. iOS에서는 어떻게 구현할 수 있을까?

Mac OS X용 샘플코드로 제공되는 SimplePing을 iOS에서 사용할 수 있다. 여기에서 샘플코드를 다운로드 받자.
SimplePing의 사용방법은 간단하다. Ping하고자 하는 대상 IP 주소 혹은 host 이름을 이용하여 SimplePing 인스턴스를 생성한다.

pinger = [SimplePingsimplePingWithHostName:@"www.apple.com"];
혹은

structsockaddr_in addr; addr.sin_len = sizeof(addr); addr.sin_port = 0; addr.sin_family = AF_INET; inet_pton(AF_INET, "192.168.1.1", &addr.sin_addr); pinger = [SimplePingsimplePingWithHostAddress:[NSDatadataWithBytes:&addr length:sizeof(addr)]];
와 같이 IP address 문자열을 이용하여 ping을 시도할 수도 있다. 
SimplePing의 delegate를 지원하기 위해 SimplePingDelegate 프로토콜을 따른다고 선언해주고 delegate를 지정한 후에 start 메시지를 보낸다.
pinger.delegate = self; [pinger start];
simplePing:didStartWithAddress delegate가 호출되면 sendPingWithData 메시지를 보내 실제 ping data를 전송한다.
- (void)simplePing:(SimplePing *)pinger…

Nokia Lumia 920 Windows Phone 8 발표

오늘 뉴욕 시간 10시에 Nokia의 새로운 Windows Phone 8 모델 Lumia 920 발표가 있었습니다. 내일이면 여러 언론에서 뉴스를 전하겠지만 간단히 정리해보겠습니다.
다른 스마트폰과 비교한 카메라 화질을 보면 저녁에 찍은 사진도 또렷한 결과를 보이고 특히나 동영상의 손떨림 보정은 매우 훌륭합니다. 이를 가능하도록 한 기술이 소프트웨어를 이용한 디지털 사진 보정이 아니라 렌즈에 vibration을 보정하는 극소의 스프링을 달아 mechanic한 해결 방법이라는데요. 스마트폰의 렌즈는 너무 작아 이런 기술을 적용하기 힘든 것을 해결한 것이 Nokia의 독보적인 기술이라고 합니다. stabilisation이 좋으므로 렌즈 셔터를 오랜 시간 열어둘 수 있고 이로 인해 다른 스마트폰 카메라에 비해 5~10배 정도의 빛을 더 받을 수 있다고 하네요. (아래 사진 화질 비교)


또 한가지 눈에 들어온 데모는 super sensitive touch라는 표현을 쓰면서 보여준 touch 데모인데 두꺼운 스키 장갑을 끼고도 정확하게 touch를 수행할 수 있다는 것을 핀란드의 추운 날씨에는 꼭 필요한 기능이라면서 보여주었습니다. 개인적으로도 겨울에 장갑끼고 iPhone 터치하려면 짜증나는 경우가 있었는데 좋은 기능으로 보입니다.

이미 알려진 wireless charging 기능에 더불어 미국내 커피빈의 테이블에 wireless charging이 가능하도록 하여 커피 한잔 하면서 충전이 가능하도록 한 마케팅도 흥미롭고 또한, JBL Power Up 스피커 위에 올려놓으면 충전되도록 한 아이디어도 재미있는 기능입니다.

PureMotion HD+라는 display는 해변이나 사막에서도 또렷한 화면을 볼 수 있다는데 직접 보지 않고서는 평가하기가 어렵네요. 하지만 정말 그 정도 밝은 외부에서 또렷이 보인다면 꽤 훌륭하지 싶습니다.

PureView 카메라에 더불어 Microsoft가 Windows Phone 8에 새로이 추가한 Lens Application 개념도 흥미롭습…

애플, 삼성 소송 결과에 웃고 있는 회사는 MS?

한국 법원의 삼성 손들어주기 결과와는 다르게 미 법정에서는 철저히 애플의 완승이었다.

ZDNet: 애플 완승,  "삼성 배상액 10.5억 달러"

이 결과는 삼성이 애플의 디자인을 배껴사용하였다는 것외에도 애플의 소프트웨어에 대한 특허도 대부분 인정받아 향후 안드로이드 폰 타 제조사에도 영향을 미칠 것으로 보인다.

WSJ: Apple's victory sends fear through Android ecosystem

몇몇 유력 IT 관련 트위터리언들의 견해를 보면 이번 소송 결과로 MS와 Nokia 진영의 Windows Phone이 큰 혜택을 입을 것이라는 예측도 있다. Android와는 달리 MS의 Windows Phone이 시작 부터 Metro UI (현재는 상표권 문제로 이름이 변경되었지만)라는 iOS와는 전혀 색다른 형태를 취했고 Nokia의 Windows Phone 역시 디자인 측면에서 Apple 기기들과는 확연히 다르다. 즉, 특허 문제에 발목잡힐 일은 없다는 것.

ZDNet: The real winner in Samsung vs Apple: Microsoft?

이번 법정 드라마에서 Apple은 스마트폰 개발 시 iOS의 디자인이 아니더라도 충분히 스마트폰 개발이 가능하다는 것의 예시로 Nokia 루미아폰을 제시하였다고 한다.  올 연말 Verizon이 Nokia의 Windows Phone 8을 출시하기로 한점도 Windows Phone의 성공을 점쳐볼 관전 포인트이다.

Computerworld: Verizon will offer Nokia Windows 8 Phones

Nokia의 오늘 주식 값은 3.08 USD이다. Nokia 주식 좀 사야할까나?

참고: 어제 Nokia Lumia 920 발표가 있었다. 주식은 폭락하였다... :(

Java: n~m 사이의 random 정수 값 얻어오는 방법

아래 Stack Overflow Q&A에서 다룬 내용이다.

http://stackoverflow.com/questions/363681/java-generating-random-number-in-a-range?newsletter=1&nlcode=66478%7c80bd


// Example assumes these variables have been initialized// above, e.g. as method parameters or otherwiseRandom rand;int min, max;// nextInt is normally exclusive of the top value,// so add 1 to make it inclusiveint randomNum = rand.nextInt(max - min +1)+ min;

min, max 사이의 값으로 random 정수 값을 얻고자 할 때는 위와 같은 코드를 작성하면 된다.

How to install OpenGrok on MacOS X?

OpenGrok은 OpenSolaris 프로젝트의 일부로 만들어진 소스 코드 검색 및 참조 툴 이다. Java로 개발되었기 때문에 Linux, Windows, Mac OS X 등 Java를 지원하는 운영체제에서 모두 사용이 가능하다. Mac OS X (Lion 버전)에 설치 시 OpenGrok 문서의 지침외에 몇가지 주의해야할 점이 있어 블로그에 정리해둔다.


JDK 1.6 버전 이상 설치OpenGrok 다운로드 (플랫폼 independent binary 버전을 받는다)MacPorts를 설치한다.터미널에서 "sudo port install ctags"를 실행한다.터미널에서 "sudo port install tomcat6"를 실행한다.터미널에서 "OPENGROK_TOMCAT_BASE=/opt/local/share/java/tomcat6 sudo -E ./OpenGrok deploy"를 실행한다.Tomcat 서비스를 시작한다. (sudo tomcatctl start)터미널에서 "JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home sudo -E ./OpenGrok index ~/Workspace/"와 같이 실행한다. 마지막 인자는 인덱싱하려는 소스 코드가 있는 path를 지정해준다.Index 되는 동안 기다린다. (소스 코드 분량이 많으면 오래 걸린다. 드라마나 한편 보도록 하자.)Indexing이 완료되면 브라우저에서 127.0.0.1:8080/source를 연다

Enjoy OpenGrok!


Android: Robotium을 이용한 Twitter 테스팅

Robotium은 Android SDK가 제공하는 테스팅 프레임워크를 더 편하게 사용할 수 있도록 해준다. Robotium을 사용하여 개발중인 프로그램의 테스트도 가능하지만 다른 개발자의 프로그램도 자동화 테스트가 가능하다. (예를 들어, Twitter 프로그램이 네트워크에 미치는 영향을 평가해보기 위해 자동화를 할 필요가 있을 수 있다)

이 글에서는 Twitter Android 클라이언트를 Robotium을 사용하여 실행하고 간단한 사용자 동작을 자동화하는 방법에 대해 살펴보겠다.

1. Twitter Client API 파일 다운 받기

http://www.apkdot.com/download.php?url=http://www.apkdot.com/apk/Twitter_3.1.1.apk

2. APK 파일을 debug certificate으로 사인하기

테스트하려는 대상과 테스트 프로그램이 서로 다른 certificate으로 사인되어있으면 테스트 수행이 불가하다. 이를 해결하기 위해 Twitter APK 파일을 내가 가진 certificate으로 다시 사인해주어야한다.

APK 파일의 압축을 푼다. ZIP 포맷이므로 확장자를 ZIP으로 바꾸고 압축을 푼다.META-INF 폴더를 삭제한다.다시 ZIP으로 압축한 후 APK 확장자로 변경한다.jarsigner로 APK 파일을 signing한다.jarsigner -keystore ~/.android/debug.keystore -storepass android -keypass android twitter-3.1.1.apk androiddebugkeyzipalign을 실행한다. zipalign 4 twitter-3.1.1.apk twitter-3.1.1-aligned.apk최종 생성된 twitter-3.1.1-aligned.apk를 사용할 것이다.

3. APK 파일 설치
Android 에뮬레이터에 APK 파일을 설치한다. Emulator를 실행하기 위해 emulator -avd <device name> 명령을 터미널에서 수행…

Google: App Engine 1.6.5 릴리즈

http://googleappengine.blogspot.com/2012/04/app-engine-165-released.html

Google App Engine 1.6.5 버전이 나왔다. 위 블로그 글을 보면 어떤 기능들이 추가되었는지 확인가능하다.  간단히 살펴보면 다음과 같은 기능들이 추가되었다.

Projection Query가 가능 (SELECT field1, field2 FROM entity ORDER BY field2 와 같은 query)Entity group에 version 메타데이터 정보가 추가됨Python 개발자를 위한 @db.transactional 데코레이터가 추가됨Images API가 Google Cloud Storage에 저장된 이미지를 사용할 수 있다Request Header에 사용자의 IP 주소에 기반한 위치 정보를 제공한다
개인적으로 간단한 Web App (물론, 복잡한 것도 개발 가능)을 개발해서 돌리기에는 Google App Engine만큼 편리한 방법도 없는 듯. 개인적으로 만들어본 GAE 기반 application site 링크를 참고로 걸어본다. Books of the Week - New York Times에서 선정한 주간 베스트셀러 목록을 보여주는 siteStacktistics - Stackoverflow의 Q&A 질문 개수를 기준으로 프로그래밍 기술의 인기도를 보여주는 site

Cloud: Google Drive & Cloud Storage 전성시대

어제 Google Drive가 발표되었다. 아래 동영상을 잠깐 감상해보자.



Google Drive는 5 GB의 Cloud Storage를 모든 사용자에게 무료로 제공한다. 또한, Google Docs와 같은 Google의 서비스도 데이터를 Google Drive로 저장하여 관리하도록 변경된다. 앞으로 더 많은 Web 기반 어플리케이션이 Google Drive에 통합될 것으로 보인다.

비슷한 시기에 Microsoft도 SkyDrive용 Windows, Mac OS X용 preview client 버전을 발표하였다. 이미 많은 사용자를 확보한 DropBox를 비롯하여 정말 Cloud Storage 전성시대이다.

많은 옵션 중 어떤 것을 선택해서 사용해야할까? Cloud Storage 서비스들에 대해 간단히 비교해보도록 하자.

Google Drive5 GB free space (100 GB / $50)Windows, Mac, Android, iOS (soon) 클라이언트 지원SDK 지원Microsoft SkyDrive7 GB free space (100 GB / $60)Windows, Mac, iOS, Windows Phone 클라이언트 지원Preview SDK 버전 지원Amazon Cloud Drive5 GB free space (100 GB / $100)Web interface only. No official client Windows and Mac OS X 클라이언트 지원SDK 지원 안함. 아마도 Amazon S3와 겹치는 서비스라 그런듯...DropBox2 GB free space (100 GB / $199)사진 및 비디오 자동 동기화 기능을 위해 추가로 3 GB까지 무료 용량 제공Windows, Mac, Linux, iOS, Android, BlackBerry 클라이언트 지원SDK 지원
치열한 경쟁구도로 인해 DropBox도 앞으로 무료 용량을 늘려야할 것으로 보인다. 사실 한국 사용자들에게는 5GB 무료 용량은 별로 매력적이지 않다. 다만, 여러 서비스간…

iOS: iPhone 5 (The new iPhone?)에 적용될 Liquidmetal Demo

새로운 iPhone 케이스로 사용될 것이라는 Liquidmetal에 대한 demo 동영상이다. 서로 다른 금속으로 만든 볼이 얼마나 더 높이 그리고 오래 튕기는지 비교하고 있다. 단연, Liquidmetal이 오래가고 높이 튄다. 아마 이런 특성을 가지고 있어 높은 곳에서 떨어트려도 휴대폰에 가해지는 충격이 많이 줄어들 것이라고 보이고 금속 자체도 매우 가볍다고 한다. 더불어 가공도 플라스틱 처럼 쉽다고 하니 이쁜 디자인의 금속 케이스가 가능할 듯.

동영상 comment에 재미있는 글이 하나 있다. "Apple은 이 기술을 20M USD에 샀는데 Facebook은 Instagram에 1B USD를 썼단말이지...". ㅋㅋ

참고: http://www.liquidmetal.com/technology/ 

iOS: 오픈소스 라이브러리를 iOS에서 활용하기

Linux 개발자라면 누구나 오픈소스 라이브러리를 활용하여 S/W를 개발하게 된다. 훌륭한 라이브러리가 많으므로 이를 iOS 프로그램 개발에도 이용할 수 있다면 좋을 것이다.

Apple이 제공하는 문서 중 Unix 개발 환경에서 Mac OS X으로 전향 시 도움을 주기 위한 가이드는 존재하는데 GNU Build를 사용한 오픈소스 라이브러리를 iOS용으로 사용하는 방법에 대한 문서는 없다.

그래서, 구글에서 관련 자료를 검색하여 실행한 방법을 블로그에 정리해두고자 한다. 참고로 개발 환경은 iOS SDK v5.1과 Xcode 4.3.1을 사용하였다. 이전 버전이나 추후 버전에서는 문제가 있을 수도 있음을 미리 공지한다.

1. Open Source 라이브러리 얻기
XML 파싱을 위해 expat 라이브러리를 iOS 프로그램에 사용하고 싶다고 가정하자. (물론, iOS SDK에 이미 XML 라이브러리가 존재하므로 굳이 왜 이걸 쓸 필요가 있을까 싶지만 다른 오픈소스를 활용 시 expat에 의존하고 있다면 그대로 이 라이브러리를 사용하는 것이 편리할 것이다.)
우선, expat 라이브러리의 소스 코드를 Mac 컴퓨터에 다운로드 받아야 한다. 웹 페이지에서 가능하지만 wget을 쓰면 terminal에서 다운로드 받을 수 있다. (Mac OS X에 wget을 설치하는 방법에 대해서는 내가 작성한 기존 블로그 글 참고)
wget http://downloads.sourceforge.net/expat/expat-2.0.1.tar.gz
다운로드 받은 소스는 tar로 압축을 푼다.
tar xvf expat-2.0.1.tar.gz
현재 폴더에 expat-2.0.1 이라는 폴더가 생성되었을 것이다.

2. iOS 개발 환경에 맞게 configuration 하기
GNU Build를 사용한 오픈소스 라이브러리를 빌드하는 방법은 아주 쉽다. 다음과 같은 순서로 명령을 실행해주면 대부분 문제 없이 빌드되고 설치된다.
./configuremakesudo make install 위 절차가 어떤 방식으로 …