Skip navigation.

GÜRBÜZ ÇAMKERTEN GENEL KÜLTÜR ANSİKLOPEDİLERİ

WEB SİTELERİ

Windows Kısa yol tuşları

Windows Kısayol Tuşları

Günlük çalışmalarınızda işinizi kolaylaştıracak XP işletim sisteminde kullanılabilen

tüm kısayolları bulabilirsiniz..
Soru ve sorunlarınız olursa Forumlarda çekinmeden sorabilirsiniz.
Derdini söylemeyen Derman bulamaz.
Genel Klavye Kısayolları

CTRL+C (Kopyala)
CTRL+X (Kes)
CTRL+V (Yapıştır)
CTRL+Z (Geri Al)
DELETE (Sil)
ÜSTKRKT+DELETE (Seçili öğeyi Geri Dönüşüm Kutusu'na atmadan kalıcı olarak

sil)
Bir öğeyi sürüklerken CTRL (Seçili öğeyi kopyala)
Bir öğeyi sürüklerken CTRL+ÜSTKRKT (Seçili öğeye kısayol oluştur)
F2 tuşu (Seçili öğeyi yeniden adlandır)
CTRL+SAĞ OK (Ekleme noktasını sonraki sözcüğün başına götür)
CTRL+SOL OK (Ekleme noktasını önceki sözcüğün başına götür )
CTRL+AŞAĞI OK (Ekleme noktasını sonraki paragrafın başına götür)
CTRL+YUKARI OK (Ekleme noktasını önceki paragrafın başına götür )
Ok tuşlarının herhangi biriyle birlikte CTRL+ÜSTKRKT (Bir metin bloğu vurgula)
Ok tuşlarının herhangi biriyle birlikte ÜSTKRKT (Pencere veya masaüstünde

birden fazla öğe seç veya bir belgede metin seç)
CTRL+A (Tümünü seç)
F3 tuşu (Bir dosya ya da klasör ara)
ALT+ENTER (Seçili öğenin özelliklerini görüntüle)
ALT+F4 (Etkin öğeyi kapat veya etkin programdan çık)
ALT+ENTER (Seçili nesnenin özelliklerini görüntüle)
ALT+ARA ÇUBUĞU (Etkin pencere için kısayol menüsünü aç)
CTRL+F4 (Aynı anda birden çok belge açmayı sağlayan programlardaki etkin

belgeyi kapat)
ALT+SEKME (Açık öğeler arasında geçiş yap)
ALT+ESC (Öğeler arasında açılma sıralarına göre dön)
F6 tuşu (Bir penceredeki veya masaüstündeki ekran öğeleri arasında dolaş)
F4 tuşu (Bilgisayarım veya Windows Gezgini'ndeki Adres çubuğu listesini

görüntüle)
ÜSTKRKT+F10 (Seçili öğe için kısayol menüsünü görüntüle)
ALT+ARA ÇUBUĞU (Etkin pencere için Sistem menüsünü görüntüle)
CTRL+ESC (Başlat menüsünü görüntüle)
ALT+Bir menü adındaki altı çizili harf (Karşılık gelen menüyü görüntüle)
Açık bir menüdeki bir komut adındaki altı çizili harf (Karşılık gelen komutu

gerçekleştirir)
F10 tuşu (Etkin programda menü çubuğunu etkinleştirir)
SAĞ OK (Sağdaki sonraki menüyü aç veya bir alt menü aç)
SOL OK (Soldaki sonraki menüyü aç veya bir alt menüyü kapat)
F5 tuşu (Etkin pencereyi günceleştir)
GERİ AL (Bilgisayarım ya da Windows Gezgini'nde bir seviye üstteki klasörü

görüntüle)
ESC (Geçerli görevi iptal et)
CD-ROM sürücüye bir CD-ROM taktığınızda ÜSTKRKT (CD-ROM'un otomatik

olarak oynatılmasını önle)

İletişim Kutusu Klavye Kısayollar

CTRL+SEKME (Sekmeler arasında gezin)
CTRL+ÜSTKRKT+SEKME (Sekmeler arasında geriye doğru git)
SEKME (Seçenekler arasında ileriye doğru git)
ÜSTKRKT+SEKME (Seçenekler arasında geriye doğru git)
ALT+Altı Çizili harf (İlgili komutu gerçekleştir veya ilgili seçeneği seç)
ENTER (Etkin seçeneğin veya düğmenin komutunu gerçekleştir)
ARA ÇUBUĞU (Etkin seçenek bir onay kutusuysa onay kutusunu seç veya

temizle)
Ok tuşları (Etkin seçenek seçenek düğmeleri grubuysa bir düğme seç)
F1 tuşu (Yardım görüntüle)
F4 tuşu (Etkin listedeki öğeleri görüntüle)
GERİ (Kaydet veya Aç iletişim kutusunda bir klasör seçiliyse bir üst düzeydeki

klasörü aç)

Microsoft Doğal Klavye Kısayolları

Windows Logosu (Başlat menüsünü göster veya gizle)
Windows Logosu+BREAK (Sistem Özellikleri iletişim kutusunu görüntüle)
Windows Logosu+D (Masaüstünü göster)
Windows Logosu+M (Tüm pencereleri küçült)
Windows Logosu+ÜSTKRKT+M (Küçültülmüş pencereleri geri yükle)
Windows Logosu+E (Bilgisayarım'ı aç)
Windows Logosu+F (Bir dosya veya klasör ara)
CTRL+Windows Logo+F (Bilgisayar ara)
Windows Logosu+F1 (Windows Yardımı'nı görüntüle)
Windows Logosu+ L (Klavyeyi kilitle)
Windows Logosu+R (Çalıştır iletişim kutusunu aç)
Windows Logosu+U (Hizmet Programı Yöneticisi'ni aç)

Erişilebilirlik Klavye Kısayolları

Sekiz saniye boyunca Sağ ÜSTKRKT (Filtre Tuşlarını aç veya kapat)
Sol ALT+Sol ÜSTKRKT+PRINT SCREEN (Yüksek Karşıtlık'ı aç veya kapat)
Sol ALT+sol ÜSTKRKT+NUM LOCK (Fare Tuşları'nı aç veya kapat)
Beş kez ÜSTKRKT (Yapışkan Tuşlar'ı aç veya kapat)
Beş saniye boyunca NUM LOCK (Geçiş Tuşları'nı aç veya kapat)
Windows Logosu+U (Hizmet Programı Yöneticisi'ni aç)
Windows Gezgini Klavye Kısayolları
END (Etkin pencerenin sonunu göster)
HOME (Etkin pencerenin başını göster)
NUM LOCK+Yıldız İşareti (*) (Seçili klasörün altındaki tüm alt klasörleri göster)
NUM LOCK+Artı işareti (+) (Seçili klasörün içeriğini göster)
NUM LOCK+Eksi işareti (-) (Seçili klasörü daralt)
SOL OK (Geçerli seçim genişletilmişse daralt veya üst klasörü seç)
SAĞ OK (Geçerli seçimi daraltılmışsa görüntüle veya ilk alt klasörü seç)

Karakter Eşlem İçin Klavye Kısayolları
Karakter kılavuzunda bir karakteri çift tıklatırsanız, kılavuz üzerinde klavye

kısayollarını kullanarak hareket edebilirsiniz:

SAĞ OK (Sağa veya sonraki satırın başına git)
SOL OK (Sola veya önceki satırın başına git)
YUKARI OK (Bir satır yukarı git)
AŞAĞI OK (Bir satır aşağı git)
PAGE UP (Bir defada bir ekran yukarı git)
PAGE DOWN (Bir defada bir ekran aşağı git)
HOME (Satırın başına git)
END (Satırın sonuna git)
CTRL+HOME (İlk karaktere git)
CTRL+END (Son karaktere git)
ARA ÇUBUĞU (Bir karakter seçildiğinde Büyütülmüş ve Normal modlar arasında

geçiş yap)

Microsoft Yönetim Konsolu (MMC) Ana Pencere Klavye Kısayolları

CTRL+O (Kaydedilmiş bir konsolu aç)
CTRL+N (Yeni bir konsol aç)
CTRL+S (Açık konsolu kaydet)
CTRL+M (Bir konsol öğesi ekle veya kaldır)
CTRL+W (Yeni bir pencere aç)
F5 tuşu (Tüm konsol pencerelerinin içeriğini güncelleştir)
ALT+ARA ÇUBUĞU (MMC penceresi menüsünü görüntüle)
ALT+F4 (Konsolu kapat)
ALT+A (Eylem menüsünü görüntüle)
ALT+V (Görünüm menüsünü görüntüle)
ALT+F (Dosya menüsünü görüntüle)
ALT+O (Sık Kullanılanlar menüsünü görüntüle)

MMC Konsol Penceresi Klavye Kısayolları

CTRL+P (Geçerli sayfayı veya etkin bölmeyi yazdır)
ALT+Eksi işareti (-) (Etkin konsol penceresi için pencere menüsünü görüntüle)
ÜSTKRKT+F10 (Seçili öğe için Eylem kısayol menüsünü görüntüle)
F1 tuşu (Seçili öğe için varsa Yardım başlığını aç)
F5 tuşu (Tüm konsol pencerelerinin içeriğini güncelleştir)
CTRL+F10 (Etkin konsol penceresini büyüt)
CTRL+F5 (Etkin konsol penceresini geri yükle)
ALT+ENTER (Seçili öğe için varsa Özellikler iletişim kutusunu aç)
F2 tuşu (Seçili öğeyi yeniden adlandır)
CTRL+F4 (Etkin konsolu kapat. Bir konsolun tek bir konsol penceresi varsa, bu

kısayol konsolu kapatır)

Uzak Masaüstü Bağlantısı Gezintisi

CTRL+ALT+END (Microsoft Windows NT Güvenlik iletişim kutusunu aç)
ALT+PAGE UP (Programlar arası soldan sağa geçiş yap)
ALT+PAGE DOWN (Programlar arası sağdan sola geçiş yap)
ALT+INSERT (Programlar arasında en sık kullanılma sırasına göre dön)
ALT+HOME (Başlat menüsünü görüntüle)
CTRL+ALT+BREAK (İstemci bilgisayarını bir pencere ve tam ekran arasında geçiş

yap)
ALT+DELETE (Windows menüsünü görüntüle)
CTRL+ALT+Eksi işareti (-) (Etkin pencerenin anlık görüntüsünü Terminal Server

panosunda istemciye yerleştir ve aynı işlevselliği yerel bilgisayarda PRINT

SCREEN'e basarak sağlayın.)
CTRL+ALT+Artı işareti (+) (Etkin istemci penceresinin tamamının anlık

görüntüsünü Terminal Server panosuna yerleştir ve aynı işlevselliği yerel

bilgisayarda ALT+PRINT SCREEN'e basarak sağlayın.)

Microsoft Internet Explorer Gezintisi

CTRL+B (Sık Kullanılanları Düzenle iletişim kutusunu aç)
CTRL+E (Arama çubuğunu aç)
CTRL+F (Bul yardımcı programını başlat)
CTRL+H (Geçmiş çubuğunu aç)
CTRL+I (sık kullanılanlar çubuğunu aç)
CTRL+L (Aç iletişim kutusunu aç)
CTRL+N (Aynı Web adresiyle tarayıcının başka bir örneğini aç)
CTRL+O (Aç iletişim kutusunu aç, CTRL+L ile aynı)
CTRL+P (Yazdır iletişim kutusunu aç)
CTRL+R (Geçerli Web sayfasını güncelleştir)
CTRL+W (Geçerli pencereyi kapat)

Kaynak: microsoft.com

Windows XP nasıl kurulur

Windows XP: Kurulum

--------------------------------------------------------------------------------

Windows XP Home ve Professional versiyonlarının kurulumunun nasıl yapıldığını adım adım görelim.

XP kuracak kadar güçlü bir sisteminiz varsa, bu sistemin CD-ROM'dan Boot etme özelliğide olması gerekiyor ve bu yöntemle kurulum yapacağız.

Öncelikle BIOS'tan Booting from CD-ROM özelliğinin Enabled olduğundan emin olun.

Windows XP CD-ROM'unu takın ve bilgisayarınızın güç düğmesine dokunun.

Not
Bilgisayar açılırken çıkan ekran sizin bilgisayarınızda biraz farklı olabilir.









Press any key to boot from CD... mesajını göreceksiniz. Herhangi bir tuşa bastığınız anda sistem takılı olan XP CD-ROM'undan sistem dosyalarını yükleyecektir ve kurulum başlayacaktır. Eğer herhangi bir tuşa basmazsanız bir süre sonra sistem harddiskten boot etmeye çalışacaktır.

Kurulumdan sonra XP CD-ROM'unu cd sürücüde unutanlar karşılarına tekrar kurulum ekranı gelip şok olmasınlar diye alınmış bir önlem...


CD-ROM'dan açılış yapılıp kurulum işlemi başladı, karşımıza ilk çıkan yazı:

Setup is inspecting your computer's hardware configuration. . .









Bir bekleme süresinin ardından, Microsoft'un klasik mavi yükleme ekranı geliyor.







Daha sonra Setup is starting Windows mesajı ve Windows XP Professional Setup yada Windows XP Home Setup ekranı:







ENTER tuşuna basarak devam edersek:









Windows XP Licensing Agreement yani yazılım anlaşması geldi. F8 tuşuna basarak geçelim.


Şimdi önemli bir adıma geldik. Diskin bölümlenmesi ve formatlama işlemi.







Eğer disk daha önceden kullanılmışsa veya zaten içinde başka bir işletim sistemi yüklü ise, bu ekranda varolan disk bölümü görünecektir. Ya da yukarıda olduğu gibi Unpartitioned space adı altında bölümleme yapılmamış disk alanı görünecektir. Siz duruma göre varolan bölümü(partititon) seçip Enter ile devam edebilir veya Unpartitioned space'i seçip C tuşuna basarak bu alanı bölümleyebilirsiniz. Şu anda yukarıda gözükmüyor ama bu ekranda varolan bir bölümü silme imkanı da var(bu durumda o bölümün içindeki herşey gider ona göre..).

Ben önce C tuşu ile bölümledim ve Enter tuşu ile devam ettim.


Bu ekranda ise hangi dosya sisteminin kullanılacağını soruyor.







Eğer varolan bir disk bölümünü seçip bu ekrana gelmişseniz tekrar formatlamadan o bölümü kullanma seçeneğinizde olacaktır. Böylece o bölümdeki bilgiler de korunmuş olur.

Bizim ise şimdi iki seçeneğimiz var: FAT veya NTFS.



FAT Bu dosya sistemi DOS ve W9x'in kullandığı dosya sistemidir. Bu şekilde formatlarsanız, bir DOS disketiyle açtınızda diskinize erişebilirsiniz. Aynı şekilde eğer birden fazla işletim sistemi kullanıyorsanız, mesela bir de W98 yüklü ise, W98 ile açtığınızda bu disk alanını da görüp kullanabileceksiniz.

İki tane büyük dezavantajı var:

Kullandığı dosyalama yöntemi diski 64KB'lık hücrelere bölüyor. Ve bir dosya en azından bir hücreyi kapladığı için, 1KB'lık bir dosya bile oluştursanız diskinizde 64KB yer kaplayacaktır.
NTFS sisteminin sunduğu disk ve dizinlere hatta dosyalara erişimin kullanıcı bazında kısıtlanabilmesi özelliğinden mahrum kalacaksınız.
NTFS DOS disketiyle açınca ve W9x işletim sistemlerinden erişilememesi dışında güvenilir ve XP'nin özelliklerini tam olarak kullanmanıza imkan veren bir dosya sistemi. Bu arada kafanıza belki takılır diye söylüyorum, W9x tarafından erişilemez derken bu ağ üzerinden erişemez demek değil. Aynı makinada birden fazla işletim sistemi varsa bu durum söz konusu olabilir.



NTFS kullanmanızı öneriyorum ve bende NTFS üzerindeyken Enter ile devam ediyorum.



Disk formatlanıyor:







Ve dosyalar CD-ROM'dan diske koplayalanıyor:







Ve sistem yeniden açılacak...:







Bilgisayar açıldığında Windows XP ilk defa Graphical User Interface(GUI) - Grafik kullanıcı arabirimi ile açılıyor:













Bu adımlarda biz hiçbirşeye elimizi sürmüyoruz, çay, kahve, kakao, sahlep işte ne varsa....:







Şimdi karşımıza önemli bir adım geldi. Eğer Türkçe dışında bir versiyonu yüklüyorsanız(muhtemelen English olanı..) bu ekranda hem Customize düğmesine tıklayarak Türkiye'yi seçmemiz lazım, hem de Details ile Türkçe klavyeyi seçmemiz gerekiyor.







İsminizi ve eğer bir kurumda yükleme yapıyorsanız kurum ismini yazın:









25 haneli Product key'i girin (Windows XP CD-ROM üzerinde-kutusunda yazıyor)







Ağda da görünecek ve ağ üzerinde her bilgisayarda farklı olması gereken Computer name değerini girin.

Administrator kullanıcısının şifresini girin, Confirm password karşısına aynı şifreyi tekrar girin:







Administrator şifresini boş bırakabilirsiniz ama eğer bir şifre girerseniz bu şifreyi kesinlikle unutmayın, yoksa makinayı açamazsınız.

Date and Time Settings

Tarih ve saati kontrol edin, gerekiyorsa düzeltin. Time Zone alanında Türkiyenin GMT +2 olan saat dilimini seçin (Athens, İstanbul...gibi bir ismi var).







Eğer bilgisayarda takılı bir ağ kartı varsa, kurulum işlemi sırasında tespit edilecektir. Bu durumda size altta olduğu gibi Typical settings ile, yani varsayılan ayarlarla birşey sormadan kurulmasını veya Custom settings ile bazı ayarlar yaptırmasını(mesela IP adresini girmek gibi) seçtirecektir. Biz Typical settings'i seçiyoruz, zaten kurulduktan sonra istediğimiz gibi gidip bu ayarları değiştirebiliriz.









Finalizing installation adımı ile kurulum işlemi devam ediyor, yine çay, kahve, kakao ve sahlep...









Restart...:









Ekran çözünürlüğümüzü ayarlayacak. OK




İnternet üzerinden Microsoft'un web sitesine bağlanmayı deneyecektir. Bu adımı Skip ile geçmenizde hiçbir sakınca yok.



Administrator özelliğine sahip olacak ilk kullanıcıları oluşturmanız istenecek. Ve XP'nin login ekranı karşınıza gelecektir.







Eğer kurulum yapılırken sadece bir kullanıcı oluşturulmuş ve onunda şifresi yoksa, bu login ekranı çıkmaz, direkt masaüstü gelir.




Hadi geçmiş olsun.

Windows ipuçları paketi

WİNDOWS UYGULAMARINA SES EKLEMEK
1-REGISTRY editörünü çalıştırın.

2-HKEY_CURRENT_USERAppEventsSchemesApps bölümüne gelin.

3-Apps üzerinde tıklayın,Edit*New*Key komutunu çalıştırın.

4.Yeni anahtara programın EXE dosyasının adını verin.(EXE ekini koymanıza
gerek yok.)

5-Yaratmış olduğunuz anahtarın üzerinde tıklayın,Edit*New*Key komutunu
çalıştırın.

6-Yeni anahtara "open" (tırnak yok) adını verin.

REGISTRY editörünü kapatın.Denetim masası*Sesler üzerinde çift tıklayın.Listede programınızı
görebilirsiniz.

-------------------------------------

CAB Dosyalarinda Dosya Aramak
Örnegin OLE32.DLL dosyasini Win98 CD'sinin kopyasinin bulundugu C:WIN98TR altinda aramak için DOS komut satirinda FOR %P in (C:WIN98TR*.CAB) do extract %P OLE32.DLL yazin. Bir BAT dosyasi yaratmak istiyorsaniz %'lerin basina bir % isareti daha ekleyin. Bulunan dosya C:WIN98TR klasörü altinda yer alacaktir.

--------------------------------------


INF Dosyalarina Sag Tiklayinca Yükle Çikmiyorsa
Görünüm-->Seçenekler-->Dosya Türleri'nde INF(Kur Bilgileri)'ne gel.
Eylem:&Yükle
Eylemi yürütmek için kullanilan uygulama:C:WINDOWS undll.exe setupx.dll,InstallHinfSection DefaultInstall 132 yaz.

--------------------------------------

Bir Klasördeki Tüm Dosyalari Icerik.txt Dosyasina Yazma
Dos Komut Satiri'nda Command.com/c dir>Icerik.txt yazin.
*******************dir>icer.txt*************************

---------------------------------------


Dll ve Clp Dosyalarinin Simgelerini Görmek
Not Defteri veya Word(Pad)'de asagidakileri yazin ve DLL.REG adinda kaydedin:
REGEDIT4
[HKEY_CLASSES_ROOTclpfileDefaultIcon]
[HKEY_CLASSES_ROOTdllfileDefaultIcon]

---------------------------------------

Bilgisayari Baskalarinin Karistirmasini Önlemek Için
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer'da Düzen-->Yeni*IkiliDegeri-->ASAGIDAN,SINIRLAMA YAZILARI'NDAN BIRINI SEÇIN. Çift tiklayin. Geçerli duruma getirmek için deger verisini duruma göre 01 00 00 00 veya 1 yapin. Eski haline getirmek için duruma göre 00 00 00 00 veya 0 yapin.

SINIRLAMA YAZILARI
NoDeletePrinter (Sistemde yazici iptalini önler)
NoAddPrinter (Sisteme yeni yazici eklenemez)
NoRun (Baslat-->Çalistir yok olur)
NoSetTaskbar (Baslat-->Ayarlar-->Görev Çubugu & Baslat Menüsü... yok olur)
NoFind (Baslat-->Bul yok olur)
NoDrives (Bilgisayarim'da sürücüler gözükmez)
NoNetHood (Ag Komsulari yok olur)
NoDesktop (Masaüstünde birsey gözükmez)
NoClose (Baslat-->Oturumu Kapa... yok olur)
NoSaveSettings (Çikista ayarlari kaydetmez)

-----------------------------------------

Bilgisayar Sistemini Baskalarinin Karistirmasini Önlemek Için
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem'de Düzen-->Yeni*IkiliDegeri-->ASAGIDAN,SINIRLAMA YAZILARI'NDAN BIRINI SEÇIN. Çift tiklayin. Geçerli duruma getirmek için deger verisini duruma göre 01 00 00 00 veya 1 yapin. Eski haline getirmek için duruma göre 00 00 00 00 veya 0 yapin.

SINIRLAMA YAZILARI
NoDispCPL (Denetim Masasi'nda Görüntü simgesi yok olur)
NoDispBackgroundPage (Görüntü Özellikleri'nde Artalan yok olur)
NoDispScrSavPage (Görüntü Özellikleri'nde Ekran Koruyucu yok olur)
NoDispAppearancePage (Görüntü Özellikleri'nde Görünüm yok olur)
NoDispSettingsPage (Görüntü Özellikleri'nde Ayarlar yok olur)
NoSecCPL (Denetim Masasi'nda Sifre simgesi yok olur)
NoPwdPage (Sifre'de Sifre Degistir yok olur)
NoAdminPage (Sifre'de Remote Administrtion yok olur)
NoProfilePage (Sifre'de SUser Profiles yok olur)
NoDevMgrPage (Sistem'de Aygit Yöneticisi yok olur)
NoConfigPage (Sistem'de Donanim Profilleri yok olur)
NoFileSysPage (Sistem'de Basarim'da Dosya Sistemi yok olur)
NoVirtlMemPage (Sistem'de Basarim'da Sanal Bellek yok olur)

WINDOWS’un Tarihi



Windows 1.0

Windows serisinden ilk işletim sistemi Windows 1.0 olarak 1985 yılında piyasaya çıktı. 1.0 bir task-switcher idi. Yani, birden fazla programı açabiliyor ama aynı anda tek bir program aktif oluyordu. Diğerlerinin çalışması askıya alınıyordu. Kullanıcı askıya alınan bir programa geçtiğinde bu sefer o program kaldığı yerden çalışmaya başlıyordu. Bu ilk versiyon hiç tutulmadı. Tutulmamasının nedeni o sıralarda kullanılan bilgisayarların donanım olarak yetersiz kalmasıydı. PC’ler o zamanlar grafik düşmanı bir yapıya sahiptiler. Ayrıca, bilgisayarlar henüz bugünkü yaygınlık düzeyine ulaşmamışlardı ve o zamanın kullanıcıları daha teknik kökenli kişiler idi. Bu da grafik arabirimli bir sistemden yararlanabilecek insanların azlığı anlamına geliyordu. Son bir neden ise Microsoft’un grafik kullanıcı arabirimleri üzerine çok deneyimli olmamasıydı.



Bu ilk sürüm, 1984 yılında piyasaya çıkan Apple Macintosh’a karşılık olarak üretilmişti. Macintosh başından itibaren grafik temelli olarak tasarlanmıştı. PC’ler ise metin temelli sistemler olarak işe başladılar. Bu da grafik temelli bir yapıya uyarlanmalarını zorlaştırdı. Bu yapı bugün bile olumsuz etkilerini hissettiriyor.



Windows 2.x

Microsoft’un ikinci girişimi de pek parlak olmadı. 1987 Yılında piyasaya sürülen Windows 2.0 grafik temelli olmasına karşın doğru dürüst ikon bile kullanmıyordu. Daha çok grafik ortamında gerçekleştirilmiş metin temelli bir sistemdi. Çünkü daha iyi grafikler için gereken güçlü işlemciler halen ortada yoktu. Gerçi Intel 1985 yılında 80386’yı çıkarmıştı ama piyasada en yaygın işlemciler 8088 ve 80286 idi. Zaman içinde Microsoft, Windows’un 80286 işlemcilerinin gücünden yararlanmasını sağlayan Windows/286 versiyonunu çıkardı. Bütün dezavantajlarına karşın bu versiyonun kullanımı yine de DOS’tan daha kolaydı ve kullanıcının birden fazla programı çalıştırabilmesine olanak sağlıyordu. Ama hem 8088 versiyonu hem de 286 versiyonu halen birer task-switcher’dı. Çokgörevli (Multitasking) bir yapıda değildi. Task switching’de birden fazla program çalıştırılabilir ama yalnızca öndeki program iş yapar. Arka plandaki programların işleyişi askıya alınır. Çokgörevli çalışmada ise hem ön hem arka plandaki programlar çalışmalarını sürdürürler. 1988’de çıkartılan Windows/386 versiyonunda çokgörevlilik sağlanıyordu. Ama çokgörevlilik var çokgörevlilik var. Windows/386 ile gelen (ve Windows NT ile Windows 95’e kadar süregelen) çokgörevlilik işbirlikçi bir çokgörevlilik (cooperative multitasking) idi. Işbirlikçi çokgörevlilikte birden fazla program aynı anda çalışabilir. Arka plana alınan programların çalışması devam eder. Programlar birbileri ile iyi geçinmek yani, işbirliği yapmak zorundadırlar. O anda çalışan bir program bir süre sonra CPU zamanı, sabit disk, COM portları vb. sistem kaynaklarını diğer programlara sunarak onların da çalışmasını sağlar. Ama kötü yazılmış bir program bütün sistem kaynaklarına el koyabilir. Diğer programların çalışıp çalışmamasına yalnızca o program karar verebilir. Buna karşılık Windows 95’de ve Windows NT’deki çokgörevliliği işletim sistemi yönetir. Hangi programın hangi sistem kaynağına ne kadar süre ile sahip olacağını işletim sistemi belirler. Programlar için işletim sistemi tarafından belirlenen süre sonunda işletim sistemi devreye girer ve sistem kaynaklarını bir diğer programa aktarır. Bu türden çokgörevliliğe önceden belirlenmiş çokgörevlilik denir (preemptive multitasking).



Windows 2.0’ın üç versiyonu da piyasada tutulmadı. Üç versiyonun da kullanıcı arabirimi yeterince basit ve kullanışlı değildi. Ayrıca üçü de yeterince güvenilir değildi



Windows 3.x

1990 yılının 22 Mayıs’ında büyük bir kampanya eşliğinde piyasaya çıkartılan Windows 3.0, önceki versiyonların tersine çok başarılı oldu. Bellek kullanımının gelişmiş olması gibi güçlü teknik özelliklerinin yanısıra kullanıcı arabirimi de olağanüstü gelişmiş idi. Ikonlar ilk kez burada yoğun bir şekilde kullanılmaya başladılar. Birçok kişinin Windows ile özleştirdiği Program Manager arabirimi de bu versiyonda ortaya çıktı. En önemlisi de, birden fazla programın aynı anda oldukça sorunsuz bir şekilde çalışabilmesiydi. Kuşkusuz Microsoft bu versiyonda da bazı ödünler verdi. Örneğin, 8088 işlemcili, düşük konfigürasyonlu bilgisayarların da Windows 3.0’ı çalıştırabilmeleri göz önünde tutulmuştu. 8088’in çalışabileceği son Windows versiyonu Windows 3.0 oldu.



Windows 3.0 piyasada çok iyi karşılandı. Ama kullanıcıların sayısının artmasıyla birlikte sorunlar da ortaya çıkmaya başladı. Çıkan sorunların büyük kısmı düşük konfigürasyonlu makinalar düşünülerek verilen ödünlerden kaynaklanıyordu. Örneğin, Windows 3.0 gerçel modda (real mode) çalıştırılabiliyordu ama bu bu modda hiç de güvenilir değildi. Işletim sistemi bu modda çalışırken kötü yazılmış bir program sistemi çökertebilirdi. Korunmalı modda (protected mode) çalışan bir işletim sistemi ise bu türlü programların sisteme zarar vermesini daha iyi engelleyebilirdi.



Bir başka sorun da ünlü geri dönülemez uygulama hatasıydı (unrecoverable application error, UAE). Bu hataların çoğunda Windows’un bir kusuru yoktu; programlar bir dosyayı açmaya çalışmadan önce böyle bir dosyanın var olup olmadığını kontrol etmiyorlar ya da olmayan bir sistem kaynağına ulaşmak istiyorlar ya da buna benzer bir hata yapıyorlar ve sistem çöküyordu.



Bütün bu sorunlara çare olarak Microsoft, Windows 3.1 versiyonunu çıkardı. Bu versiyonda kullanıcıya yeni gelen çok az şey vardı. Ama asıl farklılık küçük ayrıntılarda ve sistemin derinliklerindeydi. Bu versiyonda UAE’ler hemen hemen ortadan kayboldular. Çünkü Microsoft artık sistemden bir şey istendiği zaman isteğin geçerli olup olmadığını araştıran mekanizmalar eklemişti. Bir uygulama diskte yer alan bir dosyayı istediği zaman ya da benzer bir iş yapmak istediği zaman Windows ilk önce işin yapılabilirliğini kontrol ediyordu (örneğin, istenilen dosyanın diskte yer alıp almadığını kontrol ediyordu). Bu özellik birçok yazılımevinin ürettikleri yazılımları gözden geçirmesini sağladı. Yazılımevleri sorun çıkarmaya aday kısımları inceleyip yazılımlarını neredeyse yeniden yazdılar. Bütün bunlara karşın yine de sistem bütünlüğünü bozan uygulamalar ortaya çıkıyordu. Bu durumda sonuç genel koruma hatasıydı (general protection fault, GPF). Yani, UAE’ler ortadan kalktı ama şimdi de yerine GPF’ler geldi. Bir sorun çıktığı zaman kullanıcı açısından değişen tek şey gelen mesajdı. Ama Windows 3.1, GPF’lerden sonra kendini daha kolay toparlayabiliyordu. Windows donup kalmadan önce en azından hatanın nedenini gösterebiliyordu. UAE’ler ise genelde Windows’un tanımlayamadığı hatalardan çıkıyordu. Bu fark, üreticilerin programlardaki hataları daha kolay görebilmelerini sağlıyordu. Bunların yanısıra ortalama bir kullanıcı şimdi çok daha az hata, yani GPF, ile karşılaşıyordu.



Microsoft Windows 3.1 ile birlikte daha da gelişmiş ve güvenilir hale getirilmiş bir bellek düzeni sağladı. Windows 3.1 sanal bellek kullanabiliyordu; yani, sabit diskin bir bölümü RAM bellek gibi kullanılabiliyordu. Microsoft bu ek belleğin bir bölümünü daha gelişmiş, 16 bitlik aygıt sürücüleri sağlamak için kullandı. 16 bitlik sürücüler korunmalı modda çalıştığı için Windows 3.1 8088’li bir makinada kullanılamıyordu.



Windows for Workgroups 3.11

Windows 95 öncesi en güvenilir, en sağlam Windows versiyonu Windows for WorkGroups 3.11 oldu. Bu versiyon aslında öncekilere göre çok daha iyi bir ağ desteği sağlamak için üretilmişti ama özellikleri yüzünden tek başına çalışan PC’lere bile yüklenmeye başladı



Bu versiyon ile birlikte, birkaç bilgisayarın bulunduğu ortamlarda, başkaca bir ağ işletim yazılımı kullanmadan bir bilgisayar ağı oluşturmak mümkün oluyordu. Ayrıca elektronik posta için Microsoft Mail ve iş düzenini sağlamak için Scheduler programını da içeriyordu.



3.11’in daha güvenli olmasının nedeni ise önceki versiyonlarda bulunan hataların (bug) çoğunun temizlenmesiydi. Ayrıca 32 bitlik disk erişimi gibi yeni ve performansı arttıran özellikleri de vardı. Ama halen yeterince güvenilir bir sistem değildi. Olması da mümkün değildi. Çünkü önceki Windows versiyonları gibi o da disk erişimi ve benzeri işler için DOS’u kullanıyordu. Korumalı modda çalışan, birden fazla programı aynı anda çalıştıran bir işletim sistemi alt düzey işler için gerçel mod, tek-görevli bir sistemi kullanırsa sorunların çıkması kaçınılmaz.



Windows NT

DOS ve OS/2’dan sonra Microsoft’un üçüncü tam-tekmil işletim sistemi denemesi Windows NT oldu. Windows NT’yi Digital’dan transfer edilen bir grup yazdı. Digital’ın WAX bilgisayarlarında kullanılan VMS işletim sistemini de bu grup yazmıştı (Windows NT’nin kısaltması WNT’yi oluşturan harflere bakarsanız herbirinin VMS kısaltmasındaki harflerden sonra geldiğini görürsünüz). Windows NT, daha önceki Windows yazılımlarından farklı olarak DOS’a gerek duymayan tam bir işletim sistemi idi.



DOS/Windows ikilisi varken NT’ye niçin gerek duyulduğu sorulabilir. Bu sorunun yanıtını şöyle verebiliriz. DOS ortada durduğu sürece güvenilir, hızlı, çağa uygun bir işletim sistemi oluşturmak hayaldi. Yaratılan herşey DOS’un kısıtlamaları yüzünden yetersiz kalmaya mahkumdu. Microsoft bu yazılımlarla büyük işyerlerine giremiyor, ciddi uygulamalar gerçekleştiremiyordu. Büyük işyerleri kullanımı kolay, grafik arabirimli ama çok daha güvenilir ve güçlü bir işletim sistemi istiyorlardı.



Windows NT güvenilir bir yapıdaydı. Buradaki çok görevlilik yapısının preemptive olduğunu yukarda söylemiştik. Ayrıca uygulamaların doğrudan donanıma (disk, görüntü kartı, faks-modem kartı vb.) erişimi yasaklanmıştı. Daha önceki uygulamalar performanslarını arttırmak için DOS’u atlayıp donanıma doğrudan erişmek eğilimindeydirler. Bu da sistemin kararlılığını (stability) azaltıyordu. NT’de ise uygulamalar donanıma doğrudan erişemiyordu. İsteklerini çekirdek (kernel) modunda çalışan yönetici hizmetlere iletiyorlardı. Yönetici hizmetler isteklerin uygun olup olmadığına bakıyor, uygunsa istekleri yerine getirip sonuçlarını uygulamalara bildiriyordu.



NT aynı zamanda Microsoft’un ilk 32 bitlik işletim sistemi idi. PC dünyasında 32 bitlik ilk işlemci, 80386, 1985 yılında piyasaya çıkmıştı ama 1993 yılına kadar bu işlemcinin kaynaklarını sonuna kadar kullanan bir işletim sistemi üretilememişti. İşletim sisteminin 32 bitlik olması işlemlerin daha hızlı yapılabilmesini ve daha büyük belleklere daha kolay erişimi sağlıyordu.



NT başlangıçtan itibaren çokişlemcili (multiprocessing) çalışabiliyordu. Yani, bilgisayarda birden fazla işlemci bulunuyorsa işleri eşit bir şekilde bu işlemcilere dağıtabiliyor ve sistem performansını arttırabiliyordu. Daha önceki işletim sistemlerinin tersine NT, Intel işlemcilerine mahkum değildi. NT, Digital’ın Alpha, Silicon Graphics’in MIPS ve IBM/Motorola/Apple üçlüsünün PowerPC işlemcisi ile de çalışabiliyordu (yakın zamanlarda MIPS ve PowerPC işlemcileri için NT geliştirilmesi işine son verildi). Bu işlemciler arasında halen en iyi fiyat/performans oranı Intel işlemcileri ile elde ediliyor. (Burada Intel derken aslında bir platformu, i386 platformunu, kastediyorum. Intel firmasının işlemcileri dışında, AMD ve Cyrix işlemcileri de bu paltformda yer alıyorlar. Hatta AMD işlemcileri çoğu zaman performans bakımından Intel işlemcileri geçiyorlar.)



Microsoft, NT’yi ilk olarak sunucu bilgisayarlarda kullanılmak üzere tasarladı. Bu yüzden de üzerinde çalışabileceği bilgisayarın oldukça yüksekti özelliklere sahip olması gerekiyordu. Hızlı bir işlemci ve en az 16MB bellek istiyordu. Yeni bilgisayar alanlar bu özellikleri küçümseyebilirler; çünkü aldıkları bilgisayarlar şu anda en azından 633MHz’lik bir Celeron’a ve 64MB’lık bir belleğe sahip. Ama NT’nin ilk çıktığı zamanlarda (çok değil, 1993 yılında) bu özellikler küçük bir servet anlamına geliyordu.



Microsoft’un daha sonra geliştirdiği workstation versiyonu NT’nin daha düşük konfigürasyonlu makinalarda da çalışmasını sağladı. Düşük konfigürasyon diyoruz ama yine de bu versiyon için de en az 12 MB gerekiyordu. Bu versiyon daha az kullanıcı, daha az sayıda bir arada çalıştırılabilecek işlemci vb. şeyler demekti.



Paranın ikinci planda, güvenilirlik ve performansın ilk planda kaldığı büyük işyerlerinde, devlet dairelerinde NT ilgi çekmeyi başardı. Ama bütün parlak özelliklerine karşın NT bir türlü yayılamadı. Değerlendirmelerde hep yüksek puanlar ve övgüler alıyordu. Ama Microsoft’un istediği yalnızca güzel değerlendirmeler değildi. Microsoft, hiç bir zaman kısıtlı pazarlara yönelik üretim yapan bir firma olmadı. Onun için başarı, ürününün 10-20 bin değil, 10-20 milyon adet satmasıydı. NT, hem donanım olarak zamanına göre üstün ve pahalı bir donanım gerektirmesi, hem de bu işletim sistemi için yazılmış 32 bitlik programların piyasada bulunmaması yüzünden bir türlü yaygınlaşamıyordu.



Bu ortamda ne yapılabilirdi? Ya bu projenin batak olduğuna karar verip başka şeyler denenecekti ya da bu ürünün yaygınlaşmasını kolaylaştıracak yeni hamleler düşünülecekti. Microsoft daha önce de, daha sonra da, batak projelerin içerisine girmiş ama vazgeçmesini bilmişti. NT’de durum değişikti: Microsoft, NT’ye güveniyordu; vazgeçmek niyetinde değildi. Microsoft’a göre NT sıradan bir ürün değildi. Firmanın bütün geleceğini bağladığı bir projeydi bu.



NT’den vazgeçilmeyecekse onun yaygınlaşmasını engelleyen unsurlar temizlenmeliydi. Kullanıcıları hem donanım olarak hem de yazılım olarak NT’ye uygun bir duruma getirmek gerekiyordu.



Microsoft’un donanım tarafında çok şey yapması gerekmedi. 1990’ların ortalarından başlayarak yarıiletken teknolojisinde akıl almaz ilerlemeler gerçekleşti. Birim hacme daha çok devre sığdırılırken fiyatlar sürekli düşmeye başladı. Birkaç örnek vermek isterim: 1995 Temmuzunda, Intel’in Türkiye temsilcisi olan Empa’da çalışırken, Pentium 75 işlemciyi 350 dolardan satıyorduk. Şu anda ise 1.4GHz’lik bir Pentium IV işlemci hemen hemen aynı fiyata satılıyor. O zamanlar bilgisayarımın belleği 4MB iken şimdi yalnızca görüntü kartımın belleği 16MB. Yine o zamanlar bilgisayarımın sabit diski 80MB iken şimdi tam 45GB’lık bir sabit diskim var.



Yazılım tarafında ise yapılacak çok şey vardı. Yazılım firmaları 10-20 bin satan NT için 32 bitlik program üretmeye yanaşmıyorlardı. Haklıydılar. Öbür yanda yüzlerce milyona ulaşan bir Windows 3.1 piyasası vardı. Onları ikna etmek için denklemin öbür tarafına, yani kullanıcı tarafına geçmek ve önce onları 32 bitlik ortamlara taşımak gerekiyordu. Eğer kullanıcılar 32 bitlik bir işletim sistemine geçerlerse yazılım firmaları da 32 bitlik program üretmeye başlayacaklardı. Buradan hareket eden Microsoft, tarihinin en masraflı tanıtım kampanyası ile duyurduğu Windows 95’i üretti. 1995’in Ağustos ayında bu işletim sistemi piyasaya çıkarken Türkiye’de Ali Kırca Taksim’den canlı yayın ile bu ürünü tanıtıyordu. Gazeteler, dergiler, televizyonlar bu yeni ürünün tanıtımıyla dolup taşıyordu. Eşimin memleketi olan ve temelde tütüncülükle uğraşan Akhisar’da bile bilgisayarla ilgilendiğimi duyan kişiler bana Windows 95’i soruyorlardı. Böyle bir şey daha önce yaşanmadığı gibi daha sonra da yaşanmadı.





Windows 95

Microsoft, Windows 3.11 ve DOS 6.22 ikilisi sonrasında, kullanıcıların önünde bulunan bilgisayarlarda çalışacak yeni bir işletim sistemi çıkaracağını açıkladı. Bu yeni sistemde DOS’a gerek kalmıyordu. Kullanıcılar başından sonuna dek grafik ve dost bir ortamda çalışabileceklerdi.Bu yeni sistem 1995 içinde çıkarıldığı için Windows 95 olarak adlandırıldı. 1995’in Ağustos ayında tarihin gördüğü en büyük bilgisayar kampanyası eşliğinde piyasaya sürülen bu sistem çok tutuldu. Daha ilk haftada milyonun üzerinde satış rakamlarına ulaştı.



Windows 95’de DOS ortadan kalktı ama geriye doğru uyumluluk yüzünden büyük ödünler verildi. Örneğin, 32 bitlik olduğu söylenen Windows 95’de çok yoğun bir şekilde 16 bitlik kodlar kullanılıyordu. Ama bu sayede de daha önceki programlarla ve ürünlerle sorunsuz bir şekilde çalışma sağlanıyordu. Ayrıca Windows 95’in Tak-çalıştır (Plug-and-play) özelliği sayesinde bilgisayara yeni parçalar eklemek çok kolaylaşıyordu.



Windows 95’de bütün Windows DLL’leri ve destek kodları korumalı modda çalışıyordu. DOS uygulamalarını çalıştırmak için bir sanal makina (virtual machine) oluşturuyor ve bu makina üzerinde bir DOS kopyası çalıştırıyordu. Tak-çalıştır özelliği olmayan makinalarda bir kısım BIOS fonksiyonları için destek sağlıyor ve gerçel-mod sürücüler kullanan çok eski kartları bile destekliyordu. Windows 95 gerçel mod sürücüleri dışında tamamen korumalı modda çalışıyor ve Windows NT’nin 32 bitlik programlama arabiriminin bir alt kümesini kullanıyordu.



Windows 95, daha önceki Windows versiyonlarından daha iyi, daha hızlı ve daha güvenilir çalışmakla kalmıyor kullanıcıya yeni bir grafik arayüzü de getiriyordu. Bu arayüz çok tutulunca uyumluluğu sağlamak için Windows NT 4.0’a da yerleştirildi.



Yukarda saydığımız kısımlar dışında Windows 95 ile kullanıcıların elektronik posta ve iletişim gereksinimlerini karşılayan MAPI ve TAPI desteği, az sayıda bilgisayardan oluşan küçük bir bilgisayar ağını çok kolay kurabilme desteği de sağlanıyordu.



Windows 95’de her türlü program çalışıyordu ama bu işletim sisteminden en yüksek yararı sağlamak için 32 bitlik programlar kullanmak gerekiyordu. Windows 95’in yaygınlaşmasıyla birlikte yazılım firmaları hızla 32 bitlik program üretmeye başladılar. Windows 95 için üretilen 32 bitlik programların hemen hepsi NT üzerinde de çalışıyordu. Microsoft böylece yazılım piyasasını da istediği gibi 32 bitlik bir yapıya kavuşturdu.



Windows NT 4.0

Windows NT’nin en son versiyonu olan NT 4.0, 1996 yılında piyasaya çıktı. NT 4.0’daki en büyük yenilik 1995 yılında piyasaya çıkan Windows 95’in arayüzünü kullanması idi. Bunun yanısıra bir DNS sunucu hizmetinin işletim sisteminde yer alması ve grafik altsisteminin çekirdek kipine taşınması gibi bazı ufak tefek değişiklikler vardı. Ama özellikle grafik altsisteminin çekirdek kipine taşınmasıyla birlikte artan grafik performansı, bilgisayar destekli tasarım programı (CAD) üreticilerini NT’ye çekti. NT halen CAD için en çok tercih edilen platform niteliğini taşıyor.



Windows NT 4.0 geriye doğru uyumluluk konusunda Windows 95’in çok gerisindedir. Windows 95’in çalıştırdığı birçok DOS ve 16 bitlik Windows uygulamalarını NT 4.0 çalıştırmaz. Çalıştırmaması da gerekir. Çünkü bu çalışmayan programlar ya doğrudan donanıma müdahale eden ya da ciddi bir şekilde sistem bütünlüğünü ve güvenilirliğini ihlal eden programlardır. Bu türlü programları çalıştırmak istiyorsanız işletim sistemi olarak Windows 95’i seçebilirsiniz. Ama en iyisi programlarınızı yenilemektir.



Windows NT 4.0 piyasada büyük bir başarı sağladı ve sağlamaya devam ediyor. Şu anda hem Türkiye’de hem de dünyada en çok kullanılan ağ işletim sistemi Windows NT 4.0. Ağ işletim sistemleri pazarında başa güreşen ve yakın zamana kadar fiilen tekel olan Novell’in pazar payı gitgide küçülüyor. Bu güçlü rakibinden kısa zamanda sıyrılan NT 4.0’ın şu anda en büyük rakibi Linux. Linux, amatör ve kısıtlı bir proje olarak yola çıkmışken Microsoft’a bir seçenek bulmaya çalışan firmalar ve kişiler tarafından keşfedildi. Bu kişiler ve firmalar şu anda en küçük ortamlardan en büyük sunuculara kadar her ortamda Linux’u kullanma çabası içindeler.



Windows NT 4.0’ın iki versiyonu var: NT Server ve ve NT Workstation. Workstation versiyonu tek başına çalışacak bilgisayarlar için ya da az sayıda bilgisayarın kendisine bağlanacağı bilgisayarlar için kullanılıyor. Server versiyonu ise çok sayıda bilgisayardan oluşan ağlara hizmet vermek için kullanılabilecek bir sistem. Workstation versiyonunun çalışabilmesi için en az 12MB bellek gerekirken server versiyonu için en az 16MB bellek gerekiyor. Ama her iki versiyon için de aslında 32MB’dan aşağısı önerilmiyor.



Yukarda sırasıyla task-switching, cooperative multitasking, preemptive multitasking ve multiprocessing terimlerini açıkladık. Windows 95 ve Windows NT ile birlikte yeni bir terim daha karşımıza çıkıyor: Multithreading. Şimdi bu kavramı açıklayalım.



Bir task (görev) çalışmakta olan bir programdır. Bir program, kullanıcı tarafından çalıştırılan bir program olabileceği gibi sistem tarafından çalıştırılan programlar da olabilir. Örneğin, Windows’u başlattığınızda çalışan ortada hiçbir program yok gibi görünür. Oysa işletim sistemi, Explorer ya da Program Manager gibi programları, ağa erişim sağlayan programları, tanımlanmışsa yazıcı kuyruklarını çalıştırır durumdadır. Task yerine process (süreç) terimi de kullanılır.



Windows 3.1’de her bir uygulama tek bir göreve karşılık geliyordu. Windows 95 ve Windows NT’de ise bir uygulamada birden fazla görev bulunabilir. Bir uygulama içindeki işletilebilir en küçük kod parçasına,yani görev parçasına thread denir. Uygulamalarda birden fazla thread’e izin veren işletim sistemine de multithreaded denir. Windows 95 ve Windows NT multithreaded işletim sistemleridir. Multhtreaded yapı, uygulamaların içindeki küçük görevlerin (thread’lerin) birbirlerinden bağımsız çalışabilmelerini sağlar. Bu özellik en çok çokişlemcili (multiprocessing) sistemlerde işe yarar. Çokişlemcili sistemlerde işletim sistemi uygulamaları ya da uygulamaların içinde bulunan thread’leri sistemdeki işlemcilere dağıtır. Bu da sistem performansını önemli ölçüde arttırır. Ama tek işlemcili bir bilgisayarda bile multithreaded yapı performans artışı sağlar. Örneğin, Windows 95 için yazılmış bir elektronik tablolama programında thread’lerin birisi tablonun yeniden hesaplanması işi ile uğraşırken diğeri basım işlemi yapabilir.



Windows 2000

Microsoft, Windows NT 4.0’ın bir üst sürümü için adlandırma kuralını değiştirdi. Bu sürümün adı Windows 2000 oldu. Bu pek de parlak bir düşünce değildi ve diğer Windows ürünleriyle karıştırılmasına neden oldu. Hatta bu yüzden Windows 2000’in yeni sürümü için adlandırma kuralı tekrar değiştiriliyor. Windows 2000 Server’in yeni sürümü Windows Server olarak adlandırılacak.



Peki, 2000 yılının 17 Şubatında piyasaya çıkan Windows 2000 ne gibi yenilikler içeriyor? Baş yenilik dizin (directory) hizmetleri konusunda. “Directory” terimi Microsoft tarafından uzun zaman sabit diskteki bölümleri göstermek için kullanıldı. Ama uzun bir süre önce Microsoft disk bölümleri için folder (klasör) terimini kullanmaya başladı. Dizin, şu anda, bir sistemdeki nesnelerin bilgisi demek. Örneğin, telefon dizini kişilerin ad ve telefon numarası bilgisini içerir. Bir işletim sisteminin dizini ise kullanıcıları, bilgisayarları, yazıcıları, paylaşım alanlarını vb. nesneleri içerir.



NT’nin bir dizin hizmeti vardı. Örneğin, User Manager for Domains programı ile dizin içindeki kullanıcılara, Server Manager programı ile de dizin içindeki bilgisayarlara erişebiliyordunuz. Ama bu dizinin bazı sorunları vardı: Yönetimi tutarlı bir arabirimle yapılmıyordu; her iş için ayrı ayrı programlar kullanılıyordu. Dizin içindeki nesnelerin sayısı üzerine sınırlar bulunuyordu. Örneğin, bir NT etki alanı içinde ortalama olarak birkaç bin kullanıcı tanımlanabiliyordu. Dizin hizmetlerini üstelenen bilgisayarlar (PDC ve BDC’ler) katı bir şekilde tanımlanıyordu: Normal sunuculardan PDC-BDC durumuna, PDC-BDC’lerden normal sunucu durumuna geçiş mümkün değildi. Bu ve benzer kısıtlamalar Windows 2000’in dizin hizmeti Active Directory’de giderildi.



Active Directory dışında Windows 2000, Plug-and-play desteği, USB desteği, enerji yönetimi desteği gibi yeni teknolojilere destekler de içeriyor. En güzel özelliklerinden birisi de NT’ye göre çok daha az yeniden başlatılması: NT’ye yeni bir hizmet, kart, protokol yüklediğinizde sistemi yeniden başlatmanız gerekir. Windows 2000’de toplam olarak altı-yedi yerde yeniden başlatmak gerekiyor.

XML'e Giriş

XML(eXtensible Markup Language-Genişleyebilir Anlamlandırma Dili) hakkında birşeyler duymuşsunuzdur muhakkak; onun Web üzerinde veri alışveriş methodunu değiştireceğini, HTML’in bir nevi kardeşi olduğunu, ama tabi ki SGML(Standard Generalized Markup Language)’in bir alt kümesi olduğunu. XML üzerine uygulamalar geliştirmek onu kendi iş süreçlerinize dahil etmek istiyorsanız XML’i biraz daha geniş olarak inceleyen bu yazıyı okumanızı tavsiye ederim. İlk önce SGML’i incelemekte fayda görüyorum. Sonuçta bu bir giriş olduğuna göre temeli sağlam atmalıyız. SGML International Standards Organization(ISO) tarafından 1986 yılında kabul edilmiş ve onaylanmış bilgi-yönetimi standardıdır. SGML platform-bağımsız ve uygulama-bağımsız dökümanlar yaratmak sağlamak için oluşturulmuştur. Dilbilgisi gibi bir mekanizma kullanılarak dökümanların yapısını özel tanımlanmış tag’ler kullanarak yapısını tanımlamamıza yarar. SGML bir meta-dildir. Meta-dil demek dil yaratmaya yarayan dil demektir. (Yapay zeka’da metaknowledge’in knowledge about knowledge olduğu gibi.) Örneğin HTML, SGML’den türetilmiş bir anlamlandırma dilidir. Aynı şekilde XML’de temel olarak SGML’e dayanır. İlginç olan XML’in SGML gibi bir meta-dilden türemesine rağmen kendisi de bir meta-dil olmasıdır. Yani XML’den de yeni diller türetilebilir. XML’i içeriğin nasıl görüneceğinden ziyade içeriğin yapısını tanımlamada kullanırız. Diğer taraftan HTML dökümanın nasıl gösterileceğini belirtir, dökümanın ne olduğundan hiç bahsetmez. DTD Diğer önemli bir konu ise DTD’dir. HTML’de dikkat ettiyseniz ilk satır: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 FINAL //EN"> olarak görünür. Burada Web browser’a html’in hangi DTD’sini kullanacağı söylenir. Burada DTD Document Type Declaration’dır. Fakat kesinlikle bu XML’de ileride kullanacağımız DTD yani Document Type Definiton ile karıştırılmamalıdır. HTML’deki Document Type Declaration bize hangi tür bir dökümana sahip olduğumuzu söylerken , XML’de Document Type Definition ise dökümanın syntax’ının geçerli(valid) olduğu yerleri tanımlar. Aslında ileride DTD’yi geniş olarak ele alacağız ama kısaca açıklayacak olursak: DTD parser’ın izleyeceği kuralları belirler. Dökümanda ne gibi elemanların olduğunu ve bu elemanların neler yaptığını açıklar. Ayrıca DTD dökümanın tag yapısının ve içeriğindeki organizasyon hiyerarşisinin önceden tanımlanmış HTML kurallarına uyup uymadığını kontrol etmek için parser tarafından kullanılır. Şimdi aklınızdan geçenleri tahmin edebiliyorum, biraz karışık gibi görünüyor ama uygulama yapınca DTD’nin ne kadar kolay birşey olduğunu anlayacaksınız. Biraz daha sabır. XML'in Gelişimi Internetin ilk yıllarında birkaç HTML tag’i kullanarak gri web sayfaları yapmak oldukça büyük bir işti. Ama zamanla insanlar bunun çok iyi bir reklam aracı olabileceğini farkedip, üzerinde çalışmaya başladılar. Birçok grafiksel öğe geldi, insanlar tasarım yapmaya başladılar. Bunu Html 2.0 ve 3.0 izledi. Gün geçtikçe internetin altyapısı da düzeldi. Türkiye’de inanılmaz bir ISS(Internet Servis Sağlayıcı) patlaması yaşandı. Paket fiyatları düştü düştü , firmalar bu rekabetten oldukça etkilendi ve geriye oldukça köklü firmalar kaldı. Internet 2. boyutunu yani insanlardan bilgi toplama yakalamıştı. Ve halen belki de bu boyuttayız. Asp bize sunucu taraflı uygulamalar geliştimeye olanak tanıdı hem de cgi, perl gibi dilleri bilmeden sadece Vbscript ile bunu yapmamızı sağladı. Artık web sayfaları dinamik içerik sağlıyordu, sizin kim olduğunuzu anlayıp size özel işlemler yapıyordu ki, veri transferinin önemi oldukça büyüdü. Artık herşey veriye bağlanmıştı. Bir web sitesinin arkasına SQL Server’lar, Oracle’lar SAP R/3 sistemleri durmaya başlamıştı. İşte XML bu veri değişimi işlemini kolaylaştırmak için doğdu. 3. kuşak internette de bu ve yeni teknolojiler kullanılarak insan faktörü ön plana çıkacak ve etkileşimli web siteleri yapılacak. B2B ve B2C’ler yerini Marketplace’lere bırakacak. Biz şu an 2. kuşağı yaşayan ama 3. kuşağa geçmeye hazırlanan bir ülkede bulunuyoruz. XML ile veri değişiminin kolay hale gelmesi hedeflenmişti ve başarıldı. Artık sizin verilerinizi alacak sistemin ne olduğunu bilmeniz ve ona göre çıktı üretmeniz gibi birşey söz konusu değil. Siz bir XML paketi oluşturup karşı sisteme yolluyorsunuz. O da bu paketi açaral kendi sistemine dahil ediyor. Yani artık internet aracılığıyla farklı sistemler veri değişiminde aynı dili konuşuyor: XML. ASP ve XML İlişkisi Peki ASP bunun neresinde diyeceksiniz, hatta daha komik birşey bir iş arkadaşıma SAP Türkiye’de XML dersi verirken sorulan bir soru: "Asp mi Xml’i kapsıyor, Xml’mi Asp’yi?". İki teknoloji de birbirinden bağımsız görünse de birbirine bağlı teknolojiler. Ama kimse kimseyi kapsamıyor. Asp bir teknoloji Xml de. Xml üretmek için illaki Asp’ye ihtiyaç yok, tam tersi Asp için Xml’e de. Ama bu iki teknoloji ortak kullanıldığında veri değişiminde oldukça kolay ve başarılı uygulamalar geliştirilebilir. XML bize karşı sistemin ne olduğunu bilmemize gerek kalmadan paket oluşturmamıza yararken, ASP de bu paketleri kullanılabilir halde oluşturmamıza yaratıyor. XML başlığı altında işleyeceğimiz diğer bir konu ise XSL yani eXtensible Stylesheet Language. Kısaca XSL , XML dökümanlarının biçimini belirleme ve değiştirmede kullanılır. XSL kullanarak XML dökümanlarını daha başka XML dökümanlarına dönüştürebilirsiniz. Şimdilik XSL’i kafanızda CSS olarak canlandırabilirsiniz, sanki XML verilerine şekil kazandırıyormuş gibi ama ileriki konularda XSL’in çok daha kapsamlı olduğunu göreceğiz. XML'in Tasarım Amaçları XML tasarlanırken düşünülen birçok düşünce var. W3C’nin birleşip ortaya çıkardığı 10 temel XML’in tasarım amacı şunlar: 1- XML internet üzerinde çalışabilmelidir. 2- XML neredeyse tüm uygulamalar tarafından desteklenmelidir. 3- XML SGML ile uyumlu olmalıdır. 4- XML üreten programlar oldukça kolay olmalıdır. 5- XML’de opsiyonel özellikler minumum olmalı veya hiç olmamalıdır. 6- XML dökümanları okunabilir ve açık olmalıdır. 7- XML tasarımı tek bir firma bu işi ele almadan acilen hazırlanmalıdır. 8- XML tasarımı biçimlendirilmiş ve kısa olmalıdır. 9- XML dökümanlarının yaratılması çok kolay olmalıdır. 10- XML dökümanlarında anlam belirsizlikleri olmamalıdır. Kendini Tamamlayıcı Dökümanlar XML dökümanları verilen tag isimleri ile kendini tanımlayabilir olmalıdır. Örneğin: <okuladi>ODTU</okuladi> Burada açık olarak anlaşılıyor ki ODTU bir okulun adıdır. Aslında işin temeline inmemizde ben yine yarar görüyorum. En başta dedim ya temel sağlam olmalı. XML dökümanları 2 kritere uymalıdır; iyi-oluşturulmuş(well-formed) ve geçerli(valid). İyi-oluşturulmuş Döküman: Bir XML dökümanının iyi-oluşturulmuş olması için aşağıdaki temel kurallara uyması gereklidir: 1- HTML ve SGML gibi XML de büyüktür (>) ve küçüktür (<) karakterlerini ayrıraçlar olarak kullanır. 2- Bu karakterlerle tag dediğimiz yapılar oluşturulur ve bunlar açıldığı zaman kapatılmalıdır. Tek istisna boş elemandır(değeri olmayan eleman). Bu durumlarda açma ve kapama tag’i aynı olabilir. Örneğin: <okuladi/> dediğimizde okuladi diye bir tag açmış oluruz ama içinde herhangi bir değer bulunmaz. 3- Tag’lerin eklentileri çift-tırnak içine alınmalıdır. HTML bu açıdan esnektir fakat XML bunu yapmanıza izin vermez. Örneğin HTML’de diye bilirsiniz ama XML’de 3 kesinlikle çift-tırnaklar içine alınmalıdır. 4- Elemanlar aynı HTML’de olduğu gibi iç-içe düzgün bir şekilde tanımlanmalıdır. Her XML dökümanı bir kök elemanına sahiptir ve diğer tüm elemanlar onun çocukları olarak anılırlar. Hemen bir örnek verelim: <universite> <universiteadi>ODTU</universiteadi> <universitesehiri>Ankara</universitesehiri> </universite> 5- XML’deki elemanlar büyük-küçük harf ayırt eder. Yani <universite> ile <UNIVERSITE> iki ayri elemandır. Bu yönüyle de HTML’den farklıdır. Bu yüzden XML kodları yazarken ençok karşılaşılacak sorun bu olabilir. Geçerli Döküman: Geçerli bir döküman kendi DTDsi veya şemasında(shema) tanımlanmış kurallara uyan dökümandır. Aslında daha ikisini de incelemedik ama kısa bir bilgi vereyim: DTDler ve şemalar o XML dökümanının her elemanının neler kapsayabileceğini ve o dökümanın organizasyonel yapısını belirler. SQL Server veya Oracle ile uğraşmış olanlar bilirler , buradaki şema yapısı da veritabanı şeması belirleme ile aynıdır. En büyük fark ise XML’de elemanların eleman içermesidir. Bu konuya ileride oldukça geniş yer vereceğim çünkü oldukça önemli. XML Geliştirme Programları Tabiki yine Notepad. Microsoftun en sorunsuz çalışan ürünü olsa gerek. Eğer ben iyi kod yazarım hata yapmam diyorsanız Notepad’i tavsiye ederim. Ama tabiki XML için de yazılımlar gün geçtikçe artıyor. En çok kullanılanlardan biri Microsoftun XML notepad’i.(Notepad’e olan talebi görmüş olmalı ki.) Oldukça güzel bir arayüzü var. XML’de amaçlandığı gibi çok basit bir şekilde XML dökümanı yaratmanızı sağlıyor. Ayrıca ücretsiz. Download etmek için tıklayın... İlk Örnek Ve işte ilk örneğimiz: << Bakın burada yapılmışı var <?xml version="1.0"?> <OGRENCI> <ISIM> <AD>SERAP</AD> <SOYAD>BASARAN</SOYAD> </ISIM> <UNIVERSITE> <BOLUM>GIDA MUH</BOLUM> <YIL>1996</YIL> </UNIVERSITE> <ADRES> <CADDE>YURTLAR CADDESI</CADDE> <APARTMAN>UC APARTMANI</APARTMAN> <NO>610</NO> <ILCE>BABAESKI</ILCE> <IL>KIRKLARELI</IL> </ADRES> </OGRENCI> Farzedelim ki bir vakıf kurduk ve bu bilgileri tutmak istiyoruz. Okulundan bir XML dökümanı istiyoruz ama yapısının bu şekilde olmasını istiyoruz. Onlar bize bu yapıda bir döküman yolluyorlar biz de bunu otomatik olarak çalışan sistemimize kaydediyoruz diyelim. Böylece okuldan biri mezun olduğunda mezunlar derneğimize katılması için mektup yollayableceğimiz bir adresi var. Sistem otomatik olarak güncelleniyor. Sizin büronuz Istanbul’da okul Ankara’da. Aslında çok basit bir örnek ama bu uygulamaları düşünmenin hayal sınırı yok. Veriyi oluşturmak için sisteminizi çalıştırmanız yeterli, diğer tarafta nasıl sisteme entegre olacağı sizi ilgilendirmiyor. Web üzerinde kullanacağımız XML uygulamalarında XML dökümanını derleyen msxml.dll dosyasıdır. Eğer Internet Explorer 5.0 ve üzerini kullanıyorsanız XML dökümanlarını rahatça görüntüleyebilirsiniz. Eğer yukarıdaki kodu düzgün kodladıysanız xml dosyasını kişisel sunucunuzda çalıştırdığınız da aşağıdaki görüntüyü elde edersiniz: + ve – ‘lere tıklayarak tag’leri açıp kapayabilirsiniz. Bu yapı size XML dökümanlarının eleman-çocuk ilişkisini anlamınıza yarayacaktır. XML Hata Mesajları Eğer bir hata yaptıysanız ki neredeyse her zaman ilk yazılışta hata çıkar, Internet Explorer hata verecektir. Şimdi olası hataları değerlendirelim: 1- Eğer üstteki hatayı görüyorsanız sizde anlayacaksınızdır ki, <IL> tagini kapatmayı unutmuşsunuzdur. XML dökümanı iyi-oluşturulmalıdır demiştik ya işte orada bundan söz etmiştik. 2- Eğer üstteki hatayı alıyorsanız çift-tırnak koymadığınızı anlayacaksınızdır. Bu da bir iyi-oluşturamama hatasıdır. 3- Eğer üstteki hatayı alıyorsanız, Büyük-küçük harfe dikkat etmemiş olduğunuzu göreceksiniz. 4- Eğer üstteki hatayı alıyorsanız, aynı tag’i birden fazla kullanmışsınızdır. BAŞLARKEN... -------------------------------------------------------------------------------- XML dünyasına hoşgeldiniz. Teknolojik gelişmelerin sürekli ve hızla devam ettiği bilişim dünyasında Internet,hiç kuşkusuz en önemli araç haline gelmiştir.Bu önemli aracın kullanmış olduğu dil olan HTML ise yapısındaki önemli bazı eksikliklerden dolayı yerini yeni bir dile bırakmaktadır:XML… XML (Extensible Markup Language) artık çoğumuzun kulağına yabancı gelmeyen bir terim.W3C(World Wide Web Concortium) gibi bağımsız bir organizasyon tarafından geliştirilmiş olan XML, isminden de anlaşılacağı üzere son derece esnek bir yapıya sahiptir.İşte bu esneklik sayesinde XML, elektronik iş sistemleri, bankacılık, finans, sağlık, eğitim, ulaşım, otomotiv sektörleri gibi bir çok alanda,kısacası bilişim dünyasıyla ilgili olan her sektörde varlığını gün geçtikçe daha da hissettirmektedir. Okumakta olduğunuz bu döküman sizlere XML ve ilişkili teknolojiler hakkında bilgiler vermek amacıyla hazırlanmıştır.Döküman temel olarak iki bölümden oluşmaktadır. Birinci bölümde XML ile yeni tanışan okuyucular düşünülerek temel sözdizimi(syntax) yapıları, terimler ve XML dilinin başlıca yapı birimlerinden bahsedilmiştir.İkinci bölümde ise daha da teknik detaya inilerek XML dilinin yapısındaki detaylar, programlama dilleriyle olan ilişkileri,veritabanı yönetim sistemlerindeki davranışları, gibi konular anlatılmaya çalışılmıştır.Bu bölümden programcılar,veritabanı yöneticileri,sistem uzmanları,web sayfası tasarımcıları öğrenciler gibi okuyucu gruplarının yararlanması düşünülmüştür. Software AG / Türkiye olarak, hazırlamış olduğumuz bu dökümanın sizlere faydalı olmasını temenni etmekteyiz.Dökümanla ilgili eksik gördüğünüz yönleri, önerilerinizi, sorularınızı ve her türlü yorumlarınızı öğrenmekten memnunluk duyacağımızı belirtir çalışmalarınızda başarılar dileriz. Saygılarımızla XML Nedir? -------------------------------------------------------------------------------- XML(Extensible Markup Language) HTML ile pek çok açıdan benzerlik gösteren bir markup dilidir.Verinin tanımlanması ve tarif edilmesi için kulanılır.HTML'deki yapının aksine XML'de kullanılacak olan tag'ler önceden tanımlı değildir.Yani bir XML dökümanının yapısı tamamıyle kullanıcı tarafından oluşturulur.Verinin tarif edilmesi için DTD adı verilen yapılar kullanılmaktadır.XML ve DTD'nin birlikte kullanılması ile dökümanlar kendini tarif eden bir yapı halini alırlar. XML ve HTML arasındaki en belirgin fark XML'in verinin kendisiyle ilgilenmesi HTML'in ise verinin sunumuyla ilgilenmesidir.Buna bağlı olarak HTML dökümanları veriye ilişkin şekillendirme bilgilerini içerirken XML dökümanları ise verinin tanım bilgilerini içermektedir. XML'in tasarım amaçlarından biri de verinin taşınmasıdır. Bahsedilen bu özellikleri incelendiğinde XML'in pek çok önemli işlevi yerine getirdiği görülmektedir. Şimdi çok basit bir XML dökümanını birlikte inceleyelim: <not> <kime>Mehmet</kime> <kimden>Erdem</kimden> <heading>Hatırlatma</heading> <body>Kitapları Unutma!</body> </not> HTML dökümanlarına çok benzeyen bu yapıda ilk etapta göze çarpan nokta tag yapılarının bizim tarafımızdan tasarlanmış oluşudur.HTML'de kullanılan

ve

gibi standart tag yapıları yukarıdaki XML dökümanında kullanılmamıştır.Bahsedilen bu özelliği nedeniyle XML dökümanları genişletilebilir(extensible) bir yapıya sahiptir.Dökümanın bu hali gerçek anlamda herhangi bir şey ifade etmez.Dökümanın iletimi(gönderim veya alım) ya da sunumu için başka şeylerin de yapılması gerekmektedir. Burada önemli bir nokta olarak XML'i HTML'in yerine geçecek bir dil olarak düşünmek yerine HTML'in tamamlayıcısı olacak olan bir dil şeklinde düşünmek uygundur. Günümüz bilişim dünyasına bakacak olduğumuzda XML'in her alanda karşımıza çıktığını görmekteyiz.Bu nedenle XML'I bir anlamda geleceğin web dili olarak tanımlamak mümkündür. XML Nasıl Kullanılabilir? -------------------------------------------------------------------------------- XML hakkında bilinmesi gereken en önemli nokta bu dilin veriyi taşımak amacıyla tasarlanmış oluşudur. XML ile veriler yapı bakımından modülerlik kazanmaktadır.Yukarıda bahsettiğimiz gibi XML dökümanları verinin içeriğiyle ilgilenmektedirler.Bu sayede verilerin içerik,yapı ve sunum kısımları ayrı modüller halinde farklı XML dökümanlarında tutulmaktadır. XML dökümanları Veri Adaları(Data Islands) adı verilen teknik sayesinde HTML sayfaları içerisinde de depolanabilmektedir.Bu teknik sayesinde verinizin sadece sunumuyla ilgilenilmektedir XML ile verinin alışveriş işlemi gerçekleştirilir.XML,yapısının esnekliği sayesinde birbirine uyumlu olmayan sistemler arasında veri alış verişini rahatlıkla gerçekleştirmektedir.Günümüz bilişim dünyasında bilgisayar sistemleri ve veritabanlarının genellikle birbirine uyumsuz sistemler içerebildiklerini görmekteyiz.Bundan dolayı uygulama geliştiriciler Internet üzerinden bu tip uyumsuz verilerin alış veriş işlemini gerçekleştirmek zorundadırlar. Verinin XML formatına çevrilmesi ile farklı sistemler ve uygulamalardaki verilerin karmaşıklık derecesi indirgenerek alış veriş işleminin kolaylaştırılması sağlanır. XML ile finansal bilgilerin Internet üzerinden alış verişi sağlanmaktadır.Günümüzde artık hepimizin sıklıkla duyduğu elektronik iş kavramı açısından incelenecek olduğunda XML'in önemli fonksiyonları yerine getirdiği görülmektedir.Bahsedilen bu fonksiyonları ile XML geleceğin Elektronik İş dili olarak da yeni bir misyonu üstlenmektedir. XML ile verinin paylaşımı kolaylaştırılır. XML,veriyi düz metin (plain text) formatında saklamasından dolayı veriyi paylaştırma konusunda da hem yazılım hem de donanımdan bağımsız hareket edebilme imkanını sunmuştur. Bu sayede farklı uygulamalarda hareket eden farklı veri tipleriyle çalışmak daha da kolaylaşır.Ayrıca işletim sistemlerinin yükseltgenmesi,sunucu,uygulama vb. dışsal faktörlerin yenilenmesi gibi dışsal faktörlerden de asgari ölçüde etkilenilmiş olunur. XML ile verinin depolanması sağlanır. XML, verinin dosyalarda veya veritabanlarında saklanması için de kullanılabilir. XML,yazılım,donanım ve uygulamalardan bağımsız olduğu için verinin daha elverişli olarak kullanımını sağlamaktadır.Yani başka istemci(client) veya uygulamalar tıpkı veri kaynaklarına erişiyormuş gibi XML dosyalarına rahatlıkla erişebilirler. XML,esnek yapısı nedeniyle başka dillerin de oluşturulabilmesine olanak tanır.Wireless Markup Language(WML) mobil cihazları için kullanılan WAP ortamlarının dilidir ve XML'in türevidir. XML Sözdizimi(XML Syntax) -------------------------------------------------------------------------------- XML Syntax basit bir kaç kuraldan ibarettir.Bundan dolayı kullanımı ve öğrenimi oldukça kolaydır. Bir XML döküman örneğini inceleyelim: <?xml version="1.0"?> <not> <kime>Mehmet</kime> <kimden>Erdem</kimden> <heading>Hatırlatma</heading> <body>Kitapları Unutma!</body> </not> XML dökümanları kendini tarif eden bir syntax'a sahiptir. Dökümanın ilk satırı XML deklerasyonu(XML declaration) olarak isimlendirilir.Bu kısımda XML dökümanının versiyon bilgisi tanımlanır.Yukarıdaki örnekte XML dökümanımızın versiyonu 1.0 olarak belirtilmiştir. Bir sonraki satırda dökümanın "root element" adı verilen kök elementi belirtilmiştir.Örneğimizde root element "not" tur. <not> Daha sonraki satırda 4 adet child element belirtilmiştir.(kimden,kime,heading ve body): <kime>Mehmet</kime> <kimden>Erdem</kimden> <heading>Hatırlatma</heading> <body>Kitapları Unutma!</body> Son olarak root elementin bitişini gösteren tag bulunmaktadır: </not> Tüm XML elementleri bir kapanış tag'ine sahip olmalıdırlar.HTML'de ise bazı elementler bitiş tag'lerine sahip olmayabilir.Örneğin aşağıdaki kod parçası HTML için geçerli bir kod olmasına rağmen XML için geçerli değildir:

Bu bir paragraftır

Bu başka bir paragraftır Yukarıdaki kod parçasını XML formatına uyarlayacak olduğumuzda

Bu bir paragragftır

Bu başka bir paragraftır

ªeklinde bir düzenleme yapmamız gerekecektir. XML tag'ler için case-sensitive özellik gösterirler.HTML'de ise case-sensitive özellik yoktur. <mektup>Bu syntax yanlıştır</MEKTUP> <mektup>Doğru bir syntax örneği</mektup> XML dökümanları içerisinde tüm elementler hiyerarşiye uymalıdırlar.HTML dökümanlarında bazı elementler düzgün bir içiçe olma yapısında olmayabilirler. Aşağıdaki örneği inceleyelim: Burada kullanılacak olan dökümanın formatı bold ve italic olacaktır

XML syntax kurallarına gore yukarıdaki örneği düzenleyecek olursak: Burada kullanılacak olan dökümanın formatı bold ve italic olacaktır Görüleceği üzere elementler belirli bir düzen çerçevesinde içiçe geçmiş durumdadırlar. XML syntax'ında tüm XML dökümanlarının bir root elementi olması gerekmektedir.XML dökümanları içerisinde ilk tag "root tag" olarak isimlendirilir: Bahsedilen bu root elementin altındaki tüm elementler "child element" olarak adlandırılır.Bu child elementler ise daha önceden belirtilmiş olan synax'a uymak zorundadır.Yani elementlerin içiçe geçme durumları belirli bir hiyerarşiye gore olmaktadır. <root> <child> <subchild>….</subchild> </child> ………… </root> Attribute değerleri daima tırnak içine alınmalıdır. XML elementleri attribute'lara sahip olabilirler ve bu attribute'lar ise tıpkı HTML'de olduğu gibi isim/değer(name/value) çiftlerini içerebilirler.Attibute değerlerinin nasıl kullanıldığını bir örnekle açıklayalım: <?xml version="1.0"?> <not date="12/10/99"> <kime>Mehmet</kime> <kimden>Erdem</kimden> <heading>Hatırlatma</heading> <body>Kitapları Unutma</body> </not> Dikkat edilecek olursa "not" elementinin sahip olduğu "date" attribute değeri tırnak işareti içerisinde belirtilmiştir. HTML'de white space adı verilen boşluk karakteri gözönüne alınmaz.Oysa XML dökümanlarında white space karakterler de değerlendirmeye alınır.Yani bir HTML sayfasında "Merhaba,benim adım Erdem" cümleciği sunum sırasında "Merhaba,benim adım Erdem" şeklinde görüntülenir. Elementler -------------------------------------------------------------------------------- XML dökümanları daha fazla bilgiyi taşıyabilmek için genişletilebilirler.Aşağıdaki kod satırını incelyelim: <not> <kime>Mehmet</kime> <kimden>Erdem</kimden> <body>Kitapları Unutma!</body> </not> Şimdi yazmış olduğumuz bu kod satırının nasıl bir çıktı vereceğini inceleyelim: Mesaj kime:Mehmet kimden:Erdem Kitapları Unutma! Şimdi dökümanımız içerisinde daha fazla bilgiyi sunmak istediğimizi varsayalım: <not> <tarih>199-03-01</tarih> <kime>Mehmet</kime> <kimden>Erdem</kimden> <heading>Hatırlatma</heading> <body>Kitapları Unutma</body> </not> Görüleceği gibi XML dökümanının yapısında herhangi bir değişiklik yapmaksızın daha fazla bikgiyi görüntüleme olanağını bulduk.Bu da bize XML dökümanlarının esnek yapısı hakkında bazı fikirler vermektedir. XML elementleri birbirleriyle ilişki içindedir.Bu ilişki biçimi elementlerin parent ya da child oluşlarıyla belirlenmektedir. XML elementlerinin parent/child ilişkilerini bir örnek üzerinde açıklayalım: Kitap Başlığı:Software AG ve XML Bölüm 1: XML'e giriş · HTML ve XML'in karşılaştırılması · · · XML ve E-Ekonomi · · Bölüm 2: XML Syntax · Elementler · · · Attribute'lar · · Çıktı düzeni verilmiş olan bu kitabı tanımlayacak XML dökümanını tasarlayalım: <kitap> <baslik>Software AG ve XML</baslik> <urun id="12-112" media="paper"></urun> <bolum>XML'e giris <para> HTML ve XML'in karşılaştırılması</para> <para> XML ve E-Ekonomi</para> </bolum> <bolum>XML'e giris <para> Elementler</para> <para>Attribute'lar</para> </bolum> </kitap> Dökümanımızın root elementi "kitap" tır."kitap" elementi "baslik" ve "bolum" elementlerinin parent'i durumundadır."baslik" ve "bolum" elementleri ise aynı seviyede bulunan elementlerdir ve bunlar arasındaki iliºkiye sibling denir. Elementler farklı içerik tiplerine sahip olabilirler. Bir element diğer bir elementi içerebileceği gibi basit,sabit ya da boş(empty) içerkte de olabilir.Yukarıdaki örneği incelediğimizde "para" elementinin sadece metin(text) içerğinde olduğunu,"bolum" elementinin diğer elementleri içerebildiğini ve "urun" elementinin ise boş bir içerikte(empty)oldugunu görmekteyiz. Elementlerin İsimlendirilmesi Elementlerin isimlendirilmelerinde bazı kurallar geçerlidir: İsimler harf,sayı ya da diğer karakterleri içerebilir. İsimler bir sayı veya _ (underscore) karakteri ile başlamamalıdır. İsimler "xml"(ya da XML veya Xml) şeklinde başlamamalıdır İsimler boşluk içermemelidir. Attribute'lar -------------------------------------------------------------------------------- Elementler attribute değerlerine sahip olabilirler.Attribute'lar elementler için ek bilgilerin tanımlanmasına olanak veren yapı birimleridir: Bir HTML sayfasında tanımlanmış olan kod parçasında SRC attribute değeri IMG elementi için ek bilgiler tanımlamamıza olanak sağlamaktadır.XML dökümanları için de durum aynıdır. Veri bir XML dökümanında element veya attribute'lar içerisinde saklanır.Aşağıdaki örnekleri inceleyelim: <kisi cinsiyet="bayan"> <ad>Zeynep</ad> <soyad>Temel</soyad> </kisi> <kisi> <cinsiyet>bayan</cinsiyet> <ad>Zeynep</ad> <soyad>Temel</soyad> </kisi> İki örneği karşılaştıracak olduğumuzda "cinsiyet" değerinin birinci örnekte bir attribute ikinci örnekte ise bir element halinde oldugu anlaşılacaktır.Ancak her iki örnekte de ortak olan özellik hem element hem de attribute şeklinde de "cinsiyet" değerinin bilgi depolaması oldugudur. Hangi durumlarda attribute'ların hangi durumlarda elementlerin kullanılacağına ilişkin kesin bir tanımlama yoktur.Aşağıdaki üç örneği incelediğimizde tümünün aynı bilgiyi içerdiği açıkça görülecektir: Programlama veya web tasarımı gibi konulara yakınlığı olan okuyucularımız yukarıdaki üç örnekten sonuncusunun syntax bakımından daha avantajlı olduğunu fark edeceklerdir. XML Dökümanlarının Geçerliliği -------------------------------------------------------------------------------- Well-Formed XML Dökümanları Bir well-formed XML dökümanı doğru XML syntax'ında olan döküman demektir. Valid XML Dökümanları Valid bir XML dökümanı doğru XML syntax'ında olan(yani aynı zamanda well-formed yapıda olan) ve yapı bilgilerini aldığı DTD'ye uyumluluk gösteren döküman demektir. Aşağıdaki örnekleri inceleyelim: DTD Nedir? DTD'leri, XML dökümanlarının yapı bilgilerini tutan modüller olarak tanımlamak mümkündür.Döküman içinde kullanılacak olan tüm varlıklar daha önceden DTD içerisinde tanımlanmalıdır. XML Schema XML Schema'lar da DTD'ler gibi XML dökümanlarının yapı bilgilerini tutarlar.Ancak DTD'lere gore daha kullanışlıdır ve en önemli özelliği XML syntax'ında olmalarıdır. Not: DTD ve Schema kavramları daha sonraki bölümlerde detaylı olarak incelenecektir.Bu aşamada sadece tanımların öğrenilmesi yeterlidir. Hata(Error) ve Hata Kontrolü XML dökümanları içerisinde yapacağımız bir syntax error veya geçerlilik kontrolü hatası(validation error) durumunda program XML dökümanını işleme işine devam etmez ve durur.HTML'de ise yapılabilecek bir hata da(örneğin bitiş tag'i yazmayı unuttuğumuzda) program çalışmaya devam eder. XML Dökümanlarının Görüntülenmesi Stylesheet Kavramı -------------------------------------------------------------------------------- Bir XML dökümanının sunumu sırasında izlenen yollar yukarıdaki şekilde belirtildiği şekilde gerçekleşir.XML dökümanları,yapı bilgilerinin geçerlilik kontrolleri (DTD'ye bakılarak) yapıldıktan sonra XML Parser adı verilen yazılıma giderler.XML parser bu yapı bilgilerinden yararlanarak dökümanın parçalanma ağç yapısını yani Parse Tree'sini oluşturur.Parse Tree'si oluşturulmuş olan döküman "Stylesheet" adı verilen işlem kullanılarak sunuma hazır hale getirilir. Daha sonra stylesheet işleminin uygulandığı sunum kısmından(rendering agent) alınan XML dökümanı görüntüleme cihazına aktarılır. Temel olarak kullanılan iki stylesheet tekniği bulunmaktadır:CSS ve XSL CSS(Cascaded StyleSheets) ve XSL(Extensible StyleSheets) tekniklerinin her ikisi de XML dökümanlarının şekillendirilmesi amacıyla kullanılır.Amacı aynı olmasına rağmen XSL'in CSS'e gore daha esnek ve daha avantajlı olduğunu görmekteyiz. Aşağıdaki XSL örneğini inceleyelim: <?xml version="1.0"?> <?xml:stylesheet type="text/xsl" href="ornek.xsl"?> <kahvalti-menu> <yemek> <ad>Tulum Peynir</ad> <fiyat>125</fiyat> <tarif>Taze Tulum Peyniri</tarif> <kalori>1200</kalori> <yemek> </kahvalti-menu> Dikkat edilecek olursa XML dökümanının şekil bilgisi "ornek.xsl" adı verilen ayrı bir yapı biriminde tutulmaktadır."ornek.xsl" yapı birimi xsl uzantısından anlaşılacağı gibi XML dökümanımız üzerinde xsl tekniğini kullanarak stylesheet işlemini uygulamıştır. ELEMENT'LER İLE ÇALIŞMAK -------------------------------------------------------------------------------- Elementler DTD içinde element bildirimleri yapılarak tanımlanırlar.Bu tanımlama şu şekilde yapılır: < !ELEMENT ElementName Type > ElementName, element ismini belirten bir markup değeridir ve DTD içerisinde tek(unique) olmalıdır.Elementin tip değeri "Type" olarak belirtilmiştir.Bu değer ayrıca elementin içerik değeri olarak da bilinir. XML dört tipteki element değerini destekler: Empty:Herhangi bir içeriği olmayan fakat attribute içerebilen element Element Only:Sadece child element içeren element Mixed:child element ve karakter verisinin kombinasyonunu içeren element Any:DTD tarafından müsaade edilen herhangi bir içeriği içeren element Şimdi biraz daha detaya girelim: Empty Element -------------------------------------------------------------------------------- Adından da anlaşılacağı gibi bu tür elementler herhangi bir içerik içermezler.Empty elementler şu şekilde deklare edilirler: < !ELEMENT ElementName EMPTY > aşağıda bir empty element deklare ediliş örneği görülmektedir < !ELEMENT img EMPTY> Bir empty element döküman içerisinde şu iki yoldan birisi ile tanımlanır: bir start/end tag çifti bir empty(boş) tag Şimdi start/end tag ile yapılan bir emty tag örneği verelim: /img> Dikkat edilirse tag ler arasında herhangi bir içerik değeri yoktur. Empty element tanımı için şimdi Empty tag kullanımına örnek verelim: Görüleceği gibi empty tag aslında bir çeşit start/end tag olarak düşünülebilir. Element-Only Element -------------------------------------------------------------------------------- Child elementleri dışında herhangi birşey içermeyen elementlerdir.Bu tip bir element, elementin içerik modelini belirterek yapılır yani element deklarasyonu içerisinde child elementleri içeren genel bir listenin oluşturulması sayesinde yapılır. Bir elementin içerik modeli şu şekilde oluşturulur: < !ELEMENT ElementName ContentModel > İçerik modelinin kendisi de özel sembol ve child element isimlerinin kombinasyonu sonucu oluşur.Bir elementin içerik modelinin oluşturulması için şu semboller kullanılır: Parantez(( )) child elemente ait bir grup ve diziyi bitirmek için kullanılır Virgül(,) dizideki başlıkları ayırmak için kullanılır Pipe(|) seçimsel gruplar arasındaki başlıkları ayırmak için kullanılır Sembol yoksa bir child element in mutlaka birkez görüneceği anlamı çıkar Soru işareti(?) child elementin ya bir kez görüneceğini yada hiç görünmeyeceğini belirtmek için kullanılır Asterisk(*) Bir child elementin birden fazla sayıda görülebileceğini belirtir Artı işareti(+) Child elementin en az bir kere görüleceğini belirtir Bahsedilen bu sembolleri anlamanın en güzel yolu elbette örneklere gözatmak olacaktır. Aşağıdaki örnekte resume elementine ait içerik modelin oluşturulmasına gözatalım < ELEMENT genel (bilgi,(egitim | deneyim+)+,hobi?,referanslar*) > Mixed Elements -------------------------------------------------------------------------------- Mixed elementler hem karakter tipindeki veriyi hem de child elementleri içerebilirler.En basit mixed element sadece karakter verisi içeren olacaktır.Bu tipteki bir element bazen text-only element olarak da adlandırılır.Text-only elementler şu şekilde tanımlanır: < !ELEMENT ElementName (#PCDATA) > Text-only elementler için yapılan içerik modeli tanımlamalarında (#PCDATA) terimi kullanılır ve bu terim elementin parse edilmiş karakter verisi içerdiğini bildirir. Örneğin: < !ELEMENT band (#PCDATA) > Bu element XML dökümanı içindeki cd koleksiyonuna ait olan bir bandın ismini markup etmek için kullanılmış olabilir.Aşağıdaki örnekte döküman içerisinde bu band elementinin nasıl tanımlandığı görülüyor: <band> Candan Ercetin </band> Aşağıdaki örnekte bir film koleksiyon bildirim kodunun oluşturulması görülmektedir: <!ELEMENT filmler (film)+> <!ELEMENT film (baslik,yazar+,produktor+,yonetmen+,aktor*,yorumlar?)> <!ELEMENT baslik (#PCDATA)> <!ELEMENT yazar (#PCDATA)> <!ELEMENT produktor (#PCDATA)> <!ELEMENT yonetmen (#PCDATA)> <!ELEMENT aktor (#PCDATA)> <!ELEMENT yorumlar (#PCDATA)> Bu DTD nin yapısını biraz daha inceleyelim: Film elementinin içinde bulunan baslik elementi sadece bir kez görünmelidir.Yazar,produktor ve yonetmen elementleri de en azından bir kez görünmelidir,ancak bu elementler daha fazla seferde görünebilirler.aktor elementi herhangi bir sayıda döküman içinde görünebilmektedir.film ‘in içerik modelindeki son eleman olan yorumlar elementi film hakkında ki yorumları içeren bir liste elde etmemizi sağlamaktadır. Burda akılda tutmamız gereken şey mixed yapıdaki bir elementin child elementler içermeyeceğidir. İşin detayına indiğimizde mixed elementlerin deklare edilişinin element-only elementlerin deklare edilişine çok benzerlik gösterdiğini görmekteyiz.Mixed bir elementin içerik modeli tekrarlanan bir seçim listesi içerir ve yazılımı şöyledir: <!ELEMENT ElementName (#PCDATA | ElementList)> Buradan da görüleceği üzere #PCDATA mixed elementin karakter verisini de içerebileceğini gösterir.Seçim listesinden arda kalan şey child elementleri ve element-only elemente benzeyen düzenli elementleri içerir.Daha sonra tekrar #PCDATA kullanılması durumunda child elementlerde de karakter verisinin kullanılabileceği anlamına gelir.Dikkat edilirse asterisk(*) içerik modelin en sonunda göze çarpar ve bu da tüm seçim listesinin opsiyonel bir yapıda olduğunu belirtir.Aşağıda #PCDATA ile seçim listesinin nasıl kullanılabileceği gösterilmiştir. <!ELEMENT hatirlatma (#PCDATA | baslik | konu)*> Not Bir mixed elementin içerik modelinde,karakter verisi (#PCDATA) mutlaka ilk olarak seçim listesinin içinde belirtilmesi gerekir ve seçim listesinin kendisi de asterisk(*) izlemelidir ANY Elementler -------------------------------------------------------------------------------- XML tarafından desteklenen en son element türüdür ve ANY sembolü ile deklare edilirler.Bu element türü hemen hemen belirgin bir yapısı olmamasına karşın karakter verisi,deklare edilmiş element tiplerini veya bunların karışımını içerebilir.Bu element türünü geniş kapsamlı açık bir içerik modeli olarak düşünebiliriz.Şu şekilde yazımları vardır: <!ELEMENT ElementName ANY> ATTRIBUTE'LER İLE ÇALIŞMAK -------------------------------------------------------------------------------- Attribute’ler attribute deklerasyon listesi denilen bir liste içinde aşağıda belirtilen şekilde tanımlanırlar: <!ATTLIST ElementName AttrName AttrType Default> Görüleceği gibi bir attribute isim(AttrName) ve tip(AttrType) ve default olmak üzere üç bileşenden oluşmaktadır.Bir attribute deklerasyonu sırasında kullanılabilecek olan dört default değeri vardır: #REQUIRED #IMPLIED #FIXED default #REQUIRED değeri attribute’ın element için mutlaka gerekli olduğunu belirtir. #IMPLIED değeri attribute ‘ın seçimsel olduğunu ve element için kullanımının zorunlu olmadığını belirtir. #FIXED değeri attribute’a atanacak değerin sabit olacağını ve bunun da attribute’u bir bilginin sabit bir parçası durumuna getireceğini belirtir. XML 10 tane farklı attribute tipini desteklemektedir: CDATA P:arse edlmemiş karakter verisi Enumerated :Bir dizi string değeri NOTATION :DTD içinde herhangi bir yerde tanımlanmış olan notasyon ENTITY: Dışsal bir binary entity ENTITIES Birden fazla dışsal binary entity ler ID :Unique bir tanımlayıcı IDREF: DTD içinde tanımlanmış olan bir ID ye refere edilen değer IDREFS: DTD içinde birden fazla ID lere refere edilen değerler NMTOKEN: XML token değerlerini içeren isim NMTOKENS:XML tone karakterlerini içeren isim boşlukları String Attribute’leri String attribute ler CDATA tarafından gösterilen ve en çok kullanılan attribute tipidir.CDATA tipi attribute’ın bir metin stringini içereceğini belirtir.Aşağıdaki örnekte CDATA tipi ile beraber oyuncu elementinin kullanılışı gösterilmiştir: <!ATTLIST oyuncu takim CDATA #REQUIRED> Bu örnekte oyuncu ‘nun ait olduğu takim’in oyuncu elementi için gerekli olan bir karakter verisi attribute dur.Bu takim attribute’ını seçimsel duruma getirmek isteseydik: <!ATTLIST oyuncu takim CDATA #IMPLIED> şeklinde kullanmamız gerekirdi. Burada karşımıza önemli bir soru çıkmaktadır:XML parser acaba string attribute tipini diğerlerinden nasıl ayırdedebilmektedir? Bir XML parser CDATA attribute değerinin işleme konması sırasında boşlukların tümünü reserve eder.Satır sonlarının whitespace boşluklarına dönüştürülme işlemi string attribute değerinin normalizasyonu olarak adlandırılır. Enumerated Attribute’ler Bu tür attribute ler daha önceden tanımlanmış bir metin dizisinin listesini içerirler.Enumerated tipi CDATA tipine benzemektedir ancak bu veri tipinde kabul edilebilir attribute değerleri attribute listesi deklerasyonu içinde sağlanmaktadır.Daha önce vermiş olduğumuz örneği biraz daha geliştirelim.oyuncu elementine enumerated bir attribute değeri olan pozisyon bilgisini de ekleyelim <!ATLIST oyuncu pozisyon (ortasaha | forvet | savunma | kaleci ) "ortasaha"> Bu örnekte pozisyon değerinden birini seçebilmekteyiz.Eğer hiçbir şey seçmezsek default değer olan "ortasaha" devreye girmiştir. Notasyon Attribute’ler Enumeration attribute’ın özel bir kullanımı da notasyon attribute leridir.Notasyonlar DTD içinde biryerlerde tanımlanmış olan bir liste olarak düşünülebilir.Bu deklerasyonu DTD içerisinde NOTATION anahtarsözcüğünü kullanarak şu şekilde yazabiliriz: <!ATTLIST image format NOTATION (gif | jpeg) #REQUIRED)> Dikkat edilirse #REQUIRED sembolü attribute’un gerekli olduğunu belirtmeye yarıyordu.Enumerated attribute değerleri opsiyonel de olabilir.Bunun için #IMPLIED terimini kullanmamız gerekir. Tokenize Attribute’ler XML tarafından desteklenen son attribute tipi tokenize attribute’lerdir.Bunlar XML parser tarafından attribute’ların token larına ayrıştırılması işlemini yaparlar.XML parser bu token’larına ayrıştırma işlemi sonucunda tüm boşluk ve tek karakter sembollerini eleme işlemine tabi tutar. ENTITY,ENTITIES,ID,IDREF,IDREFS,NMTOKEN ve NMTOKENS tokenized attribute tipleridir. ENTITY ve ENTITIES tipleri entity lere refere olmak için kullanılır.Örneğin image’ler tipik olarak binary entity’ler şeklinde refere olurlar.ENTITIES tipi ENTITY e benzemektedir ve bir entity listesi oluşturmamıza yararlar.Aşağıda ENTITY attribute tipinin reference işleminin oluşturulması gösterilmiştir. <!ATTLIST bolum id ID #REQUIRED> IDREF ve IDREFS tipleri ID lere yapılacak olan reference’leri belirtmek için kullanılır.Bu tipler ID tipine benzerler ancak burada akılda tutulması gereken şey bunların kendilerinin de unique yapıda olmalarıdır. NMTOKEN ve NMTOKENS attribute tipleri token isim değerlerini içerirler.Bir isim token, string yapıda olan bir metin değeridir.Genelde isim token değeri sadece tek bir ismi içerir ve boşluk içermez. Birden Fazla Attribute Deklerasyonu Buraya kadar olan bölümde ayrı attribute’lerin örneklerini gördük.Elbette elementler birden fazla attribute içerebilirler.Bir elementin tüm attribute değerlerini tek bir attribute list’te tutmak elbette en mantıklı çözümdür.Aşağıda buna ilişkin bir örnek görülmektedir: DTD'NİN DETAYLARI -------------------------------------------------------------------------------- Entity’ler ve döküman yapısı -------------------------------------------------------------------------------- Bir XML dökümanı entity adı verilen depolama birimlerine bölünmüştür ve bu bölümler ise unique isimler alırlar.Bu entity lerden birisi document entity olarak isimlendirilir ve dökümanın en üstünde yeralır.Document entity aslında dökümanın tümünü içerir diyebiliriz. Entity ler dökümanın fiziksel yapısını tarif ederler.Bundan dolayı çoğu zaman dosyalara birleşik olarak bulunurlar.Gerçekte,entity lerin çoğu sistem üzerinde kayıtlı dosyalara karşılık gelmektedirler.Biraz daha detaya inecek olursak bu entity ler bir veritabanı kaydı veya belleğin herhangi bir kısmıyla birleşebilirler.Burada akılda tutulması gereken en önemli nokta entity kavramının daima depolamayla ilgili oluşudur. Daha önce verilen bir örneği tekrar gözden geçirelim: <?xml version="1.0" standalone="no"> <!DOCTYPE filmler SYSTEM "filmler.dtd"> <filmler> ... </filmler> Burdan görüleceği gibi document type decleration filmler root elementi ve filmler.dtd dışsal altkümesi olmak üzere iki entity den bahseder."filmler.dtd " dışsal alt kümesini yerini değiştirerek entity olarak değerlendirilmemesini sağlamak da mümkündür.Burada anahtar nokta dışsal bir DTD alt kümesinin depolanış şekline dikkat etmek olacaktır. Karakterler ve entity’ler -------------------------------------------------------------------------------- Entity lerin deklerasyonu ve referans işlemlerinin detaylarında girmeden önce karakterlerin entity’ler içerisinde nasıl kullanıldığını anlamak çok önemlidir.Çünkü XML karakterlerin encoding işlemi sırasında değişik standartlar kullanır ve bu da ona büyük bir esneklik sağlar.XML karakter encoding işleminin temelinde ISO/IEC 10646 Unicode standardı kullanılmaktadır.Bu standart karakter kullanımında inanılmaz bir esneklik sağlar. Bu standarda ek olarak ISO 8859 veya JIS X-0208-1997 standardı da kullanılabilmektedir.Bu standart terimler size karışık geliyorsa Unicode seçeneğini kullanmak uygun olacaktır. Karakter encoding deklerasyonu dökümanın başlangıcında karakter encoding decleration denilen kısımda yapılır.Bu deklerasyon kısmı XML attribute deklerasyonuna benzer. <?xml version="1.0" encoding="UTF-8"?> Burada UTF-8 değeri yukarıda bahsedilmiş olan ISO/EIC 10646 standardını bir altkümesi olarak düşünülebilir.UTF-8 ve UTF-16 karakter encoding işlemlerinde en sık kullanılan standartlardır ve bu iki encoding standardı hemen hemen tüm XML processor’lar tarafından desteklenmektedir. Aşağıda karakter encoding işlemlerini içeren bir liste görülmektedir. UTF-8(Unicode) UTF-16(Unicode) ISO-10646-UCS-2(Unicode) ISO-10646-UCS-4(Unicode) ISO-8559-1 (ISO-8559-9 üzerinden) ISO-2022-JP(JIS X-0208-1997) EUC-JP(JIS X-0208-1997) Shift_JIS(JIS X-0208-1997) XML, karakter referans için iki tekniği destekler: decimal referans(base 10) hexadecimal referans(base 16) Decimal character referans karakterin, sayısal olarak 10 tabanına gore refere edilmesi ilkesine dayanır.Decimal referans işlemi (&#) işaretini takiben karakter numarasının yazılması ve sona semicolon(:wink: konulması sonucu elde edilir. Genel yazımı: &#Num; şeklindedir. © örneğinde bu karakter referans işleminde desimal olarak 169 değerine karşılık gelen karakter değeri(bu copright işaretine karşılık gelir.) Şimdi copright işaretine karşılık gelen bu karakter değerinin refere edilme işlemine bir gözatalım: ©1999 Emre Ultav Refere etme işlemi sırasında kullanılan diğer bir teknikde base-16 tekniği yani hexadecimal tekniktir.Bunun genel yazılımı ise &#xNum; şeklindedir. Tekniğin temel işleyişi aynıdır. Decimal olarak 169 değerine sahip olan karakter hexadecimal olarak refere edileceğinde: © şeklinde refere edilecektir. Entity’ler ile Çalışmak -------------------------------------------------------------------------------- Bir XML dökümanı en az bir tane entity içerir.İçerilen bu entity, "document entity" olarak isimlendirilir ve bir XML processor yapacağı işlemlere document entity’den başlar.Çünkü document entity döküman hiyerarşisini şekillendirir. XML dökümanı içerisinde yer alacak olan entity’ler kullanılmadan önce deklare edilmek zorundadırlar.Bir entity deklerasyonu unique bir entity ismi ve bu isme eklenmiş olan bir veri parçasını içerir.Belirtilen bu unique isim değerine aşağıdakilerden birini ekleyebiliriz: bir metin dizisi bir DTD bölümü XML metini içere bir dışsal referans(External referans) Binary veri içeren bir dışsal referans(External referans) Görüleceği gibi entity’ler depolayacağı veriler incelendiğinde son derece esnek bir yapıda oldukları anlaşılmaktadır. Ancak genel hatları ile incelendiğinde entity’ler XML dökümanı içerisinde iki şekilde kullanılırlar: parsed entity’ler unparsed entity’ler. Parsed entity’ler XML parser tarafından parse edilmiş veriyi depolarlar.Yani sadece metin(text) içerebilirler.Diğer yandan unparsed entity’lerde ise veri parse edilmemiştir ve dolayısıyla bir metin veya binary veri depolanabilir. Parse edilmiş entity’ler döküman açısından biraz daha değişik anlamda incelenirler.Bu tür entity ler iki ana gruba ayrılırlar: Genel entity’ler-döküman içeriğinde kullanılan entityler Parameter entity’ler-sadece DTD içinde kullanılan entity’ler

Yumurta hakkında ne biliyorsunuz

Yumurta, anne sütünden sonra insanın ihtiyacı olan tüm besin öğelerini bulunduran tek besindir. Yeni bir yaşamın
özü olduğu düşünülecek olursa, besleyici değerinin yüksek olması hiç de şaşırtıcı değildir.

PROTEİN DEĞERİ

Yumurta tüm besinler içerisinde en kaliteli proteini içermektedir. Çünkü yumurta proteinin de insan vücudunda sentezlenemeyen ve kesinlikle besinler ile dışarıdan alınması gerekli olan "elzem amino asitleri" bulunmaktadır. Sindirilebilirliği yüksektir, tamamına yakını vücut tarafından kullanılmakta ve vücut proteinlerine dönüşebilmektedir.

Uzmanlar; yeterli ve dengeli beslenmede, hızlı bir büyüme ve gelişme döneminde olan çocukların, protein tüketimlerinin en az yarısının hayvansal kaynaklı olması önermektedirler. Bu nedenle çocuk beslenmesinde protein kaynağı olan yumurtaya gereken önem mutlaka verilmelidir.

VİTAMİN DEĞERİ

Yumurta başlıca A, D, E ve B grubu vitaminleri olmak üzere diğer vitaminleri de önemli oranda içermektedir. Yumurta sarısındaki A vitamini gözün iyi görmesini sağlar, kemik gelişimi ve sağlıklı dişler için de gereklidir. Vücut hücrelerinin gelişmesine yardım

eder. Solunum ve sindirim sisteminin sağlıklı olmasını ve enfeksiyonlara karşı korunmasını sağlar.

D vitamini, insan vücudunda kalsiyumun kullanılmasına yardımcı olur. Yumurta sarısı, D vitamini sağlayan birkaç besinden biridir ve güneş ışınlarından da yeterince faydalanıldığı takdirde yumurta özellikle çocuklarda D vitamini eksikliğine bağlı kemik bozukluğu oluşmasını engeller.

Yumurta E vitamini yönünden de oldukça zengindir. E vitamini oksidasyonu önleyici etkisinden dolayı, vücudumuzu zararlı maddelere karşı korur.

B grubu vitaminleri bazı besin öğelerinin vücutta enerjiye çevrilmesi için gereklidir. Yumurta özellikle B2 vitamini açısından çok zengindir. Bu vitamin deri ve göz sağlığı için de gereklidir.

Ayrıca yumurta da bulunan kolin, beyin fonksiyonlarının yerine getirilmesinde önemli rol oynamaktadır.

MİNERAL DEĞERİ

Yumurta, demir ve çinko gibi sağlığımız için çok önemli olan mineralleri de içermektedir. Demir, kan yapımı için gereklidir. Demir yetersiz alındığında anemi (kansızlık) oluşur. Ayrıca demirin büyüme, gelişme ve hastalıklardan koruma rolü vardır. Yetersizliğinde çocukların öğrenme yeteneği ve okul başarısı azalır.

Yumurtada C vitamini bulunmamasına rağmen C vitamini açısından zengin bir besinle tüketilirse yapısındaki demirin emilimini artırmış olursunuz.

Yumurtadaki çinko minerali özellikle büyüme-gelişme ve bağışıklık sisteminde rolü olduğu için çok önemlidir.

YUMURTANIN YAĞ İÇERİĞİ

Yumurtanın yağ içeriği düşüktür. Büyük bir yumurtada 4.5 gram civarında yağ bulunur. Bunun 1.5 gramı doymuş yağ asitleri, kalan kısmı ise, doymamış yağ asitleridir.

YUMURTA KOLESTEROLÜ ARTTIRIR MI?

Bir adet yumurtanın beyazında, kolesterol ve yağ yoktur ancak sarısında 213 mg kolesterol bulunur. Besinlerdeki yüksek kolesterolün, kan kolesterolünde direkt artışa neden olduğu düşünülmüş ve bu nedenle yumurta tüm diyetlerden uzak tutulmuş ve az tüketilmiştir.

Gerçekte kan kolesterolünün büyük bir kısmı vücut tarafından yapılır. Kolesterol; insanlar ve tüm hayvanlarda vücutta sentezlenen yağ benzeri bir maddedir. Sinir liflerinin yalıtımı, hücre duvarının bütünlüğünün sağlanması, D vitamini sentezi, çeşitli hormonların ve sindirim salgılarının oluşumu için gereklidir.

Yapılan bilimsel çalışmalar ile kan kolesterol seviyesinin düzenlenmesinde; beslenme şeklinin, genetik özelliklerin ve yaşam biçiminin önemli olduğu ortaya çıkmıştır.

Eğer kolesterol metabolizması bozukluğunuz yoksa, yeterli ve dengeli olarak tüm besin gruplarını tüketiyorsanız, vücudunuz ideal ağırlığında ise, fiziksel olarak aktifseniz ve sigara kullanmıyorsanız, yumurtanın yüksek kolesterol içeriğinden dolayı endişe duyulmasına gerek yoktur.

BUNLARA DİKKAT EDİYOR MUSUNUZ?

• Yumurtanın marketlerde soğuk bölümlerde muhafaza ediliyor olmasına dikkat edilmelidir.
• Çatlak ve kırık yumurtalar satın alınmamalıdır; çünkü bu yumurtalar çok çabuk bozulur ve ayrıca mikroorganizmaların oluşmasına meydan verirler. Yumurtanın kabuğu temiz, düzgün görünüşlü, yeterli kalınlıkta ve az pürüzlü olmalıdır.
• Yumurta evde buzdolabında ve alınan orijinal karton kutusu içerisinde, yıkanmadan saklanmalıdır. Yıkandığında doğal koruyucu tabakasını kaybeder. Bu nedenle yumurta kullanılacağı zaman yıkanmalıdır.
• Yumurta buzdolabında güçlü kokusu olan besinlerin yakınında saklanmamalıdır. Çünkü yumurtanın kabuğu gözeneklidir ve yumurta güçlü kokuları emebilmektedir.
• Yumurtaların, iyi kaliteli olma özelliğini kaybetmeden önce yani 3-4 hafta içerisinde tüketilmesi gerekir

BUNLARI BİLİYOR MUSUNUZ?

• Yumurta kabuğunda 17.000 adet küçük delik bulunur.
• Buzdolabında bir hafta bekletilmiş yumurta, oda ısısında bir gün bekletilmiş

yumurtadan daha tazedir.
• Yumurta uzun süre bekletilirse su ve karbordioksit kaybı nedeniyle ağırlığı azalır. Taze ve bayat yumurtaları ağırlığından da test edebilirsiniz.
• Yumurta %10 tuzlu suya (yarım litre suya 60 gr tuz) atılacak olursa taze yumurta dibe çökerken, bayat yumurta yüzeyde kalır.
• Taze yumurta kırıldığında yumurta akı ve sarısı tamamıyla yayılmaz ve birbirine karışmaz. Ayrıca yumurta sarısı yüksek görünümdedir.
• Yumurta hazırlanılan yiyeceklerin besleyici değerini arttırmada da kullanılabilir. Sebzelerin protein miktarı düşüktür. Bu nedenle sebzelere yumurta kırılması protein, vitamin ve mineral açısından dengeli karışımların oluşmasını sağlar.
• Yumurta tahıl grubundaki besinler ile tüketildiğinde (örneğin; makarnaya kırılırsa, böreklerde kullanılırsa vb.) protein kalitesini arttırmış oluruz.
• Yumurta akı proteinlerinin fom oluşturucu ve bu yolla kabarmayı sağlayıcı özelliği vardır. Bu nedenle kek hazırlamada doğal kabartıcı olarak tercih edilmektedir.
• Yumurta proteinleri ısı ile katılaştığı için sütlü tatlılarda ve çorbalarda koyulaştırıcı ve kıvam sağlayıcı olarak kullanılır.

YUMURTA PİŞİRİRKEN

• Yumurtalı yemekler hazırlanmadan önce ve sonra eller, kullanılacak kaplar ve araçlar yıkanmalıdır.
• Çiğ yumurtalar temiz kaplara kırılmalıdır.
• Kullanılacak sayı kadar yumurta buzdolabından çıkartılmalıdır.
• Yumurta içeren ve yumurtadan zengin yiyecekler hazırlanması sürelerinin haricinde iki saatten fazla buzdolabının dışında tutulmamalıdır.
• Yumurta kabuklu olarak pişirildiğinde 4 dakikada beyazı, 12 dakikada tamamı katılaşır.
• Yumurta içeren bütün tarifelere pişirilme işlemi uygulanmalıdır. Çiğ yumurtanın hem sindirimi güçtür hem de mikroorganizmaların bulaşma riski vardır. Salmonella enfeksiyonları en çok rastlanılanıdır.
• Çiğ yumurtanın beyazındaki avidin, sarısında bulunan B grubu vitaminlerden biyotini bağlayarak kullanılmasını engeller. Pişirme ile bu olumsuz etki önlenir.
• Yumurtanın pişirilme süresinin iyi ayarlanması gereklidir. Örneğin; yumurtayı haşlama süresi uzarsa ve yumurta bayatsa sarıdaki demir, beyazdaki sülfür ile birleşerek yumurta sarısının etrafında yeşil bir halka oluşur.
• Uzun süre pişirilen yumurtaların sindirimi güçleşir ve uygulanan pişirme yöntemine göre B grubu vitaminlerde kayıplar oluşur. Kayıpları önlemek için yumurtayı yağa kırma yerine, diğer yöntemler ile pişirme tercih edilmelidir

Yıllara göre mark ve euro

Yıllara Göre Dolar ve Mark değerleri Ocak ayı kurları



YIL ---- Dolar ------- Mark
82 ---- 139 ------- 60
83 ---- 191 ------- 78
84 ---- 309 -------- 109
85 ---- 451 ------- 142
86 ---- 581 ------- 244
87 ---- 753 ------- 411
88 ---- 1117 ------- 666
89 ---- 1881 ------- 1007
90 ---- 2347 ------- 1400
91 ---- 3041 ------- 2031
92 ---- 5486 ------- 3434
93 ---- 8814 ------- 5476
94 ---- 17203 ------- 9949
95 ---- 40393 ------ 26685
96 ---- 62503 ------ 41968
97 ---- 115330 ------ 70925
98 ---- 206120 ----- 114350
99 ---- 314064 ----- 189242
00 ---- 540793 ----- 278991
01 ---- 666774 ----- 321245
02 ---- 1449886 ----- 670519
03 ---- 1658874 ------- euro
04 ---- 1398077 - - ----- euro
05 ---- 1.3468 ------- euro



Yıldız kayması nasıl oluyor?




Geceleyin açık bir havada gökyüzünü seyrederken, çeşitli renk ve parlaklıktaki yıldızların oluşturduğu o inanılmaz ve muhteşem manzaranın içinden bir yıldızın parlak bir çizgi çizerek kayıp gittiğini muhakkak görmüşsünüzdür.



Bu sırada içinizden bir dilek tutup, bu dileğin gerçekleşmesi için de gördüğünüzden kimseye bahsetmemişsinizdir herhalde. Çünkü insanlar arasında, bir yıldız kaydığında, o yıldızın öleceği ve ölmeden önce dilek dileyenin arzusunu yerine getireceği inanışı yaygındır.



Halk arasında yıldız kayması diye tanımlanan bu olayın aslında yıldızlarla hiç bir ilgisi yoktur. Yıldızlar dünyadan milyarlarca kilometre ötedeki uzak güneşlerdir. Güneş sistemimizin içinde Güneş ve gezegenlerin çekim kuvvetleri arasında bir oraya bir buraya gezinen sayısız göktaşı vardır.



Bunlardan Dünya'nın yakınından geçerken çekim alanına girenler, hızla atmosfere dalarlar. Sürtünmeden dolayı ısınırlar, yanarlar ve arkalarında parlak, çizgi gibi bir iz bırakırlar. Sonunda tamamına yakını, düşüşün son anında görülen parlamayı takiben yok olurlar.



Yer atmosferine her yıl toplamı 15 bin ton olan 200 bin kadar göktaşı düştüğü kabul ediliyor. Bu hesaba göre yerin kütlesi 4,5 milyar yıllık ömrü içinde gelen göktaşları sayesinde epeyce artmış olması gerekiyor. Dünya'ya düşen göktaşlarının incelenmeleri sonucu içlerinde dünyada var olmayan yeni bir elemente rastlanmamıştır.



Atmosfere girdiklerinde yanan ve çoğunlukla yok olan göktaşlarına "meteor" denilirken bunlardan yere ulaşmayı başaranlara da "meteorit" deniliyor. Dünyamızın büyük bir kısmı okyanuslarla kaplı olduğundan yere ulaşabilen göktaşlarının çoğu da buralara düşerler. Ancak Dünya'nın bir çok yerinde de karalar üzerinde meteoritlerin yol açtığı izler ve çukurlar vardır.



Ülkemizde rastlanan en büyük göktaşı 25 kilogram olup Domaniç yaylasında bulunmuştur. Dünyada bilinen göktaşlarının en büyüğü ise güneybatı Afrika'da Grootfentein'de bulunan göktaşıdır ve kütlesi 80 ton kadardır.



Bugüne kadar dünyada 20 civarında insanın göktaşı isabeti nedeniyle yaralandığı tespit edilmiştir. Yani uzayda, binlerce yıl boyunca, milyarlarca kilometre yol alan bir taş, atmosfere çok uygun bir açıdan girsin, yanmadan yere kadar ulaşarak gelsin kafanıza düşsün. İşte kısmet diye buna denir!

Türk Mitolojisi




Tukyu(Asena)
Tukyu' larin atalari Çinli' lerin (si-hayi) dedikleri bati denizi sahillerinde otururdu. Komsu hukumdarlardan bir bunlarin yurdunu basarak, kadin, erkek, cocuk ve onlerine gelenleri kilictan gecirdi. Bunlardan ancak on yasinda bir erkek cocuk kalabildi. Bu da elleri, ayaklari kesilmis olarak bir batakliga atildi. Cocuk orada acliktan, yaralarindan akan fazla kandan olmek uzere iken, bir disi kurt gelerek, ona bir parca et getirdi. Kurt her gun boyle yaparak cocugu besledi. Çocugun yaralari iyilesti. Yasi ilerleyince kurt bundan gebe kaldi.
Atalarini olduren hukumdar bir sure sonra bu cocugun sag kaldigini haber aldi. Cocugu oldurmek uzere aratti, buldular. Hukumdar cocugun bulundugu yere birisni gonderdi. Bu adam batakliga geldigi zaman cocugun yaninda bir kurt gordu, sasirdi. Adam ikisini de oldurmek istedi. Fakat bir tanri onlari korudu. Kurt cocugu sirtlayarak bati denizinin dogu tarafina gecirdi. (Kao-cang) yakinlarindaki daglardan birinde bulunan magaraya goturdu. Magaranin arkasinda bereketli bir ova vardi. Ovanin her tarafi yalcin kayalarla cevrilmisti. Kurt burada sakat delikanlidan on cocuk dogurdu. Bunlardan biri aile adi olan (Asena)' yi aldi. Bu cocuklar buyudukleri zaman magaradan cikarak civardaki oymaklardan birer kiz kacirdilar. Bunlari magaralarina goturduler. Bu kizlarla evlendiler.
Birkac nesil gecince bunlar cogaldi. Iclerinden (A-Hien-Se) adli birisi baslarina gecerek magarada cikardi. (Kin-San) daglarina giderek yerlestiler, (Cu-Cen) tatarlarina baglandilar. Bu daglarin tepelerinden biri takya seklinde oldugundan kendilerine bu anlamda (Tu-Kyu) adini verdiler. Asillarina delalet etmek uzere de bayraklarina bir kurt basi yaptilar.
DokuzOguz-OnUygur
(Agactan Dogan cocuklar)
Dokuzoguzlar' in atalari olan bir hakanin iki guzel kizi vardi. Bunlar ancak tanrilara layikti. Babalari insanlardan ayri bulundurmak icin bu kizlari, yaptirdigi bir kulenin icine koydurdu ve yalvararak tanriyi cagirdi.
Bunu uzerine tanri bir boz kurt olarak geldi, kizlarla evlendi. Tanrinin bu kizlardan Dokuz Oguz ile On Uygur evladi oldu. Bunlar zamanla cogaldilar.
Bu Dokuzoguzlar'dan tureyenler Kumlanco adi verilen ulkede oturdular. Burada Hulin adinda bir dag vardi. Bu dagdan Tugla ve Selenka adinda iki irmak akardi. Bu irmaklarin arasinda da iki agac vardi. Bu agaclarin biri Kayin, oburu de Çam idi. Bir gece bu agaclarin uzerine gokten nur indi. Gun gectikce agaclardan birinin karni sisti. Dokuz ay on gun sonra agacin karninda bir kapi acildi. Iceride agizlarinda gumus emzikler bulunan bes cocuk gorundu.
Daha cocuklar dogmadan bu agaclarin etrafinda gumusten bir daire turemisti. Agaclardan muzik sesleri geliyordu. Oradaki Dokuzoguzdan tureyen Türk'ler bu cocuklari buyuttuler; adlarini Sungur Tekin, Kutur Tekin, Tukak Tekin, Or Tekin, Bugu Tekin koydular. Bunlar onbes yasina gelince, baba ve analarini sordular. Halk onlari iki agacin yanina goturdu: Iste bunlardan bir babaniz, biri de ananizdir) dediler. Çocuklar bu agaclara saygi gosterdiler. (Sevgili anamiz ve babamiz) diye onlara sarildilar. O zaman agaclar da dile gelerek evlatlari hakkinda hayirli duada bulundular.
Nihayet bir gun halk toplanarak, Bugu Tekin' i hakan sectiler. Cunku Bugu Tekin hem zeki hem de her boyun dilini, obalarinin sayisini biliyordu. Bunun uc kargasi vardi ki her yerden olup biteni haber verirdi.
Bugu Tekin bir gece ruyasinda; beyazlar giyinmis, elinde beyaz bir asa tutan ak sakalli bir adam gordu. Bu adam fistik seklindeki (Yesim Tasi) denilen tasi gosterdi: (Turkler bunu ellerinde tuttukca dort bucaga hakim olacaklardir) dedi.
Bugu Tekin ve Gök Kizi:
Bugu Tekin bir gece otaginda uyumakta iken, birden bire pencerenin acildigini, iceriye gokten gelen guzel bir kizin girdigini gordu. Bugu Tekin neye ugradigini anlayamadigindan gozlerini kapayarak uyur gibi yapti. Kiz, Bugu Tekin'i uyandirmak icin cok calisti, bir turlu uyandiramadi. Umidini keserek pencereden cikti, gitti.
Ertesi gece kiz yine geldi. Bugu Tekin kendisini yine uykuda imis gibi gosterdi. Kiz bu defa da uyandiramadan gitti.
Sabah olunca, Bugu Tekin kizin tekrar gelecegini dusunerek, buna bir care bulmak uzere vezirine acti. Vezir dedi ki: (Bunda korkacak bir sey yok. Belki hepimizin sevinecegi hayrili bir is vardir. Her halde bunun gelisi size kutlu bilgileri ogretmek icindir.Yarin gece gelirse artik kendinizi uykuda gostermeyin. O zaman nicin geldigini anlarsiniz.
Ucuncu gece kiz yine geldi. Ama bu defa Bugu Tekin onu karsiladi, saygi gosterdi. Bu kiz vezirin tahmin ettigi gibiydi. Gercekten bir tanrica ve gokten gelen bir kizdi. Bugu Tekin' e yeni bir din gostermek icin gelmisti.
Bugu Tekin'e: (Arkamdan gel) dedi. Bugu Tekin kizi takip etti. Gittiler. Nihayet (Ak dag)'a ulastilar. Bugu Tekin'e yeni bir dinin gizli taraflarini anlatmaya basladi.
Bundan sonra kiz otaga gelir, Bugu Tekin'i (Ak Dag)'a gotururdu.
Bu durum cok gece devam etti. Bugu Tekin yeni dinin esaslarini ve sirlarini ogrendi.
Bir gece artik bu gorusmelerin sonu idi. Kiz veda ederken (Gokte, yerde ne varsa hepsini ogrendiniz. Ben artik gelmeyecegim. Yarindan itibaren dunyanin dort bucagini fethe baslayin. Gosterdigim yolda adalet yapin. Size ogrettigim gercekleri her tarafa yayin) dedi.
Sabah olunca Bugu Tekin kardeslerini cagirdi. Her birini bir orduya tayin ederek bunlari dort bucagin fethine gonderdi. Kendisi de buyuk bir ordu ile Çin uzerine yurudu. Heosi de seferlerini basardilar.
Göç
Bugu Tekin'den otuz nesil sonra, torunlarindan (Yulun Tekin) tahta cikti. O zaman Çin'de (Tang)sulalesi hakimdi.
Çinliler; Türk'lerden korktuklari icin hukumdarlari (kiyuliyen) adli kizini hakanin oglu (Gali Tekin)'e gondermeye karar verdi. Bir elci yolda Türkler'in kudret ve buyuklugunun Tanri dagi civarinda bulunan (kutlu Kaya) adli byuk bir kayadan ileri geldigini ogrendi. Yulun Tekin'e dedi ki: (Hukumdarim size en kiymetli hediye olarak kizin gonderdi. Siz de ona bir hediye gondermek isterseniz, bizce makbule gecen hediye de (Kutlu Kaya) adindaki kaya parcasidir. Bu kayanin sizce bir kiymeti yoktur. Bunu hukumdarima hediye ederseniz makbule gecer.)
Yulun Tekin, Çinliler'e kiymet veren milli duygulari gevsek bir hakandi. Kutlu Kaya'nin otuz nesilden beri Türklerce kutsal bir yer oldugunu bilmiyordu. Bir kizin bedeli olarak bu kayayi Çin'e vermekte hic tereddut etmedi. Yalniz bunu nasil gotureceklerini sordu. Elci de: (Kolaydir) dedi. Çin elcisi kayanin etrafinapdunlar yigdirdi, uzerine sirke dokturdu, odunlara ates verince kayalar parcalandi, dagildi. Elci bu parcalari dikkatle toplatti. Arabalarla Çin'e gonderdi.
Orada sihirbazlar bu parcalari yagma ettiler. Her parcasi dunyanin bir kosesine gitti. Parcalar nereye gitti ise orada bereket, bolluk oldu. Bu tarafta ise, yedi gun sonra (Yulug Tekin) oldu, yerine Bugu Tekin'in torunlarindan biri hakan oldu. Türk yurdu da butun bereketini kaybetti, yesillikler sarardi, irmaklarin, derelerin suyu cekildi gogun rengi degisti. Butun kuslar, ahyvanlar, memedeki cocuklar:(Göç! Göç! Göç!) diye bagirismaya basladi. Bir taraftan da salgi nhastaliklar insanalri kiriyordu.
(Göç!) sesleri devam ediyordu. Anladilar ki bu ulkenin (Yer-su)lari artik kendilerinin orada kalmasini istemiyor. Çadirlarini yiktilar, esyalarini, coluk cocuklarini hayvanlara yuklediler. Göç etmeye basladilar. Aksam olunca (Göç!) sesleri duruyor, sabahla beraber basliyordu. Türkler Turfan ulkesine gelinceye kadar (Göç) sesleri devam etti. Orada artik ses kesildi. Göç'ler de Turfan'da yerlestiler. Orada (Bes Balik) sehrini kurdular.
Ergenekon
Göktürkler, Tatrlarla yaptiklari savasta yenilmisler, hepsi kirilmis, yalniz Ilhan'in ogullarindan Kiyan ve Nogüz sag kalabilmisti.
Savastan on gun sonra bir gece atlarin abindiler. Çoluk cocuklarini alarak kactilar. Savastan once ordu kurduklari yere geldiler. BUada deve, at, okuz ve koyunlari kalmisti, onlari aldilar. Biri oburune dedi:
(Burada kalsak bir gun olur dusmanlarimiz bizi bulur. Baska bir boya gitsek her yanimiz dusmanlarla dolu. En iyisi daglarin arasinda, kimselerin yolu dusmeyecek yerlere gidip oturalim.)
Buna karar verdiler, surulerini onlerine kattilar, daglara yuruduler.
Bir disi geyik gorduler. Arkasindan gittiler. Geyik bunlari daglarin uzerinden duz bir yere goturdu. Orada her yeri iyice yokladilar. Geldikleri yoldan baska yol yok. Biraz ilerlediler. Genis, cimenlik bir ulke gorduler. Burada akarsular, pinarlar, meyve agaclari, hayvanlar vardi. Bunlari gorunce sevindiler. Tanriya sukur ettiler, buraya yerlestiler. Kisin hayvanlarinin etini yer, derisini giyerler, yazin da sutlerini icerlerdi.
Burada dort yuzyil kaldilar. Basbuglar'a danistilar: (Babalarimizdan isitirdik ki, Ergenekon'un disinda genis, guzel yerler varmis. Atalarimiz orada oturmus. Bundan sonra korkup ta daglaral kapanacak degiliz. Bir yolunu bulup buradan cikalim).
Hepsi bu sozleri uygun buldu. Yol aradilar, bulamadilar. Iclerinden demirdi Burteçine: (Ben bir yer gordum, orada demir madeni var. Eger onu eritirsek yol buluruz) dedi. O yeri gidip gorduler, demircinin sozunu dogru buldular.
Baska bir anlatista: birgun bir disi kurt gormusler. Bu kurdun oraya nereden geldigini aramislar, kurt kacmis, arkasindan gitmisler. Bakmislar ki kurt bir delikten disari atladi. Deligin yanina gittikleri zaman etrafin demir madeni oldugunu gormusler.
Manas
Manas, Kirgiz kahramanlarindandir. Manas'in babasi Yakip Han, anasi da Çuriçi'dir. Yakip Han evlendikten on dört sene sonra Manas dogmustur. Dogdugu zaman Manas' in avucu kanli idi. Bu isaret onun ileride mesalsiz kahraman olacaginin gostergesi idi. Henuz memede iken konusmaya basladi. Dogumu uzerine cviardan gelen elciler, onun bir kahraman olacagini hemen anlamislardi. Az zaman icinde cok serpildi, boyu bes metreye kadar uzadi.
On yasina gelince tam bir kahraman oldu. Dusmanlarin uzerine saldirarak perisan etti. Atlarina at erisemiyor,zirhina ok islemiyordu.
Yakip Han, oglunun atilganliklarini, kahramanliklarini gorunce, onu korumak, onunla arkadaslik etmek uzere, Bakay adinda birisini ona katmisti.
Manas'in savastigi dusmanlari arasinda en kuvvetlisi Gökçe idi. Bununla olan maceralari destanca epeyce yer tutar. Destan Radlof'a gore 12452 misra olup, savas hengameleri sirasinda ask maceralari , eglenceler, dugunler, Samanizm'in etkisi altindaki inanclar, gelenekler, kahinlerin rolleri goze carpar.
Öksüz Kiz
Kisin soguk bir gununde, öksüz bri Türk kizi, su almaya gider. Vucudu yari ciplak, ayaklari soguktan siskin; karni ac, gozleri yasli bir haldedir.
Elinde bir bakrac vardir. Birden bir kasirga kopar. Ay ise gokteki sarayindan kasirgaya tutulmus olan, bu zavalli fakir kiza bakmaktadir. Ay, kizin haline acir. Kendi kendine der ki: (Mutlaka üvey annesi bu kiza zulum ediyor).
Öksüz kiz o sirada bir caliliktan gecmektedir, ay caliya isaret eder: (O kizi al, yanima gel). Ayin bu emri uzerine cali hemen bir at olur. Bir yandan aya giden gok yolu acilir, bir yandan da at haline gelen cali, uzerinde kiz oldugu halde yukselmeye devam eder. Aya vardiklarinda kiz elinde bakraciyla ayin yaninda durur.
Ay, bu öksüz kizi sever, ici urpermeye baslar. Sekilden sekile girmeye baslar. BUndan sonra ayin gokte sekilden sekile girisi de, bunun ve sevgisinin sonucudur.
Ilk geceler ay bir gumus yay gibidir. Öksüz kiz buyudukce ay da buyumektedir. Bazi zamanlarda bu kiz gokteki ayin sarayindan iceri girer, hali dokur. O zaman ay sevgilisini gormedigi icin uzulur, hilale doner. Bazen de kizin keyfi yerine gelir, cosar, neselenir. O zamn ayin yuzu guler, dolun halini alir.
Ayin keyfini kaciran guclu bir rakibi vardir. O da gokte bulunan beyaz ayidir. Bu ayi da Ösüz kizi sevmektedir. Bu sebeple ayi tutarak bogmak ister. Ama ne de olsa gucu yetmez. Yirmi bes gun ay bu ayiya ustun gelir, onu ezer. Ayi yalniz uc gun aya ustun gelir. Ay bundan korkar, saklanir, kimselere gorunmez.
Bu mucadele her ay boyle devam eder.
Cesteni Bey
Cesteni Bey (aslanlarin yuruyusu ile yuruyup) (Uçayan) sehriin arkasinda durarak ileri geri dolasti. Ondan sonra dort yol agzina gelerek bu yollarin arasidan sayisiz denecek kadar cok cinler gordu. Bu cinler insan etini yiyip kanini iciyor, barsaklarini vucutlarina dolandiriyorlardi. Yuzlerini korkunc hale getirip pek kuvvetli sesle haykiriyorlardi. Ellerinde de bayraklar vardi. Ates gibi kizil ve orgulu saclarini omuzlarina birakiyorlar, kapkara buyuk daglara benzeyen vucutlarini kaldirip zehirli yilan govdeleriyle yuruyorlardi.
Cesteni Bey bunlari gorunce yuregini pek tuttu, bir kaplan gibi hic korkup cekinmeden bu cinlerin arasina girdi. O zaman cinler Cesteni Bey'i gorup etrafina toplanarak: ( Hey, kimsin sen? Nasil oldu da kendi kendine bizim ustlu altli dag gibi dislerimize lokma olmaya geldin) dediler.
Cesteni Bey bu sozu isittigi halde yuregini pek tutup hic korkmadan cinlere soyle dedi:
(Hey cinler, cabuk soyleyin bana, benim sehrimdeki insanlari nasil olduruyorsunuz. SIzlere bu sehre girme iznini kim verdi? Benim su keskin kilicima bakin, bununla govedelrinizi keserek parca parca edip birakirim. Sehrimizde milletin basina gelen bunca felaket haberi dururken hala dayanilacak degildir.)
Cesteni Bey'in bu sozunu duduktan sonra, cinler ofkelenip karma karisik oldular. Öd koparip kendilerince bir turku soyleyerek yumruklarini siktilar. Kolkola girerek, dirseklerini tutuyor, ates renkli kizil saclarini arkalarina saliverip alev gibi bayraklariyla, gurz ve tokmaklari ellerinde, Cesteni Bey'i mizraklayip, vurmaya calisiyorlardi.
Birbirleriyle soyle soylestiler: (Daha ne bekliyorsunuz? Cabuk bunu mizraklayip keselim, vucudunu parcalayip oteki dunyaya gonderelim.)
Bunun uzerine Cesteni Bey var kuvvetiyle atlayarak (Urumki) adli cini tepesindeki saclarindan yukari cekip tuttu. Kilicini yukari kaldirip , basini kesmek uzere vurdu. Boylece cinler Cesteni Bey'in gucunu, kuvvetini ve sansini gorerek cok korkarak kactilar.
Ulu Toyun
Ulu Toyun, Ay Toyun'un kizi Günes'e asik olmus. Bir gun Ulu Toyun anasi Secen'e der ki: (Ay Toyun'un gogune cik. Bana onun kizi Günes'i iste. Ne kadar cok agirlik isterse hic esirgeme, kabul et.) Secen hemen goge cikti. Ay Toyun'un otagina gitti ve: (Oglum, kizinizi sevmis, onu ogluma verir misiniz) dedi. Ay Toyun: (Peki veririm, fakat iki nisan isterim: biri dalga; Göl incisi, oburu Serap; Çöl incisi) dedi.
Secen bu haberi ogluna getirdi. Ulu Toyun istenilen iki nisanin tedarikini kolay gordu. Yer ustunde, yeraltinda ne kadar cinler, periler, ruhlar varsa hepsini davet etti. Cumlesi geldiler. Ulu Toyun dedi ki:
(Ey kahramanlar! Icinizde benim istedigim iki armagani bana getirmeyi kim uzerine alacak? Bu iki armagani bulmak, getirmek cok kolaydir. Bunun biri dalga; Göl incisi, oburu serap; Çöl incisi) dir.
Gelenlerden bu teklifi kabul edecek kimse cikmadi. Ulu Toyun teklifi tekrar etti. Yine cevap veren olmadi. Ucuncu teklifinde kurt ile bir karga bu isi uzerine aldilar. Fakat kurt dalgayi tutabilmek icin uzun bacaklar istiyordu. Karga ise serabi gorebilmek icin keskin gozlere ihtiyac gosterdi. Ulu Toyun istediklerini onlara verdi ve:
(Haydi kahramanlarim, gidin bana dalga ile serabi getirin) dedi. Bu iki kahraman yola dustu. Aradilar, taradilar, cok calistilar, ne kurt dalgayi, ne de karga serabi ele gecirdi. Yuz yillaar gecti. Bir turlu bu iki armagan gelmedi. Ulu Toyun istenilen nisanlari veremedi, Günes hanimi alamadi.)
Geyik Avi
Hikaye bir ogretmenin, ogrencisine, canlilarin oldurulmesinin ne kadar gunah oldugunu anlatmasiyla baslar.
Ogrenci de ogretmeninden bu oldurme gunahi karsiliginda, tanri tarafindan verilen cezalara bir ornek gosterilmesini ister. Ogretmeni, Dantipala'nin hikayesini soyle anlatir:
Kral Dantipala adamlari ile ava cikarak bir cok geyikler avlar. Baska bir ormanda daha besyuz geyige rastlar. Aralarinda oburlerinden cok guzel, altin renkli bir geyik vardir ki, geyiklerin yol gosterici kralidir. Bu ise geyik suretinde olan Buddha'nin kendisidir. Avcilar besyuz geyigi kovalamaya koyulurlar. Onlari alti defa kusatirlar. Olum korkusu icinde cirpinan geyikler bu guzel geyigin yanina gelerek canlarini kurtarmasini rica ederler. Fedakar, iyiligi temsil eden fazilet sahibi, geyiklerin krali (Buddha), onlara yardimda bulunmak, gerekirse kendini feda etmek ister. Kral Dantipala'nin yanina giderek ondan besyuz maralin hayatini bagislamasin irica eder. Nasihat ederek, iyilik etmege tesvik eder. Canlilari oldurmenin ne kadar gunah oldugunu anlatmaya calisir. Fakat Dantipala bunlarin hicbirini dinlemeyerek gozleri kanla dolu olup hiddetlenerek keskin kilicini ceker. Kutsal geyigin boynunu kesip, basini yere firlattigi sirada, sag eli bileginden koparak kiliciyla beraber yere duser. Dantipala feryat etmeye baslayarak yaptigi kotuluge pisman olur. Ama is isten gecmistir. Yer yarilir, Avici cehenneminden alevler cikararak Dantipala'nin butun vucudunu sarar, onu cehenneme goturur. Aviciden cikan korkunc alevler Dantipala'yi sardiktan sonra yukselir, goge dayanir. Korkunc bir yanki duyulur. Yagiz yer deprenir. Dort tarafi ates almistir. Buyuk daglar yikilarak birbirinin uzerine gelir. Dantipala da bu alevler icinde kalir, umidi kesilir, dayanamayarak kendisinden gecer. Vucudu yanip kavrulur. Avici cehenneminin seytani agzini acip Dantipala'yi yutar.
Tepegöz ile Basat
Bir gun Oguz otururken, dusman baskisina ugradi, gece vakti oradan goctu. Beraberindeki (Uruz Koca) nin kucuk oglu yolda dusmustu. Hic farkinda olmadilar. Yollarina devam ettiler. Yolda kalan bu cocugu bir arslan alarak goturdu, besledi.
Gunlerden sonra, Oguz gene gelip yurduna yerlesti. O sirada Oguz Han'in atlarina bakan coban bir haber getirerek dedi ki: (Ormanda bir arslan kukruyor. Uzaktan gordum, salinarak yuruyusu insan gibi. Atlari yakalayip yatirarak kanlarini emiyor) dedi. Cobanin bu sozu uzerine Uruz da Oguz Han'a: (Hanim belki goctugumuz vakit yolda dusen benim oglumdur) dedi.
Beyler hemen atlarina bindiler. Aslanin yatak yerine geldiler. Uruz'un dedigi gibi bu, kendi oglu idi. Oglani tuttular. Uruz, oglani alip evine goturdu. Hep sevindiler. Ziyafetler oldu. Ama oglan yine durmadi. Aslanin yatagina gitti. Bir daha tutup getirdiler.
Bunun uzerine (Dede Korkut) geldi ve: (Oglum sen insansin, hayvanlarla dusup kalkma, gel iyi ata binmeyi ogren. Iyi yigitlerle beraber yasa. Buyuk kardesinin adi (Kayan Selcuk)tur. Senin adin da (Basat) olsun dedi. (Adini ben verdim. Yasini tanri versin) dedi.
Oguz bir gun yaylaya gitti. Uruz'un bir cobani vardi. Adina (Konur Koca Sari Coban) derlerdi. (Uzun pinar) diye un alan bir pinar vardi. O pinara periler konmustu. Ansizin koyunlar urktu. Coban da bunu kecilerden bilerek onlara kizdi. Ilerleyince gordu ki, peri kizlari kanat kanata vermisler, ucuyorlar. Coban kepenegini uzerlerine atti. Peri kizlarindan birini tuttu.
Zaman gecti. Oguz yine yaylaya gitti. Coban da pinara geldi. Yine koyunlar urktuler. Coban ilerledi, yerde bir yigin gordu. Bu yigin gittikce buyudu. Coban Korktu, birakti, kacti. Urken koyunlarin pesine dustu.
Meger o zaman Bayindir Han ile Beyleri gezmege cikmislardi. Bu pinarin yanina geldikleri zaman garip birseyin yattigini gorduler. Etrafini aldilar. Iclerinden bir yigit, ayagi ile bunu tekmeledi. Tekmeledikce yigi nbuyudu. Uruz Koca da merak etti, atindan inerek tekmeledi. Fakat mahmuzu dokununca bu yigin yirtildi, icinden bir oglan cikti. Bu oglanin govedsi adam govdesi gibiydi. Ancak tepesinde bir gozu vardi. Uruz bu oglani alarak etegine sardi ve:(Han'im, bunu bana verin, Oglum Basat ile beraber besleyelim) dedi. Bayindir Han da:(Senin olsun) dedi.
Uruz, Tepegoz'u aldi. Evine goturdu. Bir sut nine getirdiler. Kadin memesini Tepegoz'un agzina verdi. Oglan bir emdi, sut ninenin olanca sutunu aldi. Ikinci emisinde kanini aldi. Ucuncude de canini aldi. Birkac sut nine getirdiler. Hepsini boylece oldurdu. Baktilar ki olmayacak, sutle besleyelim) dediler. Gunde bir kazan sut yetmezdi. Beslendiler, buyudu. Gezmeye, oglan cocuklariyla oynamaya, oynarken de bunlardan birisinin burnunu, oburunun kulagini yemeye basladi.
Nihayet herkes onun yuzunden caresiz kaldi. Uruz'a sikayet ettiler, aglastilar. Uruz her ne kadar Tepegoz'u dovdu ise de bu hareketlerini onleyemedi. Nihayet evinden kovdu.
Bunun uzerine Tepegoz'un peri olan anasi gelerek oglunun parmagina bir yuzuk takti ve:(Oglum sana ok batmasin, vucudunu kilic kesmesin) dedi.
Tepegoz, Oguz ilinden kacti. Bir yuce da vardi. Orada yol kesti. Adam esir etti. Buyuk eskiya oldu. Uzerine bir kac adam gonderdiler. Onlar Tepegoz'e ok attilar, batmadi. Kilic vurdular, kesmedi. Hepsini yedi bitirdi. Oguz ilinden bile adam yemeye basladi. Oguz'lar toplandilar, uzerine yuruduler. Bunu goren Tepegoz kizdi. Bir agaci yerinden koparip atarak elli altmis kisiyi oldurdu.
Nihayet Basat bu Tepegoz'un uzerine gitti. Tepesindeki tek gozune sis saplayarak kor etti. Bundan sonra da kafasini kesti.
Butun Beyler sevinc icinde kaldilar.
Alpamis (Bamsi Beyrek)
Alpamis; Alpamsi, Alpmasa, Bamsi Beyrek ve Boyrek gibi Turk boylari arasinda cesitli soylenislerle gecmekte, uzerine kurulan hikaye de biraz degisik rivayetlerle anlatilmaktadir.
Bir anlatisa gore; Alpamis(Bay Boyrek) Oguz'un ogullarindan Ay Han'in ogludur.
Ay Han'in oglu olmazdi. Bunun icin de cok uzuntulu idi. Birgun yanina veziri (Balcik Han) geliyor. Ay Han'a seyahat tavsiye ediyor. Ikisi yola cikiyor. Bir yerde Hizir ile karsilasiyorlar. Hizir onlara iki elma vererek kayboluyor. Elmanin birisini Ay Han, digerini de karisi yiyor. Nihayet bir erkek cocuklari oluyor. Adina da Bay Boyrek diyorlar.
Bir anlatisa gore de; Bay Börü ile Bay Sari adindaki iki urk Beyinin cocuklari olmustu. Bunlar kirk gun Allah'a yalvariyorlar. Sonunda Bay Boru' nun, Hakem(Alpamis) adinda bir oglu, Bay Sari'nin da (Ay Barcin) adinda kizi oluyor. Ayni yasta olan bu cocuklari kucuk iken nisanladilar, henuz ucer yasinda iken okula verdiler. Alpamis yedi yasina gelince okuldan alindi. Ona beylik usulleri ile, beyler nasil hareket etmelidir, gibi isler ogretildi. Ok talimleri yaptirildi. Nihayet maceralar basladi:
Alpamis Kalmuk'larla savasa girdi. Bu sirada (Askara) adindaki dagin tepesini bir ok atarak ucurdu. Ama yolda bir ak otagda guzel bir kizla uyumakta iken Kalmuk'lar bastilar, Alpamis'i esir ettiler. Goturup bir zindana attliar. Obur taraftan Kalmuk Han'in kizi Alpamis'a asik olmustu. Onu kurtarmak yollarini aradi, bulundugu zindana uzun bir ip sarkitarak onu zindandan cikartti. Alpamis'in Çobar yahut Benliboz adinda bir ati vardi. O ati da hazir buldular. Alpamis atina bindi. Tekrar Kalmuk'lara hucum ederek onlari perisan etti. Bundan sonra memleketine donunce sevgilisi Aybarç'in'i kolelerinden birinin almak uzere oldugunu ogrendi. Dugun hazirliklarinin yapildigi sirada ve eglenceler devam ederken, Alpamis bir ozan kiyafetine girerek Aybarçin'in bulundugu cadira yaklasti. Elindeki sazi calarak cadira dogru siirler soylemeye basladi. Bu sirada cadirda Bademca adinda bir kadin vardi. Biraz kekeme idi. O da Alpamis'e siirle cevap verdi. Alpamis tekrar soyledi. Sonunda gelinin bulundugu cadira alindi. Orada eglenceler, oyunlar devam ederken, bir kosede yaslar icinde bulunan gelin Alpamis'i tanidi. Bundan sonra ikisi de birbirine atildi. Herkes sasirdi. Alpamis da sevgilisni alarak babasinin yanina gitti, onu nyerine gecti.
Oguz Kaan
Oguz dogdugu zaman yuzu mavi, agzi ates gibi kirmizi, gozu ve saci, kaslari siyahti. Annesinin memesinden ilk sutu emdikten sonra bir daha emmedi. Lakirdi etmeye basladi. Yiyecek istedi. Kirk gunde buyudu. Dolasip oynuyordu. Oguz'un ayaklari okuze vucudu kurda, gogsu ayiya benzerdi. Bogurleri killi idi. At surusu guder, beygire binerek avlanirdi.
Gunler, geceler gecti. Delikanli oldu. O sirada bu memlekette buyuk bir orman vardi. Icinden dereler, irmaklar akardi. Hayvanlar, kuslar coktu. Bu ormanda (Kiyant) adinda bir buyuk canavar bulunuyordu. Beygirleri parcalayarak yer, insanlari yutardi. Oguz bunu oldurmeye karar verdi. Birgun mizrak, ok, yay, kilic ve kalkan ile beygire atlayarak gitti. Bir geyik yakaladi. Bu geyigi bir av kirbaci ile agaca baglayarak cekildi. Gitti, sabah oldu. Gun dogarken oraya geldi. Lakin canavar onu yemisti. Bunun uzerine bir ayi yakaladi. Altin islemeli kemeriyle bir agaca baglayarak gitti. Sabah oldu. Gun dogarken oraya geldi. Lakin canavar onu da almisti. Bu defa Oguz agacin arkasina saklandi. Canvar tekrar gelince basi ile Oguz'un kalkanina carpti. Oguz mizragi ile canavarin kafasina vurarak oldurdu. Kilicla da kafasini kesti. Gitti. Tekrar geldigi zaman bir akbabanin, onun barsaklarini yemek icin geldigini gordu. Onu da oldurdu.
Bir gun Oguz tanriya ibadet ediyordu. Birde bire ortalik karardi:
Gokten mavi bir isik dustu. Bu isik gunesten , aydan dah parlakti. Bu isigin ortasinda tek basina bir kiz oturuyordu. Cok guzeldi. Basinda kutup yildizi gibi yanan parlak bir isaret vardi. O kadar guzeldi ki gulunce mavi gok de guluyor, aglayinca mavi gok de agliyordu. Oguz onu gorunce akli basindan gitti. Sevdi, aldi. Gunler, geceler gecti. Bundan uc cocugu oldu. Bunlara; Gün, Ay, Yildiz adlarini verdiler.
Oguz yine birgun ava gitmisti. Uzaktan bir golun ortasinda bir agac ve agacin dibinde yalniz bir kiz gordu. O kadar guzeldi ki, gorenler bayilirdi. Oguz onugorunce akli basinda gitti. Sevdi, aldi. Gunler, geceler gecti. Oguz'un bu kadindan da uc oglu oldu. Gök, Dag, Deniz adini verdiler.
Oguz bir gun avda iken babasi Kara Han'a oglunun baska bir din tuttugunu haber verdiler. Kara Han beyleri toplandi. Oglunun halini anlatti. Oguz'u yola getirmek icin etrafa haberler saldi. Karisi gizlice Oguz'a haber yollayarak babasinin kararini bildirdi. Oguz da etrafa boylara: (Babam asker toplayarak beni oldurmeye geliyormus. Beni isteyenler bana, babami isteyenler de ona gitsin) yolunda haber gonderdi. Kara Han'in kardeslerinin ogullari, boylari ile beraber Oguz tarafina gectiler. Baba ile evlat askerleri savasia tutustu. Oguz'un tarafi ustun geldi. Bu ustunluk uzerine Oguz butun Tekinleri, boylari davet ederek solen yapti. Solenden sonra tekinlere ve orada bulunanlara emretti, dedi ki:(Bana uyanlara hediyeler verip dost bilecegim, uymayanlari dusman bilecegim) dedi. Bir kisim halk Oguz'un dinini kabul etmeyerek, yurtlarini birakip doguya, tatarlarin ulkesine gitti. Oguz bunlairn arkasindan giderek Tatar'in yurduna girdi. Tatar'lari yendi, mallarini aldi. O vakitler sag tarafta (Altin Kaan) vardi. Oguz'a hediyeler, altinlar, gumusler, akik ve zumrutler gonderdi. Solda (Urum Kaan) vardi. Bu kaanin cok ordulari ve sehirleri vardi. Urum Kaan Oguz'un emirlerini dinlemedi. O vakit Oguz ordusunu hazirladi. Sancagini cekip atina bindi. Kirk gun sonra (Buz Dag) eteklerine geldi.
Bir sabah Oguz'un yurduna gun isigina benzer bir isik girdi: Icinden boz tuylu, boz yeleli erkekr bir kurt gorundu, Oguz'a yol gostermek istedigini soyledi. Ondan sonra kurdun arkasi sira gittiler. Kurt (Idil Moran) kenarinda durdu. Oguz'un askeri de durdu. Orada savasa giristiler. Nehrin suyu kan damari gibi kipkirmizi oldu. Urum Kaan kacti. Memleketi, hazinesi ve halki Oguz'a kaldi. Urum Kaan'in, Uruz Bey adli bir kardesi vardi. Uruz Bey ogluna dag tepesinde (Tarang Moran) arasinda mustahkem bir sehir ismarlamisti. Oguz o sehre dogru yurudu. Uruz Bey oglu, Oguz'a haber gonderdi.: (Bizim saadetimiz senin saadetindir. Tanri bu topragi sana bagislamis, ben sana basimi verir, saadetimi feda ederim) dedi.Bundan sonra adi (Saklap) oldu.
Oguz ordusu ile Idil'i gecti. Orada buyuk bir hakan yaiyordu. Oguz onun da ardina dustu. (Idil suyundan akacagim) dedi. Orada (Ulu ordu Usyuteng) isminde bir tekinin yeri vardi. Burasi cok agaclik bir memleket oldugundan, onlardan kesti. Agaclarin uzerine binerek nehri gecti. Oguz gulerek dedi ki:(Sen de benim gibi bir hakan ol, sana kipçak densin) dedi. Tekrar yoluna devam etti. Bu arada boz tuylu, boz yeleli kurt tekrar gorundu: (Ordu ile yuruyerek Tekin'leri, halki buraya getir. En onde size yol gosterecegim) dedi. Yuruduler, (It Barak) in ordusuyla karsilastilar.
(It Barak) savasta olduruldu. Ordusu bozuldu. Yurdu, mali ve halki Oguz'a gecti. Oguz Han bir aygira bindi. Onu pek seviyordu. Fakat at colde gozden kayboldu. Burada yuksek bir dag vardi. Tepesi karli oldugundan (Buz Dagi) derlerdi. Oguz atinin kacmasina cok kederlendi. Orduda kahraman bir Tekin vardi. Bu yuksek daha tirmandi. Dokuz gun sonra Oguz'a atini getirip verdi. Her tarafi karla bembeyaz oldugundan Oguz ona bircok hediyelerle beraber (Karluk) adini verdi , bir cok tekinlerin uzerine han yapti.
Tekrar yola duzulduler. Yolda bir buyuk ev gordu. Dami altindan, pencereleri halis gumusten ve demirdendi. Kapinin anahtari yoktu. Orduda (Tumur Dokagal) adinda akilli bir adam vardi. Oguz ona: (Burada kal, ac, sonra orduya gel) dedi ve (Kalaç) adini verdi.
Tekrar yola dizildiler. Yine bir gun boz tuylu, boz yeleli kurt birden gorundu. Ordu da ona uydu. Bulunduklari yer ekili bir ova idi. (Çuçit) derlerdi. Burada insan coktu. Bunlarin cok da atlari, inekleri, altinlari, gumusleri, elmaslari vardi. Bunlar Oguz'a karsi ciktilar. Ok ve kilicla siddetli bir cenk oldu. Oguz ustun geldi. Curcit Han'in basini kesti. Burada da cok mallar ele gecti. Fakat Oguz'un ordusunda yuk hayvanlari pek azdi. Orduda(Parmakli çözüm Bilik) adinda akilli bir adam vardi. Hemen bir kagni yapti. Mallariona doldurdu. Hayvanlari da buna kostu. Herkes onu gibi arabalar yaparak esyasini yuklemeye basladi. Oguz Han bunu da gorerek guldu. Ona (Kankli) adin iverdi.
Tekrar yuruduler. Boz tuylu, boz yelei kurt onde idi. (Tangut) ve (Sakim) memlektine gittiler. Bircok cenklerden sonra Oguz orayi da aldi. Gayet gizli bir kosede cok zengin ve cok sicak bir memleket vardi. Adina (Baçak) derlerdi. Burada bir cok vahsi hayvanlar, av kuslari yasardi. Ahalisinin yuzu siyahti. Hakani (Mazar) adli biri idi. Oguz onu da yendi, kacirdi, memleketini aldi. Oradan atina binerek yurduna dondu.
Oguz Han'in yaninda ak sakalli, pek akilli, ihtiyar bir (Irkil Ata) vardi. Buna (Ulug Turk) de derlerdi. (Irkil Ata) bir gece ruyasinda altin bir yay ve uc gumus ok gordu. Bu altin yay dogudan batiya uzaniyor, bu uc gumus ok da gece tarafina ucuyordu.
Uyaninca bunlari Oguz'a bildirdi ve bir nasihat etti. Oguz onu nnasihatini dinledi. Ertesi sabah ogullarini cagirdi. Dedi ki: (Ihtiyarladi. Benim icin artik Hakan'lik kalmadi. Gun, Ay, Yildiz siz gunesin dogdugu tarafa, Gok, Dag, Deniz siz de gece tarafina gidiniz.)
Ogullari bu emri yaptilar. Gun, Ay, Yildiz bir cok hayvanlar, kuslar vurduktan sonra bir altin yay buldular, babalarina getirdiler.
Oguz yayi uce ayirdi. Parcalarini yine onlara vererek: (Yay sizi nolsun. Yay gibi oku goge firlatiniz. Adiniz (Bozok) olsun) dedi. Kucuk kardesleri de bir cok hayvanlar, kuslar vurduktan sonra, colde bir gumus ok buldular, babalarina getirdiler. Oguz oku uce boldu. Yine onlara vererek: (Ok sizinolsun. Yay oku atar, siz de ok gibisiniz. Adiniz (Ücok)olsun) dedi.
Bunun uzerine buyuk kurultay toplandi. Herkesi cagirdi. 900 at, 9000 koyun kestirdi. 90 havuz kimiz hazirlatti. Solen verdi. Kendisi icin direkleri altin kapli, uzerleri zumrut, yakut, firuze, inci ile altin islemeli otagini kurdurdu. Halki yedirip, icirdi. Otagin sagina kirk kulac uzunlugunda bir sirik diktirdi. Tepesine bir altin tavuk , tavugun ayagina beyaz bir koyun baglatti. Sol tarafina da kirk kulac uzunlugunda bir sirik diktirdi. Tepesine bir gumus tavuk, tavugun ayagina bir siyah koyun baglatti. Sag tarafta (Bozok)lar, sol tarafta (Ücok)lat oturuyordu. Boylece kirk gun kirk gece gecerek eglendiler. Bundan sonra Oguz yurdunu evlatlarina verdi. Onlara: (Evlatlarim! Çok yasadim, cok cenk ettim. Çok ok attim, cok aygirlara bindim. Dusmanlari aglattim, dostlari guldurdum. Tanriya her seyi feda ettim. Size de yurdumu veriyorum..) dedi.
Alangova(Alan-hoa)
Bortecine soyundan Minekli'nin oglu Yildiz Han'in iki cocugu olmus, bunlar kendisinden once olmus. Buyuk oglu(Dubun) adinda bir erkek, ikincisi de (Alangova) adinda bir kiz birakmis.
Yildiz Han bunlari evlendirmis, (Bilgutay), (Bekcitay) adinda iki erkek cocuklari olmus. Cok gecmeden Alangova'nin kocasi olmus, dul kalmis, kendisini Han'lar istemis ise de varmamis.
Alangova'nin gebe kalisi:
Alangova bir gece sarayinda yatarken, seher vakti uyanip bacadan odaya nurlu bir golgenin indigini, bu golgeden beyaz yuzlu, sehla gozlu bir adamin ciktigini gordu. Yaninda yatan kadinlari uyandirmak ici haykirmak istedi, fakat dili tutuldugundan bir turlu sesi cikmadi. Kalkmaya calisti, elinin ayaginin kuvveti kesilmis oldugundan kiprdanamadi. Akli yerinde oldugu icin herseyi goruyor, biliyordu.
Adam yavas yavas yataga girdi. Sonra yine bacadan cikti, gitti. Alangova: (Bunu soylesem kimse inanmaz.) diye olani biteni gizli tuttu. Adam bes alti gecede bir gelmeye basladi. Alangova ilk geceden gebe kalmisti. Dort bes ay gecince is anlasildi. Kardesleri gebeliginin nedenini sordular. O da ne olmussa anlatti ve: (Bana es lazim olsa bir kocaya varirim. Her ne kadar kadin isem de, bir coklari beni padisah edinmek icin istemisti. Kendimi bunca ilimi, iki oglumu halk icinde rusva edecek bir hali asla caiz gormem. Birkac gece evimin etrafinda saklanirsaniz tanri beni mahcup birakmaz) dedi.
Herkes Alangova'nin sozune inandi. Uc kisi evin etrafinda nobet beklediler.
Birkac gun sonra gokten seher vakti nurlu bir seyin indigini, Alangova'nin bacasindan iceri girdigini, bir zaman sonra ciktigini gorduler. Boylece Alangova'nin sozunun dogruluguna inandilar.
Illuankas
Eti ve Hitit efsanlerinden olan Illuankas M.Ö 1500 yilinda tertiplenmistir:
Gunes tanricasi Arinna ile firtina tanrisinin, Mezulla ve Zintuhi adinda torunlari vardir. Guzellik ve hava tanricasi Inuras bunlarin cocuklaridir.
Illuankas adindaki buyuk yilan ile firtina tanrisi arasinda Kiskilussa sehrinde korkunc mucadeleler olmus, sonunda firtina tanrisi kaybetmistir.
Inuras sevilen, sayilan bir tanrica idi. Gokte alti kir atin cektigi arabasiyla gezerdi.
Birgun Inuras; Hatusas sehrine geldi. Oradan Zigoratta sehrine gecti. Orada Hupasiyas(Hupanisa) adinda bir genc gordu, onunla aralarinda dostluk basladi.
Inuras Illuankas'i oldurerek firtina tanrisinin intikamini almak istedi. Gence bu arzusunu anlatti, ondan yardim istedi. Genc de Inuras kendisin sevdigi takdirde ona yardim edecegini soyledi. Nihayet iki taraf karsilikli teklifleri kabul ettiler.
Hupasiyas'in tertibi ile tanri Inuras(Inar) bir ziyafet hazirladi. Illuankas'i bu ziyafete cagirdilar. Buna sevinen Illuankas cocuklarini da alarak ziyafete geldi. Illuankas ile cocuklari o kadar yediler ki dondukleri zaman cok sistikleri icin yuvalarinin bulundugu delikten sigmadilar. Yari icerde yari disarda kaldilar. Bunu goren Hupasiyas. Illuankas ile cocuklarini kuyruklarindan birbirine bagladi.
Oraya Inuras ta gelmisti. Illuankas kurtarilmasi icin ona cok yalvardi. Inuras aldirmadi. Gok tanrisi Yantanus'u da oraya cagirdi. Yantanus ta geldi, elindeki kargi ile yilanlari oldurdu. Inuras ta buyukbabasinin intikamini almis oldu.
Telepinu
Telepinu, buyuk firtina tanrisinin ogludur. Bolluk ve bitki tanrisidir. Telepinu kayboldugu zaman ocakta atesler sondu. Tapinaklarda tanrilar bunaldi. Agillarda koyunlar boguldu, Ahirlarda sigirlar oldu. Koyun kuzusunu, inek danasini birakti.
Telepinu kayboldugu zaman, tarladan ekinleri beraber goturdu. Artik arpa, bugday bitmez oldu. Koyunlar, sigirlar ve insanlar ciftlesmez, gebeler dogrumaz oldular. Agaclar kurudu, filizler curudu, kaynaklar kesildi.
Ulkeyi kitlik burudu. Insanlar, tanrilar acliktan kivrandilar. Buyuk gunes tanrisi bir ziyafet hazirladi. Bin tanriyi cagirdi. Yedilerse de doymadilar, ictilerse de kanmadilar.
Bunun uzerine firtina tanrisi oglu Telepinu'yu arastirdi. Telepinu ise kizarak kacmis, butun iyi seyleri beraberinde goturmustu.
Buyuk tanrilar, kucuk tanrilar Telepinu'yu aramaya ciktilar. Gunes tanri kartali oncu gonderdi ve (Git yuksek daglari, dereleri, yamaclari arastir)dedi. Kartal gitti. Telepinu'yu bulamadi. geri dondu. Gunes tanriya: (Kudretli tanri! Telepinu'yu bulamadim) dedi.
Firtina tanrisi, bas tanricaya: (Ne yapalim? Acliktan olecegiz) dedi. Gunes tanricasi, firtina tanrisina: (Ne istersen yap, Telepinu'yu aramaya kendin git) dedi.
Firtina tanrisi Telepinu'yu aramaya gitti. Onun sehrindeki evinin kapisini caldi. Fakat o evde degildi. Kapi acilmadi. Kendi evine donerek tahtina oturdu.
Tanrica kartali bir daha gonderdi. Ona: (Git Telepinu'yu ara!) dedi. Firtina tanrisi, tanricaya: (Buyuk tanrilar, kucuk tanrilar onu aradilar, fakat bulamadilar. Bu kartal mi onu bulacak? Bunu gozu keskinse onlarin gozleri de keskindir) dedi.
Tanrica yine kartali gonderdi: (Git yuce daglari ara, tara!)dedi. Kartal uctu, yuce daglari arastirdi, bulamadi. Su haberi getirdi: (Ben onu bulamiyorum).
Tanrica bu defa Ari'yi gonderdi: (Git Telepinu'yu sen ara! Bulursan onun ellerini, ayaklarini sok! Onu al getir. Mum al, onu yika, temizle ve bana getir) dedi.
Firtina tanrisi tanricaya dedi ki: ( Buyuk tanrilar, kucuk tanrilar onu aradilar, fakat bulamadilar. Bu ari mi onu bulacak?)
Tanrica firtina tanrisina dedi ki: (Sen ariyi birak. O gidip onu bulacak).
Ari oradan uctu. Aramaya basladi. Her tarafi dolasti. Irmaklari, kaynaklari arastirdi. Sonunda Telepinu'yu uyurken buldu. Telepinu acele evine geldi. O zaman ocaklara ates geldi, agillara koyun, ahirlara sigir doldu. Ana cocugunu, koyun kuzusunu ve inek danasini dogurdu.
Hakan Su
Zulkarneyn Semerkant'i gecip de Turk ulkesine yoneldigi siralarda, Saka Turkleri'nin Su adindaki Buyuk hakanina yaklasiyordu. Balasagun yakinindaki Su kalesini bu yaptirmisti. Hergun Balasagun'daki sarayinin onunde ucyuzaltmis nobet davulu vurulurdu. Hakan Su'ya Zulkarneyn'in yaklastigi haberi verilmis ve: (Emriniz nedir, savas mi edelim, ne buyurursunuz?) denilmisti. Halbuki Hakan Hocant irmaginin kenarina karakol kurmak, Zulkarneyn'in gececegini haber vermek icin kirk Tarhan'i gozcu gondermisti. Bunlar kimseye gorunmeden gitmisti. Su endise etmiyordu. Onun gumusten bir havuzu vardi. Sefere cikildiginda birlikte tasinir, icine su doldurulurdu. Sonra kazlar, ordekler yuzdurulurdu. Kendisine: (Ne buyurursunuz, savasa girelim mi? )denildigi zaman cevap olarak: (Su kazlara, ordeklere bakiniz, nasil suya daliyorlar) dermis. Bunun uzerine orada bulunanlar Su'nun savas icin hazir olmadigi zannina dusmusler. Zulkarneyn Hocant suyunu gecince, oradaki gozculer hemen Su'ya haber ulastirdilar. Hakan Su hemen davullari caldirarak doguya dogru yurudu. Halk gitmek icin hazirlik gormeden hakanlarinin boyle savusup gitmesinden umitsizlige dustu. Bir urkuntu, bir karisiklik oldu. Binek bulabilenler hayvanlarin sirtina atlayarak Hakanin arkasindan kostular. Sabah olunca ordu yeri duz bir ova halini aldi.
O siralarda Taraz, Ispicap, Balasagun ve bunun gibi yerler yapilmamisti. Ora halki gocebeydi. Hakan ordusuyla gittikten sonra, oradaki halk coluk cocuklariyla yirmi iki kisi kalmis, geceleyin hayvanlarini bulamamisti. Bu yirmi iki kisi yaya olarak cekip gitmek, yahut orada kalmak uzere konusurlarken iki kisi cika geldi. Bunlar agirliklarini sirtlarina yuklemisler, yanlarina coluk cocuklarini almislardi. Ordunun izine duserek gidiyorlardi. Yorulmuslar, terlemislerdi. Bu yirmi iki kisi, yeni gelen iki kisi ile konustular, ikiler dediler ki: (Zulkarneyn denilen adam bir yolcusur, bir yerde durmaz. Buradan da gecer gider. Biz de kendi yerlerimizde kaliriz.) Yirmiikiler onlara: (Kal ac) dediler.
Zulkarneyn gelip bunlari sacli, uzerlerinde Turk belgeleri bulundugunu gorunce, onlara: (Türk Manend) demis (Türk'e benzer).
Hakan Su, Cin'e kadar gitmis. Zulkarneyn arkasina dusmus. Su Zulkarneyn'e bir boluk asker Zulkarneyn de ona bir boluk asker gondererek (Altun Kan) denilen bir dagda carpismislar. Ama Zulkarneyn Hakan ile barismis, Ugur sehirleirni yapmislar. Bir sure orada oturduktan sonra Zulkarneyn cekilip gitmis, Hakan Su da Balasagun'a kadar ilerlemis. Kendi adini vererek Su sehrini yaptirmis. Oraya bir tilsim koymus. Bugun oraya kadar leylekler gelir, oradan ileri gecemezler. Tilsim bu gune dek bozulmamistir. (Divan-i Lugat it Turk/ Tercume cilt: III)



Vücudumuzun 7 enerji kaynağı


B-2 VİTAMİNİ: B-2 vitamini kanda alyuvarların oluşmasını sağladığı için derinin, özellikle de gözlerin sağlığı açısından çok önemlidir. Alkol, bu vitaminin en büyük düşmanıdır. B-2 vitaminini en çok el edebileceğimiz besinler: Et, tavuk eti, balık, süt ve süt ürünleri, turp, ıspanak, yumurta, mısır ve beyaz undan yapılmış ekmek.

B-6 VİTAMİNİ B-6 vitamini, vücudumuzun proteinleri ve yağları öğütmesine yardımcı olur. Vücuda oksijeni dağıtan hemoglobin B-6 vitamini sayesinde meydana gelir. Depresyona karşı direnmeyi sağlayan serotonini oluşturur. Tavuğun göğüs eti, böbrek, karaciğer, yumurta, pirinç, soya fasulyesi, yulaf, fındık, fıstık, muz, patates, avokado ve somon balığı en fazla B-6 vitamini içeren besinler arasında yer almaktadır.

FOLİK ASİT Hücre oluşumunu sağlayan Folik Asit’in vücutta azalması kanser ve kansızlık riskini gündeme getireceğinden, ihmal edilmemesi gereken unsurlardan bir tanesidir. Folik Asit bakımından; karaciğer, yumurta sarısı, ıspanak, yeşil yapraklı sebzeler, brokoli, portakal ve portakal suyu oldukça zengindirler.

KALSİYUM Kemiklerin ve dişlerin güçlenmesi, alınan kalsiyum miktarıyla doğru orantılıdır. Kaslar ve sinirler için de oldukça önemlidir. Kanın pıhtılaşmasını sağlar ve kalın bağırsak kanserine karşı en güçlü silahtır. Süt ve süt ürünleri, mısır, sardalya balığı, brokkoli bol miktarda kalsiyum içeren besinlerdir.

MAGNEZYUM Proteinlerin kana karışmasını, kasların ve sinirlerin düzenli bir şekilde çalışmasını sağlayan magnezyumdur. Magnezyum yetersizliği iştah kaybına, depresyona, kasların zayıflamasına ve zaman zaman göz kararmasına sebep olabilir.

DEMİR Hemoglobin, demir sayesinde oluşur. Demir eksikliği anemi (kansızlık) hastalığına neden olur. Kırmızı et, balık türleri, kuru fasulye, kurutulmuş meyve, yumurta sarısı ve yeşil yapraklı sebzeler, demir içeren besinlerden bir kaçıdır.

ÇİNKO Çinko, bağışıklık sisteminin çalışabilmesi bakımından bolca ihtiyaç duyulan bir mineraldir. Çinko eksikliği vücudu enfeksiyonlara karşı dirençsiz kılacak, ayrıca tat ve koku duyularını da zayıflatacaktır. Özellikle diyabet ve böbrek hastaları çinko eksikliği tehlikesiyle karşı karşıyadırlar. Kırmızı et, yumurta, deniz ürünleri, fasulye, bezelye ve fındık bol miktarda çinko içerir.