Skip to main content

Posts

Showing posts from 2005

VITManager 2006 :: Coming Soon

Çalıştığım şirket tarafından geliştirilen ve Türkiye'de birçok büyük şirket tarafından kullanılan Virtual IT Manager yazılımının yeni sürümünün Haziran 2006 içerisinde piyasaya sürülmesi planlanıyor. VITManager'dan hala habersizseniz, http://www.vitmanager.com adresini hemen ziyaret etmenizi tavsiye ederim...

FreeMind: Özgür Yazılım Dünyasından Zihin Özgürleştirme Hareketi

Bu geleneksel bir yazı değildir. İnsan zihni, bilişsel bilim, zihin haritaları, psikoloji, beyin fırtınası, bilgi temsilleri, yazılım geliştirme, epistemoloji, metafizik, karmaşıklıkla başa çıkmak, Java ve özgür yazılımın faydaları ilginizi çekiyorsa buyrun okuyun. Üç Yıl Önce Türkiye´de Bir Yer Aralık 2002. Soğuk ve yağmurlu bir gün. Dostum Kıvılcım Hindistan ile Harbiye´de buluşuyor ve Askeri Müze´ye, inet-tr '02 etkinliğine gidiyoruz. İlk girdiğimiz salondaki masada tanıdık ve yabancı yüzler bir arada. Tanıdık yüz: Görkem Çetin. İlk kez karşılaştığımız adam ise Eran Sezgin. Görkem Çetin panel konusuna dair kısa bir konuşma yaptıktan sonra sözü Eran Sezgin´e bırakıyor ve bir sunum fırtınası başlıyor. Kim bu adam? Bir asker. Aynı zamanda bir programcı. Donanmadan. Bir deniz aşığı. Özgür yazılımdan bahsediyor. Beni şaşırtan ise bunlardan hiçbiri değil. Karşımda bir sunum fırtınası var! Hayır, PowerPoint ya da OpenOffice.org veya ona benzer bir programla yapılmış, bol efektli, sesl...

Google'a en iyi alternatif: Clusty

İhtiyacımız olan bir bilgiye erişmek için genellikle Google'a başvuruyoruz hepimiz. Clusty arama motoru bu konuda Google'a iyi bir alternatif olabilir. Ben birkaç gündür Google'da arayıpta bulamadığımı Clusty'de buldum. Clusty ayrıca bulduğu arama sonuçlarını gruplandırarak gerçekten işinizi çok kolaylaştırıyor ve aradığınız bilgiye daha çabuk ve zahmetsiz ulaşmanızı sağlıyor. Denemenizi şiddetle tavsiye ederim.

AJAX ile Windows Tadında Web Uygulamaları

Ajax isim olarak 'Asynchronus Javascript and XML' kelimelerinin kısaltmasıdır. Ajax aslında bir dil değil XML ve Javascript gibi bir kaç teknoloji kullanılarak geliştirilen web uygulamaları yaklaşımı veya yöntem diyebiliriz. Ajax ile hazırlan bir site de ziyaret ettiğiniz de tarayıcınız sunucu kodunu asenkron olarak çalıştırıyor bu sayede çok dinamik ve kullanışlı bir arabirime sahip web uygulamaları ortaya çıkıyor. Ajax Microsoft tarafından geliştirilen XMLHttpRequest ile Javascript kullanılarak yapılıyor. İnternet expolorer 5,0 üstü ile Opera, Mozilla, Firefox ve Netscape ile görüntülenebiliyor. Örnek uygulamalara da gezinerek Ajax'ın ne denli popüler ve kullanışlı olduğunuz anlayabilirsiniz.. Ajax yaklaşımlı sitler; BackBase , Meebo , Gmail . Örnek açık kaynak uygulama , Bir kaç kod .

Microsoft'un Görünmez Kullanıcısı: SUPPORT_388945a0

Windows XP ile gelen Uzaktan Yardım servisi için bilgisayarınıza 'Görünmez' bir kullanıcı daha katılıyor. Vatandaşın adı SUPPORT_388945a0 ve bu sayede Microsoft istediği an bilgisayarınıza girebiliyor.Her bilgisayarda standart bir isim bu. Kullanıcının sizde de bulunup bulunmadığını test etmek için Başlat > Çalıştır'a gelip, command yazarak dos penceresini açın. Sonra net user yazdıktan sonra Enter'a basın. En altta SUPPORT_388945a0 yazdığını göreceksiniz. Bu kullanıcıdan kurtulmak için yine dos penceresindeyken net user SUPPORT_388945a0 /delete yazın. SUPPORT_388945a0 kullanıcısı silinecektir.

C# to Delphi.NET Converter

Borland'ın Delphi.NET camiasına sunduğu enfes bir araç BabelCode projesi. Bir tür converter olan bu araç ile C# kodunu Delphi.NET koduna çevirebiliyorsunuz. Delphi 2006 IDE'si içinde web servisi destekli sunulan bu araca, Borland'ın BabelCode projesi resmî sitesinden de ulaşabilirsiniz. Web Adresi: http://dotnet.borland.com/babelcode/

Return of the C++ Builder

Borland'ın efsanevi ürünlerinden C++ Builder nihayet geri döndü. En son 6.0 sürümünde kalan ürün uzun zamandan beri yenilenmiyordu. Borland, C++ BuilderX adı altında bu ürünü platform bağımsız C++ geliştirme aracı olarak değiştirmek istedi ama sanırım bu stratejisinden başarılı bir sonuç alamadı. Ben de Borland C++ BuilderX'i denemiş ve beğenmemiştim. .NET platformunu için Microsoft'dan sonra ürün çıkaran ilk şirket olan Borland, C# Builder ürününü piyasaya sürmüştü. Daha sonra Delphi'nin de .NET platformunu destekleyen sürümleri lanse edildi. Fakat bu süre zarfında Borland, C++ için hiçbir ürün çıkarmamıştı. Aradan geçen 3-4 yıldan sonra C++ Builder yeniden karşımızda. Bundan sonra tüm ürünlerini tek bir IDE'de toplayan Borland, "Borland Developer Studio" adı altında C#.NET, Delphi.NET, Delphi Win32, C++ .NET, C++ Win32 dillerini destekleyecek. Borland Türkiye'nin, Borland Developer Studio 2006 duyurusu ise şu şekilde: Borland Türkiye - Bilgi ve Tekno...

ASP .NET için BrowserCaps

ASP.NET'te geliştirdiğimiz web sayfaları doğal olarak en iyi Internet Explorer'da renderleniyor. Mozilla/Firefox, Netscape 7, Safari ve Konqueror gibi tarayıcılarda Internet Explorer'da sağlanan görüntüyü tam olarak sağlayamıyoruz. Bu sorunu BrowserCaps ile halledebiliyoruz. Bunun için web.config dosyasında bir kaç değişiklik yapmamız gerekecek. Web.config dosyasını açıp [browserCaps] düğümleri arasına bu dosyadaki kodları yazdığınızda ASP.NET projenizdeki sayfalarınız diğer web tarayıcılarında da düzgün bir şekilde görüntülenecektir. BrowserCaps ile ilgili ayrıntılı bilgiyi buradan öğrenebilirsiniz.

if (ASP .NET && QueryString && Türkçe Karakter)

Başlıktan da anlaşılacağı gibi ASP .NET de QueryString'leriniz Türkçe karakter içeriyorsa bu durumda Web.config dosyasında ufak bir değişiklik yapmanız gerekiyor. Aksi taktirde Türkçe karakter içeren QueryString'i okurken Türkçe karakterler yoksayılmış olarak okuyacaksınız. Web.config'deki değişiklik: [globalization requestEncoding="utf-8" responseEncoding="utf-8"/] Bu satırı şununla değiştirmeniz lazım. [globalization requestEncoding="iso-8859-9" responseEncoding="iso-8859-9" culture="tr-TR" uiCulture="tr"/]

ASP .NET İpuçları

“Oluşan Hatayı Mail İle Kendinize Gönderin” Çalışan ASP .NET uygulamanızda hata oluştuğu zaman bu hatadan anında haberdar olmak için aşağıdaki kod parçası işinizi görecektir. Bu kodu Global.asax dosyasında Application_Error event’ına yazmalısınız. protected void Application_Error(Object sender, EventArgs e) { Exception ex = Server.GetLastError().GetBaseException(); string err = "Hata Oluştu !" + System.Environment.NewLine + "Hata: " + Request.Url.ToString() + System.Environment.NewLine + "Hata Mesajı: " + ex.Message.ToString() + System.Environment.NewLine + "Stack Trace: " + ex.StackTrace.ToString(); // Server.ClearError(); System.Web.Mail.MailMessage mm = new System.Web.Mail.MailMessage(); mm.To = "mgedik@verivizyon.com"; mm.From = " mgedik@verivizyon.com "; mm.Subject = "Sistemde Hata !"; mm.Body = err; try { System.Web.Mail.SmtpMail.SmtpServ...

Oracle Forms ile Web Servislerine Erişim

Geçtiğimiz günlerde çalıştığım şirket, başka bir yazılım şirketine teknolojik destek vermek için beni görevlendirdi. Oracle Forms Developer kullanılarak geliştirilmiş bir hastane otomasyonun bazı web servislerini kullanması gerekiyordu. 3-4 günlük bir çalışmanın ardından görevimi başarıyla tamamladım çok şükür. Yalnız gerçekten bu çok kolay olmadı. Çünkü Oracle Forms direkt olarak web servislerine erişmek için bir teknoloji barındırmıyordu bünyesinde. Yaptığım araştırmalar sonucunda Oracle Forms'un Java class'larını import edip, kullanabildiğini gördüm. İşte bu durumda problemi çözmüş olduğumu hissettim. Ama yinede beni bekliyen engeller vardı. Bundan emindim çünkü hiç bilmediğim bir ortamda bilmediğim kodları yazacaktım. Ayrıca java konusunda bilgi sahibi olsamda çok tecrübeli değildim ve uzun zamandır java ile ilgilenmemiştim. Ve düşündüğüm gibi birçok problem çıktı karşıma. Ama yinede bu problemleri tek tek aşıp çözüme gitmeyi başardım. Bir Murphy kanunu: "Eğer çıkması ...

Bilinmeyen .NET Bug'ları !

.NET Framework'deki bazı metodlarda rastladığım ve tahminimce Microsoft tarafından henüz bilinmeyen Bug'ları sizinle paylaşmak istedim. Bu Bug'lar meşhur problemimiz olan "ı,İ" karakterlerinden kaynaklanıyor. Emin değilim ama .NET'de string'ler üzerinde işlem yapan tüm metodlarda bu Bug'ın olması muhtemel. Eğer mevcut kodlarınızda bu metodları kullanmışsanız ve birgün ummadık bir şekilde kodunuz yanlış çalışırsa ilk önce bu metodları kontrol etmenizi tavsiye ederim. Şimdilik ilk hatırladıklarımı yazıyorum, aklıma geldikçe veya yenilerine rastladıkça buraya ekleyeceğim. - ToCharArray() metodu ı veya İ harfi içeren string'lerde geriye eksik char dizisi gönderiyor. Mesela; "KARACALI İbrahim".ToCharArray() metodu geriye 16 elamanlı bir char dizisi döndürmesi gerekirken "İ" karakterine rastladığında çalışmasını yarıda kesiyor ve geriye 9 elemanlı bir char dizisi döndürüyor.

ShowModalDialog'da PageLoad'ın Tetiklenmemesi

Bu ShowModalDialog benim başıma bela olmaya devam ediyor. Bende bunları sizlerle paylaşmaya devam edeceğim:) Bu sefer ki sorun şu: ASP.NET'de ShowModalDialog bir modal pencere açarken PageLoad ilk seferde çalışıyor. Ama aynı sayfayı modal olarak yeniden açtığınızda PageLoad tetiklenmiyor. Bu sorunu çözmek için aşağıdaki kodları PageLoad'a yazmak gerekiyor. Artık modal pencere her yüklendiğinde PageLoad tetiklenecektir. Response.Expires = 0; Response.Cache.SetNoStore(); Response.AppendHeader("Pragma", "no-cache");

ShowModalDialog'da PostBack

Üzerinde çalıştığım ASP.NET projesinde, birçok yerde javascript:window.open()kullanarak yeni pencereler açıyorum. Fakat bu açılan pencereler Modal pencereler değildi ve kullanıcı bu pencere ile işlemini bitirmeden diğer pencerelerde işlem yapabiliyordu. Fakat bunun yapılmasını istemediğim bazı yerler vardı. Buralarda javascript:window.showModalDialog() kullanmayı denemiştim. Yalnız ShowModalDialog'lar PostBack olduğunda kendi içinde değilde yeni bir pencere açarak bu işlemi gerçekleştiriyordu. Bunun çözümünü geçenlerde buldum ve paylaşmak istedim. Aslında çözüm çok basit. Tek yapmanız gereken HTML kod kısmına geçip "head" tag'ları arasına [[base target="_self"]] satırını eklemek. Bu durumda, artık modal sayfanız PostBack olduğunda kendi içinde eylemi gerçekleştirecektir.

Nihayet benimde bir blog sayfam oldu:)

Son zamanlarda moda olan blog sayfalarını zevkle okuyordum. Ama aklıma hiç kendime bir blog sayfası açmak gelmemişti. Ama bugün bir arkadaşımla MSN de konuşurken bana blog adresini verdi. Bende onun blog sayfasına bakarken birden dedim ki: "Ben de kendime bir blog sayfası açayım". Ve işte sonuç. Artık benimde bir blog sayfam var. Hayırlı olsun...