Ana Sayfa | English Blog | Seminer TV | Dil Cookie Sil  Blog'u Mail ile takip et!  
Daron Yöndem
bir yazılımcının tasarıları...
 Saturday, February 06, 2010

MS Days BulgariaHerkese selamlar! :) Neden bilmiyorum ama selam vererek yazıya başlayasım geldi. Geçenlerde Bulgaristan'da bir üniversiteden mail almıştım ve "Ne kadar Türk var orada?" diye sorduğumda aldığım cevap beni epey şaşırtmıştı. Sanırım bizim buradan Bulgaristan'a okumaya giden epey gencimiz var :) İşte bu duyuruyu da onlar için bloğuma yazma kararı aldım. Mart sonunda 29Mart-1 Nisan arasında üç gün boyunca Bulgaristan'da Sofya'da olacağım. Microsoft'un “MS Days” adındaki konferansında iki oturumum var.

Oturumlardan biri hem WPF hem de Silverlight tarafında yani web ve windows'ta Multitouch programlama ile ilgili. Diğeri ise Silverlight 3 ile beraber gelen ve 4'teki yeni özelliklerle daha da kuvvetlenen Silverlight'ın "Out-Of-Browser" modunu içeriyor. OOB modu ile web uygulamalarının kontrolünü ve veri senkronizasyonunu inceleyeceğiz. Multitouch oturumu lvl200 iken OOB lvl300'e yaklaşacak diyebilirim.

Özetle, Bulgaristan'daki tüm arkadaşları tabi olanakları elveriyorsa kendi ülkelerinde yapılan bu aktiviteye bekliyorum ;) Kayıt için msbgregistration.com adresini ziyaret edebilirsiniz. Ayrıca facebook sayfası da burada. Genelde Bulgarca birşeyler yazılı, kötü birşeyler yazılırsa bana haber verin :P

Unutmadan! Bulgaristan'daki Türk MVP'lerimizden sevgili Coşkun Sunalı'nın da aktivitede bir oturumu var ;) Coşkun'un oturumunu da takvime almayı unutmayın bence ;)

Saturday, February 06, 2010 2:32:24 PM (GTB Standard Time, UTC+02:00)  #    Comments [4]   Silverlight 3.0 | Silverlight 4  | 
 Saturday, January 30, 2010

Geçen sene :) 2009 Aralık'ta sanırım Türkiye'nin ilk ve tek :) Windows 7 Partisi'ni gerçekleştirdik. Windows 7 Parti'leri yurt dışında da birçok ülkede gerçekleşmişti. Denizli'de Pamukkale Üniversitesi öğrencilerinin katılımı ile gerçekleştirdiğimiz etkinlik efsanevi bir havadaydı :) "Anlatılmaz, Yaşanır" denir ya? Aynen öyle oldu :) Piyanist şantör eşliğinde bu etkinlikteki en önemli an "Ah bu hayat çekilmez" şarkısının Windows 7 ile yorumlanmasıydı :) Nasıl mı? Aşağıdaki videoyu kaçırmayın ;)

Etkinlikte desteklerinden dolayı özellikle sevgili MSP'ler Doruk Dalçam ve Filiz Ölmez'e çok teşekkürler! Sizlere de iyi seyirler... ;)

Saturday, January 30, 2010 11:55:32 AM (GTB Standard Time, UTC+02:00)  #    Comments [4]   Windows 7  | 
 Monday, January 25, 2010

Bugün üzerinde uğraştığım bir projede X bir windows uygulamasının çalıştığı makinedeki tüm networking device'ları Enable etmesi veya tam tersine Disable etmesi gerekiyordu. Çözümü uygularken aslında bu konudan blogda da bahsetmenin iyi olabileceğini düşündüm. Malum bu tip bir işlemi kendi ellerimizle Windows'un sunduğu arayüzlerden yapabiliriz fakat programatik olarak da bunu yapmak mümkün müdür? Tabi ki mümkün :) Aslında bu noktada anahtar cevap WMI (Windows Management Instrumentation).

WMI için çok farklı tanımlar yapılbilir fakat en yüzeysel hali ile bu makalemizi ilgilendiren kısmı WMI aracılığı ile bizim işletim sistemi tarafından sunulan birçok yönetimsel (yönetilebilir) cihazın (bazı) ayarlarına ve aksyonlarına ulaşabiliyor olmamız. Bunlar bildiğimiz Property ve Method'lar şeklinde karşımıza çıkar. Bu dünyaya hızlı bir giriş yapmak için aslında WMI içerisinde neler bulabileceğinizi ve varlığını bilmeniz yeterli çünkü WMI'ın yapısını bilmeden de hazır araçlarla çok hızlı ilerleyebilirsiniz.

WMI Code Creator v1.0

Yukarıdaki linkten indireceğiniz araç size tüm WMI sınıflarını gezme şansı verecektir. Hatta bu kadarla kalmayıp bu sınıflara VB.NET, VBScript ve C# tarafından nasıl ulaşabileceğinizi gösteren hazır kodlar da üretecektir. Bu kodları doğrudan herhangi bir .NET uygulamasını alıp çalıştırabilmeniz için tek yapmanız gereken System.Management DLL'lerini referans olarak projenize eklemek.

WMI Code Creator içerisinden NetworkAdapter'lara ulaşan kodu alabiliyoruz.
WMI Code Creator içerisinden NetworkAdapter'lara ulaşan kodu alabiliyoruz.

Yukarıdaki ekran görtünüsünden aldığımız kod doğrudan bir sistemdeki tüm NetworkAdapter yani network cihazlarının listesini veriyor. Bu cihazlarla ilgili tek tek işlem yapmak da hiç zor değil. Uygulama içerisinde "Execute a method" adındaki ikinci ekrana geçtiğinizde istediğiniz WMI sınıfına göz atarak hangi metodların bulunduğu görebilirsiniz. Bu metodlardan birini seçerseniz bu sefer de o metodu çağıran bir kod yaratılacaktır.

Network cihazlarına uygulayabildiğimiz aksyonlar.
Network cihazlarına uygulayabildiğimiz aksyonlar.

Aynı şekilde bu gibi cihazların eventlarını da dinleyebileceğinizi tabi ki unutmayalım ve son bir dipnot olarak da WMI üzerinde bulabileceğiniz herşeyin sadece işletim sistemi ile alakalı olmak zorunda OLMADIĞI olacak :) Kafalar hafiften karışmış olabilir fakat özetlemek gerekirse. WMI Provider'ı olan her tür yazılım bu motoru kullanabilir. Örneğin bir makineye yüklü SQL Server'da her veri tabanı yaratıldığında haberdar olmak isteyebilirsiniz :) Bu gibi daha birçok şey WMI'lar üzerinden yapılabilir.

Gelelim bizim hikayemize... Bir sistemdeki Network cihazlarını yakalayıp onları kapatabilecek veya açabilecek kod aşağıdaki şekilde sonlanıyor;

[VB]

        Dim WMI = GetObject("winmgmts:\\.\root\cimv2")

        Dim Adapters = WMI.Execquery("Select * from Win32_NetworkAdapter")

        For Each Adapter In Adapters

            Adapter.Disable()

        Next

Hepinize kolay gelsin ;)

Monday, January 25, 2010 10:41:16 PM (GTB Standard Time, UTC+02:00)  #    Comments [2]   .NET Framework 3.5 | Visual Basic 2008 | WMI  | 
 Thursday, January 21, 2010

Geçen sene buradaki duyuru ile sizlerle paylaştığım üzere 2009 yılında Microsoft Regional Director ünvanını almıştım. MVP'lik ile RD'lik arasındaki farklardan geçen seneki postta bahsettiğim için bu sene o konuya girmeden :) aldığım sevinçli haberi sizlerle paylaşmak istiyorum. 2010 ve 2011 yıllarında da Microsoft Regional Director'lık devam edecek:) İki yıllık periyodlarla yenilenen bu programın tam ortasında 2009 Ocak'ında girmiştim ben. Bu sefer tam tur bulunacağım. Şu anda Türkiye'den Atakan Kesler ve ben bulunuyoruz, MEA bölgesinde 4 RD tüm dünyada ise 110 RD bulunuyor.

Microsoft Regional Director

Geçen seneki postumdandan ufak bir referans alacağım hemen; "RD'lerin aynı MVP'lerin bireysel anlamda yazılımcılara yardımcı olduğu gibi kurumsal alanda kurumlara yardımcı olma misyonu vardır. İster bir sosyal topluluk olun ister bir kurum herhangi bir RD'yi uzmanlık alanlarından birinde konuşmak üzere şirketinize davet edebilirsiniz. RD'lerin varlığının anlamı zaten budur." demişim. 2009 raporlarımı filtrelediğimde yıl içerisinde 96 kurumsal ziyaretim olduğunu gördüm. Sanırım yıl boş geçmemiş :)

2010 ve 2011 için.

Bu yıllar çok heyecanlı geçecek. Önümüzde bir çok yeni güzellik var. Unutmayın ki RD'ler sizler için var olan gönüllü kişiler ve istediğiniz zaman onlarla iletişime geçip kurumsal anlamda da yardım isteyebilirsiniz. Şirketinizin vermekte zorlandığı bir karar konusunda yardım isteyebilir, danışabilirsiniz. Örneğin bir yazılımcı veya ekip olarak kullanmak istediğiniz yeni bir teknoloji ile ilgili şirketinizde ister doğrudan patronunuz olsun ister üst seviyede karar vericiler olsun gerçekçi ve tarafsız bir bakış açısı ile sektörden bir uzmanın fikrini sunmak istediğinizde RD'lerden yardım isteyebilirsiniz. İşin ticari boyutu ve bakış açısı ile beraber ele alınıyor olması patronunuz için çok daha anlamlı olabilir. Özetle, siz yeter ki yardım isteyi ;)

Unutmadan, dünyadaki tüm diğer RD'lerin bloglarına ulaşmak isterseniz theregion.com'u ziyaret edebilirsiniz ;)

Thursday, January 21, 2010 11:41:42 AM (GTB Standard Time, UTC+02:00)  #    Comments [3]    | 
 Wednesday, January 20, 2010

Uzun zaman olsun seminer kayıtlarını bloguma taşıyalı. Bir süredir pek kayıt almadığımın farkına vardım :) En son INETA NEXT İstanbul'daki Visual Basic 2010 oturumunun kaydını sizlerle paylaşarak önümüzdeki dönemde gelecek yeni kayıtların da kapısını açmış olalım ;)

Yukarıdaki videoyu bilgisayarına indirmek isteyenler blogumun SeminerTV bölümünden faydalanabilirler.

İyi seyirler...

Wednesday, January 20, 2010 12:30:36 PM (GTB Standard Time, UTC+02:00)  #    Comments [6]   Visual Basic 2010 | Visual Studio 2010  | 
Copyright © 2010 Daron Yöndem. Tüm hakları saklıdır.