GNOME3ApplicationDevelopmentBeginnersGuide:Preface
- 서문
서문
이 서적은 Vala와 Javascript 프로그래밍 언어를 이용한 GNOME3 애플리케이션의 개발에 관한 책이다. 이는 GNOME3 플랫폼에서 GTK+, Clutter, HTML5 애플리케이션을 빌드하도록 안내한다. 데이터 접근, 멀티미디어, 네트워킹, 파일시스템과 같이 GNOME 3에 특정적인 하위시스템을 다룬다. 뿐만 아니라 지역화(localization)나 테스팅과 같은 훌륭한 소프트웨어 공학 실제를 다루기도 한다.
본문에서 다룰 내용
제 1장, "GNOME3와 SDK 설치하기" 에서는 GNOME3와 소프트웨어 개발 키트를 자주 사용되는 Linux 배포판에서 설치하는 것을 논한다.
제 2장, "무기 준비하기" 에서는 본문에 사용된 통합 개발 환경과 사용자 인터페이스 디자이너, 즉 Anjuta와 Glade의 기본적인 사용을 논한다.
제 3장, "프로그래밍 언어" 는 Vala의 기본 내용과 Seed를 이용한 JavaScript 프로그래밍을 다룬다. Vala와 JavaScript에 익숙하지 않은 독자라면 뒤에 실린 장들을 이해하는 데 기반이 되는 내용이다.
제 4장, "GNOME 코어 라이브러리 사용하기" 는 GNOME 코어 라이브러리에서 자주 사용되는 기능을 안내할 것이다.
제 5장, "그래픽 사용자 인터페이스 애플리케이션 빌드하기" 는 GTK+와 Clutter를 이용해 GUI 애플리케이션을 빌드하는 단계를 설명한다.
제 6장, "위젯 생성하기" 는 처음부터 GTK+ 위젯을 생성하는 방법을 설명한다. 이번 장은 위젯의 확장과 맞춤설정에 관해 논한다.
제 7장, "멀티미디어 즐기기" 에는 GStreamer에 관한 방대한 정보가 포함되어 있다. 멀티미디어 스트림을 다루고 필터를 스트림으로 적용하는 것에 관해 다룬다.
제 8장, "데이터 다루기" 에서는 TreeView API 패밀리로 데이터를 표현하는 것을 설명한다. 데이터 표현을 표시하는 동시 Evolution Data Server로부터 데이터를 얻는 것을 논한다.
제 9장, "GNOME을 통해 HTML5 애플리케이션 활용하기" 에서는 WebKit를 GTK+ 애플리케이션에 넣는 방법을 설명한다. WebKit에서 실행되는 JavaScript가 Vala로 쓰인 백엔드 시스템과 대화하도록 만들 수 있는 JavaScriptCore 라이브러리에 대해 논하겠다.
제 10장, "데스크톱 통합" 은 GNOME3 데스크톱과 정확히 통합하는 애플리케이션의 생성에 관해 논한다. 또한 D-Bus, 세션 관리, 키링(keyring), 런처, 알림 서비스도 다룬다.
제 11장, "애플리케이션 국제화하기" 에서는 GNOME3 애플리케이션에서 국제화와 지역화를 논한다. 그에 더해 지역화 과정의 제안을 제공하기도 한다.
제 12장, "품질이 좋으면 모든 게 쉬워진다" 는 단위 테스팅(unit testing)과 스터빙(stubbing)에 관해 논한다. GTK+ 애플리케이션과 GUI가 아닌 애플리케이션의 테스트를 다룬다.
제 13장, "흥미로운 프로젝트" 는 웹 브라우저와 Twitter 클라이언트를 빌드하기 위해 두 가지 흥미로운 프로젝트를 제공한다. 앞에 소개한 장들에서 학습한 측면들을 많이 다루고 두 프로젝트에서 사용한다.
무엇이 요구되는가
기본 수준의 객체 지향 프로그래밍 지식을 요구한다. Vala 또는 JavaScript에 대한 사전 지식이 있다면 더 즐거운 경험이 될 것이다. 본문의 내용을 따라 하기 위해서는 Fedora, openSUSE, Ubuntu, 또는 Debian 기반의 Linux 배포판(권장)의 최신 버전을 설치하도록 한다.
누구를 위한 책인가
이 책은 배포 플랫폼으로 GNOME3을 사용하고자 하는 소프트웨어 개발자에게 적합하다. GNOME3 라이브러리 중 다수는 Linux, OSX, Windows에서도 이용할 수 있으므로 다중 플랫폼 애플리케이션을 생성하려는 개발자에게 유용한 책이 되겠다.
규약
여러 개의 제목이 자주 사용될 것이다. 프로시저 또는 작업을 완료하는 방법에 대한 명확한 설명을 제공하기 위해 아래를 이용하겠다.
실행하기 - 제목
- Action 1
- Action 2
- Action 3
지침에는 종종 의미를 풀어놓은 추가 설명이 필요하므로 아래와 같은 내용이 따라온다.
무슨 일이 일어났는가?
이 제목은 방금 완료한 작업이나 지침의 결과물을 설명한다. 본문에서 찾을 수 있는 학습 보조물로는 다음이 포함된다.
팝 퀴즈 - 제목
이해도를 검사할 수 있도록 짧은 선택형 질문이 제공된다.
시도해보기 - 제목
실용적인 과제를 통해 학습한 내용을 실험하도록 개념들을 제공한다.
정보의 유형을 구별하는 여러 스타일의 텍스트를 발견할 것이다. 이러한 스타일의 예제와 그 의미를 설명해보겠다.
텍스트에 코드의 단어는 "Modify configure.ac to include WebKitGTK+ into the project.(WebKitGTK+가 프로젝트에 포함되도록 configure.ac를 수정하라.)"는 식으로 표시된다.
코드의 블록은 아래와 같이 설정된다.
using GLib;
using Gtk;
using WebKit;
public class Main : WebView
{
public Main ()
{
load_html_string("<h1>Hello</h1>","/");
}
static int main (string[] args)
{
Gtk.init (ref args);
varwebView = new Main ();
var window = new Gtk.Window();
window.add(webView);
window.show_all ();
Gtk.main ();
return 0;
}
}
모든 명령행 입력이나 출력은 아래와 같이 쓴다.
LANGUAGE=id LC_ALL=id_ID.utf8 src/hello-i18n
새로운 용어 나 중요한 단어 는 볼드체로 표시한다. 화면에 메뉴 또는 대화상자 박스를 통해 표시되는 단어는 "Click Continue, finish the setup of GTranslator and go ahead and open the id.po file using its menu.(Continue 를 누르고, GTranslator 의 셋업을 완료한 후 그 메뉴를 이용해 id.po 파일을 연다.)"와 같이 나타난다.
경고 또는 주요 사항은 이렇게 박스 안에 싣겠다. |
팁이나 트릭은 이와 같이 표시된다. |
독자 피드백
독자로부터 피드백은 언제나 환영이다. 책을 읽고 난 후 어느 부분이 좋은지, 어느 부분이 마음에 안 드는지 알려주길 바란다. 독자들의 피드백은 독자들이 최대한으로 활용할 수 있는 제목을 만드는 데 매우 중요하다.
일반적인 피드백은 책 제목을 이메일 제목으로 하고 메시지를 작성하여 feedback@packtpub.com 으로 보내주길 바란다.
전문적으로 학습하고 싶은 주제가 있을 경우, 또는 이 책을 쓰는 데나 기여하는 데 관심이 있다면 http://www.packtpub.com/authors 에서 저자 안내문을 확인하도록 한다.
고객 지원
이제 Packt 서적을 소유했으니 최대한으로 활용하도록 도울 일만 남았다.
예제 코드 다운로드하기
계정을 통해 구입한 Packt 서적에 실린 예제 코드 파일은 모두 http://www.packtpub.com 에서 다운로드할 수 있다. 다른 곳에서 구매했다면 http://www.packtpub.com/support 를 방문하여 등록하면 파일이 본인의 이메일로 직접 전송될 것이다.
오식
내용의 정확도를 보장하기 위해 최대한으로 주의를 기울였지만 실수가 일어나기도 한다. 자사의 출판물에서 텍스트 또는 코드에 실수가 발견될 경우 보고해준다면 매우 감사하겠다. 이를 통해 다른 독자들의 불편함을 덜고, 앞으로 출판될 버전들이 개선되도록 도와줄 것이다. 어떤 실수든 http://www.packtpub.com/submit-errata 를 방문해 책을 선택하고 erratasubmissionform 링크를 클릭하여 상세한 내용을 기입해주길 바란다. 오식이 확인되면 제출 내용이 수용되어 본사의 웹사이트로 업로드되거나, Errata라는 제목으로 된 섹션에 실린 기존의 오식 리스트에 추가될 것이다.
저작권 침해
어떤 매체든 인터넷상에서 저작권 보호 자료의 침해 문제는 계속해서 발생한다. Packt에서는 저작권과 라이센스의 보호를 매우 심각하게 취급한다. 인터넷에서 어떠한 형태로든 자사 제품의 불법 복사본이 발견되면 법적 방책을 마련할 수 있도록 즉시 자료를 사용하는 위치의 주소나 웹사이트명을 알려주길 바란다.
저작권을 침해한 것으로 의심되는 자료의 링크는 copyright@packtpub.com 으로 보내주길 바란다.
저자의 권리, 그리고 독자에게 귀중한 자료를 제공할 수 있는 자사의 능력을 보호하도록 도와주는 독자들에게 감사의 말을 전한다.
질문
책과 관련해 문제가 생길 시 questions@packtpub.com 으로 연락을 준다면 최선을 다해 답하도록 하겠다.