Foto İpucu
Foto İpucu kategorisinde toplam 162 yazı var.Sayfa 3 / 9.
-
Tek Fotoluk İpucu 116 - Sayısal mı?
Oldu ya geliştirdiğiniz projenin bir yerinde, koda düşen metinsel bazı değişkenlerin sayısal olup olmadığını tespit etme ihtiyacı duydunuz. Söz gelimi bir Excel dokümanı içerisinden aldığınız hücre değerlerinin sayısallığını kontrol etmek ve buna göre program akışını yönlendirmek gerekiyor.
-
Tek Fotoluk İpucu 115 - C# 6.0 Pratikleri (Dictionary Initializer)
Bir önceki tek fotoluk ipucunda belirttiğimiz üzere C# 6.0 ile dile kazandırılan bazı kabiliyetler kodun kolay okunabilir olması açısında önem arz ediyorlar. Örneğin generic bir Dictionary koleksiyonunu örneklemek için aşağıdaki fotoğrafta görülen yeni yazım dizimini kullanabiliyoruz. Daha okunabilir ve anlaşılır olduğu şüphesiz.
-
Tek Fotoluk İpucu 114 - C# 6.0 Pratikleri (Expression-Bodied Function ve String Interpolation)
Eric Vogel’e göre C# 6.0 ile birlikte dile kazandırılan yenilikler kodun daha kolay okunabilmesini sağlamaktaymış. Örneğin Expression-Bodied fonksiyonlar bu kapsamda değerlendirilebilirler. Diyelim ki elinizde bir POCO (Plain Old CLR Object) tipi var ve ToString metodunu ezeceksiniz (Override). Dile gelen yeni kabiliyetler ile söz konusu metodu aşağıdaki gibi yazma imkanımız var. (Metod gövdesinde string Interpolation özelliğini kullandığımıza da dikkat edelim)
-
Tek Fotoluk İpucu 113 - Dapper.Net ile Hello World
Gecenin bir yarısı. Bilgisayarınızın başındasınız. Önünüzde Visual Studio. Yanınızda kahveniz/çayınız. Canınız da sıkılmış. Acaba ne yapsam da vaktimi iyi değerlendirebilsem diye düşünüyorsunuz. Böyle hallerde şöyle bir NuGet paketi bulup araştırmak bünyeye iyi gelebiliyor. Bunun için Nuget Must Haves isimli siteyi ziyaret edebilirsiniz.
-
Tek Fotoluk İpucu 112 - Acaba Bu Dosya Microsoft Office Open XML(OOXML) Formatında mı?
Diyelim ki bir yerlerde saklanmış ve kod tarafında byte[] array olarak ifade ediebilecek çeşitli tipte dosya içerikleriniz var ve siz bunların Microsoft Office Open XML formatında olup olmadıklarını anlamak istiyorsunuz. Bir süreci başlatmadan önce DB gibi bir ortamda duran dosyaların gerçekten de istenen tipte olup olmadığını anlamak kritik bir operasyon olabilir. Peki bu tip bir kontrolü gerçekleştirmek için nasıl bir kod parçasına ihtiyacımız olur?
-
Tek Fotoluk İpucu 111 - Dosya Adı İçinden Geçersiz Karakterleri Çıkartmak
Diyelim ki elinizde bir takım dosya adları var. Bu dosya adları herhangi bir kaynaktan okunuyor. Ancak bazı dosya adlarında geçersiz karakterler yer aldığını tespit ediyorsunuz (?: < vb) Siz de dosya adlarını kendi uygulamanız içerisinde değerlendirirken bu geçersiz karakterlerden arındırarak hareket etmek niyetindesiniz. Ne yaparsınız? Bunun için bir genişletme fonksiyonu (extension method) yazmak isteseniz nasıl hareket edersiniz? Yoksa aşağıdaki gibi bir metod işinize yarar mı?
-
Tek Fotoluk İpucu 110 - Control Tipini Extend Edip Basit Bind İşlemleri Gerçekleştirmek
Diyelim ki, geliştirdiğiniz Windows Forms tabanlı ekranlarınızdaki kontrollerin içerikleri farklı bir veri kaynağından (Strongly Typed özellikte) geliyor ve siz bunları kontrollerin ilgili özelliklerine bağlayacak generic özellikte bir metod geliştirmek istiyorsunuz. Doğrudan özelliklere değer set etmek ile uğraşabilirsiniz de ama, veri kaynağından okuma yapan kod parçasının içerisinde bu işlemi merkezileştirmeyi de düşünüyorsunuz. Ancak ilk adım olarak Control türevli tipler için bir Extension metod üzerinden özelliklere değer bağlama işlemlerini yapmak istiyorsunuz. Nasıl bir yol izlersiniz? Aşağıdaki ip ucu işinize yarayabilir mi?
-
Tek Fotoluk İpucu 109 - IIS Üzerindeki Uygulamaları Kod Yoluyla Öğrenmek
Diyelim ki sunucudaki IIS üzerinde konuşlandırdığınız Web uygulamalarının bir listesini almak istiyorsunuz. Bunun elbette pek çok yolu olduğunu biliyorsunuz. Bir Powershell script’i belki de işinizi görür. Ancak belki de siz bunu kendi geliştireceğiniz windows forms uygulamasında bu listeyi kullanmak istiyorsunuz. Ne yaparsınız? Kod yardımıyla IIS üzerindeki Application’ları, Site’ları öğrenebilir misiniz?
-
Tek Fotoluk İpucu 108–Property Value Dump
Projelerinizde, temel tiplerden (Primitive Types) özellikler içeren yalın nesne örnekleri döndüren servis metodlarını tüketir misiniz? Mutlaka bir yerlerde kullanıyorsunuzdur. Bu tipler bazen kurum dışı servis üreticileri tarafından hazırlanmış olabilirler. Hatta bazıları içlerinde 50ye yakın özellik (Property) de barındırabilir. Ve bazen projenizin özellikle log atan kısımlarında bu nesnelerin belirli tiplerden oluşan özelliklerine ait değerleri olduğu gibi yazdırmak istersiniz.
-
Tek Fotoluk İpucu 107 - XML Üretiminde LINQ Kullanmak
Diyelim ki elinizde bir biri ile ilişkili tiplere ait nesne örneklerini içeren bir koleksiyon var. Söz gelimi bu koleksiyon, kütüphanenizde yer alan kitaplar ve yazarlarını tuttuğunuz generic bir List örneği olsun. Bu listenin XML formatında bir çıktısını sunmak istediğinizi düşünelim. Elinizin altında XElement, XAttribute gibi tipler ve LINQ gibi harika bir sorgulama dili olduğunun da farkındasınız. Nasıl bir ifade yazarsınız? Aşağıdakine benzer olabilir mi?
-
Tek Fotoluk İpucu 106 - XDocument.Load için Proxy Bildirimi
Şirkette üzerinizdeki işler hafiflemiş durumda. Epeydir de yoğun çalışıyordunuz. Şöyle bir ara vermek istediniz. En azından bir on beş dakikanız serbest. Internette gezinebilirseniz de ama…Başka bir şeylere de bakılabilir. Öyleyse antrenman sorusu geliyor. Bir feed içeriğini kod yoluyla çekmek için şirketinizin internet çıkış proxy bilgilerini, kullanmak istediğiniz XDocument nesne örneğine nasıl bildirirsiniz? Bu gereksinimi karşılamanın bir yolu aşağıdaki kod parçasında görüldüğü gibi olabilir mi?
-
Tek Fotoluk İpucu 105–WsDiffMerge ile Dosya Karşılaştırmak
Diyelim ki elimizde içeriklerini karşılaştırmak istediiğimiz iki dosya var (Bunlar Text tabanlı dosyalar olabileceği gibi C# veya VB.Net kod dosyaları da olabilir de) Ne yaparsınız? Gözle tarama? Ya da bir freeware program? Peki ya dosyalar arasında birleştirme (Merge) işlemi de uygulamak isterseniz? Aslında hem karşılaştırma hem de birleştirme işlemleri için zaten yanı başınızda duran bir araç var biliyor musunuz? VsDiffMerge. Aşağıdaki fotoğrafta iki Text dosyanın karşılaştırılması yer almaktadır.
-
Tek Fotoluk İpucu 104 : CustomReflectionContext ile Tipe Özellike Kazandırmak
Bir tipin çalışma zamanında Reflection ile yakalanabilen özelliklerine ilaveler yapmak ister miydiniz? Aslında bunun çok kolay bir yolu var. Tek yapmanız gereken CustomReflectionContext tipinden yeni bir sınıf üretmek ve bunu aşağıdakine benzer bir şekilde kullanmak
-
Tek Fotoluk İpucu 103–Database.Query ve dynamic Avantajı
SQL gibi bir veri kaynağına erişmek için pek çok yol olduğunu gayet iyi biliyoruz. Hatta bu işi öğrenmeye başladığımız ilk zamanları hatırlayın. Connection’ın açılması, Command hazırlanması, bir DataAdapter’dan yararlanılarak DataTable/DataSet doldurulması ve DataReader ile veri setinin ileri yönlü dolaşılması ve benzeri tiplerle uğraşırız. Hatta Entity Framework gibi alt yapılar da kendi içlerinde bu temel türlerin ata tiplerinden fazlasıyla yararlanmaktadır.
-
Tek Fotoluk İpucu 102–Ne Zaman XmlInclude Gerekir?
Diyelim ki elinizde Role isimli bir sınıf var. Hatta bu sınıftan türemiş Manager ve Worker isimli iki ayrı sınıf daha var. Hatta Role tipinden Employees isimli bir listeyi özellik (Property) olarak içeren Company isimli başka bir sınıf daha var…Derken Company sınıfına ait bir nesne örneğini çalışma zamanında XML serileştirmek istediniz. Klasik olarak XmlSerializer tipini işin içerisine kattınız. Peki ya sonra? Aldınız InvalidOperationException hatasını oturdunuz aşağıya :D Nasıl çözersiniz? Aşağıdaki gibi olabilir mi?
-
Tek Fotoluk İpucu 101–Team Project Process Template
Bazı komut satırı araçları oldukça işlevseldir ve çoğunlukla tercih edilir. Örneğin TFS üzerinde bir Team Project silinmek istendiğinde, tfsdeleteproject komut satırı aracına başvrulur. Peki şirketinizde kurulu olan TFS üzerindeki Team Project örneklerinin kullandıkları Process Template’ leri yine bir komut satırı aracı ile öğrenmek isteseydiniz, nasıl bir yol izlerdiniz? Aşağıdaki fotoğraf size bir ipucu verebilir belki de
-
Tek Fotoluk İpucu 100–AutoMapper Kullanımı
Bildiğiniz üzere şu yazımızda nesneler arası özellik (Property) eşleştirmelerinin nasıl yapılabileceğini incelemeye çalışmıştık. Ancak işin çok daha profesyonel bir boyutu var. Örneğin tipler arası özellik adları birbirlerinden farklı olabilir ve bu nedenle bir haritayı önceden söylemeniz gerekebilir. Neyseki NuGet üzerinden yayınlanan AutoMapper kütüphanesi çok gelişmiş özellikleri ile buna imkan vermektedir. Söz gelimi aşağıdaki fotoğraf özellik adlarının farklı olması halinde bile AutoMapper ile başarılı bir şekilde eşleştirme yapılabileceğini göstermektedir.
-
Tek Fotoluk İpucu 97–Google Shortener URL Hizmetini C# ile Kullanmak
Malumunuz bazen Web adreslerine ait URL satırları epeyce uzun olabiliyorlar ve bunları saklamak gibi amaçlarla kullanmak istediğimizde, genellikle kısaltma yoluna gitmeyi tercih ediyoruz (Sanırım kimse 20 haneye sığdırılabilecek 200 karakterlik bir URL bilgisi ile uğraşmak istemez) Bir URL adresini kısaltmak için kullanılabilecek pek çok global hizmet bulunmakta. Bunlardan birisi de Google’ ın Shortener servisi (ki bu adresten de görebileceğiniz gibi kendisi de epeyce kısa). Peki bir tarayıcı ile bu söz konusu servise kolayca gönderebildiğimiz bir talebi kod tarafında C# ile gerçekleştirmek isteseydiniz nasıl bir yol izlersiniz? Aşağıdaki gibi olabilir mi?
-
Tek Fotoluk İpucu 94–WMI ile Disk Bilgilerini Okumak
WMI (Windows Management Instrumentation) maceralarımıza devam etmeye ne dersiniz? Eğer biraz daha kasarsak, geniş bir WMI kütüphanesi bile oluşturabiliriz. Bu fotoğrafımıza konu olan güncel senaryomuz ise şöyle; İşletim sistemi tarafından Map edilmiş Disk bilgilerine nasıl ulaşabiliriz? Sadece Hard Disk’ ler değil. Bağlı olduğumuz Network Driver’ ları da öğrenmek istediğimizi varsalayım. Dilerseniz önce WMI tarafında önceki ipuçlarımızdan da yararlanarak senaryoyu gerçekleştirmeye çalışın. Sonrasında fotoğrafımıza bakarsınız.
-
Tek Fotoluk İpucu 93–WMI ile Processor Bilgisini Okumak
Hatırlayacağınız üzere bir önceki Tek Fotoluk İpucunda, Win32PhysicalMemory isimli WMI (Windows Management Instrumentation) tipinden yararlanarak, makinede takılı olan RAM’ ler hakkında temel bilgileri nasıl alabileceğimizi incelemiştik. Bu seferki ipucumuzda ise işlemci bilgilerini okumaya çalışıyor olacağız. Aşağıdaki fotoğrafta görüldüğü gibi.