- Cengiz Han / Haziran 24, 2009
Visual Studio'da jQuery kütüphanesini kullanarak javascript yazarken intellisense desteği elde etmek için aşağıdaki linkte yer alan jQuery JS dosyasını kullanabilirsiniz. Ekteki resimde gözüktüğü gibi jQuery API'si için Intellisense desteği gelmektedir.
http://code.google.com/p/jqueryjs/downloads/detail?name=jquery-1.3.2-vsdoc2.js
- Cengiz Han / Haziran 12, 2009
Veritabanında birden fazla tekrar eden kayıtları sql ile tespit edebilmek aslında zor bir iş değil ancak eski veriler, yanlış oluşturulmuş veriler gibi senaryolar sebebi ile sıkça kullanmak zorunda kaldığım bir kalıbı paylaşmak istiyorum.
Örnek olarak PERSONEL_KIMLIK adında ve çeşitli türlerde personel kimlik bilgilerini tutabilen bir tablo üzerinde aynı PERSONEL_NO ve aynı KIMLIK_BILGI türüne sahip kayıtların olduğunu varsayalım. Yani yeni kimlik bilgisi girilirken, eski kaydın silinmediği bir durum olabilir. (Unique Index konmaması zaten ayıp :))
SELECT * FROM PERSONEL_KIMLIK p1
where exists (
select 1 from PERSONEL_KIMLIK p2
where p2.PERSONEL_NO=p1.PERSONEL_NO
and p2.KIMLIK_BILGI_TURU=p1.KIMLIK_BILGI_TURU
group by PERSONEL_NO,KIMLIK_BILGI_TURU
having p1.id<max(p2.id)
);
Eğer aşağıdaki gibi bir tablo verisine karşılık bu sorguyu çalıştırır isek kırmızı ve kalın olarak işaretlenmiş olan kayıtları dönecektir.
| ID | PERSONEL_NO | KIMLIK_BILGI_TURU | ….. |
| 1 | 111 | “SICILNO” | ….. |
| 2 | 111 | “SICILNO” | ….. |
| 3 | 111 | “SICILNO” | ….. |
| 4 | 112 | “SICILNO” | ….. |
| 5 | 112 | “SICILNO” | ….. |
| 6 | 113 | “TCKNO” | ….. |
| 7 | 113 | “TCKNO” | ….. |
Ben genelllikle bu sorgu sonucunda dönen kayıtlara direkt olarak DELETE query çalıştırırım, ya da iptal olarak işaretlemek için UPDATE ederim.
Bu sorgulara güncellemelere gerek kalmaması dileğiyle... :)
- Cengiz Han / Mayıs 20, 2009
http://twitter.com/hancengiz
- Cengiz Han / Aralık 5, 2008
3 yıl kadar önce bir ORM toolu araştırırken farketmiştim ve sitesine üye olmuştum. Bugün gelen bir newsletter ile ücretsiz olduğunu öğrendim TierDeveloper'ın. Profesyonel olarak kullanmadım ancak hatırlardığım kadarı ile başarılı bir araçtı. Paylaşmak istedim.
Alachisoft has released TierDeveloper 6.1 as free software (previous version priced at $1495/developer). TierDeveloper lets you develop major chunks of your .NET applications in a matter of hours and days instead of weeks and months. TierDeveloper is one of the most feature-rich ORM code generators in the market.
It provides you the following:
- Map and generate .NET persistence and domain objects in C# and VB.NET
- Design and generate custom ASP.NET and Windows Forms GUI seamlessly
- Generate web services and WCF server layers and proxy client objects
- Powerful Template IDE to let you customize existing or write new code generation templates
- Full support for .NET 2.0/3.5 and Visual Studio 2005/2008
Download TierDeveloper 6.1 Free Software
http://www.alachisoft.com/rp.php?dest=/download.html
TierDeveloper 6.1 Information
http://www.alachisoft.com/rp.php?dest=/tdev/index.html
- Cengiz Han / Kasım 21, 2008
Online bazı topluluklarda adını sıkça görmüş olabileceğiniz Cenk Çivici TW'de ki işinden ayrılıp Türkiye'ye dönmüş ve Prime Teknoloji ile Agile yöntemler ile ilgili danışmanlık hizmetleri vermeye başladı.
Şanslı katılımcıları ile yarın Test Yönlendirmeli Programlama Eğitimi bir eğitimi başlıyormuş.
Blog adresi : http://prime.com.tr/blog/
- Cengiz Han / Ekim 26, 2008
Team Foundation Server'da geçen bazı terimlerin Türkçe karşılıkları konusunda yazılım geliştiricilerin geri bildirimlerine ihtiyacım var.
Örneğin;
Shelveset, area, iteration
gibi terimler için nasıl bir Türkçe karşılık kullanılmalı?
Work Item : İş Öğesi
Changeset : Değişiklik Kümesi
vs. gibi çeviriler ışığında tavsiyede bulunabilirsiniz.
Yorum bölümü ile fikirlerini paylaşanlara şimdiden teşekkürler.
- Cengiz Han / Ekim 13, 2008
Kurumsal iş uygulamalarında connection pooling kullanmak gayet faydalıdır. Ancak bunu yaparken dikkat edilmesi gereken noktalarda vardır. Örneğin uygulama sunucusu üzerindeki poolda yer alan connectionlardan bir tanesi veritabanı sunucusu üzerinde geçersiz bir duruma geçirilmiş olabilir (herhangi bir sebep ile connection kill etmek gibi). Bu durumda pooldan o connection çekildikçe hata alınacaktır.
Kullandığınız veritabanı sunucusu ve istemci yazılımı (ado.net providerları) bunun için çözümler sağlıyor olabilir. Örneğin odp.net Validate Connection connection string elemanı ile connection kullanılmadan önce connectionın valida state de olduğunu kontrol edebilir. Bu performans açısından tercih edilmeyebilir zira her sorgu çalışmadan önce execution maliyeti olmayan da olsa bir sorgu çalışır, bu sorgu en azından uygulama sunucusu ile database sunucusu arasında transfer edilmesi ve işlenmesi gibi küçükte olsa maliyetler oluşturur ve büyük bir sistem için gereksiz bir performans unsuru olur. Bunun yerine hatalı durumları (exception türü yada koduna göre) handle edip poolu kod içinden temizlemek en uygun çözüm olacaktır.
Bunun için XXXConnection.ClearPool methodu kullanılmalıdır.
- Cengiz Han / Ekim 7, 2008
Microsoft Project Rosetta adında bir sitesi var. Bu site flash bilgisi olup da Silverlight öğrenmek isteyenlere yardımcı olmayı amaçlıyor. Flash ile yapılan bir işin Silverlight ile nasıl yapılacağını anlatan adım adım makaleler Flash ile çalışan ve Silverlight öğrenmek isteyenler için iyi bir başlangıç noktası olacaktır.
http://www.projectrosetta.com
- Cengiz Han / Ekim 7, 2008
Ücretisiz olarak MSDN magazine dergilerini okuyabilir, kaynak kodlarını ve html help formatında dergiyi indirebilirsiniz.
MSDN Magazine sayıları : http://msdn.microsoft.com/en-us/magazine/cc135847.aspx
MSDN Magazine download adresleri : http://msdn.microsoft.com/en-us/magazine/cc159440.aspx