Programlama işindeki ilerlemeyi satır sayısı ile ölçmek, uçak imalatı işindeki ilerlemeyi ağırlıkla ölçmek gibi olur.

Bill Gates

Bana Atılan E-Postaların Yanıtları

Sevgili Arkadaşlar...

Bu site aracılığıyla -bazıları sorulardan oluşan- pek çok e-posta alıyorum. Ancak yoğunluk nedeniyle bazılarına yanıt yazamadım.  Sakın unuttum sanmayın ve "adam bir yanıt bile yazmadı" diye düşünmeyin :-). Bundan sonra atacağınız e-postalara da daha kısa bir süre içinde yanıt vermeye çalışacağım. Gecikme için özür diliyorum...

 

Kitap Eleştirisi

Artık her hafta sitede bilgisayar alanında basılmış bir kitabın eleştirisini göreceksiniz. Umarım beğenirsiniz...

Haftanın Şarkısı

Adam And Eve
[Paul Anka]
45'lik - 1960

Birkaç kuşak üzerinde derin etkiler bırakan Paul Anka pop müziğin en tanıdık simalardan biri şüphesiz. 1960’ta 45’lik olarak piyasaya sürülmüş olan Adam And Eve şarkısı Adem ile Havva’nın bilinen hikayesini konu alıyor...

Seneler önce Ottawa’da yürürken Paul Anka caddesiyle karşılaşıncaya kadar ben onu hep Amerikalı sandım. 2006’daki İstanbul konserine gidemediğim için ise hala yanarım…


Eski Haftalar

Yeni İçerik

C#'taki Yapı ve Sınıf Nesneleri Nerede Yaratılıyor?

Pek çok C# programcısının sınıf ve yapı kavramlarıyla stack ve heap kavramlarını yanlış bir biçimde ilişkilendirdiğini görüyorum. Örneğin, “yapı nesneleri stack’te sınıf nesneleri heap’te tutulur” biçiminde yanlış anlaşılmaya yol açacak bilgiler veren yerli ve yabancı çok sayıda yazı ve makaleyle karşılaştım. Konuya biraz açıklık getirmek istiyorum.

UNIX/Linux Sistemlerinde Dosya Betimleyicilerinin Anlamı

    UNIX/Linux sistemlerinde her prosesin proses tablosu yoluyla erişilen bir dosya betimleyici tablosu (file descriptor table) vardır. Dosya betimleyici tablosu bir gösterici dizisi biçimindedir. Betimleyci tablo içersindeki her gösterici açılmış bir dosyanın bilgilerinin tutulduğu ve ismine dosya nesnesi (file object) denilen bir veri yapısını gösterir. open fonksiyonundan elde edilen dosya betimleyicisi (file descriptor) prosesin dosya betimleyici tablosunda bir indeks belirtmektedir.

UNIX/Linux ve Windows Sistemlerinde Proseslerin Çalışma Dizinleri

    Her prosesin bir çalışma dizini (current working directory) vardır. UNIX türevi sistemlerde prosesin çalışma dizini proses fork fonksiyonuyla yaratılırken üst prosesten alınır. exec işlemleri sırasında da yaratılmış olan prosesin çalışma dizini değişmez. Yani bu sistemlerde bir proses bir alt proses yarattığında yaratılan alt prosesin çalışma dizini üst prosesin çalışma dizini ile aynı olacaktır. Windows sistemlerinde de alt prosesin çalışma dizini onu yaratan proses tarafından CreateProcess API fonksiyonu çağrılırken belirlenir. Her iki grup işletim sisteminde de prosesin çalışma dizini daha sonra belirli sistem fonksiyonlarıyla değiştirilebilmektedir.

Portable Executable Dosya Formatında CLI Metadata Tablolarının Organizasyonu

    .NET, Mono ve Rotor gibi CLI (Common Language Infrastructure) standartlarına uygun ortamlardaki assembly dosyaları PE (Portable Executable) dosya formatını kullanmaktadır. PE dosya formatı Micosoft’un 32 ve 64 bit Windows sistemlerinde kullandığı genel amaçlı çalıştırılabilir (executable) bir formattır. Bu format tıpkı UNIX/Linux sistemlerinde kullanılan ELF (Executable and Linkable Format) gibi bölümlerden (sections) oluşur. Bölümlerin içerisinde programın yüklenmesi ve çalıştırılabilmesi için gerekli bilgiler vardır. 

Bilgisayar Bilimleri İçin İki Kategorizasyon Sistemi

    Bir nesne ya da olgunun bütün içerisindeki yerinin belirlenmesi ve diğer nesne ya da olgularla ilişkilerinin betimlenmesi sürecine kategorizasyon deniyor. Kategorizasyonun sentezlemeyi artırarak öğrenmeye katkıda bulunduğunu söyleyebiliriz. Sentezleme süreci de anlamsal bellek (semantic memory) içeriğindeki ilişkileri sağlamlaştırıyor olabilir.

Kullanım Koşulları

Bu Web Sitesine (kaanaslan.com ve kaanaslan.net alan adları altında bulunan web sitesi.) girerek ve kullanarak Kullanım Koşullarına, burada bulunan her türlü koşul ve gerekliliğe veya bu Web Sitesinde gündeme getirilen her türlü koşula uymayı kabul etmiş olursunuz. Kullanım Koşullarını reddediyorsanız lütfen bu Web Sitesini kullanmayınız.

Kullanım koşulları, Site Editörleri (Web Sitesi yönetim paneline erişim hakkı olan ve bu şekilde içerik yayımlayan kişiler.) tarafından herhangi bir zamanda değiştirilebilirler. Kullanım koşullarındaki değişiklikler bu Web Sitesinde yayımlanmalarından itibaren geçerlidirler. Lütfen, olası değişikliklerden haberdar olmak için düzenli olarak Kullanım Koşulları sayfasını ziyaret ediniz.

Site Editörleri, Web Sitesinin içeriğinde Web Sitesinin formatında herhangi bir zaman, duyuruda bulunmadan değişiklik yapma hakkını saklı tutar. Site Editörleri Web Sitesine erişimi kaldırma veya kısıtlama hakkını saklı tutar.

Site Editörleri, Web Sitesindeki bilgilerin doğruluğunu sağlamak için çaba harcarlar ancak bu konuda hiçbir garanti vermezler ve sorumluluk almayı reddederler. İçeriğin tamamı "olduğu gibi" ve "erişilebildiği gibi" sunulmaktadır. Site Editörleri, açık veya dolaylı herhangi bir temsil ve garantiyi, herhangi bir istisna veya sınırlama olmaksızın, ticari amaca uygunluğu, herhangi bir amaca uygunluğu, hatasızlığı veya bu Web Sitesinin çalışması veya içeriğiyle ilgili konular dahil olmak üzere reddeder.

Site Editörleri, bu Web Sitesini güvenli bir biçimde ziyaret edebilmeniz için gereken önlemleri almaya gayret eder ancak Web Sitesinin güvenli olduğunu garanti etmezler. Gönderilen herhangi bir bilginin üçüncü şahıslar tarafından elde edilebileceğini kabul ediyorsunuz. Site Etitörleri bu Web Sitesinin, onu destekleyen sunucu ve bilgisayarların ve Site Editörleri tarafından size gönderilebilecek elektronik mesajların virus veya diğer zararlı bileşen içermediğini garanti etmezler.

Site Editörleri bu tip zararların oluşabileceği konusunda uyarılmış olsa da, Bu Web Sitesinin ve içeriğinin kullanılmasından veya yanlış kullanılmasından kaynaklanabilecek zararlar (Herhanbi bir sınırlama olmaksızın, iş kaybı, kazanç kaybı, veri kaybı, bilgi kaybı veya ticari faydaların aksaması da dahil olmak üzere.) konusunda hiçbir sorumluluk taşımazlar.

Bu Web Sitesinde, Site Editörleri'nin kontrolünde olmayan web sitelerine linkler bulunmaktadır. Site Editörleri bu web sitelerinin içeriğinden sorumlu tutulamaz. Site Editörleri bu linkleri Web Sitesi'nin kullanıcılarına kolaylık sağlamak amacı ile yayımlamaktadır ve bu durum, link verilen sitelerin içeriğinin her bakımdan onaylandığı veya önerildiği anlamına gelmez.

Web Sitesinin içeriği ile ilgili telif ve tüm diğer öncelik hakları (yazılım, ses, görüntü, metin, ve fotoğrafları içermek ancak bunlarla sınırlı olmamak üzere) Site Yöneticileri'ne aittir. Bu Web Sitesinin içeriği, kaynak göstermek şartı ile ve sadece kişisel, ticari olmayan kullanım için, değiştirilmeden çoğaltılabilir ve dağıtılabilir. İçeriğin başka bir kullanımı, dağıtımı, çoğaltımı, değiştirilmesi, sergilenmesi ve üçüncü kişilere verilmesi de dahil olmak üzere, Site Yöneticileri'nin yazılı izni alınmadan gerçekleştirilemez. Tüm çoğaltmalarda telif ve diğer öncelik hakları gözetileceklerdir.

Bu Web Sitesi üzerinden veya bu Web Sitesiyle bağlantılı olarak gönderilen herhangi bir bilgi (Kullanıcı Malzemeleri) gizlilik dışı ve öncelik dışı olarak kabul edilecek ve Site Editörleri'nin mülkiyetine geçerek, Site Editörleri'nin bu Web Sitesinde yayınladığı gizlilik politikalarına tabi olacaktır. Site Editörleri bu Kullanıcı Malzemelerini, herhangi bir sorumluluk ve tazminat taahhütü altında olmadan ve herhangi bir hak, fikir mülkiyeti hakkı ve/veya diğer mülkiyet haklarını göz önünde bulundurma gerekliliği olmaksızın, uygun gördüğü biçimde kullanabilir.

 

Haftanın Böceği Yukarı