65
Özcan Acar © 2010 Kurumsal Java Akademisi.com

Bilge Programcı - Nasıl uzman yazılımcı olunur?

Embed Size (px)

DESCRIPTION

24.3.2010 tarihinde Elazig Fırat Üniversitesi'nde yapmış olduğum Bilge Programcı - Nasıl uzman yazılımcı olunur? başlıklı seminerimin içeriği. Detaylar için bakınız: http://www.bilgeprogramci.com

Citation preview

Page 1: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Özcan Acar © 2010 Kurumsal Java Akademisi.com

Page 2: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Nasıl Uzman YazılımcıOlunur?

Özcan [email protected]

http://www.ozcanacar.comhttp://www.kurumsaljava.com

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.comÖzcan Acar © 2010 Kurumsal Java Akademisi.com

Page 3: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Özcan Acar Hakkında

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

1974 Đzmir doğumlu

Bilgisayar Mühendisi

Sun Certified Enterprise Architect (SCEA 5)

Sun Java Champion

KurumsalJava.com ve JugTR.org kurucusu

Özcan Acar © 2010 Kurumsal Java Akademisi.com

Page 4: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Özcan Acar Đletişim

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

http://www.twitter.com/oezcanacar

http://www.friendfeed.com/oezcanacar

[email protected]

Özcan Acar © 2010 Kurumsal Java Akademisi.com

Page 5: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Özcan Acar Hakkında

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.comÖzcan Acar © 2010 Kurumsal Java Akademisi.com

Page 6: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Tasarım şablonu nedir?

Interface / Abstract sınıf nedir?

Oluşturucu Tasarım Şablonları

Factory, Abstract Factory, Builder, Prototype, Singleton

Yapısal Tasarım Şablonları

Adapter, Bridge, Facade, Decorator, Composite, Flyweight, Proxy

Davranışsal Tasarım Şablonları

Command, Memento, Strategy, Iterator, State, Observer, Visitor

Java Tasarım Şablonları ve Yazılım Mimarileri

Özcan Acar © 2010 Kurumsal Java Akademisi.com

Page 7: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Çevik süreç nedir?

Çevik manifesto

Extreme Programming nedir?

XP değerleri ve prensipleri

Çevik proje planlaması

Çevik süreçlerde iletişim

Çevik tasarım

Sürekli entegrasyon

Test güdümlü yazılım

Yazılım metrikleri

Extreme Programming

Özcan Acar © 2010 Kurumsal Java Akademisi.com

Page 8: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

www.BilgeProgramci.com

Özcan Acar © 2010 Kurumsal Java Akademisi.com

Page 9: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Bilge Programcınedir?

Özcan Acar © 2010 Kurumsal Java Akademisi.com

Page 10: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Karateci ve Yazılımcının Ortak Yönleri Nelerdir?

Özcan Acar © 2010 Kurumsal Java Akademisi.com

Page 11: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Karate-Do‘da kuşaklar olgunlaşma ve mükemmelleşmenin sembolüdür. Bu mükemmellik sadece Karate-Do tekniklerinde değil, büyüklerine sevgi, saygı, toplum kurallarına uymak ve sahip çıkmak , hocalara sonsuz itaat, zayıfları korumak, hoşgörü, inanç, camiayısahiplenme ve tüm manevi değerler diye devam eder.

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Karate-Do Sporu

Özcan Acar © 2010 Kurumsal Java Akademisi.com

Page 12: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Karate-Do da kullanılan kuşaklar hakkındaki bu kısa açıklamadan, Karate-Do'nun sahip olduğu prensip, pratik ve ve değer sistemi hakkında fikir sahibi olmak mümkündür. Her bir üst ku şak öğrencinin takip ettiği yolda olgunlaşma seviyesinin göstergesidir. Öğrenci, geldiği seviyenin ihtiva ettiği prensip, pratik ve değer sistemini benimseyerek olgunlaşma sürecinde emin adımlarla ilerler.

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Karate-Do Sporu

Özcan Acar © 2010 Kurumsal Java Akademisi.com

Page 13: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.comÖzcan Acar © 2010 Kurumsal Java Akademisi.com

Page 14: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Karate-Do‘dan yola çıkarak Bilge Programcı için bir değer sistemi ve

uzmanlaşma metodolojisi formalize edebilir miyiz?

Özcan Acar © 2010 Kurumsal Java Akademisi.com

Page 15: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Bilge Programcılığın Reçetesi

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Değer Sistemi

Prensipler

Pratikler

Olgunlaşma Simgesi

Page 16: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Bilge Programcı Kuşakları

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensip & Pratikler

Prensip & Pratikler

Prensip & Pratikler

Prensip & Pratikler

Prensip & Pratikler

Prensip & Pratikler

Prensip & Pratikler

1. Kuşak: Beyaz

2. Kuşak: Sarı

3. Kuşak: Turuncu

4. Kuşak: Yeşil

5. Kuşak: Mavi

6. Kuşak: Kahverengi

7. Kuşak: Siyah

BP Değer Sistemi

Page 17: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Bilge Programcı Bilekliği

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 18: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Beyaz Kuşak

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensipler1. Kendi kendini yetiştirme prensibi2. Kırık cam prensibi3. DRY prensibi

Pratikler1. Đzci kuralı2. Kodun ifade gücünü artırmak3. Her gün tefekkür etmek

Page 19: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Beyaz Kuşak

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

30 gün sonra…

Sarı Kuşak

Page 20: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Sarı Kuşak

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensipler1. KISS prensibi2. Yazılım araçlarına hakim olma prensibi3. Nesneye yönelik programlama4. Yazılımda test konseptlerinden haberdar olmak

Pratikler1. Interface ve Abstract sınıfları tasarımda kullanmak2. JUnit Testleri oluşturmak3. Kalıtım yerine kompozisyon kullanmak4. Kitap okumak, kitap okumak, kitap okumak5. Kodu gözden geçirmek

Page 21: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Kitaplar

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 22: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

30 gün sonra…

Sarı Kuşak

Turuncu Kuşak

Page 23: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Turuncu Kuşak

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensipler1. Arayüz ayırma prensibi2. Bağımlılıkların tersine çevrilmesi prensibi3. Liskov'un yerine geçme prensibi

Pratikler1. Sektörün öncülerini takip etmek2. Yazılımla ilgili konferans ve seminerlere katılmak3. Versiyon kontrol sistemi kullanmak4. Test güdümlü yazılım yapmak5. Bir logging framewörkü kullanmak

Page 24: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Arayüz Ayırma Prensibi Interface Segregation Principle (ISP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 25: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Arayüz Ayırma Prensibi Interface Segregation Principle (ISP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

public class RMIConnector implements Connector{

public void commit() {

throw new RuntimeException("not implemented");}

public void rollback() {

throw new RuntimeException("not implemented");}

}

Page 26: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Arayüz Ayırma Prensibi Interface Segregation Principle (ISP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 27: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Bağımlılıkların Tersine Çevrilmesi Prensibi

Dependency Inversion Principle (DIP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 28: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Bağımlılıkların Tersine Çevrilmesi Prensibi

Dependency Inversion Principle (DIP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 29: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Liskov Yerine Geçme Prensibi Liskov Substitution Principle (LSP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Alt sınıflardan oluşturulan nesneler üst sınıfların nesneleriyle yer değiştirdiklerinde aynı davranışı göstermek zorundadırlar.

Page 30: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Liskov Yerine Geçme Prensibi Liskov Substitution Principle (LSP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

public void print(A a){

if(a instanceof B){

((B)a).printB();}else if(a instanceof C){

((C)a).printC();}

}

Page 31: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Turuncu Kuşak

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensipler1. Arayüz ayırma prensibi2. Bağımlılıkların tersine çevrilmesi prensibi3. Liskov'un yerine geçme prensibi

Pratikler1. Sektörün öncülerini takip etmek2. Yazılımla ilgili konferans ve seminerlere katılmak3. Versiyon kontrol sistemi kullanmak4. Test güdümlü yazılım yapmak5. Bir logging framewörkü kullanmak

Page 32: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

60 gün sonra…

Turuncu Kuşak

Yeşil Kuşak

Page 33: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Yeşil Kuşak

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensipler1. Tek sorumluluk prensibi2. Açık-Kapalı prensibi3. Esnek bağ prensibi

Pratikler1. Basit refactoring işlemleri yapmak2. Tasarım şablonlarını kullanmak3. Sürekli entegre etmek4. MVC framewörklerle haşır, neşir olmak

Page 34: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Tek Sorumluk Prensibi Single Responsibility Principle (SRP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 35: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Tek Sorumluk Prensibi Single Responsibility Principle (SRP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 36: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Programlar geliştirilmeye açık ama değiştirilmeye kapalıolmalıdır.

Açık Kapalı Prensibi Open Closed Principle (OCP)

Page 37: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

public void on(Object obj){

if(obj instanceof TV){

((TV)obj).tvOn();}else if(obj instanceof CDPlayer){

((CDPlayer)obj).cdOn();}

}

Açık Kapalı Prensibi Open Closed Principle (OCP)

Page 38: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Açık Kapalı Prensibi Open Closed Principle (OCP)

Page 39: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Açık Kapalı Prensibi Open Closed Principle (OCP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

private RemoteControlInterface remote;

public RemoteControl(RemoteControlInterface _remote){

this.remote = _remote;}

public void on(){

remote.on();}

public void off(){

remote.off();}

Page 40: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Stratejik Kapama

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Eğer kapama tam sağlanamıyorsa, kapamanın stratejik olarak implemente edilmesi gerekir.

Programcı implementasyon öncesi meydana gelebilecek değişiklikleri kestirerek, implemente ettiği metotların kapalılık oranını yükseltmelidir. Bu tecrübe gerektiren stratejik bir karardır.

Programcı her zaman ne gibi değişikliklerin olabileceğini kestiremeyebilir. Bu durumda konu hakkında araştırma yaparak, oluşabilecek değişiklikleri tespit edebilir. Eğer olabilecek değişikliklerin tespiti mümkün değilse, beklenen değişiklikler meydana gelene kadar beklenir ve implementasyon yeni değişiklikleri de yansıtacak şekilde OCP uyumlu hale getirilir.

Page 41: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Esnek BağLoose Coupling (LC)

Page 42: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Esnek BağLoose Coupling (LC)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 43: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Yeşil Kuşak

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensipler1. Tek sorumluluk prensibi2. Açık-Kapalı prensibi3. Esnek bağ prensibi

Pratikler1. Basit refactoring işlemleri yapmak2. Tasarım şablonlarını kullanmak3. Sürekli entegre etmek4. MVC framewörklerle hasır, neşir olmak

Page 44: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

60 gün sonra…

Yeşil Kuşak

Mavi Kuşak

Page 45: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Mavi Kuşak

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensipler1. Paket bazındakı tasarım prensipleri2. Komponent tabanlı yazılım prensibi 3. Kod konvensiyonları4. Kök neden analizi

Pratikler1. Code coverage (kod kapsama alanı) analizi yapmak2. Bilgiyi paylaşmak3. Bugtracking ve wiki kullanmak4. Katmanlı mimarileri olu şturmak5. Bulunan her bug için bir Unit test oluşturmak

Page 46: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Paket Bazında Tasarım Prensipleri

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

• Reuse-Release Equivalence Principle (REP)

• Common Reuse Principle (CRP)

• Common Closure Principle (CCP)

• Acyclic Dependency Principle (ADP)

• Stable Dependencies Principle (SDP)

• Stable Abstractions Principle (SAP)

Page 47: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Tekrar Kullanım ve Sürüm Eşitliği Reuse-Release Equivalence Principle (REP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 48: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Yeniden Ortak Kullanım PrensibiCommon Reuse Principle (CRP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 49: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Ortak Kapama PrensibiCommon Closure Principle (CCP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Aynı sebepten dolayı değişikli ğe uğrayabilecek sınıfların aynı paket içinde yer alması gerekir.

CCP daha önce incelediğimiz, sınıflar için uygulanan SingleResponsibility (SRP) prensibinin paketler için uygulanan halidir.

Her paketin değişmek için sadece bir sebebi olmalıdır.

CCP uygulandığı taktirde sistemin bakılabilirliği artırılır ve test ve yeni sürüm için harcanan zaman ve emek azaltılır.

Page 50: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Çevrimsiz Bağımlılık Prensibi Acyclic Dependency Principle (ADP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 51: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Çevrimsiz Bağımlılık Prensibi Acyclic Dependency Principle (ADP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 52: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Çevrimsiz Bağımlılık Prensibi Acyclic Dependency Principle (ADP)

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Page 53: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Mavi Kuşak

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensipler1. Paket bazındaki tasarım prensipleri2. Komponent tabanlı yazılım prensibi 3. Kod konvensiyonları4. Kök neden analizi

Pratikler1. Code coverage (kod kapsama alanı) analizi yapmak2. Bilgiyi paylaşmak3. Bugtracking ve wiki kullanmak4. Katmanlı mimariler olu şturmak5. Bulunan her bug için bir Unit test oluşturmak

Page 54: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

90 gün sonra…

Mavi Kuşak

Kahregengi Kuşak

Page 55: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensipler1. Kişiselleştirmeme prensibi2. Anlayana kadar sorma prensibi3. Kodu kırmama prensibi

Pratikler1. Inversion of Control2. Mockup nesne kullanmak3. Sürüm yönetimi yapmak4. Kompleks refactoring işlemleri yapmak5. Oluşan tüm hataları raporlamak

Kahregengi Kuşak

Page 56: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

90 gün sonra…

Kahregengi Kuşak

1. Dan Siyah Kuşak

Page 57: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensipler1. YAGNI prensibi2. Müşteriye kulak verme prensibi3. Hafif bavulla yola cıkma prensibi4. Tell, don't ask prensibi

Pratikler1. Sertifikasyon2. Çevik süreç kullanmak3. Yeni yazılım dilleri ögrenmek4. Davranış güdümlü yazılım yapmak5. Soft skilleri gelistirmek

1. Dan Siyah Kuşak

Page 58: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Soft Skill1. Takım oyunculuğu2. Đletişim becerisi3. Sorumluluk üstlenebilme4. Yönetim kompetansı5. Kreatiflik6. Zor şartlarda çalışabilme

1. Dan Siyah Kuşak

Page 59: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

1 yıl sonra…

2. Dan Siyah Kuşak

1. Dan Siyah Kuşak

Page 60: Bilge Programcı - Nasıl uzman yazılımcı olunur?

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensipler1. Kendi prensiplerini geliştirme prensibi

Pratikler1. Konferanslara sunucu olarak katılmak 2. Açık kaynaklı bir projeye katkıda bulunmak3. Açık kaynaklı bir proje geli ştirmek

2. Dan Siyah Kuşak

Page 61: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Bilge Programcı

© 2009 Kurumsal Java.comÖzcan Acar © 2009 Kurumsal Java.com

Prensip & Pratikler

Prensip & Pratikler

Prensip & Pratikler

Prensip & Pratikler

Prensip & Pratikler

Prensip & Pratikler

Prensip & Pratikler

1. Kuşak: Beyaz (30 gün)

2. Kuşak: Sarı (30 gün)

3. Kuşak: Turuncu (60 gün)

4. Kuşak: Yeşil (60 gün)

5. Kuşak: Mavi (90 gün)

6. Kuşak: Kahverengi (90 gün)

1. Dan: Siyah

Toplam:

720işgünü

Prensip & Pratikler 2. Dan: Siyah (360 gün)

Page 62: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Özcan Acar © 2009 Kurumsal Java.com

Detaylar için bakınız:

BilgeProgramci.com

Page 63: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Özcan Acar © 2009 Kurumsal Java.com

SonĐlginiz için teşekkür ederim.

Page 64: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Özcan Acar © 2009 Kurumsal Java.com

Page 65: Bilge Programcı - Nasıl uzman yazılımcı olunur?

Özcan Acar © 2009 Kurumsal Java.com

JugTR.org