Başlıktan bir şey anlamamış olabilirsiniz ama eğer Ado.Net Entity ile ilgiliyseniz bu yazı çok hoşunuza gidecek ;)
3-5 dakika önce Google Reader dan Code First Migrations: Walkthrough of August 2011 CTP başlığıyla gördüğüm yazıyı hemen sizlerle paylaşmak istedim.

Bildiğiniz üzere eğer modelinizi code-first yaklaşımıyla oluşturmuşsanız ve projenizi çalıştırmışsanız veritabanı otomatik olarak oluşuyor ve sonrasında modelinizde yaptığınız değişikliği veritabanına uygulamak için context inizin içine “System.Data.Entity.Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseIfModelChanges<Test.Models.TestContext>());” ifadesini ekleyerek modeldeki güncellemeyi veritabanımıza uyguluyorduk. Fakat bu yöntemde istenmeyen bir durum oluşuyor ve eğer veritabanında bilgi varsa bilgilerde gidiyordu çünkü bu kod veritabanını komple kaldırıp yeniden oluşturarak güncelleme işini yapıyordu. Artık bu can sıkıcı durumdan kurtuluyoruz !
Yapmamız gereken tek şey projemize “EntityFramework.SqlMigrations” paketini eklemek. Sonrasında yeni bir alanı güncellemek için paket yönetici konsoluna “Update-Database” komutunuı yazıp çalıştırmamız yeterli oluyor. Eğer varolan bir alanın adını güncellemek istiyorsak “Update-Database -Renames:”kullanici.Email=>kullanici.EmailAddress”” komutunu çalıştırmamız yeterli. SqlMigrations’ un diğer özelliklerine buradan bakabilirsiniz. Bu işlemler yapılırken veritabanı içindeki bilgi kaybolmuyor sadece ilgili değişiklikler yapılıyor.
Bu mekanızma sayesinde önemli bir açığın kapandığını düşünüyorum, yukarda da belirttiğim gibi can sıkıcı bir durumdu ve iki türlü iş ile uğraşıyorduk. Biraz alel acele yazmak zorunda kaldım fakat durum sanıyorum anlaşılmıştır :)
Türkiye’ de yapılacak olan ilk olimpik oyunlar, Trabzon 2011 Avrupa Gençlik Olimpik Oyunları olacak. Bu durum beni hem Türkiye’ m hemde Trabzon’ um adına çok mutlu ediyor vede heyecanlandırıyor.
Biz Sözenler Bilgisayar olarak yanlışta hatırlıyor olabilirim, portalı yapmaya başladığımızda sayacımızda 500 küsür gün yazıyordu, bugün ise sadece 6 gün yazıyor. Sürecin hemen hemen başından beri bu organizasyonda bir rol almak bizi gerçekten gururlandırıyor. Bu durumun bilincinde olarak elimizden gelen tüm gayreti göstermeye çalışıyoruz.
Son 6-7 gündür organizasyonun yönetim merkezinde bulunan basın binasının 3. katında, Olimpiyatların tüm bilişim teknoloji alt yapısının ihalesini alan, Türkiye’ nin en önemli bilişim şirketlerinden biri olan Innova ile birlikte çalışıyorum. Ahmet arkadaşımla birlikte portaldan sorumluyuz.
Bu ekipte görev almaktan son derece mutluyum, çok sıcak bir çalışma ortamımız var. Yöneticisinden çalışanına kadar herkesle çok kısa bir zamanda kaynaştık, hepsi süper insanlar. Günlerin çok yoğun geçmesine rağmen ufflayan kimseye rastlamadım, herkes sorumluluğunun bilincinde elinden gelenin en iyisini yapmaya çalışıyor.
Her gün yeni bir şey öğrendiğim bu ortamda, çok büyük bir tecrübe kazandığımı, kazanacağımı düşünüyorum. Bana yazılım geliştirme anlamında fazla bir katkısı olmasa da, yeni insanlar tanıma, çalışma ortamı, iş bölümü, işlerin işleyişi, çalışanın motivasyonu, projenin her açıdan analiz edilmesi, farklı kavramlar ve aynı iş dilini farklı dillerde konuşan onlarca insanın bir arada olmasının getirdikleri gibi.. bir sürü tecrübeye sahip oluyorum. Olimpiyat sırasında ise bizi nelerin beklediğini tahmin bile edemiyorum, inşallah Allah yüzümüzü kara çıkartmaz da Türkiye‘ mize Trabzon‘ umuza yakışır bir iş çıkartırız.
Olimpiyat ile ilgili tecrübelerimi fırsat buldukça paylaşmaya çalışacağım. Durmak yok çalışmaya devam :)
ADO.Net Entity’ e başlangıç yapmak için faydalı olacağına inandığım bir eKitap yazdım. Umarım konuya ilgi duyan arkadaşların işine yarayan bir kaynak olmuştur. Gelen istekler üzerine sürekli güncellemeye çalışacağım bu kitabı buradan indirebilirsiniz. Olumlu olumsuz görüşlerinizi belirtirseniz çok mutlu olurum ;)


Başlık biraz karışık oldu sanırım, biraz açayım. Profil sayfası kişiselleştirme dediğim; Twitter, FriendFeed gibi sayfalarda arkaplan resmini, konumunu ve renkleri isteğimize göre düzenleyebiliyoruz, yani profilimizi kişiselleştirebiliyoruz. ComplexType ise ilk konudan bir hayli alakasız aynı zamanda ComplexType olayını anlamak için çok alakalı. En kaba tabirle; modelimizde ki belirli özellekleri kümelediğimiz ve kod yazarken bize çok büyük kolaylık sağlayan bir yaklaşım.

(daha fazla…)
Verileri sayfalamak iyidir :D Giriş için cümle bulamıyorum resmen, neyse siz girdik sayın :)
Sağa sola bulaşmadan Nuget Gallery den PagedList.Mvc paketini projemize ekliyoruz. Nasıl ekliyoruz sorusunun cevabını burada bulabilirsiniz. PagedList açık kaynak bir proje, github sayfasına buradan ulaşabilirsiniz.

(daha fazla…)
Yine kullanımını ilk olarak Facebook ve Twitter’ dan gördüğümüz bu olayın temel mantığını bildiğimiz sayfalama oluşturuyor. Neden bu şekilde bir sayfalama kullanmak gerekiyor isterseniz bunlara bir bakalım.
- Sayfa komple yenilenmeyeceğinden daha işlevsel. Örneğin; kullanıcı video izlerken altında ki yorumları sayfa sayfa dolaşmak isterse, video yarıda kesilmeyecektir.
- Sayfanın sadece ilgili yerini, ilgili kayıtlar kadar güncelleyeceğimizden daha performanslı. Bu performans sunucu tarafında; daha az sistem kaynağı tüketimi, kullanıcı tarafında ise; sayfanın yüklenme süresi olarak gözlenebilir. Özetlersek sunucudan yapılan isteği minimize etmiş oluyoruz.
Çektiğim videoların birinde dile getirdiğim bir konu vardı, yukarıda ki maddeleri görünce yazılı olarak da eklemek istedim. Anlık çok fazla kullanıcıya, çok fazla isteğe cevap verme durumunda olan siteler ajaxı bizim kara kaşımıza yada şekilli olsun afilli olsun diye kullanmıyor. Örneğin Facebook her işlemde sayfayı yeniden yüklemeye kalkarsa altından kalkılamaz bir yükle karşı karşıya kalır. Anlık Facebook’ a yazılan yorum, mesaj yada benzeri girdileri düşündüğümüzde ajaxın hava yastığı görevi gördüğünü hayal etmek güç olmasa gerek. Özetlemek gerekirse, ajax yaklaşımı şekilden ibaret değildir ;) Konumuza geri dönelim.

(daha fazla…)