Yazılım Hakkında Genel Düşünceler
- Sekiz Milyar Değişik İşletim Sistemi
- Gitflow ve Verdiği Zararlar
- Çevik Süreçler Neden Dikiş Tutturamadı
- Bilginin Evrimi
- Yazılım Dünyasının Hızlı Çözüm Üretmek İle Olan İmtihanı
- Yazılım Camiasından Son Gelişmeler ve Gidişat
- Alan Borcu (Domain Debt)
- Neden Debug Yapmak Yazılımın En Kötü Alışkanlıklarından Birisidir
- Yeni Teknolojileri Öğrenme Konusunda Nasıl Bir Yol Haritası Oluşturmalıyım?
- Neden Programcılık Harici İşlerle Uğraşmak Daha İyi Bir Programcı Olmayı Sağlar
- Zaman Eksenindeki Teknolojik Fay Hatlarının Programcılar Üzerindeki Etkileri
- Geri Dönüşü Olmayan Ünvanlar
- Yazılımda ve Yazılımcıda Çok Boyutluluk
- Temel Prensipler Yazı Serisi – Yazılımda Şemsiye Modeli
- Kıymeti Bilinmeyen Eskimiş Bilginin Kıymeti
- Daha İyi Bir Programcı Olmak İçin Sınırlar Nasıl Zorlanmalı?
- Karadelikler, Soyutluk ve Yazılım
- Paralel Evrenlerin Programcıları
- Neden Frontend ve Backend Programcısı Tarihe Karışıyor
- Yazılımcıların Performansı Nasıl Ölçülür?
- Nasıl Usta Programcı Olunurmuş
- Programcıların Besleyip, Büyüttükleri Canavar
- Yazılımcı Olarak Daha İyi ve Usta Olmak Mecburiyetindesiniz
- Merkezi Versiyon Yönetim Sistemlerinde Sürüm Almak İçin İş Akışı Nasıl Şekillendirilir?
- Programcının Evrimi
- Kod Kalitesi Denince Akla Gelenler
- Kod Redaktörlügü
- Yazılımda Otopilot
- 20 Yaş, 30 Yaş, 35 Yaş ve Bugünki Programcı Ben
- Neden Spring, JPA ve Diğer Çatılar ÖğrenilmeMEli
- Versiyon ve Sürüm Numaraları Nasıl Oluşturulur?
- Hangi Programlama Dilini Öğrenmeliyim?
- Teknik Borç Nedir ve Nasıl Ödenir?
- Başkalarının Kodu Okunarak Daha İyi Programcı Olunabilir mi?
- Çok Gezen mi Bilir, Çok Okuyan mı?
- Yazılımda Geviş Getirme Taktiği Nasıl Uygulanır?
- Yazılımcılığın Ne Olduğunu Anlamamış Bilgisayar Mühendisi
- Başlama ve Bitirme Kriterleri
- 5 Adımda Daha Kaliteli Yazılım Testleri
- Müşteri Gereksinimlerini Anladığımızdan Nasıl Emin Olabiliriz?
- Programcının Hayatını Kolaylaştıran 18 Alışkanlık
- Sözde Lean!
- En Basit Çözümü Oluşturma Yetisi Nasıl Kazanılır?
- Dağın Ayağına Gelmesini Bekleyen Birisi
- 500 Beygir Gücünün Hazin Sonu
- Ne Zaman Başımız Göğe Erer?
- Kitap Okumanın Önemi
- Koddan Korkan Programcı
- Alışkanlıkların Gücü
- Kim Senior Programcıdır?
- Açık Kaynağa Destek
- TeletAPI’nin API’si
- Alet İşler, El Övünür
- Cahilliğime Verin
- Açık Sözlü Programcı
- Programcılık Çıtası Yükseliyor
- Organizasyonel Değişim
- Neden Fonksiyonel Programlamayı Öğrenmek Zorundayız
- Nasıl Arkadaş Kazanır ve Diğer İnsanları Etkilersiniz
- Ayakta Alkışlıyorum
- Copy/Paste Programcı
- Test Edebilme Uğruna Her Şey Mübahtır!
- Deneme Yanılmanın Bedeli
- Veresiye Satan Yazılımcı
- Uzman ve Usta Yazılımcı Arasındaki Fark
- Böyle Girişimcilik Olmaz!
- Göz Boyamaca
- Acı Çekmeden Üstad Olunmaz
- Detayları Görebilmek Ya Da Görememek
- Yazılımda Çeviklik İflas mı Etti?
- Gezen Defterin Hikayesini Biliyor musunuz?
- Kataların Eşli Programlanması
- Bilgisayar Mühendisi mi, Yazılım Mühendisi mi?
- Kod A.Ş. – Kod Anonim Şirketi
- Bugün Neler Ögrendim?
- Ultra Lüks
- Neden Her Programcının Bir Blog Sayfası Olmalı?
- Benlik Güden Programcılar
- Melek Programcılar ve Şeytan Yatırımcılar
- Yeni Bir Programlama Dilini Öğrenmenin En Kolay Yolu
- Mantığın Köleleri
- Matrix’de Yaşayan Programcılar
- Meğer Neymişiz!
- Programcıyım, Yönetici Değil!
- Programcılık Sanat mı, Zanaat mı?
- Ekibin Dikkati ve Saygısı Nasıl Kazanılır?
- Eşli Programlama, Code Review, Code Retreat ve Adada Yaşayan Programcılar
- İnşaat ve Yazılım Mühendisleri Arasındaki Fark
- Battı Balık Yan Gider
- Kod Kata ve Pratik Yapmanın Önemi
- Çevikliğin Böylesi
- Programcılar yazar olsalardı keşke!
- Yazılım Maketleri
- Kim Daha İyi Programcı?
İleri Java
- Java 9 ile Modül Bazlı Yazılım
- JVM Nasıl Çalışır Yazı Serisi – Java Just In Time Compiler (JIT) Nasıl Çalışır?
- JVM Nasıl Çalışır Yazı Serisi – JVM Stack Nedir ve Nasıl Çalışır?
- JVM Nasıl Çalışır Yazı Serisi – Java Dilinde Neden Göstergeçler (Pointer) Yok?
- JVM Nasıl Çalışır Yazı Serisi – Çalışan Bir Java Uygulamasında Bytekod Nasıl Değiştirilir?
- JVM Nasıl Çalışır Yazı Serisi – Java String Nesnelerinin Hafıza Kullanımı Nasıl Azaltılır?
- Standart Java API’ler Neden Tercih Edilmeli?
- JVM Nasıl Çalışır Yazı Serisi – Java Hotspot, Assembly Kod, Hafıza Bariyerleri ve Volatile Analizi
- Java Generics Get ve Put Prensibi
- Java’da Bilinmeyenler
- JVM Nasıl Çalışır Yazı Serisi – Old Generation Parallel Garbage Collector Hatası
- JVM Nasıl Çalışır Yazı Serisi – Çöplerin Efendisi
- Matrix’de Yaşayan Programcılar
Extreme Programming
- Çevik Süreçler Neden Dikiş Tutturamadı
- Yazılım Dünyasının Hızlı Çözüm Üretmek İle Olan İmtihanı
- Alan Borcu (Domain Debt)
- Yeni kitabım Pratik Agile
- Agile Türleri
- Yazılımda Çeviklik İflas mı Etti?
- Çevikliğin Böylesi
- Test Güdümlü Yazılımın Tasarım Üzerindeki Etkileri
- Extreme Programming Hakkında Bazı Soru ve Cevapları
- Neden sürekli entegre edilmeli?
- Çevik Sürece Geciş Nasıl Olmalı?
- Türkiye’nin İlk Extreme Programming Konulu Kitabı
- XP Plan Poker Kartları
- Extreme Programming Bünyesinde Proje Planlaması
- Çevik Süreç Nedir?
- Sürekli Entegrasyon (Continuous Integration)
- Test Güdümlü Yazılım – Test Driven Development (TDD)
- Extreme Programming Nedir?
- Extreme Programming Kitabı Kodları
Test Driven Development
- Ne Zaman Test Güdümlü Yazılım Yapmalıyım?
- Test Güdümlü Yazılımın Tasarım Üzerindeki Etkileri
- Test Güdümlü Yazılım – Test Driven Development (TDD)
Yazılım Mimarisi
- Standart Java API’ler Neden Tercih Edilmeli?
- Yazılım Maketleri
- BizimAlem.com – Bir Sistemin Tasarlanış Hikayesi
Tasarım Şablonları (Design Patterns)
- Decorator Tasarım Şablonu
- Java Enum ile Singleton Tasarım Şablonu
- Intercepting Filter Tasarım Şablonu
- Builder Tasarım Şablonu
- Service Locator Tasarım Şablonu
- Business Delegate Tasarım Şablonu
- Chain of Responsibility Tasarım Şablonu
- Front Controller Tasarım Şablonu
- Flyweight (Sinek Siklet) Tasarım Şablonu
- Proxy (Vekil) Tasarım Şablonu
- Facade (Cephe) Tasarım Şablonu
- Command (Komut) Tasarım Şablonu
- Adapter Tasarım Şablonu
- Strategy (Strateji) Tasarım Şablonu
- Iterator (Tekrarlayıcı) Tasarım Şablonu
- Data Access Object (DAO) Tasarım Şablonu
- Singleton (Tekillik) Tasarım Şablonu
- Tasarım Şablonu Nedir?
Tasarım Prensipleri
- Sorumluluk Sahibi Olmak
- SOLID
- Stable Abstractions Principle (SAP) – Stabil Soyutluk Prensibi
- Stable Dependencies Principle (SDP) – Stabil Bağımlılıklar Prensibi
- Acyclic Dependency Principle (ADP) – Çevrimsiz Bağımlılık Prensibi
- Common Closure Principle (CCP) – Ortak Kapama Prensibi
- Common Reuse Principle (CRP) – Ortak Yeniden Kullanım Prensibi
- Reuse-Release Equivalence Principle (REP) – Tekrar Kullanım ve Sürüm Eşitliği
- Interface Segregation Principle (ISP) – Arayüz Ayırma Prensibi
- Dependency Inversion Principle (DIP) – Bağımlılıkların Tersine Çevrilmesi Prensibi
- Liskov Substitution Principle (LSP) – Liskov’un Yerine Geçme Prensibi
- Open Closed Principle (OCP) – Açık Kapalı Tasarım Prensibi
- Loose Coupling (LC) – Esnek Bağ Tasarım Prensibi
- Single Responsibility Principle (SRP) – Tek Sorumluk Tasarım Prensibi
Refactoring
- Kataların Anası
- Parametrik Konstruktör (Parameterize Constructor)
- Yeni Sınıf Oluşturma (Extract Class)
- Koşullu Mantığın Komut İle Değiştirilmesi (Replace Conditional Dispatcher With Command)
- Metodu Metot Nesnesine Dönüştürme (Replace Method with Method Object)
- Refactoring Oturumu (Video)
- Geçici Değişkenlerin Sorguya Dönüştürülmesi (Replace Temp with Query)
- Parametrele Değer Atamasının Kaldırılması (Remove Assignments to Parameters)
- Yeni Metot Oluşturma (Extract Method)
- Koşulları Parçalarına Ayırma (Reverse Conditional)
Püf Noktası
- IDL Compiler
- Subclipse Şifresi
- Maven2 ve OutOfMemory
- Java Compiler Versiyonu
- Covariant Return Types
- DBUnit JUnit Entegrasyonu
- HSQLDB ve JUnit Entegrasyonu
- JPA Anotasyonları ve Dinamik Tablo İsmi
- Apache ile Tomcat Arasında Reverse Proxy Oluşturma
- UML’i Sevmeyenler İçin
- Embedded Jetty
- JAXB ile Java-XML Mapping
- Hibernate Session Problemi: Illegal attempt to associate a collection with two open sessions
- Eclipse ile Java EE Ear Projesi
Proje Günlüğü
Performans
- JVM Nasıl Çalışır Yazı Serisi – Java String Nesnelerinin Hafıza Kullanımı Nasıl Azaltılır?
- JVM Nasıl Çalışır Yazı Serisi – Old Generation Parallel Garbage Collector Hatası
- JVM Nasıl Çalışır Yazı Serisi – Çöplerin Efendisi
- BizimAlem.com – Java İle Yüksek Performanslı Web Platformu
- Web Aplikasyonlarında Yüksek Performans için Caching Mekanizmaları
Open Source
Yazılım Testleri
- Temel Prensipler Yazı Serisi – Yazılımda Şemsiye Modeli
- Eclipse Altında Birim ve Entegrasyon Testleri Nasıl Ayrı Koşturulur?
- 5 Adımda Daha Kaliteli Yazılım Testleri
- Birim Testlerinde Beklentilerimi Daha Net Nasıl İfade Edebilirim?
- Ne Zaman Test Güdümlü Yazılım Yapmalıyım?
- Test Güdümlü Yazılımın Tasarım Üzerindeki Etkileri
- Yazılımda Değişik Test Türleri
- Test Edilebilir Tasarım
- Yazılım Test Türleri
KurumsalJava Seminerleri
- K.Maraş Sütçü İmam Üni. – Bilge Programcı – Nasıl Uzman Yazılımcı Olunur ?
- Bilge Programcı – Nasıl Uzman Yazılımcı Olunur? Seminerinden İzlenimler
- Yeni KurumsalJava Seminerleri
- BizimAlem.com – Java İle Yüksek Performanslı Web Platformu
- Yazılım Mimarisi Tasarımı Günü
- Java Test Güdümlü Web Yazılımı Semineri
- Çevik Java EE Web Semineri
- Çankaya Üniversitesi Wicket Sunumu
Kaynak Kitaplar
- Java İle Yazılımı Kavramak
- Java JVM’i (Java Virtual Machine) Anlamak
- Java Dilini Kavramak
- Türkiye’nin İlk Extreme Programming Konulu Kitabı
- The J2EE Architect’s Handbook
- Extreme Programming for Web Projects
- Agile Software Development
- Design Patterns Kitabı
Java
- Java 9 ile Modül Bazlı Yazılım
- 2015 Yılına Geldik, Hala Spring’le Birlikte İnterface sınıf mı Kullanmak Zorundayız?
- JVM Nasıl Çalışır Yazı Serisi – Java Dilinde Neden Göstergeçler (Pointer) Yok?
- JVM Nasıl Çalışır Yazı Serisi – Java String Nesnelerinin Hafıza Kullanımı Nasıl Azaltılır?
- Java’ya Nereden Başlamalıyım?
- java.lang.IncompatibleClassChangeError: Implementing class Nedir ve Analizi Nasıl Yapılır?
- Yazılımcının Verimliliğini Artıran Eclipse Ayarları
- Java Generics Get ve Put Prensibi
- Uzaktan Eşli Programlama
- Sorumluluk Sahibi Olmak
- Java’da Bilinmeyenler
- Neden Java Kullanıyorsunuz Sorusunu Sorulduğunda Hangi Cevabı Verirsiniz?
- Java Compiler Versiyonu
- Java’da Finalizer Metodu
- Java’da Final Anahtar Kelimesi
- Covariant Return Types
- Java Enum ile Singleton Tasarım Şablonu
- SCEA 5 (Sun Certified Enterprise Architect) Kiti
- SCEA 5 (Sun Certified Enterprise Architect)
- Java’da interface ve soyut (abstract) sınıf kullanımı
Haberler
- Yeni Kitaplarım Pratik Git Ve Design Patterns Yayımlandı
- Bilişim Sohbetleri
- Yeni kitabım Pratik Agile
- Yeni Kitabım Pratik Spring
- KurumsalJava.com Kitabı
- Yazılımcı Anketi 2013
- İlk DevelopersTube Söyleşisi
- Türkiye Yazılımcı Raporu 2012
- K.Maraş Sütçü İmam Üni. – Bilge Programcı – Nasıl Uzman Yazılımcı Olunur ?
- Bilge Programcı – Nasıl Uzman Yazılımcı Olunur? Seminerinden İzlenimler
- Türkiye’den İlk Java Champion Özcan Acar
- Devoxx 2009 İzlenimleri
- KurumsalJava.com Otuzbininci İndirime (Download) Koşuyor
- BizimAlem.com – Java İle Yüksek Performanslı Web Platformu
- Çanakkale 18 Mart Üniversitesi Çevik Süreç ve TDD Semineri
- Oracle Sun ve Java’yı Satın Aldı
- Yazılım Mimarisi Tasarımı Günü
- Java Test Güdümlü Web Yazılımı Semineri
- Çevik Java EE Web Semineri
- Çevik Süreç ve TDD Günü
- Kurumsal Java Yazışma Grubu
- Türkiye’nin İlk Extreme Programming Konulu Kitabı
- Çevik Java EE 5 Web Uygulamaları ve Mimarileri Semineri
- Çankaya Üniversitesi Wicket Sunumu
- Yeni Yılınız Kutlu Olsun
- CETURK Java Teknolojileri Ankara Etkinliği
- Design Patterns Kitabı
Genel
- Bir Programlama Dilini Öğrenmenin Gerçekten En Kolay Yolu :)
- Eksik Gereksinim Analizleri ve Neticeleri
- Yeni Çalışma Masam ve Kitaplığım
- JavaOne 2015 İçin Sunum Önerim
- Mikrodevre.com
- Kurumsal Java RSS Adresi
- Tek Kelimeyle Harika!
- İlk Program Bug’ı
- Oracle’ın Sun ve Java için stratejik planları hakkında ip uçları
Eğitim Videoları
- KodKata.com
- Kataların Anası
- Metot Düzenleme (Compose Method)
- Koşullu Mantığın Komut İle Değiştirilmesi (Replace Conditional Dispatcher With Command)
- Refactoring Oturumu (Video)
Agile
Java Champion
JVM
Kişisel Gelişim
- Yeni Teknolojileri Öğrenme Konusunda Nasıl Bir Yol Haritası Oluşturmalıyım?
- Neden Kafam Bu Kadar Rahat?
- Kataların Eşli Programlanması
- Kişisel Gelişim
- Eşli Programlama, Code Review, Code Retreat ve Adada Yaşayan Programcılar
- Kod Kata ve Pratik Yapmanın Önemi
Kitaplarım
- Yeni Kitaplarım Pratik Git Ve Design Patterns Yayımlandı
- Blog Yazılarım Ekitabım 4. Sürüm
- Yeni kitabım Pratik Agile
- Yeni Kitabım Pratik Spring
- KurumsalJava.com Kitabı
- Spring Çatısı
- Türkiye’nin İlk Extreme Programming Konulu Kitabı
- Design Patterns Kitabı
Kod Kata
- KodKata.com
- Eşli Programlama, Code Review, Code Retreat ve Adada Yaşayan Programcılar
- Kod Kata ve Pratik Yapmanın Önemi
Programlama Dilleri
Sertifika
- Spring Core Sertifika Sınavı Ardından
- SpringSource Certified Integration Specialist Sertifikası
- Göz Boyamaca
- SCEA 5 (Sun Certified Enterprise Architect) Kiti
- SCEA 5 (Sun Certified Enterprise Architect)
Söyleşiler
Spring
- Spring 3.x İle Gelen Yenilikler
- Spring’in Varoluş Nedeni
- Spring Çatısının Yazılım Geliştirme Filozofisi
- Yeni Kitabım Pratik Spring
- Spring Core Sertifika Sınavı Ardından
- SpringSource Certified Integration Specialist Sertifikası
- Spring Çatısı
- Spring MVC
Türkiye Yazılım Raporu
- Türkiye Yazılımcı Raporu 2013
- Yazılımcı Anketi 2013
- Türkiye Yazılımcı Raporu 2012
- Yazılımcı Anketi 2012