시험기간이 겹쳐 여러가지로 작성이 늦어졌다. 다국어화, 리스트뷰, 데모자료, glade를 집중적으로 보았다. 다국어화는 보다 많은 교내학생들이 사용하기 위해 자료를 찾아보았다. 일본어, 중국어(간체자, 정체자) (CJK)등의 언어는 번역이 할 수 없으나 기본적인 뼈대를 제공하여 누구든지 번역할 수 있도록 할 예정이다. FOSS에서는 gettext라는 툴을 이용하여 다국어를 지원한다. 영어를 문장을 키로 번역, 현지화된 글을 치환해 준다. 치환기준은 실행시 로케일이다. 이전 작성한 코드 수정 pk_client_set_locale(client, g_get_language_names()[0]); setlocale(LC_ALL, g_get_language_names()[0]); 을 차라리 아래와 같이 하여 저런..
Packagekit을 전체적으로 테스트 해보았다. 스터디 이전에 집에서 사용하는 리눅스 테스크탑에서 코드를 작성하고 테스트 해보았다. include해야하는 헤더파일이 달랐으나 일단은 작동하였다. 처음에는 아래와 같이 진행하였으나 #include #include 로 하는 것이 맞았다. 공식문서에 include 문 없이 코드 스니펫만 있어서 어려웠다. vim, vscode에서 설정을 해주지 않으면 자동 추천기능이 자동하지 않아 오랜만에 공식문서를 참고하여 작성하였다. GIO관련 프로그래밍이 처음이기에 async 기능을 쓰기 위해 glib, gio 스니펫을 보고 작성을 하게 되었다. Gio는 GTK쪽에서 개발한 이벤트 기반 프로그래밍을 C에서 구현이 가능하게 만들어주는 라이브러리로 C에서 GTK, GLib 등..
첫 주의 스터디에는 그동안 GTK나 DBUS에 대하여 모아둔 정보들을 항목마다 링크를 추가한 문서에 새로운 링크를 추가하고 대략적인 설계를 진행하였다. 대략적인 프로젝트 진행 목적 및 이 프로젝트를 진행하면서 배워야 할 내용들을 정리하였다. 국민대 소프트웨어 단과대에서 지정한 표준환경을 구축해주는 GUI앱을 제작하는 것이 이번 프로젝트의 목표이다. GUI 툴킷은 GTK+로 정하고 패키지 관리를 맡아줄 PackageKit을 이용하여 패키지관리 서비스를 제공할 예정이다. 기반이 되는 D-BUS와 Linux에서 GUI화면이 어떻게 보여지는 지에 대한 이해와 MVP와 같은 디자인패턴을 습득할 것이다. 이번 프로젝트의 목적이 저학년생들의 환경구축에 대한 도움이기에 설치가 간단한 Debian package를 사용할..