Osman KURT

Yazılım Uzmanı | MVC Eğitmeni

Entity Framework İncelikleri

Merhaba arkadaşlar,

Entity framework kullanan bir çok arkadaş belki karşılaşmıştır. Bazı tablolar var ki ne yaparsanız yapın bir türlü entity model içine dahil edemezsiniz.

Geçen günlerde benim de başıma geldiği için yazma gereği duydum. Arkadaşlar eğer bir tablo entity model içine dahil edilemiyorsa bunun ilk sebebi tablonun bir primary key alana sahip olmamasıdır. Dİyebilirsiniz ki her tablo zaten dahildir. Ben şahidim değil :) olmadığı durumları da gördü bu gözler.

Eee Osman efendi bunun çözümü nedir diye soracaksınız. Basit arkadaşlar PK yoksa bile PK olarak kullanabilecek bir alan için nulleble alanını null geçilemez olarak ayarlamak gerekir. Eğer gerekli ayarlamayı yaparsak Entity bu alanı readonly olarak key atayacak ve tabloyu modelinize dahil edecek. Siz de istediğiniz gibi kullanabilirsiniz.

Kolay gelsin,

Osman KURT
Yazılım Uzmanı C# Uzmanı

MsSql Joinli Sorguda Update İşlemi

Merhabalar,

Sql'de update işlemi basit fakat bunu aynı anda birden çok tabloda yapmak bazı arkadaşlar için sıkıntı olabiliyor. Basit ama kullanışlı bir paylaşım olacaktır diye yazıyorum bu gönderiyi. Gerçekten ihtiyaç duyulabiliyor. Join işlemine eminim ki birçok arkadaşımız zaten hakimdir. Şimdi alt kısımda asıl paylaşımı veriyorum.

 
UPDATE f
SET    f.AnketID = a.AnketID
FROM   Firma AS f
       INNER JOIN Anketler AS a
       ON  a.FirmaID = f.FirmaID
WHERE  f.AnketID IS NULL

Kodumuz bu kadar arkadaşlar, umarım işinizi kolaylaştırmıştır.

Osman KURT
C# Yazılım Uzmanı

Sql de While Döngüsünün Kullanımı

.Net programlamada kullandığımız gibi birçok olayı SQL üzerinde de gerçekleştirebiliriz. Bunlardan bir tanesi de while döngüsü. SQL üzerinde birçok yazılımcı arkadaşın eksik olduğu aşikar. Bu durumu bir nebze olsun aza indirgemek için SQL konusun da birkaç yazı paylaşmaya karar verdim.

Örneğimiz kısaca 1'den 100'e kadar olan rakamları sırayla ekrana basmak olacak. Basit bir örnek ama anlamak için birebir.


 
DECLARE @Number INT = 0;
WHILE 
@Number < 100 BEGIN PRINT @Number;
SET @Number += 1;
END;
GO

Görüldüğü üzere şartı sağlayana kadar bir döngümüz var ve her seferinde print ile ekrana basıyoruz. Şart sağlandığı anda da döngümüz sonlanıyor.

Görüşmek üzere,
Osman KURT

Yazılım Geliştirme Uzmanı

100 Yıllık Ayıp

Tesla Kimdir biliyor musunuz?

2 hafta önce ki Sırbistan Belgrad gezim de gitme fırsatı bulduğum, ismen biliğim ama bize miras bıraktıkları hakkın da en ufak bilgi sahibi olmadığım bir mucittir. Eminim ki siz de bu bu yazıyı okumadan önce ismen bile olsa biliyordunuz ama buluşları hakkın da net bilgi sahibi değildiniz.

İlk olarak söylenmesi gereken sadece Belgrad kentinin havalimanı adından ibaret değildir ve bütün Sırbistan halkının gurur kaynağıdır. 

Gençlik yılların da ne kadar zeki olduğu hocaları tarafından farkedilen ve gelişmesi için Edison'nun yanına gönderilen, sırf Edison'un egosu yüzünden hakkı yenilen ve birçok buluşunu ortaya çıkarmakta geç kalınan. Ayrıca elde ettiği başarılar sonucun da kendisine Edison başarı ödülü verilen bir mucittir. Anlam vermekte güçlük çekiyorum lütfen biri bana açıklasın. Dünya üzerinde sizden geride olan biri adına alınan bir ödül ne kadar acı verici olabilir bir insan için. Üstelik bütün gayesi insanlık olan bir insana yapılan bir haksızlık bu. Bütün çalışma hayatı byunca elde ettiği parayı buluşlarına harcayan bir adam düşünün en büyük hayali dünyanın her yerine kablosuz olarak elektriği yayabilmek ve ücretsiz olmasını sağlamak. Günümüz dünyasın da henüz elektrik ile tanışmamış milyonlarca insanı düşününce işin boyutunu ve önemini anlayacağınızı düşünüyorum.

Bütün dünyası insanlık olan bir adam evlilik yok, çocuk yok, eş yok sonun da otel odasın da biten bir hayat. İşin garip tarafı günümüz wifi teknolojisini yıllar yıllar önce bulan bir adamdan bahsediyoruz. Emin olun ki böyle birşeyi ortaya atmakla kalmıyor, bunların hepsini kanıtlayan uygulamaları da sergiliyor. Ama ne fayda.

Özellikle belirtmek istediğim bir konu var. İnsanlığa değer vermenin dinle renkle ırkla alakası yoktur. Amaç faydadır. Hala içimizde bunun için çabalayan kişiler olduğunu biliyoruz ve farkındayız. Amaç bazı şeylerin kıymetini geç olmadan anlamak, yaşamak gibi insanlık gibi. 

Yazıma son vermeden önce Tesla gibi bir dahiyi geç tanıdığım için kendisinden milyon kere özür diliyorum. Ama bu yazıyı sonuna kadar okuduysanız siz de lütfen geç kalmayın ve biran önce anlamaya anlatmaya başlayın. Çünkü kişiler geçer düşünceleri kalır. 

Osman KURT

Yazılım Uzmanı Grafiker

MVC C# Factory Kullanımı

Merhaba,

MVC factory nedir?

Bilindiği üzere mvc bir projeye request geldiğinde ilk olarak controller kısmına düşer ve daha sonrasında view işlenir kullanıcıya sonuç döndürülür. Yani kabaca anlatmak gerekirse durum budur. Bizim factory kullanmamızda ki amaç ise request controller kısmına gelmeden karşılamak ve gerekli işlemleri yapmaktır ya da gerekli yönlendirmeyi.

Ben bu gibi durumlar genellikle bir yönlendirme yapmam gerektiğinde kullanıyorum. Sizin kullanım yerinize göre değişim gösterebilir.

Kullanımı ise çok basittir. Oluşturacağınız bir class ve global.asax dosyasında Application_Start kısmın da yapılacak ufak bir düzenleme ile işlem tamamlanacaktır.

Bu aşama da alt kısmıda ki kod işinizi görecektir.

 
public class Factories : DefaultControllerFactory
    {
        public override IController CreateController(RequestContext requestcontext, string controllerName)
        {
            IController controllerObject = null;
            Type controllerType = null;

            if (controllerType == null)
            {
                controllerType = base.GetControllerType(requestcontext, controllerName);
            }

            if (controllerType != null)
            {
                controllerObject = (IController)Activator.CreateInstance(controllerType);
            }

            return controllerObject;
        }
    }
protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            ControllerBuilder.Current.SetControllerFactory(typeof(FirstExample.Helpers.Factories));
        }

Breakpoint koyduğunuz takdirde, ilk isteğin factory kısmına düşeceğini göreceksiniz. Artık kontrol sizde.

Osman KURT

Yazılım Uzmanı & Mobil Yazılım Uzmanı

İşin Kuralı Bu sanırım

Ne uçağı var, ne yatı
Carlos Slim Hélu
O açık ara dünyanın en zengin adamı. Serveti, bilindiği kadarıyla 75 milyar doların üzerinde. Peki, sizce dünyanın en zengin adamı nasıl olur? Yatları, katları, uçakları, dünyanın dört bir yanında özel adaları, hatta arada sırada “Ben bir Ay’a gidip geleyim” diyebileceği bir uzay gemisi? Hiçbiri yok. Carlos Slim Hélu, 5 yatak odalı 2 katlı bir evde yaşıyor. 10 yıldır da aynı arabayı kullandığı söyleniyor.
 

60 yıldır bu evde yaşıyor
Warren Buffet
70 milyar doların üzerinde bir servete sahip. Forbes’un 2008 listesinde “Dünyanın en zengin adamı” seçildi. Warren Buffet için kazandığı paranın pek de bir önemi yok gibi aslında. Hala Ohio’daki 1958’de 31 bin dolara aldığı yan fotoğraftaki iki katlı evde yaşıyor. Evin şu anki değerinin ise 200 bin dolar civarında olduğu tahmin ediliyor. Yani İstanbul Ulus’ta 2+1 sıradan bir apartman dairesinden daha ucuz! 
  
 
Arabasının değeri 30 bin dolar
Mark Zuckerberg
O, Facebook’un kurucusu ve teknoloji dünyasının en önemli birkaç adamından biri. Serveti 20 milyar doların üstünde… Ama Mark Zuckerberg’in arabası hala 30 bin dolarlık bir araba ve her gün işe onunla gidip geliyor. Üzerinde 7 dolarlık tişört serisi ve 30 dolarlık ortopedik terliklerinden vazgeçmediğini de ekleyelim.
 

Alışveriş yapmamak için nakit taşımıyor
T. Boone Pickens
87 yaşındaki girişimcinin serveti 3 milyar dolar düzeyinde. Pickens’ın “Yok artık!” dedirten bir alışkanlığı var ve bunu öğrencilik yıllarından beri uygulamayı sürdürüyor. Her gün evden çıkmadan önce ne kadar para harcayacağını hesaplıyor ve yanına o kadar para alıyor. Kredi kartı da kullanmıyor, yanında para taşıyan bir asistanı da yok. Böylece günlük harcama planının hiç dışına çıkmıyor. 
  
 
İndirim peşinde koşan 3 yıldız
Hillary Swank, Lady Gaga, Kristen Bell
Üç yıldız, üçünün de yıllık gelirleri milyon dolarları aşıyor. Ve üçü de birer indirim bağımlısı. Hillary Swank, bu özelliğiyle gurur duyuyor çünkü yoksulluk içinde bir çocukluk geçirmiş. Mağazaların indirime girdiği zamanları özenle takip ettiğini gururla anlatıyor. Çağımızın en çok kazanan pop starlarından Lady Gaga ise birçok defa bit pazarlarında ve indirime girmiş mağazalarda görüntülendi.
 

Üstündekiler 100 doları geçmiyor
Taylor Swift
O, şu anda dünyanın en çok kazanan pop yıldızı. Her gün kasasına binlerce dolar giriyor. Ama Taylor Swift’in sokakta giydiği kıyafetlerin servetiyle ilgisi yok. Ünlü şarkıcı kimi zaman 15 dolarlık bir tişörtle objektiflere gülümsüyor, kimi zaman da yandaki fotoğrafta görüldüğü gibi 30 dolarlık bir kombinasyonla karşımıza çıkıyor.
 
 
Menüdeki en ucuz ikinci şarap
Chuck Feeney
Duty Free’nin kurucusu. Dünyanın en bilinen yardım meleklerinden. Çocuk ve sağlık alanında çalışan derneklere bugüne kadar 4 milyar doların üzerinde yardım yaptı. Ne üstüne para harcıyor, ne yediğine içtiğine… Biyografisindeki bilgiye göre, bir restoranda her zaman menüdeki en ucuz ikinci şarabı seçermiş. Bunu alışkanlık haline getirmiş.
 

Markasının en ucuz ürünlerini kullanıyor
Ingvar Kamprad
O, IKEA’nın kurucusu. Serveti 4 milyar dolara yakın. Evi baştan aşağı IKEA'nın en ucuz ürünleriyle dekore edilmiş. Ucuz restoranların müdavimi, bir akşam yemeğine 50 dolardan fazla ödememek gibi bir prensibi olduğu söyleniyor. Kamprad’ın ucuzluk marketlerinde sık sık indirim kuponu kullandığı da söylentiler arasında… 
 

Windows 10 Kurulumu

Merhaba,

İlk çıktığı gün Windows 10 kuran şanslı kişilerdenim. Öyle diyorum çünkü gerçekten çok hoşuma giden bir işletim sistemi oldu. Her ne kadar Windows 8.1 üzerinden gelen bazı alışkanlıklarımı henüz Windows 10 üzerin de göremesem de yine de bomba bir iş olmuş diyebilirim. Kurulum kısmına gelince yaklaşık olarak benim 1 ya da 1,5 saatimi aldı diyebilirim. Hali hazır da dosyaların indirilmesi temizlenmesi format derken ister istemez bu kadar bir zaman zarfını gözden çıkarmak gerekiyor.

Değer mi?

Evet, bence değer. Hele bir de bizim meslekten olan arkadaşlar üzerine visual studio 2015 ve sql server 2014 kurarlarsa tadından yenilmez. Çünkü ben öyle yaptım. SQL için aynısı söyleyemesem de visual studio 2015 gerçekten ekip çalışması yapan yazılımcılar için (tfs) gerçekten birçok yenilikle geldi diyebilirim. Ücretsiz olarak dağıtılması da ayrı bir mutluluk konusu. Dreamspark hesabı olanlar için söylüyorum tabi ki.

Gelelim en önemli değişikliğe ya da yeniliğe,

Nedir bu EDGE?

Edge Microsoft'un Explorer belasından bir nevze olsun kurtulmak için yapmış olduğu bir browser. Benim aslın da yoğun bir şekilde kullandığım bir browser Explorer ama birçok kişi sevmiyor ve bir bela olarak görüyor. Html yazdığım için onları da çok iyi anlıyorum. Microsoft sanırım Explorer da yaptığı hataları edge üzerin de düzeltmişe benziyor. Şuan için herhangi bir sıkıntı yaşamadım ama tabi ki bu kullanım yoğunluğuna ve zamana göre değişim gösterebilir. Olumlu ya da olumsuz olarak. Umarım siz de kullanmaya başlarsınız bu teknolojileri.

Kurulum linki,
https://www.microsoft.com/tr-tr/software-download/windows10

Osman KURT
Yazılım Uzmanı

Material Design Lite

Merhaba arkadaşlar,

Son zamanlar da, aslın da baya zamandır html tasarımlar da bir bootstrap furyasıdır gidiyor. Benim bloğ sayfamda da kullandığım ve aslında çok beğendim bir olay.

Ama şimdi google yeni bir trend başlattı. Daha doğrusu microsoft ile başlayan flat tasarım akımı google da material design adı altında başka bir boyuta taşınmış oldu.

Html adına aklınıza gelen herşeyi bulabileceksiniz. Bence gayet de hoş sayfayı inceleyin de göreceksiniz.

Anlattığım Material Design Lite olayını alt kısım da bulunan web sayfasın da bulabilirsiniz.

http://www.getmdl.io/

Görüşmek üzere,

Osman KURT
Yazılım Uzmanı