If you can't read please download the document
Upload
serkan-kaba
View
3.320
Download
5
Embed Size (px)
Citation preview
Ak Kaynak Kodlu Yazlm Gelitirme
Ak Kaynak Kodlu Yazlm Gelitirme
Bilgisayar Yksek MhendisiSerkan KABA
[email protected]@gentoo.org
Ak Kaynak Kodlu Yazlm Ne Deildir?
Bir gazetenin internet sitesinde yerald gibi bir yazlmn ad deildir.
Sadece koda eriim demek deildir.
Ak Kaynak Kodlu Yazlm Nedir?
Ak kaynak kodlu yazlmlar Ak Kaynak nsiyatifi (Open Source Initiative) tarafndan belirlenen kriterlere uymaldr.http://opensource.org/docs/osd
Projelere Nasl Katk Salayabilirim?
Kullanma/Test etme
Belgeleme
eviri
Sorun bildirme
Sorunlar giderme
Gelitirme
Nasl letiim Kurabilirim?
E-posta
E-posta listeleri
IRC
Blog
http://www.gentoo.org/main/en/lists.xmlhttp://groups.google.com/group/zemberek_dev
Kullanma/Test Etme
Program kullanrken karlatnz sorunlar gzard etmeyin. Unutmayn ki gzard ederseniz o hatadan kurtulma ansnz azalr.
Karlatnz sorunla ilgili arama yapn. Ayn ya da benzer sorunla sizden nce karlam biri olabilir.
n srmleri deneyin. Hatalar kararl srmden nce yakalayabilirsiniz.
Belirlenmi bir test sreci varsa katln.(Pardus: http://tinyurl.com/cm9hxm)
Belgeleme
Katk salamak iin yazlm gelitirme kod yazabilmeye de ihtiya yok.
Gndelik kullandnz programlarla ilgili kapsaml dkmanlar ya da basit nasl belgeleri hazrlayabilirsiniz.
Kullanm dkmanlar (Guide/Manual)
Nasl belgeleri (Howto)Bir kullanm senaryosu zerine olabilir.
Kurulum aamalarn anlatabilir.
Ak kaynak kodlu yazlmlar hali hazrda pek ok belge iermektedir. Bu belgeleri dilimize kazandrabilirsiniz.
eviri/Yerelletirme
ou program i18n (internationalization) destekli tasarlanr. Programn dier dillere evrilmesi ise yerelletirme (localization l10n) olarak adlandrlr.
Kullandnz herhangi bir program i18n destekliyor ve Trke evirisi yok ise bu da katkda bulunmak iin bir frsattr.
Ayrca daha byk projeler iin eviri takmlar da oluturulmutur.KDE Trkiye, GNOME Trkiye, Mozilla Trkiye, OpenOffice.org Trkiye
Launchpad Translations
https://translations.launchpad.net/
Sorun Nedir?
Sorundan kast "bug" kelimesi deildir. Bu sunumda kullanlan sorun kelimesi daha ok "issue" kelimesini karlamaktadr.
Sorun gerek anlamda derlenmeme, hatal alma, hi almama gibi bir problem olabilir.
Yeni bir zellik istei olabilir.
Belgelemelerle ilgili gncelleme, dzeltme olabilir.
Programn arayzndeki bir yazm hatas olabilir.
Sorun Bildirme - 1
Doru sorun bildirme sorunun giderilmesinde nemlidir. Bu tekrar tekrar bildirilen sorunlarn nne geer.
Sorun bir hata ise tekrar oluturulabilmesi iin mmkn olduunca bilgi verin. (Programn srm, iletim sistemi, masast ortam...)
Hatann kendisi ile ilgili bilgi verin.Hata mesaj, numaras
Varsa gnlk dosyalar
Hata detay (Gdb backtrace, Java stacktrace)
Google: "how to report a bug"http://sourceforge.net/tracker/index.php?func=detail&aid=1940695&group_id=87005&atid=581684
Sorun Bildirme - 2
Hata bildireceiniz yazlma zel hata bildirme srelerini inceleyin.Gentoo: Gentoo Bug Reporting Guide
Pidgin: Getting A Backtrace
Eer yeni bir zellik istiyorsanz genellikle o zellik ile ilgili gerekletirim beklenebilir. rnek olarak Gentoo'da yeni bir paket istiyorsanz sorun kaydna bir ebuild eklerseniz daha faydal olacaktr.
http://developer.pidgin.im/wiki/GetABacktracehttp://www.gentoo.org/doc/en/bugzilla-howto.xmlGoogle aramasnda dahas da var
Sorun Giderme
Hatay dzeltebileceinizi dnyorsanz deneyin. (Kaynaklar AIK)
Son srmn veya eriilebilir ise SCM srmn inceleyin. Hata hali hazrda giderilmi olabilir.
Son srme yama olarak gnderin. Son hali yerine yama gndermek gelitiriciye deiimleri gsterecek bylece bu srada olan dier deiimleri etkilemeyecektir.
Demo: Diff ?
Gelitirme Programlama Dilleri
Assembly
C/C++
Java
Python
Perl
Ruby
C#
Haskell, Lisp, TCL, Groovy, Clojure ....
statistikler
https://www.ohloh.net/languages/compare
Gelitirme - GUI Toolkit
AWT, Swing, SWT (Java)
GTK+, Qt, WxWidgets, Tk, FLTK, Fox...
Gelitirme Srm Ynetimi - 1
Srm ynetimiEkip olarak bir ortak proje stnde allmasna
Zaman iinde yaplan deiikliklerin kaydnn tutulmasna
Belli bir andaki haline dnlmesine
olanak salar.
Yaplan deiiklik nedir? (Diff)
Deiiklii yapan kimdir? (Committer)
Deiiklik ne zaman yaplmtr?
Gelitirme Srm Ynetimi - 2
Klasik srm ynetim sistemlerinde merkezi bir sunucu vardr. Ayn projenin deiik dallar yine ayn sunucuda tutulur.
evirim d almaz. Yaplan commitler sunucuya annda yansr.
CVS, Subversion
Gelitirme Srm Ynetimi - 3
Datk srm ynetim sistemlerinde merkezi bir sunucu olma zorunluluu yoktur. Projenin dallar farkl yerlerde (hatta yerel dosya sisteminde) barndrlabilir.
evirimd allarak birden ok commit atomic olarak sunucuya yanstlabilir.
Bazaar, Git, Mercurial, Darcs ...
Gelitirme Gelitirme Ortamlar (IDE) 1
Eclipse"Compete on the products but collaborate on the platform."
Netbeans
Kdevelop
Anjuta
Vim, Emacs
Meta-IDE
Gelitirme Gelitirme Ortamlar (IDE) - 2
Gnmzde gelitirme ortamlar pek ok programlama dilini birden destekleyebilmektedir.
Pek ok srm ynetimi ile entegrasyonlar mevcuttur.
Meta-IDE
Gelitirme - Kod Barndrma Siteleri
Sourceforge
Google Code
Launchpad
BerliOS
Java.net
Gna!
CIA.vc
Ohloh
Gelitirme Tantm
Freshmeat
GnomeFiles
http://www.gtk-apps.org/
http://www.kde-apps.org/
http://www.qt-apps.org/
http://www.java-apps.org/
http://www.opendesktop.org/
Google Summer of Code
Her yl yaz aylarnda dzenlenir.
rencilerin ak kaynakl projelere katk salamasn (kod yazarak) hedefler.
Projelerin belirledii alanlarda alabilir ya da kendi teklifinizi sunabilirsiniz.
Projeden size yol gsteren (mentor) ile alp tecrbe edinip yeni insanlar tanyabilirsiniz.
lkemizden Pardus GSOC organizasyonuna katlmaktadr.
Zemberek ile Demo
Dil Java
IDE Eclipse
Srm ynetimi Subversion
Eclipse SVN eklentisi Subeclipse
Kod barndrma Google Code
Dinlediiniz iin teekkrler
Bu sunu Creative Commons (by-nc-sa) ile lisanslanmtr.