İçindekiler

 

Up

 

GİRİŞ..........................1

   Halûk Gümüşkaya’nın Gözüyle Kitabın Tarihçesi

   Ömer Boyacı’nın Gözüyle Kitabın Tarihçesi

   Kitabın Yapısı ve Konular

   Internet Desteği
 

KISIM 1: JAVA AĞ PROGRAMCILIĞININ TEMELLERİ
 

  Bölüm 1: Java'ya Giriş...........................11

   1.1. Giriş

   1.2. Java

      1.2.1. Java’nın Temel Özellikleri

   1.3. Web Programlama Dili Olarak Java

   1.4. Uygulama Programlama Dili Olarak Java

   1.5. Elektronik Cihazlar Dili Olarak Java

   1.6. Gelişmekte Olan Yeni Özellikler

   1.7. Özet

   Sorular
 

  Bölüm 2: Java Programlama Dili.................................21

   2.1. Giriş

   2.2. Derlenen, Yorumlanan Diller ve Java

   2.3. Java ile Program Geliştirmeye Giriş

      2.3.1. Java Platformunun İndirilmesi ve Kurulması

      2.3.2. Bir Programın Derlenmesi ve Çalıştırılması

      2.3.3. GUI Tabanlı Bir Java Programı

      2.3.4. Metot ve Değişkenlerin Kullanımı

      2.3.5. Tümleşik Geliştirme Ortamları (IDE’ler)

   2.4. Temel Java Bileşenleri

      2.4.1. Java API

      2.4.2. Temel Veri Tipleri

      2.4.3. Aritmetik Operatörler

      2.4.4. Kontrol Yapıları

      2.4.5. Dizi (Array) Veri Yapısı

      2.4.6. Dinamik Dizi (Vector) Veri Yapısı

   2.5. Java ile Nesne-Yönelimli Programcılık

      2.5.1. OOP’nin Özellikleri ve Faydaları

      2.5.2. Sınıf (Class) ve Nesne (Object) Yapısı

      2.5.3. Program Değişkenleri

      2.5.4. Kurucu Metot: Constructor

      2.5.5. Metot Tanımlama ve Sonuç Döndürme

      2.5.6. Metotlara Çok İşlev Yükleme: Overloading

      2.5.7. Sınıf Türetme

      2.5.8. Soyutlama ve Paketleme

      2.5.9. Çok Şekillilik

      2.5.10. Statik Değişkenler ve Metotlar

      2.5.11. Nesne-Yönelimli Tasarlanmış Bir Yazılım

   2.6. Özet

   Kaynaklar

      Kitaplar

      Internet

   Sorular
 

  Bölüm 3: Bilgisayar Ağları ve TCP/IP........................89

   3.1. Giriş

   3.2. Internet ve Bilgisayar Ağları

      3.2.1. Internet

      3.2.2. Haberleşme ve Bilgisayar Ağları

      3.2.2. LAN ve WAN Cihazları

      3.2.3. Geniş Alan Ağları

      3.2.4. Yerel Alan Ağları

   3.3. Protokol Katmanları ve Açık Sistem Mimarisi

      3.3.1. Protokol Katmanları

      3.3.2. Açık Sistem

   3.4. Ağ Protokol Katmanları

      3.4.1. Katmanlı Ağ Modelinin Faydaları

      3.4.2. Uygulama (Application) Katmanı

      3.4.3. Sunum (Presentation) Katmanı

      3.4.4. Oturum (Session) Katmanı

      3.4.5. Aktarım (Transport) Katmanı

      3.4.6. Ağ (Network) Katmanı

      3.4.7. Veri Bağı (Data Link) Katmanı

      3.4.8. Fiziksel (Physical) Katman

      3.4.9. Ağ Cihazları ve Katmanlar

   3.5. TCP/IP Protokol Katmanları

      3.5.1. TCP/IP Katmanları

   3.6. Internet Protokol Adresi

      3.6.1. IP Adres Hiyerarşisi

      3.6.2. IP Adres Sınıfları

      3.6.3. Bir Adresleme Örneği

      3.6.4. Özel IP Adresleri

      3.6.5. Yönlendiriciler ve IP Adresleme

      3.6.6. IP Adresleri için Yetkili Kurumlar

   3.7. Temel TCP/IP Protokolleri

      3.7.1. Ağ Seviyesindeki Protokoller

      3.7.2. Aktarım Seviyesindeki Protokoller

      3.7.3. Uygulama Seviyesindeki Protokoller

   3.8. Gelecek: IPv6

   3.9. RFC Dokümanları

   3.10. Özet

   Kaynaklar

      Kitaplar

   Sorular
 

  Bölüm 4: Temel Web Kavramları ve Teknolojileri....................137

   4.1. Giriş

   4.2. Web Kaynakları ve URL

   4.3. Internet Sunucuları ve İstemcileri

      4.3.1. Web Sunucuları ve Tarayıcıları

      4.3.2. FTP Sunucuları ve İstemcileri

      4.3.3. Akıcı Ortam (Streaming Media) Programları

   4.4. Protokoller ve Standartlar

      4.4.1. HTTP

      4.4.2. MIME

   4.5. Web Teknolojileri

      4.5.1. HTML

      4.5.2. XML ve XHTML

      4.5.3. CGI 146

      4.5.4. Dinamik Sunucu Sayfaları

   4.6. Java ile Web Programcılığı

   4.7. Özet

   Kaynaklar

      Kitaplar

      Internet

   Sorular
 

  Bölüm 5: Applet'ler ile Web Programcılığına Giriş......................155

   5.1. Giriş

   5.2. Applet Yazılması ve Çalıştırılması

   5.3. Bir HTML Dosyasına Applet Yerleştirmek

      5.3.1. HTML Java Uzantıları

   5.4. Applet’lerin Ağdaki Yolculuğu ve Güvenlik

      5.4.1. Applet’ler Sunucudan Nasıl Gelir?

      5.4.2. Applet Güvenliği

   5.5. Bir Applet Uygulaması

   5.6. Applet’lerden Internet Kaynaklarına Erişim

      5.6.1 URL Sınıfı

      5.6.2. Ses Dosyalarını Yükleme ve Çalma

      5.6.3. Resim Dosyalarını Yükleme ve Gösterme

   5.7. Bulmaca Applet’i: Puzzle Light

   5.8. Puzzle

   5.9. Java Plug-in

   5.10. Özet

   Kaynaklar

      Internet

   Sorular
 

  Bölüm 6: Ağ Yazılımları Haberleşme Modelleri...........................187

   6.1. Giriş

   6.2. Temel Haberleşme Yapıları

      6.2.1. Gönderme ve Alma İşlemleri

      6.2.2. Temel Haberleşme Modelleri ve Teknolojileri

   6.3. İstemci/Sunucu Haberleşme Modeli

      6.3.1. Sunum, İşleme ve Saklama

      6.3.2. İstemciler ve Sunucular

      6.3.3. Ardışıl Bağlantılı Sunucu (TCP)

      6.3.4. Eşzamanlı Bağlantılı Sunucu (TCP)

      6.3.5. Ardışıl Bağlantısız Sunucu (UDP)

      6.3.6. İstemci/Sunucu Programcılığı İçin Java

   6.4. Grup Multicast Haberleşme Modeli

   6.5. P2P Haberleşme Modeli

   6.6. Gezgin Etmen Haberleşme Modeli

   6.7. İstemci ve Sunucularda Bazı Kavramlar

      6.7.1. İstemci/Sunucu Katmanları

      6.7.2. İstemci ve Sunucu Bağlantıları

      6.7.3. Güvenlik

      6.7.4. İstemci Yazılımında Standartlar

      6.7.5. Durumlu ve Durumsuz Sunucula

   6.8. İstemci/Sunucu Yazılımında Eşzamanlı İşleme

   6.9. Özet

   Kaynaklar

      Kitaplar

   Sorular
 

  Bölüm 7: Java Thread'leri ve Çok-Thread'li Yazılım Tasarımı.........................209

   7.1. Giriş

   7.2. Proses ve Thread Kavramlarına Giriş

   7.3. Çok-Prosesli ve Çok-Thread’li Programlar

      7.3.1. Çok-Proseslilik ve Çok-Thread’lilik

      7.3.2. CPU ve Giriş/Çıkış Yoğunluklu Uygulamalar

      7.3.3. Eşzamanlılık ve Paralellik

      7.3.4. Çok-Proseslilik ve Java’da Çok-Thread’lilik

      7.3.5. Çok Görevliliğe Niçin Gerek Duyurulur

   7.4. Java Thread Yapısı

      7.4.1. Thread Oluşturma

      7.4.2. Thread Sınıfının Kurucu Metot’ları

      7.4.3. Deamon Thread’leri

      7.4.4. Thread Kullanımına Bir Örnek: WebMaster

   7.5. Bir Thread’in Hayat Çevrimindeki Durumlar

      7.5.1. Thread Doğuşu

      7.5.2. Yürütülebilir

      7.5.3. Yürütülüyor

      7.5.4. Yürütülemez

      7.5.5. Ölü

      7.5.6. Thread Durumları İçin Örnek Program

   7.6. Thread Yürütmesinde Sıralama ve Öncelik

      7.6.1. Görev Sıralama

      7.6.2. Bencil Thread Davranışı

   7.8. Çok-Thread’li Programlar

      7.8.1. Thread’leri Senkronize Etmek

      7.8.2. Ölümcül Kilitlenme (Deadlock) Durumu

      7.8.3. Üretici-Tüketici Yaklaşımı ile WebMaster

   8.7. Özet

   Kaynaklar

      Kitaplar

      Internet

   Sorular
 

  Bölüm 8: Ağ Programlarının Yapı Blokları: Java Stream’ler...............................259

   8.1. Giriş

   8.2. Haberleşme Kanalları ve Stream’ler

   8.3. Stream’lerin Temel Özellikleri

   8.4. Veri Tipine Göre Stream Çeşitleri

      8.4.1. Byte Stream’ler

      8.4.2. Karakter Stream’ler

      8.4.3. Stream Süper Sınıflarının Karşılaştırması

      8.4.4. İstisnalar (Exceptions)

   8.5. Veri Kaynağı Stream’leri

      8.5.1. Dosya (File) Stream’leri

      8.5.2. Veri Hattı (Pipe) Stream’leri

      8.5.3. Hafıza Stream’leri

   8.6. Veri İşleme Stream’leri

      8.6.1. DataOutput ve DataInput Stream’ler

      8.6.2. Tamponlu Stream’ler

      8.6.3. Sıkıştırma Stream’leri

   8.7. Nesne Serileme

   8.8. File Sınıfı

   8.9. Karakter Dizisini Bileşenlerine Ayırmak

   8.10. RandomAccessFile Sınıfı

   8.11. Özet

   Kaynaklar

      Kitaplar

      Internet

   Sorular
 

KISIM 2: JAVA AĞ PROGRAMLARININ TEMEL YAPILARI
 

  Bölüm 9: Java Ağ Paketi ve Yüksek Seviyeli Sınıflar ile Ağ Programcılığına Giriş.........305

   9.1. Giriş

   9.2. Java Ağ Paketi

   9.3. InetAddress Sınıfı

      9.3.1. Yeni InetAddress Nesnesi Oluşturmak

      9.3.2. InetAddress Alanlarına Erişim

   9.4. Web İçin Yüksek Seviyeli Sınıflar ve API’ler

   9.5. URL Sınıfı ile Web Verisine Erişim

      9.5.1. Bir URL Oluşturmak

      9.5.2. Bir Java Ortamında Desteklenen Protokoller

      9.5.3. Bir URL’yi Bileşenlerine Ayırmak

   9.6. Bir Applet’in bir Web Sayfasını Yüklemesi

   9.7. Bir URL’den Doğrudan Okuma

   9.8. Basit Bir Web Tarayıcısı

   9.9. URL Sınıfı ile Dosya İndirme

   9.10. URLConnection Kullanarak Haberleşme

      9.10.1. Bir URLConnection’dan Okuma

      9.10.2. Bir URLConnection’a Yazma

   9.11. GET ile Bir Sorgulama Gerçekleştirme

      9.11.1. URLEncoder Sınıfı

   9.12. URLConnection ile Sunucuya Yazma

   9.13. JavaMail API

      9.13.1. E-Posta Gönderme

      9.13.2. E-Posta Alma

   9.14. Özet

   Kaynaklar

      Kitaplar

      Internet

   Sorular
 

  Bölüm 10: TCP Soket Programcılığı....................................357

   10.1. Giriş

   10.2. Soket Nedir?

   10.3. Socket Sınıfı

      10.3.1. Soket Oluşturma: Soket Kurucu Metot’ları

      10.3.2. Soket Bilgilerinin Alınması

      10.3.3. Soketten Okuma

      10.3.4. Sokete Yazma

      10.3.5. Soketten Okuma ve Sokete Yazma

      10.3.6. Açılan Soketi Kapatmak

      10.3.7. Bir HTTP Sunucusuyla Haberleşmek

   10.4. Sunucu Soketi

      10.4.1. Sunucu Soketi Oluşturma

      10.4.2. Bağlantıları Kabul Etme ve Kapatma

      10.4.3. İstemci ile Haberleşme

   10.5. Sıralı Bağlantılı Sunucu

      10.5.1. Basit Bir İstemci/Sunucu Uygulaması

      10.5.2. HTTP İstekleri

      10.5.3. Sıralı Bağlantılı HTTP Sunucusu

   10.6. Eşzamanlı Bağlantılı Sunucu

      10.6.1. Inetd veya Benzeri Yapılar İle Eşzamanlılık

      10.6.2. Sunucuda Oluşturulan Eşzamanlılık

      10.6.3. Sunucu Çeşitlerini Karşılaştırma

      10.6.4. Eşzamanlı İstemci/Sunucu Uygulaması

      10.6.5. Eşzamanlı HTTP Sunucusu

   10.7. Soket Ayarları

      10.7.1. Socket Ayarları

      10.7.2. ServerSocket Ayarları

   10.8. Chat Uygulaması

   10.9. Özet

   Kaynaklar

      Kitaplar

      Internet

   Sorular
 

  Bölüm 11: UDP Soket Programcılığı.................................427

   11.1. Giriş

   11.2. UDP Datagram

   11.3. TCP ve UDP Karşılaştırması

   11.4. UDP Uygulama Alanları

   11.5. Java’da UDP Desteği

   11.6. DatagramPacket Sınıfı

      11.6.1. DatagramPacket Oluşturma

      11.6.2. DatagramPacket Metotları

   11.7. DatagramSocket Sınıfı

      11.7.1. DatagramSocket Oluşturma

      11.7.2. DatagramSocket Metotları

   11.8. UDP Datagram Gönderme ve Alma

      11.8.1. UDP Datagram Gönderme

      11.8.2. UDP Datagram Alma

   11.9. UDP Tabanlı İstemci/Sunucu Tasarımı

   11.10. UDP Uygulamaları

      11.10.1. UDPCalc Sunucu ve İstemcisi

      11.10.2. DatagramBomber Sunucu ve İstemcisi

   11.11. Özet

   Kaynaklar

      Kitaplar

      Internet

   Sorular
 

  Bölüm 12: Multicast Haberleşme Modeli ve Programcılığı.....................453

   12.1. Giriş

   12.2. Unicast ve Multicast Karşılaştırması

   12.3. Multicasting

      12.3.1. Multicast Haberleşme için IP Adresleme

      12.3.2. Multicast Haberleşme ve UDP

      12.3.3. Multicast Oturumuna Katılım ve Ayrılma

      12.3.4. IP Başlığındaki TimeToLive Değeri

   12.4. Multicast Uygulama Alanları

   12.5. MBONE

   12.6. MulticastSocket Sınıfı

      12.6.1. Multicast Mesajları Gönderme ve Alma

      12.6.2. Multicast Tabanlı Hesap Makinesi

   12.7. Tünelleme (Tunneling) Tekniği

   12.8. Özet

   Sorular
 

KISIM 3: AĞ VERİSİ VE DAĞITIK NESNELER
 

Bölüm 13: JDBC ile Ağ Verisine Erişim..............................475

   13.1. Giriş

   13.2. Veritabanı ve SQL Temelleri

      13.2.1. İlişkisel Veritabanları

      13.2.2. DBMS Veritabanı Yönetim Sistemleri

      13.2.3. SQL-Yapısal Sorgu Dili

   13.3. Veritabanı Bağlantısının Kurulması

      13.3.1. MS Access Kurulumu ve Ayarları

      13.3.2. MySQL Kurulumu ve Ayarları

   13.4. JDBC’nin Temel Özellikleri

      13.4.1. JDBC Sürücüleri

   13.5. JDBC Sınıflarına Genel Bir Bakış

   13.6. JDBC’nin Kullanım Adımları

      13.6.1. Bir JDBC Uygulamasının Yapısı

      13.6.2. Ön İşlemler ve Veritabanına Bağlanma

      13.6.3. SQL Sorgulaması Yürütme

      13.6.4. Bir ResultSet’i İşleme

      13.6.5. Basit Bir Veritabanı Uygulaması

      13.6.6. Bir Update İşlemi Yürütme

      13.6.7. Veritabanına Erişim Sınıfı

      13.6.8. Metadata’ya Erişim

      13.6.9. PreparedStatement

   13.7. İstemci/Sunucu JDBC Modelleri

      13.7.1. 2-Katmanlı JDBC Modeli

      13.7.2. 3-Katmanlı JDBC Modeli

   13.8. JDBC Uygulamaları

      13.8.1. JDBC ve SQL ile Tablo Oluşturma

      13.8.2. JDBC ve SQL ile Tablo Silme

      13.8.3. JDBC ve SQL ile Kayıt Ekleme

      13.8.4. GUI Tabanlı Tablo Göstericisi

   13.9. Özet

   Kaynaklar

      Kitaplar

      Internet

   Sorular
 

Bölüm 14: RMI ile Dağıtık Uygulamalar........ 521

   14.1. Giriş

   14.2. RMI Sistem Mimarisi

      14.2.1. Uzak Nesne ve Arabirimi

      14.2.2. RMI Registry

      14.2.3. Güvenlik

      14.2.2. RMI Sistemindeki Mimari Detaylar

   14.3. Parametre Geçirme ve Nesne Serileme

   14.4. Bir RMI Uygulaması Geliştirmedeki Adımlar

   14.5. RMI Tabanlı Rezervasyon Sistemi Tasarımı

   14.6. RMI Tabanlı P2P Chat Programı

   14.7. RMI Tabanlı JDBC Uygulaması

   14.8. Özet

   Kaynaklar

      Kitaplar

      Internet

   Sorular
 

KISIM 4: JAVA WEB PROGRAMCILIĞI
 

Bölüm 15: Java Web Programcılığı..............................579

   15.1. Giriş

   15.2. Web Programcılığına Giriş

      5.2.1. Script’ler

      15.2.2. CGI Teknolojisi

      15.2.3. Applet’ler

      15.2.4. ASP ve PHP

   15.3. Java Web Programcılığına Genel Bir Bakış

      15.3.1. Applet Teknolojisi

      15.3.2. Servlet Teknolojisi

      15.3.3. JSP Teknolojisi

   15.4. Java Web Uygulamalarında Teknoloji Seçimi

   15.4. Ağ Uygulamalarının Karşılaştırılması

   15.5. Özet
 

Bölüm 16: Servlet’ler ile Web Programcılığı....................589

   16.1. Giriş

   16.2. Servlet Programcılığına Giriş

      16.2.1. Servlet Nasıl Çalışır?

      16.2.2. Servlet Nasıl Çalıştırılır?

      16.2.3. Basit Bir Servlet Uygulaması

      16.2.4. Servlet Uygulamalarının Dağıtımı

   16.3. Servlet API

      16.3.1. Servlet Arabirimi ve Bir Servlet’in Yaşamı

      16.3.2. Basit Bir Servlet Örneği

      16.3.3. HttpServlet Sınıfı

      16.3.4. HttpServletRequest Arabirimi

      16.3.5. HttpServletResponse Arabirimi

      16.3.6. Basit Bir HttpServlet Uygulaması

   16.4. Bağlantı Oturum Takibi

      16.4.1. İstemci Makinesine Cookie Gönderme

      16.4.2. HttpSession ile Oturum Takibi

   16.5. Servlet’ler ile JDBC Uygulaması

   16.6. Özet

   Kaynaklar

      Kitaplar

      Internet

   Sorular
 

Bölüm 17: JSP ile Web Programcılığı..........................631

   17.1. Giriş

   17.2. JSP Programcılığına Giriş

      17.2.1. JSP Sayfasının Yapısı

      17.2.2. JSP Sayfasından Otomatik Servlet Üretimi

   17.3. Dahili JSP Nesneleri

   17.4. JSP Bileşenleri

      17.4.1. Direktifler (Directives)

      17.4.2. Tanımlamalar (Declarations)

      17.4.3. İfadeler (Expressions)

      17.4.4. Kod Parçaları (Scriptlets)

      17.4.5. Yorumlar (Comments)

      17.4.6. Aksiyonlar (Actions)

   17.5. JSP ile JavaBean’lerin Kullanımı

      17.5.1. JavaBean’ler

      17.5.2. JSP Aksiyonları ile JavaBean Kullanımı

   17.6. Alan (Scope) Kullanımı

   17.7. JSP ile JDBC Bağlantısı ve Form İşleme

   17.9. Özet

   Kaynaklar

      Kitaplar

      Internet

   Sorular
 

KISIM 5: EKLER
 

EK A: UML........................681

   A.1. Giriş

   A.2. UML ile Nesne-Yönelimli Yazılım Geliştirme

   A.3. UML Diyagramları

      A.3.1. Kullanım Hali (Use Case) Diyagramı

      A.3.2. Sınıf (Class) Diyagramı

      A.3.3. Nesne (Object) Diyagramı

      A.3.4. Sıra (Sequence) Diyagramı

      A.3.5. Ortaklık (Collaboration) Diyagramı
 

EK B: SEMBOLLER..................................689
 

EK C: TÜRKÇE – İNGİLİZCE SÖZLÜK...................................693
 

EK D: KAYNAKLAR................................697

   D1. Java

      D1.1. Programcılığa Java ile Giriş

      D1.2. İleri Java

      D1.3. Java ile Nesneye Yönelik Programcılık

      D1.4. Java El Kitapları

      D1.5. Java AWT, Swing, JFC, Java Grafik ve GUI

      D1.6. Java ile Veri Yapıları ve Algoritmalar

      D1.7. Thread Programcılığı ve İşletim Sistemleri

      D1.8. Java Ağ Programcılığı

      D1.9. JDBC

      D1.10. RMI, CORBA ve Dağıtık Nesneler

      D1.11. Java Enterprise

      D1.12. Servlet’ler, JSP ve Web Programcılığı

      D1.13. Java ve Güvenlik

      D1.14. Jini

   D2. Bilgisayar Ağları ve TCP/IP

   D3. UML, Nesne Yönelimli Analiz ve Tasarım

 

 

This site was last updated 03/03/04