Bilindiği gibi işletim sistemlerinde sistem üzerindeki tüm uygulamalar tarafından erişilebilen Ortam Değişkenleri (Environment Variables) bulunur. Bu değişkenler uygulamaların ortamla ilgili ihtiyaç duyacağı bilgileri sunar. Örneğin işletim sisteminin hangi sürücüye kurulduğu, geçici dosyaların hangi klasörde saklanacağını bu değişkenlerden öğrenir. Ortam değişkenleri local(yerel) ve system(sistem) olmak üzere iki türde tanımlanır. Yerel değişkenler kullanıcıya özgü olup kullanıcı işletim sistemine giriş yaptığından düzenlenir. Sistem değişkenleri ise işletim sistemi bazında yani tanımlı tüm kullanıcılar için geçerli değişkenlerdir. Örneğin %USERNAME% değişkeni yerel bir değişken olup o anda oturum açmış kullanıcının kullanıcı adını döndürür. %WINDIR% ise sistem türünde bir değişken olup işletim sisteminin klasörünün yolunu belirtir. Bunlara benzer, %COMPUTERNAME%, %USERDOMAIN%, %DATE% , %TIME%, %TEMP%,%PATH%, %PATHEXT%, %OS% gibi değişkenler kullanılır. Read the rest of this entry »
“Bildiğim her şeyden sorumlu olmazsam, nasıl hak edebilirim yaşamayı“
Uzun bir aradan sonra Nuri Pakdil ustanın “Klas Duruş”unu yeniden okudum. O günden bu yana durduğum ve durmam gereken yeri, iktidarsız edilmek istenen zihnimi ne kadar koruyabildiğimi, şuanda kıymetini bildiklerimin doğruluğunu, sesimi-sözümü-dilimi-kelimelerimi sorguladım. Çok da olumlu sonuçlar elde ettiğimi söyleyemem. Burada kendimi dillendirmekten ziyade Nuri Pakdil hakkında bir iki cümle yazmak istedim. Read the rest of this entry »
.NET dilleriyle geliştirilmiş bir program sınıflardan oluşur. Sınıflar içinde de sınıf, yapı, numaralandırma, yordam gibi üyeler bulunur. İyi bir programcı, bu üyelerin kodlamasını önemsediği kadar üyelerle ilgili dokümantasyonu da önemsemelidir. Hem grup çalışmalarda bir başkasının sınıflar içindeki yapıların işlevini anlaması hem de geçmişe dönüp kodlarımızı incelediğimizde kod satırlarını daha rahat anlamak için kodlarımız arasına açıklamalar eklemeliyiz. Programlara hem tek satırlı hem de çok satırlı açıklamalar ekleyebiliriz. .NET dilleri dili açıklamalar için XML tabanlı belgelendirme formatı da sunar. Böylece hem standart bir biçim sağlanır hem de ihtiyaç duyulduğunda tüm açıklamalar XML olarak çıkarılarak msdn veya başka formatlarda etkili proje dokümantasyonu oluşturulabilir. Read the rest of this entry »
ADO.NET’in önemli üyesi olan DataTable nesnesi üzerinde arama yaparken distinct (tekilleştirme) veya top n (üstten belli sayıda satır seçme) işlemlerine ihtiyaç duyabiliriz. Bu işlemleri çoğu zaman VTYS üzerinde yapmak mantıklı görünse de özellikle bağlantısız katman işlemlerinde veritabanına gitmeksizin bu işlemleri yapmak işlemleri hızlandırır. Bu yazıda bununla ilgili basit bir örnek vereceğiz. Read the rest of this entry »
SQL Server üzerinde bir veritabanı oluşturduğumuzda veritabanının sahip olduğu data ve log dosyalarının başlangıç büyüklük değerlerini de belirleriz. Aynı zamanda veritabanının ileride büyüme ihtiyacı duyduğunda nasıl hangi oranda büyüyeceği de data ve log dosyası bazında belirtilir. Eğer veritabanı için maksimum bir büyüklük verilir ve bunu aşmaması işaretlenirse maksimum değerden daha fazla yere ihtiyaç duyması durumunda sistem hata verecektir. Bu yüzden veritabanlarının büyüklük ayarlarının sistemin amacına uygun düzenlenmesi gerekir. SQL Server özellikle büyük veritabanlarında index düzenlemeler, geniş çaplı güncellemeler, toplu kaydetme veya silme gibi yoğun disk işlemlerinde o veritabanını büyütme ihtiyacı duyar. Bu büyüme kalıcı veya geçici olabilir. Özellikle kalıcı durumlarda sistemin kullandığı geniş disk alanını serbest bırakmak veya veritabanı dosyalarında zamanla kullanılmayan data page’leri yok etmek için daraltma (shrinking) işlemi gerçekleştirilir. Read the rest of this entry »
.NET teknolojisi, COM nesnelerini yok saymayıp aksine onlarla bütünleşik bir çalışma ortamı sunar. Hem COM nesnelerinin .NET içinde kullanılmasına hem de .NET nesnelerinin COM içinde kullanılmasına destek verir. Birçok şeyi .NET nesneleriyle daha kolay ve hızlı yapabiliz ancak yeni projelerde bazı eski COM nesnelerimizi kullanmak zorunda kalabiliriz. Bu durumda nasıl bir etkileşim sözkonusu olacak. Bu yazıda .NET bileşenlerinin var olan COM bileşenlerini değiştirmeden onlarla nasıl iletişim kuracaklarını işleyeceğiz. Read the rest of this entry »
C# 3.0 ile birlikte programlama dili tarafına bazı yenilikler eklendi. Bu yenilikleri incelendiğinde bunların daha çok LINQ teknolojisiyle ilişkili olduğunu ve onun sorgularını desteklemek amacıyla sunulduğu görülür. Bu yazıda .NET 3.0 ile birlikte gelmiş yenilikler incelenmektedir. Read the rest of this entry »
Program yazmada dikkat edilmesi gereken konulardan biri belleği en uygun şekilde kullanmaktır. Özellikle kurumsal uygulamalarda kullanılacak programların, kaynakları ekonomik ve ergonomik kullanması her zaman tercih nedeni olmuştur. Bir programcı başta bellek olmak üzere sistem kaynaklarını daima idareli kullanmalı ve meşgul ettiği alanı işi bittikten sonra serbest bırakmalıdır! Read the rest of this entry »
DataSet içerisinde birden fazla tablo olduğu zaman her tablo için ayrı ayrı DataView nesneleri oluşturup tablo verilerini sorgulamak yerine tüm tablolar için ortak bir sorgulama hazırlamak daha mantıklı olacaktır. Bu işlem için DataSet nesnesinin DataViewManager türünde değer döndüren DefaultViewManager özelliği kullanılır. DataViewManager nesnesi, DataView nesnelerinin bulunduğu koleksiyon için tek bir sorgulama nesnesi oluşturur. Read the rest of this entry »
Single Sign-On (SSO), aynı veya farklı domain altındaki, farklı subdomain altındaki web uygulamalarında sözkonusu olup her uygulama için yeniden giriş yapmak yerine tek bir yerden giriş yapıp tüm uygulamalara otomatik olarak logon olabilme özelliğidir. SSO, farklı uygulamalara aynı kullanıcı adı ve şifreyle girildiği için kullanıcılara zaman kazandırır. Microsoft’un passport (Windows Live ID) veya birçok firmanın destek verdiği OpenId veya Sun’ın Java Identity Manager projesi, farklı web uygulamalardaki servislere tek bir noktadan giriş yapılması için geliştirilmiştir. Örneğin MSN Messenger, MSN Hotmail, MSN Müzik gibi passport network sitelerindeki servislerden yaralanmak için Windows Live ID’ye erişmek yeterli olmaktadır. Aynı şekilde özellikle intranet uygulamalarında kullanıcı Active Directory(AD) üzerinden login olduktan sonra AD yetkisi altındaki diğer sistemlere yeniden güvenlik bilgilerini girmeksizin Bu yazıda .NET tabanlı web uygulamalarımızda sözü geçen servislere benzer bir özelliği nasıl kuracağımızı örneklendireceğiz. Read the rest of this entry »
Recent Comments