İpucu: You have mixed tabs and spaces uyarısı

7 Ağu

Productivity Power Tools eklentisi yüklü olan arkadaşlar farketmişlerdir ki Visual Studio ortamında kod geliştiriken bezen aşağıda resimde göründüğü gibi bir uyarı çubuğu belirir. Uyarı: “You have mixed tabs and spaces” şeklindedir.

Bu uyarı genelde açılan tab sayısı arttıkça ortaya çıkmaktadır. Bu uyarının çıkmasını istemiyorsak şu ayarı yapmamız gerekiyor. Tools -> Options -> Listeden Productivity Power Tools seçerek Fix Mixed Tabs seçeneğini Off durumuna getiriyoruz.

İpucu – Web projesini yayınlarken boş dizinleri de dahil etme

5 Ağu

Bugün ASP.NET MVC 3 projemi IIS7 ortamında yayınlamak istedim. Projeya sağ tıklayıp publish seçeneğini seçerek açılan pencerede gerekli alanları doldurdum ve devam ettim. Inetpub – wwwroot içerisinde projem yayınlanmıştı ve kullanıma hazırdı. Ancak projeye kullanıcıların yüklediği dosyaları tutmak için açtığım Uploads dizini wwwroot içersine yüklenmemişti. Deploy aracı boş dizinleri atlamış yayınlamamıştı.

“Bu boş dizinler nasıl yüklenecek?” sorusunu kendi kendime sordum bir süre. Çözüm boş dizinler içersine yeni bir dosya eklemekti.

Yani sunucu ortamınada yayınlamak istediğim Uploads dizininin içine bir index.html yada herhangi bir dosya ekleyip yayınla dediğimde Uploads dizini de wwwroot içine başarılı bir şekilde yayınlanmıştı.

ASP.Net MVC 3 Giriş Projesi

5 Ağu

Giriş

Visual studio development ortamını çalıştırarak işe başlıyoruz. Sürümümüz Web Developer 2010 Express olacak.

Visual studio açıldıktan sonra Start Page sayfasında New Project linkine tıklayarak yeni proje oluşturmaya başlıyoruz. Yeni proje oluşturmak için bir diğer yol ise File > New Project menüsünü tap etmektir.

İlk uygulammız

Uygulamamızı Visual Basic veya C# dillerinden birini seçerek geliştirebiliriz. Biz uygulamamızda C# dilini seçerek geliştiriyor olacağız. Visual C# sekmesini tıklayıp ASP.NET MVC 3 Web Application proje tipini  seçerek devam ediyoruz. Aynı pencere üzerinde Name, Location ve Solution Name alanları isteğe göre doldurulabilir. Proje adını “MvcMovie” olarak düzenliyor ve devam ediyoruz.


OK butonunu tıkladığımızda karşımıza aşağıdaki gibi bir pencere açılacak. New ASP.NET MVC 3 Project penceresinde template olarak Internet Application seçiyoruz, view engine olarak Razor ve Use HTML5 markup kutusunu işaretliyoruz.


OK butonuna bastığımızda Visual Web Developer Asp.net MVC projemizi varsayılan olarak ayarlayıp karşımıza getiriyor. Şu anda çalıştırılmaya hazır bir proje karşımızda duruyor.

Herhangi bir değişiklik yapmadan projeyi çalıştıralım. Debug menüsünden Start Debugging seçimini yapıyoruz. Menüde gördüğünüz gibi klavye kısayolları belirtilmiş. F5 kısayolu Debug > Start Debuging menüsünü işaret ediyor.

Visual Web Developer web tarayıcısını başlatıyor ve uygulamanın giriş sayfası açılıyor. Adres çubuğunda siteadi.com yerine localhost gözüküyor. Localhost kendi bilgisayarınızı işaret etmektedir. Visual Web Developer her çalıştığında web server tarafından rastgele bir post numarası kullanır. Aşağıdaki resimde göründüğü gibi port numarası 43246’dır.

Bu uygulamada varsayılan olarak tanımlanmış iki sayfa ve birde basit login formu mevcuttur. İlerleyen yazılarımızda uygulamanın nasıl çalıştığı konusuna değinmeye çalışacağız.

Kaynak: http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part1-cs

Asp.Net MVC Tarihi Gelişimi

5 Ağu

Bu yazıda Asp.net MVC’nin gelişimi sürecine değinmeye çalışacağız. Zamanla değişen ve gelişen özelliklerine versiyonlar halinde değiniyor olacağız.

Asp.net MVC resmi olarak 3 ana versiyon ve  1 update tool halinde yayınlanmıştır.

Asp.Net MVC 1.0

MVC’nin ilk resmi yayın tarihi 2009 yılı olmuştur. Bünyesinde barındırdığı ve günümüze kadar gelen en temel özellikleriyle piyasaya sürülmüştür. Bu özellikler aşağıdaki gibi sıralayabiliriz.

  • Mvc  yapısı, kendine özgü bir yaşam döngüsü, gelen isteklerin(request) cevaplanması (Controller katmanı) ve sonucun çıktı halinde kullanıcıya sunulması(View katmanı).
  • Routing kavramı.
  • HTML etiketlerini oluşturmayı sağlayan helper kavramı.
  • Ajax tabanlı linkler ve formlar.
  • Post edilen formların bilgilerini otomatik olarak .Net nesnelerine bağlayan Model Binder ve modele ait doğrulamaları yapan Model Validation kavramı.

Bu web alanında atılan büyük bir adımdı. Fakat kurumsal ve büyük çaplı projeler için altyapının biraz daha geliştirilmesi gerekiyordu. Neyse ki Asp.net MVC Microsoft cephesinin ilk genişletilebilir ürünüydü. Çoğu temel bileşen genişletilebilir hatta tamamen kendi oluşturacağınız yapılarla değiştirilebilir esnekliğe sahiptir. Örneğin DefaultModelBinder yeterli esnekliğe sahip değilse kendi özel Model Binder sınıfımızı geliştirebiliriz.

Asp.net MVC 2.0

2010 yılında yeni sürüm olan 2.0 sürümü yayınlandı. Bu sürümde verimliliği arttırmak ve büyük uygulamalarda bakımı ve gliştirilebilirliği kolaylaştırmak amaçlanıyordu. Yeni eklenen özellikler:

  • Server ve client tarafında attribute tabanlı Model validation.
  • Büyük uygulamara için uygulama içinde başka bir uygulama  tanımlayabilen Area kavramı.
  • Model ve attribute tabanlı olacak şekilde form ve view sayfalarını otomatik oluşturulabilen Html Templated Helpers.
  • Asenkron Controller.
  • Lambda tabanlı Html Helper.

Bu versiyonda birkaç özellik önceki versiyondaki mevcut olanlara ek olarak tanıtıldı. Bunlar:

  • Model Metadata Provider ve  Model Validation Provider.
  • Validation Attribute ve validation mantığı.
  • Custom teplates.

Asp.net MVC 3.0

2011 yılında yayınlanan bu sürümde framework üzerinde köklü bir değişkliğer gidilmedi. Sadece süsleme tarzında kullanım kolylıkları sunan birtakım düzenlemeler yapıldı. MVC3 yenilikleri şu şekilde sıralayabiliriz.

  • Visual Studio içersine dahil edilen MvcScaffolding sayesinde CRUD(Create Read Updare Delete) işlemlerini yapacak Controller ve bu metodları kullanacak View sayfaları model bazlı olarak otomatik oluşturulabiliyor.
  • JQuery, JQuery UI gibi javascript kütüphaneleri projelere otomatik dahil ediliyor ve NuGet paketleri sayesinde anında güncellenebiliyor.
  • Entity Framework Code First varsayılan data access kütüphanesi olarak sunuluyor.
  • HTML 5 desteği.
  • Razor view engine.

Tahmin

Bundan sonraki sürümde tahminimce HTML5 destekli view engine geliştirmesi yapılacak. Entity Framework code first yaklaşımı ile aktif hale gelen MvcScaffolding motoru şu anda CRUD işlemlerini direk Controller içerisinde yapıyor. Bu yüzden Repository patterne uyumsuzluk söz konusu. Bunun düzeltilerek repository patterne uyumlu hale getirileceği yine tahminlerim arasında.

 

Kaynak: http://codeclimber.net.nz/archive/2011/06/29/The-history-of-ASP-NET-MVC-so-far.aspx

 

Windows 7 IIS 7 yükleme sorunu

5 Ağu

Merhaba arkadaşlar,

     Bugünlerde beni sıkıntıya sokan bir durumu ve bu sorunun çözümünü paylaşmak istiyorum.  Windows 7 Proffessional sürümü üzerinde IIS7 yüklemeye karar verdim. Denetim masası (Control Panel) > Programlar ve özellikleri (Programs and Features) yolunu takip ederek Windows özelliklerini aç veya kapat linkini tıkladım ve açılan pencerede Internet Information Services düğümünü açarak IIS’in çalışması için gerekli seçimleri yaptım ve Tamam butonuna tıkladığımda birde ne göreyim! Aşağıdaki hata penceresi aniden karşıma dikildi.

 

Hata mesajı “Bir hata oluştu. özelliklerin tümü başarıyla değiştirilemedi” ( An error has occurred. Not all of the features were successfully changed ) şeklindeydi. Hatayı yok edebilmek için çeşitli varyasyonlar denedim ama nafile. Hiçbir sonuç alamamıştım. Son çare olarak windows service packs 1 yüklemesini yapmak ve sonuç alamdığım taktirde ise sistemi yeniden kurmayı göze almıştım. Service pack yüklemesini başarılı bir şekilde bitrdim. Yüklemenin biraz uzun sürdüğünü söylemeden geçemeyeceğim. Sistemi yeniden başlattım ve aynı yolları izleyerek IIS 7’yi yüklemek için seçimleri yapıp Tamam(OK) butonuna bastım ve gözümü kapattım. Evet o gıcık gonk sesini duymamıştım ve yükleme başarıl bir şekilde tamamlanmıştı.

Aynı hatayla karşılaşan arkadaşlar için sorunun çözümlerinden biri service packs 1 yüklemektir.

Afrikalı çaresiz küçük kız

29 Tem

Birkaç kilometre ilerdeki yardım kampına ulaşmak isteyen fakat açlıktan adım atacak hali kalmamış ve çaresizce yere kapanmış küçük bir kız. Hemen arkasında bekleyen fırsatçı bir akbaba.

Yaşam  ile ölüm arasındaki o ince çizginin görünür hale geldiği anda bir insan belirdi küçük kızın yanında ve fotoğraf makinasıyla o anı dondurdu. K. Carter 1994 yılında çektiği bu fotoğrafla hayalindeki Pulitzer ödülünü kazandı.

Olayın devamında Carter’e küçük kıza ne olduğunu soruldu. Olayın devamı en az bu fotoğraf karesi kadar içler acısıydı. K. Carter küçük kıza yardım etmediğini fakat akbabanın korkarak oradan uzaklaştığını, kızın yaşayıp yaşamadığını bilmediğini söyledi. Neden yardım etmedin sorusuna ise “Yardım ekibinden değildim. Fotoğrafçıydım” cevabını verdi.

Bu olayın ardında K.Carter 1994’ün bir haziran günü intihar ederek yaşamına son verdi.