Mobile

[타이젠] (10) 타이젠 플랫폼 개발

OSS 2014-04-08 14:56:39 15363
2014
임베디드월드

글: 서주영 | seojuyung2@gmail.com / 2014-02-04






타이젠은 리눅스 기반 범용 오픈소스 플랫폼이다. 삼성전자와 인텔이 주도적으로 개발에 참여하고 있지만, 타이젠은 오픈소스인 만큼 누구나 프로젝트에 참여할 수 있게 개방되어 있다. 지금까지는 이미 만들어져 있는 타이젠 플랫폼을 활용하는데 초점을 맞췄다면 이번 호에서는 타이젠 플랫폼 자체를 개발하는데 참여하는 방법을 설명한다.


[연재 차례]

1. 타이젠, 리눅스 기반 오픈소스 플랫폼
2. 타이젠 SDK(1)
3. 타이젠 SDK(2)
4. 타이젠 플랫폼의 이해
5. 타이젠 웹 애플리케이션 개발(1)
6. 타이젠 웹 애플리케이션 개발(2)
7. 타이젠 네이티브 애플리케이션 개발(1)
8. 타이젠 네이티브 애플리케이션 개발(2)
9. 타이젠 개발자 서밋 코리아 2013
10. 타이젠 플랫폼 개발



타이젠 시리즈 (10)

타이젠 플랫폼 개발



EFL 오픈소스 공식 개발자로 활동하고 있으며 현재 삼성전자 소프트웨어 센터에 재직 중이다. 긍정의 힘을 믿으며 사랑스러운 아내와 귀여운 딸 지우와 함께 행복하게 사는 것이 인생의 목표이다. 프로그래밍을 할 때 기쁨을 느끼며 개발자가 천직이라 생각하는 만년 개발자이다. EFL 및 타이젠 관련 정보를 공유하는 개인 블로그 seoz.egloos.com을 운영하고 있다. 결혼 전까지 모터사이클에 미쳐있던 라이더이기도 하다.


오픈소스 타이젠


타이젠은 플랫폼 자체의 소스코드가 공개되어 있다. 누구나 타이젠에 들어있는 모듈의 소스코드를 열람할 수 있다. 하지만 일반적으로 단지 소스코드가 공개되어 있다고 해서 오픈소스라고 하지 않는다. 라이선스를 준수하는 한 해당 코드를 응용 및 재배포가 가능해야 하며 공개된 장소에서 프로젝트의 방향성과 미래를 논할 수 있어야 한다.


오픈소스 이니셔티브(Open Source Initiative) 단체에서는 약 10개 항목으로 오픈소스를 정의하고 있는데[참고1], 타이젠은 리눅스 재단 주관 프로젝트인 만큼 이러한 오픈소스의 의미를 충실히 따르는 오픈소스다.



[그림 1] OSI 로고(출처: 위키피디아)


필자는 오픈소스의 핵심을 두 가지로 꼽는다. 첫 번째는 소스코드 공개이며 두 번째는 투명한 커뮤니티이다. 소스코드 공개는 해당 오픈소스의 소스코드 및 개발 과정이 공개되어 있어야 함을 의미한다. 투명한 커뮤니티란 해당 프로젝트가 어떻게 진행되고 있는지 미래의 방향성이 무엇인지 공개가 되어 있어야 함을 의미한다. 이번 호에서는 타이젠 소스코드 및 타이젠 커뮤니티를 모두 다룬다.


타이젠 플랫폼 개발 웹사이트


타이젠 플랫폼 개발에 참여하려면 일단 타이젠 플랫폼 개발 웹사이트[참고2]에 접속하자. 타이젠 플랫폼 개발 웹사이트에는 타이젠 소스코드 링크, 스냅샷 링크, 코드 리뷰 시스템 링크, 개발 문서 링크 등 플랫폼 개발에 필요한 다양한 링크가 있다.


또한 타이젠 웹사이트는 영어, 프랑스어, 일본어, 한국어 등을 지원하기 때문에 국내 개발자들은 한국어로 된 컨텐츠를 접할 수 있다.



[그림 2] 타이젠 플랫폼 개발 웹사이트(출처: 타이젠 웹사이트)


소스코드


타이젠 플랫폼 개발 웹사이트에서 소스코드 링크[참고3]를 클릭해보자. 해당 웹 페이지에는 타이젠에 사용되고 있는 모든 소스코드의 저장소 링크가 있다. 저장소 목록이 많기 때문에 페이지를 읽는 시간이 오래 소요될 정도로 타이젠에는 많은 모듈이 있다.


타이젠은 분산 버전 관리 시스템인 Git[참고4]을 이용해 소스코드를 관리한다. 각 저장소는 1.0_post, 2.0alpha, tizen_2.0, tizen_2.1, tizen_2.2, tizen 등의 브랜치(branch)가 있으며 해당 브랜치를 선택(checkout)하는 것만으로 원하는 배포 버전의 소스코드를 쉽게 확인할 수 있다. tizen 브랜치는 타이젠 3.0의 기반이 될 브랜치다. 그림4는 WRT(웹런타임) 저장소의 브랜치 목록을 나타낸다.


앞서 설명한 타이젠 소스코드 링크 페이지는 git-web 도구를 이용해 웹에서 git을 살펴보는 기능을 제공한다. 이는 타이젠 연재 4호 '타이젠 플랫폼의 이해(2013년 8월호)'에서 다룬 적이 있다. 이번 호에서는 직접 자신의 우분투(리눅스 배포판 중 하나) PC에 소스코드를 다운로드 받아본다.



[그림 3] 타이젠 소스코드 목록(출처: 타이젠 웹사이트)



[그림 4] WRT git branch(출처: 자체 제작)


타이젠 계정 생성


타이젠 플랫폼 개발을 위해서 가장 먼저 할 일은 타이젠 웹사이트의 계정을 생성하는 것이다. 이 계정을 통해 소스코드를 PC에 다운로드 받을 수 있고, 게릿(Gerrit) 시스템에 패치를 올릴 수 있으며, 포럼에도 참여할 수 있다.
그림5와 같이 타이젠 웹사이트 오른쪽 상단의 계정 신청 링크[참고5]를 클릭해 간단히 회원 가입을 한다.


개발 환경 구축


타이젠 웹사이트 계정을 생성하고 나면 본격적으로 개발 환경을 구축할 수 있다. 가장 먼저 할 일은 게릿 시스템에 계정을 등록하는 일이다. 게릿은 구글에서 만든 코드 리뷰 도구이다.


타이젠은 패치를 보내고 코드 리뷰를 받기 위해 게릿 시스템을 사용한다. 우선 게릿 사이트[참고6]에 접속하여 설정 페이지에서 이름 및 이메일을 등록한다. 등록한 이메일로 인증 메일이 전송되면 이를 확인하여 인증 과정을 진행한다.



[그림 5] 타이젠 웹사이트 회원 가입(출처: 타이젠 웹사이트)


다음은 SSH 공개 키를 게릿 시스템에 등록해야 한다. 만약 자신의 PC에 SSH 공개 키가 이미 있는 경우라면 게릿 시스템 설정 페이지에 SSH 공개 키를 등록하면 된다.


SSH 공개 키가 없는 경우 표1과 같이 커맨드라인에서 ssh-keygen 명령어를 이용해 공개 키 및 개인 키를 생성한다. 그리고 생성한 공개 키(기본 위치는 홈 디렉터리 내 .ssh/id_rsa.pub 파일)의 내용을 게릿 웹사이트 SSH 공개 키 등록란에 등록한다.


[표 1] SSH 키 생성

$ ssh-keygen


다음은 PC 상에 타이젠을 위한 SSH 설정을 한다. 표2와 같이 홈디렉터리의 .ssh 안에 config 파일에 타이젠 사이트 및 사용자 이름, 포트 번호 등을 기입한다. {계정이름} 부분에 자신의 타이젠 웹사이트 계정을 입력한다.


[표 2] SSH 설정

$ vi ~/.ssh/config
Host tizen
Hostname review.tizen.org
User {계정이름}
Port 29418


이제 추가적인 개발 도구를 설치할 차례다. 우분투 12.04 사용자라면 표2와 같이 패키지 저장소 이름을 추가하고 gbs 및 mic 도구를 설치한다. GBS(Git Build System)는 Git에 기반한 빌드 시스템으로 타이젠에서 소스코드를 컴파일하고 패키지를 만들 때 사용하는 도구다.


MIC(MIC Image Creator)는 타이젠 플랫폼 이미지를 생성하는 도구다. 추후에 사용할 수 있으니 미리 설치해두자.


[표 3] 타이젠 도구 패키지 저장소 추가

$ sudo vi /etc/apt/sources.list
deb http://download.tizen.org/tools/latest-release/Ubuntu_12.04 /
$ sudo apt-get update
$ sudo apt-get install gbs misc


소스코드 다운로드


개발 환경까지 구축했다면 이제 원하는 소스코드를 다운로드 받아 보자. 여기서는 예제로 WRT 및 app-core, 네이티브 UIFW을 다운로드 받아보겠다. 표4와 같이 자신의 타이젠 계정 및 원하는 패키지의 저장소 주소를 입력해서 git clone 명령어를 실행하자.


앞서 설명한 SSH config 파일을 설정한 경우 표5와 같이 간단히 git clone을 실행할 수 있다. 만약 git이 설치되지 않은 경우 표6과 같이 git을 미리 설치하고 기본적인 설정을 해준다. 프록시를 사용하는 네트워크 환경이라면 적절한 프록시 설정을 해줘야 한다. 이 부분은 타이젠 웹사이트의 개발 환경 구축 페이지를 참조하기 바란다.


소스코드를 다운받은 후 원하는 브랜치로 이동(checkout)해서 소스코드를 살펴본다. WRT를 예로 들면, 가장 최근에 작업 중인 브랜치는 tizen이기 때문에 표7과 같이 tizen 브랜치로 이동해서 파일 및 로그를 살펴본다.(그림6)



[그림 6] WRT git 로그(출처: 자체 제작)


[표 4] 타이젠 소스코드 다운로드

$ git clone ssh://{계정}@review.tizen.org:2941 8/{저장소 주소}
예) git clone ssh://seoz@review.tizen.org:2941 8/platform/framework/web/wrt
예) git clone ssh://seoz@review.tizen.org:2941 8/platform/core/appfw/app-core
예) git clone ssh://seoz@review.tizen.org:2941 8/platform/framework/native/uifw


[표 5] 타이젠 소스코드 다운로드(SSH config가 설정된 경우)

$ git clone tizen:{저장소 주소}
예) git clone tizen:/platform/framework/web/wrt
예) git clone tizen:/platform/core/appfw/app-core
예) git clone tizen:/platform/framework/native/uifw


[표 6] Git 설치 및 설정

$ sudo apt-get install git
$ git config --global user.name "{이름}"
예) git config--global user.name "Daniel Juyung Seo"
$ git config --global user.email {이메일}
예) git config--global user.email seojuyung2@gmail.com


[표 7] WRT git 둘러보기

$ cd wrt
$ git checkout tizen
$ ls
$ git log


그런데 타이젠에는 각 모듈별로 다양한 카테고리에 저장소가 있다.


예를 들어 WRT만 해도 framework/web/wrt.git, platform/framework/w eb/wrt.git, profile/ivi/wrt.git과 같이 세 개의 저장소가 있는데 이 중 어느 저장소를 사용해야 할지는 메일링 리스트나 IRC에 질문을 하거나 해당 모듈 리뷰어에게 직접 질문을 할 수도 있다. 각 모듈별 리뷰어는 타이젠 웹사이트의 리뷰어 명단[참고8] 페이지에 기술되어 있다.


소스코드 수정


자, 이제 소스코드를 받았으니 직접 코드를 수정해서 컨트리뷰션을 해보자. 누구나 직접 타이젠의 코드를 수정하고 반영할 수 있다는 사실만으로 흥미로운 일이다.


여기서는 예제로 필자가 커미터로 활동하고 있는 오픈소스 EFL의 elementary 라이브러리를 수정해보겠다.


elementary는 타이젠의 코어 프레임워크 내 UIFW에 사용되는 위젯 라이브러리다. 코드 수정에 앞서 git의 commit hook을 설정해야 한다. Git 저장소가 있는 디렉터리에서(예: wrt 혹은 elementary 등) 표8의 명령어를 입력하면 자동으로 commit hook을 다운로드 받는다. {계정}이라고 되어 있는 부분에 자신의 계정을 입력하자.


[표 8] Git commit hook 다운로드


gitdir=$(git rev-parse --git-dir); scp-p -P 29418 {계정}@review.tizen.org:hooks/commit-msg ${gitdir}/hooks/
예) gitdir=$(git rev-parse --git-dir); scp -p -P 29418 seoz@review.tizen.org:hooks/commit-msg ${gitdir}/hooks/

이제 코드를 수정한 후 로컬에서 git commit 명령어를 이용해 커밋을 만들자. 커밋을 할 때 --signoff 옵션을 추가해야 한다. 코드를 수정했다면 gbs 도구를 이용해 컴파일 후, 테스트 기기나 에뮬레이터에 설치해서 테스트할 수 있다.
우선 표9와 같이 홈 디렉터리에 .gbs.conf라는 파일을 만들고 내용을 입력한다.


여기서는 타이젠 2.2 기반으로 작업을 하는 예를 보여준다.


[표 9] .gbs.conf 설정 파일 수정

$ vi .gbs.conf
[general]
tmpdir=/var/tmp/
profile = profile.tizen2.2
work_dir=.
[repo.tizen2.2]
url = http://download.tizen.org/releases/2.2/tizen-2.2/
[profile.tizen2.2]
repos=repo.tizen2.2


그리고 표10과 같이 소스코드를 수정한 git에서 gbs build 명령을 내리면 PC에서 해당 모듈을 컴파일해서 rpm 패키지를 만들게 된다. 이 때 -A 인자는 아키텍처를 의미하며 테스트 기기용으로 컴파일하는 경우 armv7l을, 에뮬레이터용으로 컴파일하는 경우는 i586을 입력하자.


[표 10] gbs로 컴파일 하기

$ gbs build -A armv7l --include-all


gbs 명령 실행 종료 후 소스코드를 컴파일한 결과물의 위치를 알려준다.
이곳에 있는 rpm을 테스트 기기나 에뮬레이터에 설치해서 테스트를 하면 된다.
표11은 sdb 도구를 이용해 테스트 기기에 rpm 패키지를 설치하고 기기를 재부팅하는 과정을 보여준다.


[표 11] rpm 설치 후 테스트 기기 재부팅

$ sdb push elementary*.rpm /tmp
$ sdb root on
$ sdb shell rpm -Uvh /tmp/elementary*.rpm
$ sdb sync
$ sdb reboot


패치 보내기


소스코드를 수정하고 컴파일한 후 테스트까지 마쳤다면 작업한 코드를 타이젠 오픈소스에 보내보자. 이 때 게릿 시스템을 사용하게 된다. 표12와 같이 git push를 하게 되면 게릿 시스템으로 소스코드가 전송이 되고 자동으로 리뷰어가 추가된다.



[그림 7] 게릿에 올린 패치(출처: 타이젠 웹사이트)


여기서 마지막의 tizen은 브랜치 이름을 의미하는 것으로 tizen 브랜치는 일반적으로 타이젠 3.0 개발 브랜치를 의미하지만, 각 모듈 별로 사용하는 브랜치 이름이 다를 수 있으므로 작업에 앞서 브랜치 이름을 먼저 확인하자. git push를 하게 되면 그림7과 같이 게릿 웹사이트에서 자신의 패치를 확인할 수 있다.


[표 12] git push를 이용한 패치 보내기

$ git push origin HEAD:refs/for/tizen


전체 소스코드 다운로드


Repo 도구를 이용하면 타이젠 플랫폼 전체 소스코드를 다운로드 받을 수 있다. 우선 표13과 같이 repo 도구를 설치한다. 이제 표14와 같이 repo init 및 repo sync 명령어를 이용해 타이젠 3.0의 기반이 되는 tizen 브랜치를 다운로드 받아 보자.


역시 SSH config 파일을 설정한 경우라면 계정 정보나 포트 번호 없이 명령어를 더 간단히 입력할 수 있다.


[표 13] repo 도구 설치하기

$ mkdir ~/bin/
$ PATH=~/bin:$PATH
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ sudochmoda+x ~/bin/repo


[표 14] tizen 브랜치 다운로드

$ repo init -u ssh://{계정}@review.tizen.org:2 9418/scm/manifest -b tizen
예) repo init -u ssh://seoz@review.tizen.org:2 9418/scm/manifest -b tizen
예) repo init -u tizen:/scm/manifest -b tizen
$ repo sync


타이젠 커뮤니티


타이젠은 오픈소스 프로젝트로서 갖춰야 할 기본적인 의사소통 도구를 제공하고 있으며 이는 타이젠의 커뮤니티 페이지[참고9]에 기술되어 있다.


타이젠 플랫폼 개발에 참여하려면 커뮤니티 참여는 필수적이다. 참고로 타이젠 웹사이트에 커뮤니티 가이드라인[참고10]이 제시되어 있어 무분별한 커뮤니티 사용을 방지하고 있으니 반드시 가이드라인을 먼저 읽어보도록 하자.



[그림 8] 메일링 리스트 목록(출처: 타이젠 웹사이트)


타이젠 커뮤니티는 이미 연재 1호 '타이젠, 리눅스 기반 오픈소스 플랫폼(2013년 5월호)'에서 소개한 적이 있으니 이번 호에서는 실제로 커뮤니티 활동을 하는 방법을 설명한다.


메일링 리스트


타이젠은 공개적인 의사소통을 위한 채널로 메일링 리스트를 제공한다. 메일링 리스트는 다수 사용자에게 메일을 보내는 서비스로 질의응답 및 의사결정 등에 대한 이야기가 주로 다뤄진다. 타이젠은 공지, 일반, 컴플라이언스, 개발, 애플리케이션 개발, 제품 개발 등 다양한 주제의 메일링 리스트를 제공하고 있다. 타이젠 메일링 리스트 목록은 그림8[참고11] 웹 페이지에서 확인할 수 있다.


필자는 이 중 최근 가장 활발하게 운영되고 있는 개발(Dev) 메일링 리스트를 구독하기를 권한다. 개발 메일링 리스트는 타이젠 개발과 관련된 일반적인 이야기를 나누는 메일링 리스트이며 하루에도 수십 개의 메일이 오고 간다.


그림8의 메일링 리스트 목록에서 Dev 링크를 클릭하면 그림9와 같은 개발 메일링 리스트 가입 페이지[참고12]로 접속된다. 이메일 주소, 이름, 임의의 비밀번호를 입력하면 기입한 메일 주소로 확인 메일이 온다. 확인 메일의 링크를 클릭하면 인증이 완료되며 이제부터 타이젠 개발 메일링 리스트로 오는 모든 메일을 실시간으로 받아볼 수 있으며 대화에도 참여할 수 있다. 메일링 리스트에 메일을 보내려면 우선 구독을 해야 하며, 개발 메일링 리스트의 경우 주소로 메일을 보내면 자동으로 메일링 리스트를 구독하는 모든 사람에게 메일이 전송된다.


다른 사람이 보낸 메일에 답장을 보내려면 단순히 메일의 답장 쓰기 기능을 이용하면 되는데, 이 때 반드시 전체 답장(Reply to All) 기능을 사용하기 바란다. 앞서 설명한 개발 메일링 리스트 외에 일반(General), 공지(Announcement) 등의 메일링 리스트에 가입해두는 것도 도움이 된다. 만약 수많은 메일이 부담이 된다면 메일 다이제스트(Digest) 기능을 활용하는 것도 방법이다.


그림9의 메일링 리스트 가입 페이지에 다이제스트로 수신하기를 'Yes'로 선택하면 여러 메일을 하나로 묶어서 보내준다.



[그림 9] 개발 메일링 리스트 가입 페이지(출처: 타이젠 웹사이트)


IRC


메일링 리스트는 공개적으로 의사 결정을 하고 질의응답을 나누는 중요한 의사소통 통로지만, 다른 사람의 답장을 받아야 다시 답변을 보낼 수 있어 실시간 의사소통으로는 부족한 단점이 있다. 이에, 대부분의 오픈소스는 IRC(Internet Relay Chat) 채팅 기능을 제공하고 있으며 타이젠도 마찬가지로 IRC 채널을 제공한다. IRC 클라이언트는 리눅스 사용자라면 xChat을 추천하고 안드로이드 휴대폰 사용자라면 AndChat을 추천한다.


그림11은 리눅스에서 xChat IRC 클라이언트를 이용해 타이젠 IRC 채널에 접속해 있는 모습이다. 표15와 같이 xChat 프로그램을 설치하고 실행하자. 프리노드 서버(irc.freenode.net)의 6667번 포트(혹은 8001 등의 포트도 가능)로 접속해 #tizen 채널로 접속하자.


참고로 프리노드는웹챗[참고13] 기능을 제공하고 있어서 IRC 클라이언트 설치 없이 바로 웹으로도 IRC에 접속할 수 있다.


[표 15] xChat IRC 클라이언트 설치 및 실행

$ sudo apt-get install xchat
$ xchat



[그림 10] 개발 메일링 리스트 아카이브(출처: 타이젠 웹사이트)



[그림 11] 타이젠 IRC 사용 장면(출처: 자체 제작)


위키 페이지


타이젠은 그림12와 같이 수많은 사람들이 참여하는 공동 편집 백과사전인 위키 페이지[참고14]를 제공한다. 누구나 참여해 타이젠 관련 정보를 업데이트할 수 있으며, 위키 페이지에는 타이젠 관련 정보들이 잘 정리되어 있다.


위키 페이지를 업데이트하는 것도 타이젠에 공헌하는 행위로 볼 수 있다. 타이젠 계정을 이용해 로그인 후 문서를 수정해보자.


[사진 12] 타이젠 위키 페이지(출처: 타이젠 웹사이트)


포럼


포럼은 우리에게 익숙한 게시판 형태의 질의응답 장소다. 그림13과 같이 일반 지원, 웹 애플리케이션 개발, 네이티브 애플리케이션 개발, SDK 및 IDE와 관련된 포럼이 있으며, 수많은 질의응답이 이루어지고 있다.


포럼에 올라오는 질문 및 답변을 읽는 것만으로도 타이젠 공부가 될 수 있고, 답변을 다는 행위도 역시 타이젠에 공헌하는 행위로 간주된다.


[사진 13] 타이젠 포럼(출처: 타이젠 웹사이트)


이슈 관리 시스템


타이젠은 이슈 관리 시스템으로 지라(Jira)[참고16]를 사용한다. 사이트에 접속해 타이젠 계정으로 로그인을 한 후 버그를 신고할 수 있다. 그림14와 같이 지라 사이트에는 다양한 이슈가 올라오고 있으며 제기된 문제들이 해결되는 모습을 공개적으로 확인할 수 있다.



[그림 14] 타이젠 이슈 관리 시스템(출처: 타이젠 웹사이트)


필자는 지라 사이트에 이슈를 등록하는 것도 타이젠 플랫폼 발전을 위한 공헌 활동이라 생각한다. 메일링 리스트, IRC, 위키 페이지, 포럼, 이슈 관리 시스템 등 타이젠 커뮤니티에 참여할 수 있는 방법은 다양하고 여기서 도움도 받을 수 있다.


모두 중요한 도구지만 필자는 오픈소스에 참여하고 싶은 사람이라면 적어도 메일링 리스트나 IRC에서 활동해보길 권한다. 여기에 올라오는 글을 읽는 것만으로도 타이젠에 대한 공부가 될 것이다.


특히 메일링 리스트에 여러분만의 아이디어를 제시하고 피드백을 받게 된다면 개발자로서 짜릿한 경험이 될 것이다.


마치며


지금까지 총 10회에 걸쳐 타이젠 플랫폼 자체, SDK, 웹 애플리케이션 개발, 네이티브 애플리케이션 개발, 타이젠 개발자 서밋 코리아 2013, 플랫폼 개발 등에 대해 알아봤다. 타이젠에 대한 정보가 너무 부족한 상황에서 개발자들에게 조금이나마 도움이 되길 바라는 마음에 시작한 연재가 벌써 마지막 회를 맞았다.


짧지 않은 여정이었지만, 지면상 전달하지 못한 부분이 많아 아쉬움이 남는다.


이 아쉬움은 필자의 블로그를 통해 채울 예정이다. 필자도 타이젠 개발에 참여하고 있는 만큼 타이젠을 사용한 기기들이 많이 나왔으면 하는 바람이 있으며 독자 여러분도 타이젠을 통해 새로운 기회를 얻고 이윤을 창출하길 바란다.




참고

[1] http://opensource.org/osd
[2] https://source.tizen.org/
[3] https://review.tizen.org/git/
[4] http://git-scm.com/
[5] https://www.tizen.org/user/register
[6] http://review.tizen.org/gerrit
[7] https://source.tizen.org/documentation/developer-guide/environment-setup
[8] https://source.tizen.org/documentation/articles/tizen-source-code-reviewers
[9] https://www.tizen.org/community
[10] https://www.tizen.org/community/guidelines
[11] https://lists.tizen.org/listinfo
[12] https://lists.tizen.org/listinfo/dev
[13] http://webchat.freenode.net/
[14] https://wiki.tizen.org/wiki/Main_Page
[15] https://developer.tizen.org/forums
[16] https://bugs.tizen.org/jira/secure/Dashboard.jspa




/필/자/소/개/

필자

서주영 | seojuyung2@gmail.com

EFL 오픈소스 공식 개발자로 활동하고 있으며 현재 삼성전자 소프트웨어 센터에 재직 중이다. 긍정의 힘을 믿으며 사랑스러운 아내와 귀여운 딸과 함께 행복하게 사는 것이 인생의 목표이다. 프로그래밍을 할 때 기쁨을 느끼며 개발자가 천직이라 생각하는 만년 개발자이다. EFL 및 타이젠 관련 정보를 공유하는 개인 블로그 seoz.egloos.com을 운영하고 있다. 결혼 전까지 모터사이클에 미쳐있던 라이더이기도 하다.





※ 본 내용은 (주)테크월드(http://www.embeddedworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
    Copyright ⓒ Techworld, Inc. 무단전재 및 재배포 금지

맨 위로
맨 위로