IE8 Accelerator-Google Translator
24 Nisan,2009

Bugün sizlere geliştirdiğim IE8 hızlandırıcısı hakkında bilgi vereceğim.Bu hızlandırıcı ile kolaylıkla seçili ingilizce bir kelimenin google translate’de türkçe karşılığını bulabiliyorusunuz.IE8’in bu özelliği sayesinde gerçekten de işim kolaylaşmış oldu.Belki de iyice tembelleştiğimden dolayı  hoşuma gidiyordur kim bilir:)Biraz da işin kod kısmına bakalım.Öncelikle hızlandırıcıların yapısına göz atalım.Hızlandırıcıların çalışma yapısı aşağıdaki XML’de saklıdır.Bu XML dosyları OpenServiceFormat denilen bir standarta uygun hazırlanırlar.

<?xml version="1.0" encoding="utf-8"?>

<openServiceDescription   

xmlns="http://www.microsoft.com/schemas/openservicedescription/1.0">

<homepageUrl>http://translate.google.com</homepageUrl>

<display>   

   <name>Google Translater</name>

   <icon>http://translate.google.com/favicon.ico</icon> 

</display>

<activity category="Translation">

   <activityAction context="selection" >

    <preview action="http://translate.google.com/#en|tr|{selection}">

    </preview>

    <execute action=" http://translate.google.com/#en|tr|{selection}">

    </execute>

   </activityAction>

</activity>

</openServiceDescription>

Diyelim ki herhangi bir web sayfasında pattern diye bir kelimeyi google translate’de arama yaptırdığımızda url’de şu şekilde bir adres görürüz.

http://translate.google.com/#en|tr|pattern

Tek yapmamız gereken gereken query string’lere gerekli parametreleri atamak olacaktır.Normalde query string olan hl’ye değer olarak “tr#en|tr|” değerini  ve arama metnimizi atamamız gerekiyor.Fakat  url ‘de “# “ ve “|” gibi karakter sorunu oluştuğu için  parametre eklemek yerine bu işlemi  direk action kısmında hallediyoruz.  Preview tagı hızlandırıcıya tıklamadan sadece üzerine gelince seçilen metnin çevirisini önizleme olarak göstermek için kullanılmaktadır.execute tagı ise metni seçip hızlandırıcıya tıklandıktan sonra çeviri sonucunun gösterildiği sayfayı açmak için kullanılır.

Şimdi gelelim hızlandırıcımızın IE8’e yüklenmesine.Bunu da aşağıdaki Javascript kodları ile yapmak mümkün.

<button onclick="window.external.addService('accelerator.xml')">Google Çeviri</button>

Örnek kodları linkten indirebilirsiniz.Teşekkürler.

IE8Accelerator.rar (12,41 kb)

Kategoriler: C#

Silverlight 3 Beta-GPU Hızlandırıcısını Aktifleştirme
13 Nisan,2009

Herkese merhabalar.Bugün size Silverlight 3 Beta ile ilgili aslında bir ipucu sayılabilecek bir konudan bahsetmek istiyorum.Silverlight 3 Beta 1 ile GPU(Graphics Processing Unit) hızlandırıcısı geldi.Peki bunu nasıl kullanabiliriz acaba?GPU bizim görüntü kartımızın üzerinde bulunan bir işlemcidir,CPU zamanından kazanç sağlamak ve yükünü hafifletmek amacıyla grafiksel hesaplama işlemleri GPU’da yapılır.Bu kadar donanımsal bilgilendirmeden sonra işin yazılımsal kısmına geçelim:)

Varsayılan olarak bu özellik deaktif olarak gelmektedir.Hızlandırıcıyı aktifleştirmek için hem silverlight host control’de hem de hangi kontrolde kullanmak istiyorsak onun özelliklerinden aktifleştirmemiz gerekiyor.

HTML için Silverlight Control’e şu parametreleri eklememiz yeterlidir.

<param name="EnableGPUAcceleration" value="true" />

ASP.NET sayfalarındaki Silverlight Control için ise:

<asp:Silverlight ID="Silverlight1" EnableGPUAcceleration="true" runat="server" Source="~/ClientBin/MyApp.xap" MinimumVersion="3.0.40307.0" Width="100%" Height="100%" />

Şimdi kontrolümüzde CacheMode özelliğini kullanarak hızlandırıcıyı aktifleştirelim.

<Image CacheMode="BitmapCache" Source="MyImage.png"></Image>

Şu anda seçenek olarak BitmapCache sunulmaktadır.Element ler bir kez cache’e alındıktan sonra uygulama cache’deki element’leri render işlemi uygulamadan gösterir.

Eğer neyin cache’e alındığını test etmek istiyorsanız aşağıdaki niteliği kodlarınıza eklemeniz yeterlidir.

<asp:Silverlight EnableCacheVisualization="true" ID="Silverlight1" EnableGPUAcceleration="true" runat="server" Source="~/ClientBin/MyAPp.xap" MinimumVersion="3.0.40307.0" Width="100%" Height="100%" />

Son olarak belirteceğim bir husus da hızlandırıcıların sadece aşağıdaki durumlarda meydana geldiğidir.

  1. Transformations (translating, rotating, stretching, vs.).
  2. Clipping.
  3. Blending.
Etiketler:
Kategoriler: Silverlight

INETA NEXT HIT İle Heyecan Devam Ediyor!
1 Nisan,2009

Bugün bir etkinlik duyurusunda bulunacağım.Sonunda beklenen INET NEXT HIT 11-12 Nisan'da Yıldız Teknik Üniversitesi, Beşiktaş Kampüsü Oditoryumu'nda gerçekleşecek.Etkinliğe katılım için inetatr.org adresinden kayıt yaptırmanız yeterli.Etkinlik programı aşağıdaki gibidir.

 

Etiketler:
Kategoriler: Genel