기본 콘텐츠로 건너뛰기

10월, 2010의 게시물 표시

2010년 3Q 휴대폰 시장 점유율 - IDC 자료

ZDNet 기사에서 가져온 자료입니다. 노키아, LG가 수세이고 삼성과 Apple이 1, 3위 자리를 넘보고 있군요. 물론, Apple이 3위 자리를 차지하려면 아직 4% 이상 gap이 있지만요... RIM도 Apple과의 경쟁이 힘겨워 보이네요.

UPDATE:
가트너가 발표한 자료도 함께 올려봅니다. 순위는 같지만 점유율에서는 차이를 보이는군요. 특히, 상위 3 업체의 점유율은 모두 떨어진 것으로 보이며 Apple, RIM, HTC와 같은 스마트폰 업체들의 점유율이 한결같이 상승한 것을 보여주고 있습니다.

참고자료:
애플, 세계 휴대전화 시장에서 4위로 올라서휴대폰 ‘빅3’ 희비쌍곡선…노키아 ‘흐림’·삼성 ‘활짝’·LG ‘울상’Apple iPhone leafrogs BlackBerry in smart phone rankings2010년 2Q 휴대폰 시장 점유율 - 가트너

iOS: iPhone용 계산기 프로그램 만들어보기

이 내용은 Stanford 대학에서 제공한 "Developing Apps for iOS"의 강의 내용을 참고하여 작성한 것임을 밝힌다.

2012/2/22 - Xcode 4.3 (iOS 5.0) 기준으로 업데이트!

Stanford의 강의 내용이 좋지만 영어의 장벽때문에 좌절하고 있을 개발자 분들에게 약간이나마 도움이 되었으면 하는 마음과 내 스스로 정리한다는 차원에서 해당 강좌를 듣고 내용을 정리해보고자 한다. 이 강의는 iTunes University에서 "Developing Apps for iOS"로 직접 검색하여 "Building a simple calculator"라는 제목의 동영상을 통해 볼 수 있다.

원래 이 Stanford 강의의 목적은 기본적인 iOS 프로그램 개발과 MVC 구조에 대한 이해를 돕는 것이다. 아직 기초 단계의 강의라 메모리 해지 등에 대해서는 신경쓰지 않고 진행한다.

1. Xcode에서 새로운 프로젝트 생성
Xcode를 구동한 후 iOS의 Single view application으로 Calc라는 이름의 새로운 프로젝트를 만들자. (Storyboards는 사용하지 않는다.)

2. MVC에서 M에 해당하는 Model 소스를 추가
좌측의 Calc 폴더에서 context menu를 뛰우고 New File...을 선택한다. New File 다이얼로그에서 Objectiv-C class를 선택하고 이름을 CalcBrain이라고 하자. CalcBrain.h와 CalcBrain.m 파일이 생성된다. (.m 파일은 .c 로 생각하면 된다.) CalcBrain은 계산기 구현에 필요한 model을 담당할 파일들이다.

3. CalcBrain.h에 instance variable과 instance method를 선언
계산기 model에 필요한 데이터와 동작을 header 파일에 선언한다.
#import <Foundation/Foundation.h> @interface CalcBrain : NSO…

Java: 쓸만한 Java 라이브러리 목록

Java로 프로그램을 개발하다 어! 이건 어떻게 짜지라는 의문이 생길 때 한번쯤 참고할 만한 라이브러리들을 찾아보고자 한다. 앞으로 찾아서 계속 리스트에 추가할 예정. 시간이 허락하면 정말 관심가는 라이브러리는 좀 더 파보고 블로그에 정리해두도록 하자!

이 글을 보시는 분들 중 자신이 사용해본 혹은 알고계신 Java 라이브러리 댓글로 추천 부탁드립니다.

Google Data Java Client구글 서비스를 이용한 프로그램을 작성할 수 있다Google Guava 콜랙션 등 Google의 기본 Java 라이브러리JavaMail APISMTP, POP, IMAP등 이메일 프로그램을 개발할 수 있다 Flying SaucerXHTML, CSS등을 rendering하는 API ITextPDF 문서를 처리하기 위한 API Java OpenAL OpenAL의 Java binding API. 3D 사운드 구현Java OpenGLOpenGL의 Java binding API. 3D 그래픽 구현 Java OpenCLOpenCL의 Java binding API. GPU의 power를 Java에서 활용JMonkey3D 그래픽 API Lucene정보 처리를 위한 indexing, search 라이브러리Apache POI MS Office 문서 처리를 위한 라이브러리 Java Media Framework멀티미디어 처리를 위한 라이브러리 JUnit자동화된 Unit 테스트를 위한 라이브러리 OpenDSDirectory Service를 위한 라이브러리 JiBXXML binding to Java. Java 객체를 XML로 XML에서 Java 객체를 생성LombokJava POJO 코드 작성 시 지루하게 반복되는 코드 패턴을 annotation을 사용하여 제거해주는 도구

Java: IBM joins OpenJDK 에 관련된 뉴스들...

원문: http://www.infoq.com/news/2010/10/ibm-joins-openjdk

Oracle이 Java 생태계를 발전시키기 위해 손발 걷고 뛰고 있음이 확실해보인다. IBM이 Apache Harmony 프로젝트에서 손떼고 Oracle의 OpenJDK 프로젝트를 지원한다고 밝혔다.

아래 참고 기사들을 살펴보면 Java에 대한 불확실성이 걷히고 더 많은 발전을 할 것임을 확신하는 것과 더불어 Google Android 진영이 직면한 위기(?)에 대해 이야기하고 있다.

참고:
오라클-IBM, 자바 공동 개발한다. - ZDNet Korea오라클-IBM 자바 협력, 구글 안드로이드 어찌하오리까? - ZDNet Korea IBM backs Oracle against Apache and Google's Android - Register IBM and Oracle vs. Android? Good luck with that - ZDNet Blog Oracle-IBM pact cuts Android off at the knees - InfoWorld An Unexpected Pleasure - Life at Eclipse Blog IBM joining OpenJDK: repeat after me "pragmatic" ... - Sacha's WeblogGoogle 실시간 검색 for IBM + OpenJDK Oracle outlines plans for Java Platform - Oracle OpenJDK 빌드 환경 셋업 - My Blog

Who is really winning the smartphone race?

Gizmodo에 재미있는 기사가 있어서 그대로 그림만 옮겨와 봅니다.

이 그림의 Samsung, LG의 market share growth 부분은 smart phone만 포함한 것인가요? 그렇지는 않은 듯... 원문 기사를 참고하세요.

Android: gdb를 이용한 Dalvik VM 디버깅

Dalvik VM 혹은 Android의 시스템 일부를 수정하다 보면 GDB를 이용하여 디버깅이 필요한 경우가 있다. 이 글에서는 Dalvik VM의 내부를 수정한 경우를 가정하여 GDB로 어떻게 디버깅이 가능한지 (간단히) 정리해보도록 하겠다.

1. Dalvik VM 코드 수정 및 빌드
Dalvik의 인터프리터 성능을 향상시키기 위해 ARMv5용 코드를 수정한다고 가정하자. 관련 코드는 Dalvik의 vm/mterp/armv5te에 있는 header, footer 소스를 수정하거나 혹은 mterp/out 폴더에 있는 InterpAsm-armv5te.S를 수정하면 될 것이다. (mterp의 전반적인 구조에 대해서는 mterp의 README.txt 파일을 참고하도록 하자.)

수정한 Dalvik VM을 에뮬레이터 환경으로 빌드하는 방법은 내가 작성한 예전 블로그 글을 참고하시기 바란다. 또한, 빌드한 system image를 Android SDK에 엮어서 사용하기 위한 방법은 이 글을 참고하시길 바란다.


2. 테스트를 위한 Android 프로그램 실행
Android SDK와 Eclipse가 설치되어 있다면 내가 수정한 Dalvik VM 코드가 정상적으로 동작하는지 확인하기 위해 간단한 예제 Android 프로그램을 작성하여 에뮬레이터에서 실행해보자. 이 과정을 수행하기 전에 1번의 과정(Dalvik 수정/빌드 및 빌드한 system image를 Android SDK에 복사하는 과정)을 마쳐두어야 한다.


3. adb shell을 이용하여 GDB server 구동
에뮬레이터에서 실행되고 있는 Android 프로그램에 GDB를 연결하여 Dalvik VM을 디버깅하기 위해서는 우선 에뮬레이터에서 GDB server를 구동해주어야 한다.
android sdk의 tools 폴더에 있는 adb로 adb shell을 실행한다. (adb에 대한 자세한 설명은 Google 문서를 참고하시길) adb shell에서 내가 작성한 예제 프로그램의 pid를 확인하기 위해 ps 명령어를 실행한다…

Java: OpenJDK 빌드 환경 셋업

JavaOne 2010에서 Oracle은 OpenJDK 프로젝트를 계속적으로 지원할 것을 천명하였다. OpenJDK는 Java SE SDK의 오픈소스 프로젝트로 앞으로 출시될 JDK 7도 OpenJDK 프로젝트를 통해 개발이 이루어지고 있다.

OpenJDK 프로젝트를 이용하여 새로이 나올 JDK 버전의 기능을 미리 확인해 볼수도 있고 내부 코드의 구현 방법을 살펴보면서 Java 프로그래밍 능력을 향상시키는 기회로 삼을 수도 있을 것이다. 더 나아가 Java 발전에 직접 기여하는 뜻깊은 일을 해볼 수 있을지도 모른다.

이 글에서는 OpenJDK를 Windows XP 환경에서 빌드하는 방법에 대해 설명해보고자 한다.

1. Tools
Windows에서 OpenJDK를 빌드하기 위해서 Cygwin이 필요하다. Cygwin 설치 시 다음과 같은 package들을 설치하도록 한다.
binutils - GNU assembler, linker, binary utilitiesmake - GNU makem4 - UNIX macro processor (GNU version)cpio - Manage archive of filesawk - Text processing languagefile - File type checkzip - zip utilityunzip - unzip utilityprocps - Get free and used memory space of systemmercurial 만일 cygwin의 make 버전이 3.81이라면 3.78 ~ 3.80 사이의 버전을 사용하여야 한다. make -v로 3.81 버전으로 판명되면 여기서 make.exe를 다운로드 받아 cygwin/bin 폴더의 make.exe를 대치하여 사용한다.

OpenJDK workspace를 clone하기 위해서는 Mercurial에 Forest라는 extension이 필요하다.
hg clone http://bitbucket.org/pmezard/hgforest-crew 위와 같은 명령을 cygwin shel…