Gerekirse Yazarım
Asp.Net
Asp.Net dünyasına kişisel bir bakış…
DataTable İle Sıralama İşlemi
3 May
Bazen veritabanından aldığımız bir veri kümesini tekrar sıralama gereği duyabiliyoruz. Bu işlem için çok farklı yöntemler uygulamışlığım, değişik taklalar atmışlığım görülmüştür, şahitlerim var :)
Çok sık ihtiyacım olmadığı için fazla üstüne düşmediğim bir konuydu fakat geçen gün tekrar ihtiyacım oldu ve daha önceki seferlerde de önüme gelen karışık, hatalı onlarca yöntemden sonra nihayetinde en pratiğini bulabildim.
Hem bu yöntemi her seferinde arayıp bulmakla uğraşmamak hem de ihtiyaç duyabileceklere de yardımcı olması amacıyla burada paylaşmak istiyorum.
Elimizde veritabanından aldığımız bir tablo (DataTable) olduğunu varsayın, bu tabloyu istediğimiz bir kolona göre tekrardan sıralayalım;
Dim DT As System.Data.DataTable = geriyeDataTableDöndürenFonksiyon()
Dim dv As System.Data.DataView =DT.DefaultView
dv.Sort = “KolonAdı DESC”
DT = dv.ToTable
İşte bu kadar basit. İşlem sonunda DT ismini verdiğim DataTable`ım dv.Sort = “KolonAdı Desc” eşitliğinde belirttiğim koşula göre sıralanmış olarak kullanıma hazır durumda.
Hepinize kolay gelsin.
Ineta Next İstanbul 1. Gün İzlenimleri
13 Ara
Öncelikle ilk gün programını tekrar hatırlayalım ardından yazımıza geçebiliriz.
10.00-11.00 Silverlight 4 – Daron Yöndem (yazgelistir.com)
11.00-12.00 ASP.NET MVC 2 – Oğuz Yağmur (csharpnedir.com)
14.00-15.00 IIS Media Services – Muammer Benzeş (birliktegelistir.com)
15.15-16.15 Visual Basic 10 Yenilikleri – Daron Yöndem (yazgelistir.com)
Silverlight 4
Silverlight 4`de en göze batan yeniliklerden birisi tarayıcıdan ve işletim sisteminden bağımsız olarak masa üstü uygulaması olarak çalışması sırasında, sıradan herhangi bir masa üstü uygulaması gibi davranabilmesi. Fakat bunun için uygulamanın “trusted mode” denilen güvenilir modda çalışması gerekiyor. Bu işlem için kurulum öncesinde diğer program yüklemeleri esnasında çıkan güvenlik uyarısına onay vermeniz yeterlidir. Bu sayede uygulamanız işletim sisteminin verdiği izinler dahilinde Belgelerim, Resimlerim gibi ortak dizinlere ulaşabilir ve işlem yapabilirler.
Silverlight 4 ile geliştirdiğiniz uygulamanızda ayrıca tarayıcı dışında kullanırken sürükle bırak (drag & drop) desteğide geliyor. Örneğin bilgisayarınızda yer alan resimleri sürükleyip uygulamanıza taşıyabiliyor, taşıdığınız tüm dosyaların bilgilerine (fileinfo) tek tek erişip üzerilerinde işlem yapabiliyorsunuz.
Gerçek hayattan bir senaryo ile anlatmak gerekirse, ürünlerinin yer aldığı bir web sitesi için müşterinize Silverlight 4 ile hazırladığınız uygulamayı masa üstüne yükletmeniz ve müşterinizin mevcut ürünleri buradan rahatça yönetebilmesini örnek olarak verebiliriz sanırım. Yeni bir ürün ekleyip, bu ürüne ait resimleri uygulamaya sürükleyip bırakması, ardından resimleri boyutlandırmak, firma logosunu resme eklemek (Watermark) gibi her tür işlemi kullanıcı bilgisayarı üzerinde yapabilmeniz ve en son olarak sadece sunucuya her tür düzenlemesi yapılmış verileri kaydetmesi için gönderebiliyor olmak oldukça hoşunuza gidecektir diye tahmin ediyorum.
Silverlight 4 ile gelen bir diğer yeni özellik ise HTML yorumlama desteği. Şuan sadece javascript ve css kullanarak sayfadaki bir div`in içerisine html içeriği yazdırıp, animasyonun üzerinde görünmesini istediğimiz yere konumlandırarak yapabiliyoruz. Sanırım Flash`ta da bu şekilde yapılabiliyor sadece.
Sanırım Silverlight 4 ile gelen yenilikler ana hatlarıyla bu kadar, aklıma gelmeyenler varsa yorum olarak yazabilirsiniz.
Asp.Net MVC 2
Silverlight 4 oturumu ardından Asp.Net MVC 2 konusu ile sahneye Oğuz Yağmur çıktı.
Bazı yönleriyle benim uzun zamandır ilgimi çeken fakat bir türlü inceleme fırsatı bulamadığım Asp.Net MVC 2`yi dinlemek çok keyifliydi. MVC adını Model, View ve Controller kelimelerinin baş harflerinden alıyor. Bu üç yapıyı özetleyecek olursak; Model, kodlarınız, View; tasarımınız, Controller ise kodlarınız ile tasarımınız arasında ki ilişkiyi yöneten araç olarak tanımlayabiliriz kısaca.
Genel anlamda üzerinde çok fazla sayıda kişinin çalıştığı, uzun süreli, sık sık tasarım veya yazılım tarafında değişikliklere ihtiyaç duyan, özellikle yazılım ve tasarım ekibinin dışında bağımsız olarak test edilmeye uygun, tasarım, yazılım ve test ekiplerinin tamamen birbirinden ayrılabildiği bir yapıda proje geliştirecekseniz Asp.Net MVC 2 doğru tercih olacaktır. Fakat yapı gereği Asp.Net`de ki Webform mantığının tamamen dışında bir yapıya sahip olduğunun kesinlikle altını çizmek isterim.
Basitçe açıklamak gerekirse MVC`de Default.aspx sayfanızın arkasında Default.aspx.vb diye bir dosya mevcut değil. Onun yerine View dizini altına Default.aspx sayfanız yani html barındıran sayfanız var, Default.aspx sayfanızla alakalı kodlarınız ise Model dizini altında yer alıyor. Bu karışık yapıyı çabuk kavramanız açısından Visual Studio`da yeni bir Asp.Net MVC 2 projesi oluşturduğunuzda tüm temel dizinler oluşturulmuş olarak geliyor ve hatta projeyi oluşturur oluşturmaz hemen çalıştırıp Hello World sayfasını görebilirsiniz.
Asp.Net MVC 2 ile birlikte URL Routing desteğide standart olarak sunuluyor. Bununla ilgili ayarları global.asax dosyasından yapabiliyorsunuz. Projeyi ilk oluşturduğunuzda ihtiyacınız olacak tüm temel özellikler gibi URL Routing ile ilgili örnek kodlar da yer alıyor proje içerisinde.
Seminerde Asp.Net MVC 2`nin açık kaynaklı (open source) bir proje olduğu ve Microsoft`un jQuery`için verdiği desteğin en çok MVC odaklı olduğu vurgulandı.
IIS Media Services
Muammer Benzeş`in anlattığı ve önceden Windows Media Services ile sunulan bu hizmet artık tamamen IIS 7 üzerinde yer alıyor. Bu sayede sunucunuza ayrı bir yazılım yüklemek zorunda kalmıyorsunuz ve tüm IIS 7 sunucular bu desteği sağlamış oluyor.
IIS Media Services ile birlikte gelen Smooth Streaming özelliğini en basit haliyle açıklayacak olursam, internet üzerinden video yayınlarının mümkün olduğu kadar akıcı olarak izlenebilmesini ve bunu yaparken de sunucu yükünü hafifletmeyi sağlıyor diyebilirim.
Smooth Streaming dışında bir de Live Smooth Streaming var ve buda canlı yayınlar için kullanılmakta, ayrıca yurt dışında HD kalitesinde canlı yayınlar yapılmaya başlandı bile, yakında bizde de olacaktır :)
Smooth Streaming`de mantık şu şekilde, sunucuda daha önceden aynı videonun farklı kalitelerde hazırlanmış (encoding) olan sürümlerini her iki saniyede bir ziyaretçinin indirme hızını kontrol ederek bu hıza göre seçtiği uygun kalitedeki videoyu ziyaretyçiye gönderiyor. Böylece ziyaretçi akıcı bir şekilde videoyu izlerken, sunucuda ziyaretçinin indirme hızı doğrultusunda gereksiz yere büyük veri paketleri göndermeyerek veri trafiğini azaltmış oluyor.
Birde sunucu ile ziyaretçi arasına özel bir sunucu daha koyarak daha önceden talep edilen video paketlerini burada yedekleyip, farklı bir ziyaretçiden yeni bir istek geldiğinde ana sunucuyu meşgul etmeden daha önceden talep edilen videoların direkt kullanıcıya gönderilmesi de sağlanabiliyor. Böylece sunucu yükü ve veri trafiği ciddi anlamda düşürülmüş oluyor ve maliyet açısından da ciddi bir kazanç sağlıyor.
Konu ile ilgili örnek uygulamayı incelemek isterseniz şöyle buyrun.
Visual Basic 10 Yenilikleri
Visual Basic 10`da gelen yenilikleri aklımda kaldığı kadarıyla yazacak olursam;
- XML to Shema desteği
- Sub içerisinde Sub yazabilme desteği
- Aynı satırda olması gereken kodu alt tire ( _ ) işareti ile ayırmaya gerek yok artık, kodun nerede bittiğini anlıyor CLR :)
- Sub içerisinde #Region benzeri gruplamalar yapabilme desteği
- Property tanımlamalarında get, set vb yazılan kodlar kaldırılmış, artık “Public Property Osman as String” yeterli :)
Seminer sonrası aklımda kalanlar bunlar, aslında bir kaç satır yazmaktı düşüncem fakat gördüğünüz üzere bayağı uzun bir yazı oldu. Buraya kadar okuduysanız teşekkür ederim :)
Seminer sonunda yapılan t-shirt ve Windows 7 çekilişinde kazandığım t-shirt`ümün resmini yarın ki Ineta Next 2. gün yazımda paylaşırım artık :) Yarın bir de Windows 7 kazanırsam tadından yenmez artık :) Yarınki seminer programını da tekrar paylaştıktan sonra yazımı bitiriyorum. Hepiniz sağlıcakla kalın, görüşmek üzere.
13 Aralık – Microsoft Ofisi (Kroki)
11.00-12.30 ASP.NET 4.0 Yenilikleri – Uğur Umutluoğlu (nedirtv.com)
14.30-15.45 Workflow Foundation 4.0 – Burak Selim Şenyurt (csharpnedir.com)
16.00-17.00 C# 4.0 Yenilikleri – Erkan Balaban (ceviz.net)
17.15-18.00 IE 8 Toolbar Geliştirme – Barış Kanlıca (yazgelistir.com)
INETA NEXT Türkiye Turu Oturumları Belli Oldu
1 Ara
Ineta`nın “Bir katılımcıya yeni bir beyin verilecektir” sloganı ile duyurduğu ve tarih sırasıyla Diyarbakır (5-6 Aralık), İstanbul (12-13 Aralık), Kayseri (19-20 Aralık) ve Denizli (26-27 Aralık) olmak üzere 4 farklı ilde gerçekleştireceği oturumların yerleri ve oturum detayları www.inetatr.org adresinde açıklandı. Detayları olduğu gibi sizlere aktarıyorum.
Diyarbakır – Dicle Üniversitesi, Tıp Fakültesi Konferans Salonu
5 Aralık
11.00-12.30 Visual Basic 10 Yenilikleri – Daron Yöndem (yazgelistir.com)
14.00-15.30 Windows 7′de neler var? – Muammer Benzeş (birliktegelistir.com)
16.00-17.00 Silverlight 4 – Daron Yöndem (yazgelistir.com)
6 Aralık
11.00-12.30 C# 4.0 Yenilikleri – Erkan Balaban (ceviz.net)
14.00-15.30 WPF 4 ile 3D Animasyon Programlama – Daron Yöndem (yazgelistir.com)
16.00-17.30 ASP.NET 4.0 – Erkan Balaban (ceviz.net)
İstanbul – Microsoft Ofisi (Kroki)
12 Aralık
10.00-11.00 Silverlight 4 – Daron Yöndem (yazgelistir.com)
11.00-12.00 ASP.NET MVC 2 – Oğuz Yağmur (csharpnedir.com)
14.00-15.00 IIS Media Services – Muammer Benzeş (birliktegelistir.com)
15.15-16.15 Visual Basic 10 Yenilikleri – Daron Yöndem (yazgelistir.com)
13 Aralık
11.00-12.30 ASP.NET 4.0 Yenilikleri – Uğur Umutluoğlu (nedirtv.com)
14.30-15.45 Workflow Foundation 4.0 – Burak Selim Şenyurt (csharpnedir.com)
16.00-17.00 C# 4.0 Yenilikleri – Erkan Balaban (ceviz.net)
17.15-18.00 IE 8 Toolbar Geliştirme – Barış Kanlıca (yazgelistir.com)
Kayseri – Erciyes Üniversitesi Mühendislik Fakültesi Konferans Salonu
19 Aralık
11.00-12.30 C# 4.0 Yenilikleri -Burak Selim Şenyurt (csharpnedir.com)
14.00-15.30 Silverlight 4 – Daron Yöndem (yazgelistir.com)
15.45-16.45 ASP.NET 4.0 – Selçuk Yavuz (ceviz.net)
20 Aralık
11.00-12.30 ASP.NET MVC 2 – Selçuk Yavuz (ceviz.net)
14.00-15.30 Visual Basic 10 Yenilikleri – Daron Yöndem (yazgelistir.com)
15.45-16.45 Workflow Foundation 4.0 – Burak Selim Şenyurt (csharpnedir.com)
Denizli – Pamukkale Üniversitesi Kongre Kültür Merkezi Ana Salon
26 Aralık
11.00-12.30 Silverlight 4.0 – Daron Yöndem (yazgelistir.com)
14.00-15.30 C# 4.0 Yenilikleri – Oğuz Yağmur (csharpnedir.com)
15.45-16.45 Asp.NET 4.0 Yenilikleri – Uğur Umutluoğlu (nedirtv.com)
27 Aralık
11.00-.12.30 Visual Basic 10 Yenilikleri – Daron Yöndem (yazgelistir.com)
14.00-15.30 Asp.NET MVC 2 – Oğuz Yağmur (csharpnedir.com)
15.45-16.45 ASP.NET AJAX 4.0 – Uğur Umutluoğlu (nedirtv.com)
Ineta`nın ücretsiz olarak gereçekleştirdiği bu etkinliklere katılmak için hala vaktiniz var, kayıt işlemini www.inetatr.org adresinden katılacağınız ildeki etkinliğin altında bulunan formu kullanarak gerçekleştirebilirsiniz. İstanbul etkinliğinde görüşmek üzere :)
“InnerJoin” Kullanılmış SQL Sorgusunda “Select Top” Kullanımı
9 Ağu
Bugüne kadar birden fazla tabloyu innerjoin ve benzeri ile birbirine bağlayarak bir sorgu oluşturmuşsanız ve bu sorguda sadece 5 adet kayıt gelsin gibi bir beklentiniz olmuş ise hüsrana uğramış olmanız muhtemeldir.
Böyle bir durumla karşılaşmışsanız ya da karşılaşma ihtimaliniz varsa eğer çözümü burada. Sizi daha fazla oyalamadan hemen örneğimize geçelim. More >
Ineta Next Hit!
1 Nis
Uzun bir aradan sonra yeni bir Ineta semineri geliyor, vakit kaybetmeden kaydınızı yaptırın.
Program;
11 Nisan
09.30-10.00 Açılış
10.00-10.45 Windows 7 Deep-Dive – Mehmet Nuri Çankaya
11.00-13.00 Silverlight 3.0 – Daron Yöndem
14.00-15.30 Bulut Bilişimi ve Azure – Panel
16.00-17.00 PHP On Windows ve Hyper-V – Muammer Benzeş
12 Nisan
10.00-12.00 Sürpriz Oturum – Daron Yöndem
13.00-15.00 ASP.NET 4.0 – Uğur Umutluoğlu
15.15-17.00 WCF 4.0 ve WF 4.0 – Burak Selim Şenyurt
Katılım için;
Yıldız Teknik Üniversitesi, Beşiktaş Kampüsü Oditoryum`unda düzenlenecek olan aktiviteye katılmak için, http://inetatr.org adresinden kayıt yaptırmanız gerekiyor.
Access ve Random Kayıt
17 Şub
Veritabanı olarak access kullanılan bir projede rasgele seçilmiş 5 tane resmi sayfada göstermemiz gerekiyordu.
Fakat Sql`de çalışan ve bize her seferinde 5 farklı kayıt getiren şu kod access`de çalışmıyor.
SELECT top 5 ID FROM Tablo_Adi ORDER BY newid()
Çünki newid() fonksiyonu access için geçerli değildi. Bende zaman sorunu olduğu için en iyi kod çalışan koddur mantığından yola çıkarak dolaylı bir çözüm bulmuştum.
Önce ID leri bir arrayList`e çekip bunların içerisinden rasgele 5 ID yi çekiyordum ama aynı kaydın gelme ihtimali yüzünden her bulduğum ID`yi farklı bir arrayList`e aktarıp bir önceki arrayList`imden çıkartıyordum. Sonuçta elimde birbirinden farklı rasgele seçilmiş 5 adet ID vardı. İşlemin geri kalanını bu 5 ID üzerinden tamamlıyordum. Fakat performans açısından çokta verimli değildi açıkçası :)
Neyse zaman sorunu olduğu için bu şekilde projeyi tamamladım ama araştırmalarım devam ediyordu. Araştırmalar sonucunda şöyle bir örnek buldum;
SELECT TOP 5 ID FROM Tablo_Adi Order By rnd(ID)
Fakat bu seferde rasgele gelen 5 kayıt sorgumuz her çalıştığında aynı geliyordu. Bunun üzerine ufak bir araştırma yaptıktan sonra sorgumuz aşağıdaki son halini almış oldu. Böylece sorgumuz her çalıştığında rasgele seçilmiş 5 farklı kayıt getirir hale geldi.
SELECT TOP 5 ID FROM Tablo_Adi Order By rnd(-(ID)*Time())
Sorgumuzun bu son hali ile ihtiyacımız olan işlemi kolayca gerçekleştirdim. Benzer bir durumla karşılaşan olursa ve benim tekrar ihtiyacım olursa diye buradan da paylaşmak istedim, umarım faydası olur.
INETA Professional Hit İstanbul Çıkartması
18 Oca
Daron hoca Kıbrıs semineri ardından İstanbul`a döndü ve İstanbul`da gerçekleştirilecek olan seminerin haberini verdi bizlere; INETA Professional Hit.
Bu seminer önceki seminerlerden biraz farklı, seminer içeriği başlangıç seviyesinde değil aksine ileri düzeyde konuları içeriyor. Seminer hakkında detaylı bilgi almak istiyorsanız şu sayfaya bakabilirsiniz.
Seminere katılmak ücretsiz ve herkeze açık fakat kayıt yaptırmanız gerekiyor. Kayıt işlemi için http://daron.yondem.com/kayit adresini ziyaret edebilirsiniz.
Seminer Detayları
24 Ocak
10.00-12.30 Silverlight ile Veri Uygulamaları – Daron Yöndem – Level 300
13.00-16.00 ADO.NET Data Services – Burak Selim Şenyurt – Level 300
16.30-18.00 SharePoint üzerinde özel kolon geliştirmek – Nezih Tınas – Level 400
25 Ocak
10.00-12.30 Derinlerde C# 3.0 – Burak Selim Şenyurt – Level 300
13.00-15.00 ASP.NET AJAX 4.0 – Daron Yöndem – Level 300
15.30-18.00 Asp.Net Application ve Page LifeCycle – Oğuz Yağmur – Level 300
Adres
Microsoft İstanbul Ofisi, Bellevue Residence, Levent Mahallesi Aydin Sokak, No: 7 Levent
INETA EGE HIT İzmir Çıkartması :)
31 Ara
Sevgili Daron hocamın durdurak bilmeyen, ardı arkası kesilmeyen seminerlerine bir yenisi daha ekleniyor; INETA EGE HIT. İzmirliler sonradan vay ben duymadım vay ben işitmedim demek yok, ona göre….
10 – 11 Ocak tarihlerinde Dokuz Eylül Üniversitesi Rektörlük Binası‘nda DESEM Salonları‘nda gerçekleştirilecek olan seminerin detayları şöyle;
10 Ocak
10.30 12.30 Silverlight 2
13.30 15.30 XNA ile Oyun Programlama
16.00 17.30 LINQ
11 Ocak
10.30 12.30 WPF
13.30 14.30 Yazılımcılar için IE8
15.00 17.00 ASP.NET Dynamic Data
Detaylı ve güncel bilgiler için; Daron hocanın blogundaki şu sayfaya ve facebook`daki şu etkinlik sayfasına bakabilirsiniz.










Son Yorumlar