Tek Fotoluk İpucu-30 (Entity Sorgusundan Excel Dosyasına) 13 Eylül 2011 Burak-Selim-Senyurt .Net Framework 4.0, Tek Fotoluk Ipucu Merhaba Arkadaşlar, .Net Framework 4.0' ın getirdiği pek çok yenilik sayesinde Office gibi API' leri kullanmamız çok daha fazla kolaylaştı. Örneğin bir Entity sorgusunun sonucunu Excel dosyasına aktarmak için daha basit kodlamalar yapabiliyoruz. Nasıl mı? EntityToExcel... [Daha fazla]
Tek Fotoluk İpucu – 9 (Stopwatch ile süre ölçümü) 29 Haziran 2011 Burak-Selim-Senyurt .Net Framework 4.0, C# 4.0, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Bazen yazdığımız kod parçalarının işlem sürelerini hesaplama ihtiyacı duyarız. Bu anlamda en çok kullanılan yöntemlerden birisi DateTime ve TimeSpan tiplerini ele almakta iken gerçekte en efektif olanı Stopwatch sınıfını değerlendirmektir. Nasıl mı... [Daha fazla]
Tek Fotoluk İpucu - 3 (Tuple) 23 Haziran 2011 Burak-Selim-Senyurt C# 4.0, Tek Fotoluk Ipucu Merhaba Arkadaşlar, .Net Framework 4.0 ile gelen Tuple tipini duymayan kalmamıştır. Duymak bir yana en büyük sorun ne zaman ve hangi amaçlar ile kullanılabileceğidir. İşte tek fotoluk ipucu serisinin bu günkü konusu. Örnek bir Tuple kullanımı. Metodlardan birden fazl... [Daha fazla]
Big Big Big Integer ve Faktöryel Hesaplarken Yüzümde Oluşan Tebessüm 20 Nisan 2011 Burak-Selim-Senyurt .Net Framework 4.0, C# 4.0 Bu hüzünlü girişten sonra bu kocaman araçların konumuzla ne alakası olduğunu düşünebilirsiniz. Aslında bu gün sizlere yine .Net Framework 4.0 ile birlikte gelen yeniliklerden birisinde bahsediyor olacağım. Aslında kocaman, iri, büyük bir yenilik. BigInteger ;) .Net Framework 4.0 ile birlikte System.Numerics.dll isimli bir assembly daha gelmektedir. Bu yeni assembly içerisinde ise aşağıdaki şekilde görülen iki Değer Türü(Value Type) yer almaktadır. [Daha fazla]
Non-Persisted Memory Mapped Files 16 Nisan 2011 Burak-Selim-Senyurt .Net Framework 4.0, C# 4.0 Hatırlayacağınız üzere bir önceki yazımızda .Net Framework 4.0 sürümüne dahil edilen Memory-Mapped Files kavramını incelemeye başlamıştık. İncelememizde ele aldığımız örnekte ise Persisted modeli göz önüne almıştık. Bu modelde bellek üzerine açılan içerikler, fiziki disk üzerinde yer alan dosyalar ile doğrudan ilişkilidir. Yani sanal belleğe açılan görünümler(Views), fiziki disk üzerindeki dosyanın belirli bir bölümü veya tamamıdır. [Daha fazla]
TPL Senkronizasyonu Sağlamak – 2 (Interlocked) 31 Ocak 2011 Burak-Selim-Senyurt Parallel Programming Hatırlayacağınız üzere TPL Senkronizasyonu Sağlamak – 1 başlıklı yazımız ile Task Parallel Library(TPL) tarafında senkronizasyon kullanımını incelemeye başlamıştık. Aslında başımıza iş mi açtık bilemiyorum ama sonuç itibariyle kritik bir konu olduğunda sanıyorum ki hepimiz hem fikiriz. Önceki yazımızda değerlendirdiğimiz senaryoda, lock keyword kullanımı ile izole edilmiş bir veri alanının, farklı iş parçaları tarafından nasıl güvenli bir şekilde kullanılabileceğini analiz etmiştik. Üstelik bu keyword’ ün aslında arka planda Monitor tipini kullandığını da Intermediate Language(IL) kodunda görmüştük. Elbette iş parçalarının senkronizasyonu için kullanılabilecek farklı tipler de söz konusudur. Interlocked sınıfı gibi. [Daha fazla]
TPL Senkronizasyonu Sağlamak - 1 27 Ocak 2011 Burak-Selim-Senyurt Parallel Programming, TPL TPL ve Shared Data Isolation başlıklı yazımızda, n sayıda Task örneğinin ortaklaşa kullandıkları bir veri alanı üzerindeki işlemlerinin, ne gibi sonuçlara yol açabileceğini incelemiş ve bunun önün geçmek için basit bir kaç yolu ele almıştık. [Daha fazla]
Task Wait,WaitAll,WaitAny 06 Ocak 2011 Burak-Selim-Senyurt Parallel Programming Task Süreçlerinde Bilinçli Olarak Duraksatma başlıklı bir önceki yazımızda CancellationToken.WaitHandle.WaitOne, Thread.Sleep ve Thread.SpinWait metodlarından yararlanarak bir Task çalışmasının bekletme işlemlerinin nasıl yapılabileceğini incelemeye çalışmıştık. [Daha fazla]
Task Süreçlerinde Bilinçli Olarak Duraksatma 31 Aralık 2010 Burak-Selim-Senyurt Parallel Programming Bu günkü konumuz Task nesne örneklerinin işlettikleri süreçleri bilinçli olarak nasıl bekletebileceğimiz ile ilgilidir. Pek çok sebepten dolayı Task örneklerinin çalıştırdıkları iş parçalarının belirli süreler boyunca veya süre bağımsız olarak bekletilmeleri istenebilir. Burada zaman bağımlı ya da koşul bağımlı olarak bekletmelerin/duraksatmaların yapılabilmesi söz konusudur. Genel olarak 3 farklı bekletme tekniğinden söz edebiliriz. [Daha fazla]
Persisted Memory-Mapped Files 17 Aralık 2010 Burak-Selim-Senyurt .Net Framework 4.0, C# 4.0 .Net Framework 4.0 ile birlikte gelen yeniliklerden birisi de Memory-Mapped File kullanımı. Herşeyden önce Memory-Mapped File kavramının ne anlama geldiğini irdeleyerek işe başlayalım. [Daha fazla]
.Net Framework 4.0 System.IO.File Tarafındaki Yenilikler 26 Ekim 2010 Burak-Selim-Senyurt .Net Framework 4.0, BCL Bu yazımızda ele alacağımız konu ile ilişkili olarak kullanacağım giriş resmi için uzun bir süre araştırma yapmak zorunda kaldım. Sanırım yazıyı yazdığım bu sıcak yaz gününde devrelerim istediğim randımanı vermedi. Ancak en azından yandaki resim, anlatacağım ilk konu ile doğrudan alakalı olarak düşünülebilir. [Daha fazla]
NedirTv?com Söyleşileri–.Net Framework 4.0 ile Gelen Yenilikler Bölüm 3 21 Ekim 2010 Burak-Selim-Senyurt Podcasts Merhaba Arkadaşlar, Malumunuz bir süredir NedirTv?com söyleşilerine ara vermek zorunda kaldık. Bu gecikmelerde iş yoğunluğumuzun ve ufak tefek rahatsızlıkların(ağırlıklı olarak gribal enfeksiyonlar) rol aldığını ifade edebilirim. Bundan önceki son bölümümüzde .Ne... [Daha fazla]
NedirTv?com Söyleşileri - .Net Framework 4.0 ile Gelen Yenilikler Bölüm 2 14 Eylül 2010 Burak-Selim-Senyurt Podcasts Merhaba Arkadaşlar, Yeni bir NedirTv?com söyleşimiz ile karşınızdayız. Hatırlayacağınız üzere bir önceki söyleşimizde .Net Framework 4.0 ile birlikte gelen yeniliklere değinmeye başlamıştık. Söz konusu yenilikleri ikinci bölümü ile incelemeye devam ediyoruz. Bu sefer, Managed Extensibility Fram... [Daha fazla]
NedirTv?Com Söyleşileri – 3 - .Net Framework 4.0 ile Gelen Yenilikler Bölüm 1 06 Eylül 2010 Burak-Selim-Senyurt Podcasts Merhaba Arkadaşlar, NedirTv?com söyleşilerimizin 3ncü bölümünde oldukça geniş bir konuyu ele almaya çalışıyoruz. .Net Framework 4.0 ile Gelen Yenilikler Konunun geniş olması ve üzerinde değil saatler günlerce konuşulabilmesi söz konusu B... [Daha fazla]
TPL – Göz Göre Göre Başımızı Belaya Sokmak 21 Haziran 2010 Burak-Selim-Senyurt Parallel Programming, TPL Ancak birden fazla iş parçasının da deadlock’ a düşmesi, bir başka deyişle birbirlerini beklemeleri nedeniyle, içinde çalıştıkları Thread’ i(çoğunlukla ana uygulama iş parçası-Main Thread) kitlemeleri söz konusudur. Durumu daha net anlayabilmek için aşağıdaki kod parçasını göz önüne alalım. [Daha fazla]
Workflow Foundation 4.0 - Paralel Olmak ya da Olmamak 16 Mart 2010 Burak-Selim-Senyurt WF 4.0 RC Geçtiğimiz günlerde Workflow Foundation 4.0 içerisinde NativeActivity türevli bileşenlerde hata yönetiminin nasıl yapılabileceğini incelerken, ne olduysa kendimi ParallelForEach aktivitesini çalıştırmaya uğraşırken buldum. Bir türlü istediğim gibi ayrı Thread parçaları oluşturulmuyor dolayısıyla aktivite içerisine aldığım işler paralel olarak yürütülmüyordu. [Daha fazla]
Paralel Programlamada Performans, Hız, Verimlilik ve Ölçeklenebilirlik Ölçümleri 22 Şubat 2010 Burak-Selim-Senyurt Parallel Programming Ben Matematik Mühendisliği eğitimi almış bir bireyim. Öğrenim hayatım boyunca en çok yaptığım işlerden birisi, matematiksel teoremlerin bilimsel ispatlarını gerçekleştirmek olmuştur. Hemen hemen mühandisliğin her alanındaki farklı problemlerin modellenmesi ve ispatlarının yapılarak en uygun yol olduklarının gösterilmesi adına pek çok kağıt karalamış ve tüketmişimdir. [Daha fazla]
Webiner - C# 4.0 - Yenilikler [Beta 2] 06 Ocak 2010 Burak-Selim-Senyurt C# 4.0 Çok eskiden bir Delphi programıcısydım. Açıkçası o dönemlerde Delphi geliştirme ortamının hayranı olduğumu itiraf etmeliyim. Delphi 1.0 ile başlayan profesyonel iş yaşantımda ilk geliştirmeye çalıştığım ve neredeyse para kazanmak üzere olduğum programı üniversiteden çok değerli bir sınıf arkadaşım(Orkun Şentürk) ile birlikte yazamamıştık. Arkadaşımın motorsiklet satın aldığı bir mağazaya indirim karşılığında basit bit stok takip programı yazacaktık. Ne varki arkadaşım bir gün motorsikletinin sinyal lambasını kırdı ve 100 Mark değerinde olan lambayı karşılamak için programa yeni özellikler dahil ediliverdi. [Daha fazla]
C# 4.0 - Invariance, Covariance, Contravariance ??? 22 Aralık 2009 Burak-Selim-Senyurt C# 4.0 Aslında .Net' in ilk duyurulduğu ve C#, Vb.Net gibi nesne yönelimli yönetimli dillerin(Managed Languages) dünyaya geldiği anlardan bu yana kalıtımsal ilişkide olan tipler arasında bazı referans geçişlerinin yapıldığını bilmekteyiz... [Daha fazla]
C# 4.0 ile Code Contracts 18 Aralık 2009 Burak-Selim-Senyurt C# 4.0 Uzun süredir ilgimi çeken ama fırsat bulamadığım konulardan birisidir Code Contracts. Özellikle test süreçlerinde önem arz eden ve kodun çalışma zamanında veya kodlama zamanında varsayımsal bazı koşulları sağlayıp sağlamadığını tespit etmemizi sağlayan bir yenilik olarak düşünülebilir... [Daha fazla]
C# 4.0 - COM Interop İyileştirmelerinden Dynamic Import ve Ommiting Ref [Beta 2] 14 Aralık 2009 Burak-Selim-Senyurt C# 4.0 Bildiğiniz üzere C# 4.0 ile birlikte yine köklü dil değişiklikleri hayatımıza girmiş bulunmakta. Özellikle dinamik diller ile olan etkileşimin arttırılması ve COM dünyası ile olan haberleşmede getirilen yenilikler son derece önemli... [Daha fazla]
.Net 4.0 - Lazy Initialization [Beta 2] 14 Aralık 2009 Burak-Selim-Senyurt C# 4.0 Lazy Initialization yetenekleri sayesinde programların gereksiz bellek tüketimlerinin önüne geçilebilir ve ayrıca performans kazanımı sağlanabilir. Aslında uygulamalarımızda Lazy Initialization kullanmamız için gerek ve yeter iki sebep bulunmaktadır... [Daha fazla]