Abdurrahman KÖKEN | BLOG

just a developer... | Microsoft Student Partner

WPF-Performans Arttırma Metodları #2

Mart 01
by Abdurrahman Köken 1. Mart 2010 22:25

WFP uygulamalarında performansı arttırma yöntemleri makalemin ikinci kısmından bahsedicem.Uygulama geliştirirken bu önemli noktaları göz önünde bulundurursanız çok daha iyi sonuçlar elde edebilirsiniz.

1.Gereksiz layout geçişlerini azaltın

2.Shape objeleri  yerine Drawing kullanın

3.Geometrik şekiller için PathGeometry’e alternatif olarak StreamGeometry kullanın 

4.Şekil,resim ya da text’leri render etmek için DrawingVisual kullanın

 

5.Bir resmin thumbnail’ine ihtiyacınız varsa ,boyutunu küçülterek kullanın

6.Belleği korumak ve performansı arttırmak için CachingHint’i olabildiğince ayarlayın

7. Brush kullanmak performans için kritik bir durum. ImageBrush ya da SolidColorBrushın yeterli olduğu durumlarda VisualBrush veya  DrawingBrush kullanmayın.Kolay gelsin. 

Kaynak:MSDN

1 kişi tarafından 4.0 olarak değerlendirildi

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

WPF

MSP Mart Ayı Webinerleri

Şubat 28
by Abdurrahman Köken 28. Şubat 2010 14:58

Türkiyenin dört bir yanından Microsoft Student Partner'ların en son Microsoft Teknolojileri hakkında gerçekleştirdiği online seminerler, yani webinerler tüm hızı ile devam ediyor.

Micorosoft Office Live Meeting sayesinde webinerlere katılmak için bir yere gitmenize gerek yok. Webinerlere katılmanız için yapmanız gereken tek şey, webiner günü bu etkinlik sayfasında yayınlanan bağlantı link'ine Microsoft Office Live Meeting ile bağlanmak.

Eğer daha önce Microsoft Office Live Meeting kullanmadıysanız aşağıdaki açıklama ile kolayca webinerlere bağlanabilirsiniz.

Mart Ayı Webinerleri şöyle :

Tarih: 3 Mart 2010
Saat: 20:00
Konu: Windows Azure ve .Net Services
Konuşmacı: Alp Altıntürk(İstanbul Üniversitesi),Ahmet Yusuf KIN(Marmara Üniversitesi)
Blog : (http://www.altinturk.net/)
(http://ahmetyusufk1n.blogspot.com/)


Tarih: 17 Mart 2010
Saat: 20:00
Konu: VS 2010 Yenilikleri
Konuşmacı:Abdurrahman Köken (Kocaeli Üniversitesi) , Yasemin Çelik(Galatasaray Üniversitesi)
Blog: (http://blog.akoken.com/)


Tarih: 31 Mart 2010
Saat: 20:00
Konu: Office 2010
Konuşmacı:Yusuf Öztürk(Yıldız Teknik Üniversitesi) , Stefan Kirof(Koç Üniversitesi)
Blog: (http://www.yusufozturk.info/)
(http://www.stefankirof.com/)


Microsoft Office Live Meeting ile Webinerlere Bağlanmak İçin:

1. Ücretsiz Office Live Meeting Programını indirmek için resmi download sitesine buradan gidin: http://office.microsoft.com/en-us/help/HA101733831033.aspx
2. Kullanım koşullarını okuduktan sonra aşağıdaki "Accept Terms and Install Client" linkine tıklayın ve programı indirin.
3. Program indikten sonra setup'ı çalıştırarak programı yükleyin.
4. Office Live Meeting'i çalıştırdıktan sonra açılan penceredeki "Location" kutucuğuna webiner günü burada yayınlanan bağlantı kodunu girin.
5. Ardından Join'e basın.
6. Karşınıza adınızı soran bir kutucuk gelcektir, oraya adınızı girdikten sonra yeninden Join'e basmanız webinere bağlanmanız için yeterli.

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Etkinlik

Silverlight 4 Beta Network Videoları

Şubat 24
by Abdurrahman Köken 24. Şubat 2010 16:01

2 kişi tarafından 4.5 olarak değerlendirildi

  • Currently 4,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Silverlight

WPF- Performans Arttırma Metodları #1

Şubat 23
by Abdurrahman Köken 23. Şubat 2010 16:53

Bildiğiniz gibi Visual Studio 2010 geliştirilirken Windows Presentation Foundation (WPF)  kullanıldı.Bu aslında Microsoft’un WPF’e verdiği önemi açıkca ortaya koymaktadır.Geçtiğimiz günlerde Visual  Studio 2010 RC yayınlandı.Sistemine yükleyenler Beta sürümünden sonra RC’deki performans artışının farkına varmışlardır.

 

Peki bir WPF uygulaması geliştirirken iyi bir performans istiyorsanız dikkat etmeniz gereken birkaç püf nokta bulunmaktadır:

·Oluşturulan görselliği azaltmak için Template’inizi basitleştirin.

·ItemsPanel olarak VirtualizingStackPanel kullanın.

·VirtualizingStackPanel.IsVirtualizing property’sini True olarak ayarlayın.

·Her seferinde referans olarak alınan kaynakları tekrar yüklemek yerine.

·Tanımlamış olduğunuz bir property’de değişiklik yapmaya gerek yoksa PresentationOptions:Freeze="True" olarak ayarlayın.

·Resource kullanımında da her seferinde tekrar kaynakların yüklenmesini engellemek için Resource Dictionary kullanın.

4 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

WPF

Microsoft Outlook Sosyal Ağ Konektörü Duyuruldu!

Şubat 18
by Abdurrahman Köken 18. Şubat 2010 18:09

Geçtiğimiz günlerde office ürün takımı Microsoft Office 2010 Beta için Outlook Sosyal Ağ Konektörü duyurdu.Outlook konektörü,iletişim geçmişini,kontakt bilgilerini,profesyonel ve sosyal ağ bilgilerini Outlook deneyimiyle biraraya getiriyor.

Ayrıntılı bilgiye ve download linkine buradan ulaşabilirsiniz.

Kolay gelsin!

1 kişi tarafından 3.0 olarak değerlendirildi

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Genel

ASP.NET-Web Güvenliği #1

Şubat 16
by Abdurrahman Köken 16. Şubat 2010 18:30

Bu yazımda  web sitelerinde  kötü niyetli dosya çalıştırma ve bir asp.net projesinde  bu saldırılardan korunma yöntemlerinden birinden bahsedeceğim.Bir web uygulamamız olduğunu ve bu uygulamamızda üyelik sistemi olduğunu düşünelim.Bu siteye üye olan kullanıcılar FileUpload kontrolü ile profiline resim yüklediklerinde www.siteadi.com/users/pictures klasöründe saklansın.Peki kendini hacker sanan bir arkadaş FileUpload ile resim yüklemek yerine index.asp dosyasını yüklerse sonuç ne olur sizce?

 

 

 

 

 

 

 

Dosyayı yüklediğinde www.siteadi.com/users/pictures/index.asp şeklinde direkt bir erişim sağlayabilir ve kendi dosyasını sizin sisteminizde çalıştırabilir,tabi önleminizi almazsanızJHatta açılış sayfanızı silip kendi sayfasını bile koyabilir.Bu tarz olaylarla karşılaşmamak için dosya yükleme yapmadan önce gerekli işlemleri yapmalıyız ve System.IO ve System.Text.RegularExpressions isim alanlarını eklememiz lazım.İlk olarak yüklenecek dosyanın uzantısını almamız gerekiyor.Bunu Path.GetExtension metodu ile şu şekilde yapabilirsiniz.

string ext = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);

Dosya uzantısını aldıktan sonra uzantının hepsinin büyük ya da hepsinin küçük harfle başlayıp başlamadığını kontrol etmemiz gerekmektedir.Ben daha çok hepsini küçük harfe çevirerek kullanıyorum.ext = ext.ToLower();Son olarak Regex sınıfının IsMatch metodunu kullanarak yüklenecek dosyanın  istediğimiz dosya formatları ile uyuşup uyuşmadığını kontrol ediyoruz.Hepsi bu kadar!

if (Regex.IsMatch(ext,".jpg|.jpeg|.bmp|.gif"))

{    

    //TODO:Resim formatı uygun

}

else

{

  //TODO:Uygun olmayan dosya formatı

} 

Gördüğünüz gibi bu tip saldırıları önlemek oldukça kolay.Basit bir saldırı yöntemi olmasına rağmen üzücü sonuçlar yaratabilecek kadar da iyi bir yöntem.

Kolay gelsin!

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

ASP.NET | Güvenlik

Snoop-Visual Studio 2010 Algılama Sorunu

Şubat 07
by Abdurrahman Köken 7. Şubat 2010 16:36
Eğer siz de  benim gibi büyük WPF uygulamaların nasıl yapıldığını merak ettiyseniz Visual Studio 2010 Beta 2’nin görsel ağaç yapısını incelemek için Pete Blois tarafından geliştirilen Snoop programını denemişsinizdir.Eğer denediyseniz Snoop’un Visual Studio 2010’nu algılayamadığını da farketmişsinizdir.Bu sorunun tam olarak neden kaynaklandığından emin değildim bu yüzden Snoop programının kaynak kodlarını indirdim ve kodlara biraz göz attım.Algılama sorununa sebep olan satır IsValidProcess property’siydi.

 

Sisteminizde ister VS2008 ister VS2010 çalıştırın farkettiyseniz proseslerde ikisi de devenv  olarak geçmektedir.Biz hangisi olduğunu oradaki açıklama kısmında görüyoruz sadece.Bu yüzden IsValidProcess property’sine devenv geldiğinde otomatikman false olarak atanıyor.Bizim burada yapmamız gereken eğer devenv VS2008 ise false olmasıdır.Property kodlarına şu satırları eklediğimizde artık sorunumuz ortadan kalkacaktır.

if (process.Id == Process.GetCurrentProcess().Id)

  isValid = false;

else if (process.MainWindowHandle == IntPtr.Zero)

  isValid = false;

else if (process.ProcessName.Contains("devenv")&& process.MainModule.FileVersionInfo.FileDescription.Contains("2008")){  isValid = false;} 

else{

 foreach (ProcessModule module in process.Modules){

    if (module.ModuleName.Contains("PresentationFramework.dll") ||module.ModuleName.Contains("PresentationFramework.ni.dll")){

      isValid = true;break;}}}

Yukarıdaki kırmızı ile yazılmış kod satırını yazdıktan sonra eğer çalışan proses VS2008 ise isValid’i false döndrüüyoruz.Uygulamayı çalıştırdığımızda artık Visual Studio 2010’u algıladığını görebilirsiniz.

 

 

 

 

 

 

 

 

İsterseniz uygulamanın benim tarafımdan düzenlenmiş halinin setup dosyasını buradan indirebilirsiniz.Kolay gelsin.

3 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Visual Studio | WPF

Windows 7'de Yerel Grup Politikası

Ocak 27
by Abdurrahman Köken 27. Ocak 2010 00:02

Bu yazımda biraz ilgi alanım dışında kalan konulardan birine değineceğim.Bir yazılımcı olarak sistem mühendislerinin çok iyi bildiği bir konudan bahsedeceğim.Peki  madem yazılımcıyım neden sistemle ilgili bir konuyla ilgili yazıyorum?Cevabı aslında çok basit:)Bir bilgisayar mühendisi olarak evet her şeyi çok bilmek zorunda değilim ama bilgisayarla ilgili bir soru karşıma geldiğinde sorunun cevabını veremesem bile en azından ne demek istediğini anlamak lazım:)Neyse artık yazıma geçeyim.

Sizce çok kullanıcılı bir bilgisayarda kullanıcılara bilgisayarda yüklü programlardan belirli bir kısmını çalıştırabilmelerine izin vermenin  yani kısıtlamanın en kolay yolu nedir?Cevabı Yerel Grup Politikası’dır.Kısaca yerel grup politikasından bahsedeyim.Yerel grup politikası Windows 2000 release olduğunda Active Directory ile beraber gelen çok güçlü bir araçtır.Kayıt defteriyle uğraşmadan bilgisayarınızı kontrol etmeniz için çok fazla seçenek sunar.

Windows 7’de Yerel Grup Politikası’nın kullanabilmek için şunları yapmamız gerekiyor.İlk önce Çalıştır’a “gpedit.msc”  yazıp Yerel Grup Politikası Editörünü açalım.

 

Daha sonra açılan editörde sol taraftaki yönlendirme panelinde şu yolları takip edelim.”User Configuration \ Administrative Templates \ System‘a tıkladıktan sonar sağdaki panelden “Run only specified windows application”ı seçiyoruz.

 

Bu sayede sadece bizim istediğimiz uygulamaların çalışmasına izin verilecektir.Siz isterseniz buradaki farklı politikaları uygulayabilirsiniz.Açılan popup pencerede ilk olarak “Enabled” seçeneğini aktif hale getirip “Show” butonuna tıklıyoruz.

 

Açılan diyalog kutusundaki Value kolonuna çalışmasını istediğimiz programların çalıştırılabilir isimlerini yazıyoruz.Eğer tam hatırlamıyorsanız görev yöneticisdeki “İşlemler tabından bakabilirsiniz.

 

OK butonuna bastıktan sonra bu politikanın uygulanması için OK ya da Apply butonuna basmak yeterli olacaktır.Bu noktadan sonra eğer kullanıcı yukarıya yazdığımız programlar dışında herhangi bir programı çalıştırmak istediğinde çalıştıramayacaktır ve hata mesajı alacaktır.

 

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Windows 7

MSP Webinerleri-Mobile Development

Ocak 20
by Abdurrahman Köken 20. Ocak 2010 16:56

Microsoft Student Partner’ler tarafından gerçekleştirilen Ocak ayı etkinliğinde Gizem Gülşen 21 Ocak günü saat 20.00’de Mobile Development webineri verecektir.
Bu web seminerinde:

Mobile Cihazların Hayatımızdaki Yeri, Microsoft Mobile Teknolojilerinin, Geliştirme Araçlarının örneklerle anlatılması ve Microsoft Tag’den bahsedilecektir.Katılımlarınızı bekliyoruz arkadaşlar!
 

Oturuma katılmak için:
1. Eğer yüklü değilse http://office.microsoft.com/search/redir.aspx?AssetID=XT102227921033&CTT=5&Origin=HA101733831033 adresinden LiveMeeting Programının kurulumunu indirin.

2. Program indikten sonra setup'ı çalıştırarak programı yükleyin.

3. Office Live Meeting'i çalıştırdıktan sonra açılan penceredeki "Location" kutucuğuna webiner günü burada yayınlanan bağlantı kodunu girin.

4. Ardından Join'e basın.

5. Karşınıza adınızı soran bir kutucuk gelcektir, oraya adınızı girdikten sonra yeninden Join'e basmanız webinere bağlanmanız için yeterli. 
 
6.
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032440662&Culture=TR-TR linkine online Kayıt diyerek. Etkinliğe Live ID’nizle (Hotmail, MSN, XBox hesabınız) kayıt olmanız gerekiyor.

7. Daha sonra adresinize gelen bağlantı sağlayıcıyı kullanarak web seminerine katılabilirsiniz. 

Bu yazıyı ilk değerlendiren siz olun

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Kodu PC Technical Preview Yayınlandı!

Ocak 16
by Abdurrahman Köken 16. Ocak 2010 02:40
 Şu ana kadar Kodu sadece Xbox’da çalışmaktaydı.Fakat şimdi PC ler için Kodu’nun tecnical preview sürümü yayınlandı.Etkileşim için sadece mouse ve klavyenizi kullanabilirsiniz artık oyun konsoluna gerek kalmadı.PC Kodu’yu buradan indirebilirsiniz.

Kodu oyun geliştirmek için yapılmış görsel bir programlama dilidir.Kodu ile ilgili Kodu blog, Planet Kodu ve KoduX gibi web sayfaları bulunmaktadır.Bu web sayfalarını ziyaret ederek Kodu ile ilgili daha çok bilgi edinebilirsiniz.İyi oyunlar.

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , ,

Genel

Abdurrahman Köken-Recent Post