Kullanıcıya Bilgilendirme Mesajı Gösterme

09 Haziran 2011 Perşembe

Bu yazımızda Asp.net te kullanıcıyı bilgilendirme mesajı yapacaz. Toastmessage adlı hazır bir Jquery eklentisi kullanacaz. Fakat konuda önemli olan kısım ne kullandığımız değil nasıl kullandığımız olacak.Öncelikle seneryomuzu inceleyelim:
bu uyarı mesajlarını kullanıcı bir işlem yaptığında çıkacak, ve bu uyarının çeşidi onay,uyarı,hata,bilgilendirme olabilir. Her bir uyarı türü için kodumuz değişecek ve ayrıca bu uyarı mesajlarının türü genelde aspx.cs kısmında oluşan sonuca göre belli olacak.
Durumu genel olarak gözden geçirdikten sonra öncelikle toastmessage a ait dosyaları projemize ekliyoruz.


MVC-3(Razor) Telerik Kullanımına Giriş

30 Nisan 2011 Cumartesi

Telerik componentleri Ajax tabanlı çalışan ve şunu yaspasalarda kullansak dediğimiz J bir çok yapan bir component seti dir. ASP.NET AJAX,Mono, Silverlight,WPF gibi birçok ortam için componentleri bulunmaktasır. Ayrıca resmi sitede bulunan Demolar, yardımlar ve forum da neredeyse tüm sorunlarınız için çözüm bulabiliyorsunuz. Ortalama fiyatları 1000$ civarında olan bu componentler arasında MVC ücretsiz.MVC componentleri aynı zamanda Open-Source.
-Anlatım MVC 3.0 Razor engine için yapılmıştır
BU makalemizde bu componentleri kullanmayı göreceğiz.
http://www.telerik.com/download.aspx adresinden öncelikle componentlerimizi indiriyoruz ve bilgisayarımıza kuruyoruz.
 ardından MVC projemizi açıp dll lerimizi projemize import ediyoruz (C:\Program Files\Telerik\Extensions for ASP.NET MVC Q1 2011\Binaries içerisinde)
Telerik.Web.MVC dll ini referans olarak ekledikten sonra web.config içerisine <systrem.Web><pages><namespaces> altına aşağıdaki satırı ekleyin:
      <add namespace="Telerik.Web.Mvc.UI"/>

 
 
Ardından C:\Program Files\Telerik\Extensions for ASP.NET MVC Q1 2011\Scripts içerisindeki tüm scriptleri projenizin Script klasörüne alın.
MVC componentlerinin tüm sayfalarımızda çalışması için scriptleri register etmemiz gerek bunu tek seferde yapmak için _Layout içerisine aşağıdaki kodu ekliyoruz
öncelikle sayfa başına:
@using Telerik.Web.Mvc.UI

sayfa içerisine ASP.Net teki scriptmanager ile benzer işlevi gören aşağıdaki kodu ekliyoruz
      @(Html.Telerik().ScriptRegistrar())

Ardından kullanacağımız css leri projemize ekliyoruz. Kod kısmı aşağıdaki gibi ayrıca Content klasöru içerisine ilgili css ve image leri eklemeniz gerekmektedir.
@(Html.Telerik().StyleSheetRegistrar().DefaultGroup(group => group.Add("telerik.common.css").Add("telerik.vista.css")))

artık view kısmında çalışmalara başlayabiliriz.
Yine sayfa başına aşağıki kodu ekleyin
@using Telerik.Web.Mvc.UI

artık projemize neler ekleyebiliriz:
-Calendar
-combobox
-DatePicker
-DateTimePicker
-Editor
-Grid
-Menu
-Numeric TextBox
-PanelBar
-Slider
-Splitter
-TimePicker
-TabStrip
-TreeView
-Upload
-Window

örnek olarak bir adet editör ekleyelim:
    @(Html.Telerik().Editor().Name("reEditor").Value(@<text>
    <p>Tahsin Sevinç<br/>Razor Engine ve Telerik MVC component</p>
    </text>)
    )


Kod Yazmak Yazılımın Neresinde

14 Nisan 2011 Perşembe

 

Bir kılıç ustasının eline en iyi kılıçlardan birini verirler. Ustanın gözünü kapatıp savaş meydanına sürerler. Kılış ustası hafif yaralanır ama dost düşman demeden çevresinde kim var kim yok kesip atmıştır…
Bir projeye başlarken ne yapacağını bilmemek gözleri bağlı kılıç ustasının savaş meydanında savaşmasına benzer. Kod yazılır, yeni ihtimaller doğar kod değiştirilir, farklı sonuçlar görülür baştan kodlanır tekrar en başa tekrar en başa… bu döngü uzun süre bu şekilde devam eder ta ki proje son şeklini alana kadar.
Amatör geliştirmede de yaşanan en büyük sıkıntı belki de bu. Bilgisizlikten ziyade yapılacak işin araştırılmamış olmaması. Bu yönden bakıldığında kod yazmak yazılımın neresinde acaba? En önemli yerinde mi yoksa en son kısmında mı?
Bir programlama diline baktığımızda yazılan kodlar bellidir. Basitçe örneklemek gerekirse Bir otomasyon projesinde veri tabanından okuma yazma güncelleme silme işlemi dışında yapılan iş çok azdır. Bu işlemleri biraz kendini ilerletmiş birisi rahatça yapabildiğine göre proje geliştirmeyi engelleyen ne? Elbette ki iş akışının tasarlanamamasıdır.
Bir proje ele alındığında konu ile ilgili araştırma yapılmalı, veriler kağıda dökülmeli, ihtimaller düşünülmeli, benzer uygulamalar incelenip art ve eksi yönleri çıkarılmalı. Son olarak analiz yapılıp ortaya bir model dökülmeli. Model ne kadar iyi ve esnek tasarlanırsa ileriki zamanlarda geliştirilmesi de o kadar olacaktır.
İyi bir modelleme işleminden sonra kod yazmaya geçilebilir fakat nasıl kod yazmak?
-Kod yazarken hata kontrolü yapılmalı try-catch blokları kullanılmalı. Bu durum istisnai durumlarda uygulamanızın istem dışı davranmasını engelleyecektir. Ayrıca hataların loglanması kontrolü tamamen geliştiriciye verecektir.
-Kodlama notasyonunuz olsun. Belli bir kodlama notasyonuna bağlı kalmanız hem projenizin ileriki zamanlarda okunabilirlik ve geliştirile bilirliği açısından hem de kullandığınız metotları tekrar kullanmak istediğinizde rahat kullanmanız açısından işinizi çok kolaylaştıracaktır. Kodlama notasyonu olarak Macar notasyonu gibi sık kullanılan bir notasyon tercih etmeniz sizi hem de geliştirecektir.
-Object-Oriented Mantığı ile kod yazın. Nesne yönelimli programlama ile kod tekrarlarından kurtulur hem de iş öbeklerini belirleyip projenizin daha esnek ve modüler olmasını sağlarsınız. Fakat Object Oriented ı sadece public class tan ibaret kullanırsanız bu projenizi sadece fonksiyon dosyalarına bölmenizi sağlar Nesne yönelimli yazılım tasarımlarını (Object Oriented Design)kesinlikle inceleyin ve kullanın.
-Kodlarınız içinde sıkça yorum cümlelerine ve summarylere yer verin bunlar gelişen projenizde neyi niçin yazdığınızı hatırlamanızı sağlayacaktır.
-Performans a özen gösterin. Yazdığınız kodu en iyi performansla nasıl çalıştırabileceğinizi düşünün. Örneğin veri tabanına defalarca gitmek yerine tek seferde datatable a atabilirsiniz. Ama Verileri DataTable a yüklerken fazla veri yüklememek için mümkün olduğunca parametrik metot yazmalısınız.
-Kullandığınız dil ve framework ün özelliklerini bilin. Bu size avantaj ve zaman kazandıracaktır.
-Hamallık ile Profesyonelliği karıştırmayın. Gereksiz kod yazmak hamallıktır. Ama fazladan size fayda sağlayacak kodu yazmak profesyonelliktir.
-Projenizde kullanacağınız component setleri, raporlama dll lerini inceleyin hangisinden daha fazla verim almışsanız onu kullanın.
-Bir kodu bir kez yazın ama tam yazın. Koda tekrar tekrar geri dönmek size belli bir süre çıkmaza sürükleyecektir. Bundan dolayı kodunuzu yazarken her olayı düşünerek yazın ve bir kez yazın.
Bu maddeler arttırılabilir fakat genel olarak özetlemek gerekirse aklıma gelenler bunlar.
Dikkat ederseniz daha kod yazma aşamasına gelmedik bahsedilen şeyler proje ihtiyaçlarının belirlenmesi, modelleme, kod nasıl yazılmalı nelere dikkat edilmeli gibi şeyler… Bunları başardıktan sonra kod yazma aşamasına geçilebilir.


MVC yi Tanıma ve Proje Oluşturma

06 Nisan 2011 Çarşamba

PROJE OLUŞTURMA ve TANIMA

Öncelikle Visual Studio yu açıp projemizi oluşturuyoruz..

Ardından karsınıza bu ekran çıkacak burada test projesi oluşturmak istermisiniz diye soruyor. Ben olusturmuyorum.

Şimdi proje dosyalarına göz atalım.



 

Otomatik olarak oluşan klasörler bunlar. Şimdi bu klasörleri inceleyelim:
Content: Css ve resimler gibi tasarımla ilgili dosyalar bulunur,
Scripts: Javascript dosyaları bulunur.
Views: Buradaki dosya ve klasörler kullanıcıya gösterilen son dosyalardır.
Models: Veritabanı ile baglantı, veritabanı işlemi yapan sınıflar burada tutulur. LınqToSql model dosyası, EntityFramework dosyası gibi dosyalar burada bulunur.
Controllers: Viewlar ile Modeller arasında köprü işlemleri burada olur. Yani modelden alınan veri işlenip kullancıya gösterilecek sekle getirilir. Controller adları view da klasör adı olarak eklenir. Örneğin HomeController’a ait sayfalar Views klasörü altında Home Klasörü içerisinde bulunur.
Global.asax: Genellikle Permalink işlemleri için kullanıyoruz.
View: Views klasöründe bulunan kullanıcıya gösterilen sayfalardır.
Action: Son kullanıcıdan gelen istek doğrultusunda hangi işlemi yapacağını belirtilen controller sınıfında yer alan metodlara verilen isimdir. Metod dediğimize göre bir değer döndürmelidir. ActionResult 8 farklı değer döndürür. Bunlardan ençok kullanılan View() ve RedirectToAction dır. return View() Action la ilgili View i, RedirectToAction ise farklı bir view a yönlenmemizi sağlar.
ViewData["name"]: Contoller ile View arasında muhakkak iletişim kurmamız gerekecek. Bu veri iletişimini return View()içerisinden sağlayacağımız gibi ViewData ile de sağlayabiliriz. ViewData ile genelde tekil veriler veya View ın bir kısmını ilgilendiren veriler taşınır. Bunların örneklerini ileriki zamanlarda sıkça göreceğiz.


Yazılımcı Karinca

27 Mart 2011 Pazar

Eski bir hikaye arşivimde denk geldi paylaşmak istedim:

 


Kendime Not-1

06 Mart 2011 Pazar

Microsoft a ait open source projeler. Projeleri kodları yapıları kesinlikle incelemek gerek

http://www.microsoft.com/opensource/directory.aspx


Nesne Yönelimli Tasarımı Nasıl Açıklarım

05 Mart 2011 Cumartesi

Temmuz 2010’da Codeproject tarafından ödül almış bir makaledir.

Karım Farhana, kariyerine yazılım geliştirici olarak tekrar başlamak istiyor (kariyerine yazılım geliştirici olarak başlamıştı, ilk çocuğumuzun doğumu nedeni ile fazla ilerleyememişti) ve bugünlerde tecrübeli bir yazılım tasarımcısı ve geliştirici olarak ona Nesne Yönelimli Tasarımı öğretmeye çalışıyorum.
Yazılım uzmanlığımın ilk günlerinden itibaren, teknik bir meselenin ne kadar zor göründüğünü önemsememeye dikkat ederim,  konuşma diline uygun biçimde açıklama, real hayat perspertifinden ve tartışmalarından olursa bu her zaman daha kolay olacaktır. Aynen bizim Nesne Yönelimli Tasarım konusunda yaptığımız verimli konuşma gibi, düşündüm ki bunu sizinle paylaşabilirim, belki birinin Nesne Yönelimli Tasarımı öğrenmesini için ilginç bir taktik olabilir.
Nesne yönelimli tasarımın bizim konuşmamızda nasıl yer aldığını izleyin.

NESNE YÖNELİMLİ TASARIMA GİRİŞ 

Shubho:
Hayatım, hadi Nesne yönelimli tasarımı öğrenmeye başlayalım, Nesne Yönelim ilkelerini biliyorsun, değilmi?

Farhana: Yani, Kapsülleme, Kalıtım ve Çok biçimlilikten bahsediyorsun değilmi? Evet, bu ilkeleri biliyorum.


1 2 3 4 (Toplam 22 yazi bulunmaktadır)