2010 da 2 Yeni Proje!

Perşembe, 31 Aralık 2009 13:29 by ikivanc
2009'a dönüp bakınca gerçekten benim için dolu dolu bir yıl oldu umarım yeni yıl da böyle geçer. Yeni yıl demek benim için klasörlerimin sınıflandılması için her hesabımnda, heryerde yeni birer klasör oluşturmak demekti. Ama bu sene bi farklılık olsun istedim, hatta 2 farklılık :)

Ve 2 Yeni projeye imza atıyorum 1 Ocak itibariyle. Birincisi fotoğraf ile alakalı diğeri de blog ve makalelerle alakalı.

Project365


http://project365.ibrahimkivanc.com/

365 gün boyunca hergün o günümle alakalı bir fotoğraf çekip bunları bir fotoğraf projesinde toplayacağım. Bunun için silverlightta fotoğraflarım için bir proje hazırladım.


Uzun soluklu ve cidden sabır isteyen bi iş, umarım günlük hayatımdan güzel karelerle zenginleştiririm, ilk fotoğrafım ile projem başlasın :)

Tip of Day 365


Yeni bir makale yazmak gerçekten çok fazla vakit isteyen bir iş, ve bu dönemki projelerimin yoğunluğundan dolayı bu kadar bol vakti bulamıyacağım sanırım. Sürekli makale yazmak yerine örneklerine yurtdışında denk geldiğiniz "tip of day" günlüklerinin benzeri günün püf noktası isminde hergün özelliklerle, küçük parçacıklar paylaşacağım.

Microsoft teknolojileri ile alakalı, ağırlıklı olarak da Silverlight, WPF, Linq, IronPython tamamen ince detay!

Hergün girdi yapmak için elimden geleni yapacağım fakat internet imkanım olmadığı takdir de sonraki günlerde o güne ait fotoğrafı ve püf noktayı yükleyeceğim. 

Bu projelerimin haricinde 2 ağır projeyi de sene içerisinde sürdüreceğim; bölümümüzde Yar. Doç. Dr. Mete Çelik ve Yar. Doç. Dr. Filiz Çelik ile beraber Data Mining Üzerine bir proje geliştiriyoruz. Bu projemizde nihayete erişince detayları sizinle paylaşacağım. 

Ve zamanımın büyük bir bölümünü ayırdığım Burak Kanmaz, Fatih Coşkun ile beraber de Imagine Cup'a hazırlanıyoruz. Projemizde demomuz oluştu bile, hedefimiz proje gününe kadar tam sürüm, özellikle de piyasada pazarlanabilecek bir ürün yaratmak. Şimdilik tek eksik, takım ismi ;) Tabiki Kanmaz Hosting'in server sponsorluklarıyla :D Detaylar yine önümüzdeki günlerde burada.

E ne diyelim, yeni yıl hepimiz için kutlu ve dolu dolu olsun :D

Silverlight 3 ile Photoshop PSD ve AI Dosyaları

Çarşamba, 2 Eylül 2009 19:39 by ikivanc
Blend 3 ile gelen yeniliklerin başında Adobe photoshop dosyası olan psd uzantılı tasarım dosyalarının blend ile kullanılabiliyor olması oldu. Sadece psd uzantılı dosyalar değil, aynı zamanda ai uzantılı Adobe Illustrator tasarım dosyalarını da açıp kullanabiliyoruz.

Kendisini Photoshop ve Illustrator da daha rahat hisseden tasarımcılar için ideal bir özellik. Bu özellik sayesinde programlamada kod ve tasarım artık tamamen profesyonel bir biçimde birbirinden ayrıldı diyebiliriz. Grafikerlerin tüm çalışmalarını artık rahatlıkla Silverlight veya WPF uygulamalarımızda kullanabiliriz.

  • Yapmamız gereken adımlar çok basit. Öncelikle Photoshopta bir çok layer’a sahip bir grafik çalışması oluşturuyoruz ve bu çalışmayı psd uzantılı photoshop dosyası olarak kaydediyoruz.

  • Daha sonra bu psd uzantılı dosyayı File> Import Adobe Photoshop File ile Blend 3’te projemize dahil ediyoruz.


 
  • Blend 3’e dahil ettiğimizde aynı photoshopta olduğu gibi tüm layerlar karşımıza geliyor buradan projemize istediğimiz katmanını seçerek alabiliriz.


  • Daha sonra projemize alınan katmanlar birer silverlight bileşeni olarak projemize eklenmiş olacak.

Aynı işlemler Adobe Illustrator için de geçerli. Artık Photoshop ve Illustrator dosyalarını silverlight ve WPF’te kullanmak bu kadar basit.

Hepinize Kolay gelsin. Sorularınızı ve takıldığınız yerleri ik@ibrahimkivanc.com mail adresime iletebilirsiniz.

Makalenin PDF Hali için > 8 - Silverlight 3 ile PSD ve AI Dosyaları

VS2010 + C# 4.0 + Blend 3 + Silverlight 3 + DeepZoom + Ipy 2 + Bing Maps

Cuma, 24 Temmuz 2009 12:40 by ikivanc
Son günlerde staja son sürat devam edip, IronPython ile Silverlight hakkında makaleler yazarken; aynı zamanda  Microsoft'un yeni çıkan teknolojilerini inceleyip adapte olmaya çalışıyorum. Yine eskisi gibi, uyku haricindeki tüm zamanım bilgisayar başında geçiyor... Maceralarımı yakında aktaracam :)

İncelediğim arayüz olarak çok mükemmel olan yeni geliştirme ortamları ile insanın aralıksız kod yazası geliyor :))


Visual Studio 2010 ve .NET 4.0 Beta 1
XAML tabanlı olarak yeniden dizayn edilmiş ve bu XAML kodlarında bazı modifikasyonlar yapmamıza bile izin veriyor. Programla birlikte gelen F#, WorkFlow ve Silverlight 3 dikkat çeken yeniliklerden. .NET 4.0 Kütüphanelerini de kullanarak C# 4.0 ve Asp.NET 4.0 uygulamaları da geliştirebilmekteyiz.

C# 4.0
4.0'da Parallel Extension en fazla dikkatimi çeken özellik oldu. Stajda yazdığım programımda sonuç elde etmek için çok ağır hesaplamalar yaptığı için, paralel programlama zaman kazandırma konusunda bana çok faydası oldu. .Net üzerinde bilimsel çalışma yapmak da bi ayrı oluyor böylece :) C# 4.0 yeniliklerinden de yakında bahsedeceğim ;)

Blend 3
Silverlight 3 ile beraber Blend 3 de çıktı. 60 gün deneme süresi olan Blend de en çok dikkati çekense SketchFlow özelliği. Bu sayede çok hızlı bir şekilde program prototipi elde edebiliyorsunuz. Otomatik kod tamamlama ile çok daha kullanışlı.


Silvelight 3
Silverlight 3 Sonunda çıktı. Çok güzel yenilikleri beraberinde getiren silverlight gün geçtikçe muazzam bir teknoloji haline geliyor.


DeepZoom
DeepZoom çok daha kullanışlı hale gelmiş bu son sürümü ile. Menü, SlideShow ve Link özellikleri gelmiş. En çok beğendiğim fotoğraflarımı bir araya toplayıp yayınlayayım dedim DeepZoom'la. Belki ilerde daha düzgün bir şekilde derler ve güzel bir kompozisyonla size sunarım, şimdilik aşağıdaki derlememle idare edin ve test edin derim deepzoom'u :)


DeepZoom - Fotoroman için tıklayın


IronPython 2.6 Beta 2
Python 2.6'nın .NET geçirilme safhası olan Ipy 2.6 Beta 2 ile son beta sürümünü de yayınladı. Açılışlar ve çalışması önceki beta sürümüne göre daha hızlı bir durumda.

IronPython 2.0.2
IronPython 2.0 için en son düzeltmelerden birisi. Açılış ve proje çalışmalarında da hızlanmayı görmek mümkün.

Bing Maps
Virtul Earth veya Live Maps adıyla bildiğimiz, Microsoft'un haritalama sisteminin adı artık Bing Maps. Bing Arama motorunun duyurulmasının ardından, Bing Maps de duyurulanlar arasında. Silverlight ve WPF ile entegre hallerini test edip bir proje geliştiriyorum yine.

Şimdilik gelişmeler böyle :)

Silverlight 3 - Pixel Shader

Pazartesi, 23 Mart 2009 19:07 by ikivanc
Silverlight 3 ile birlikte gelen yeniliklerden birisi de Pixel Shader. Pixel Shader la birlikte Blur ve Drop Shadow effectleri birlikte gelmekte. Bunların yanında istediğimiz effectleri kendimiz yazarak kullanma imkanına da sahibiz.

System.Windows.Media.Effects namespace'inde bulunmaktadır.

Blur effecti,nesnede bulanıklık vermeye yarar ve bulanıklık derecesini de kendimiz seçebiliriz.
 
Hangi elementi kullanıyorsak onun altında "Element.Effect" içerisine <BlurEffect Radius="1"/> şeklinde yazılarak Blur effecti verilebiliriz.

<Image Source="joneal.jpg" Margin="129,8,160,0" VerticalAlignment="Top" Height="242">

    <Image.Effect>

        <BlurEffect Radius="0"/>

    </Image.Effect>

</Image>




Radius ise bulanıklık derecesini belirtmektedir ve artırdığımızda de değişikliği gözle görebiliriz.

Uygulamamıza slider atarak, slider'ı hareket ettirdikçe 0-10 arasındaki double değeri bulanıklık derecesi olarak fotoğrafımıza veren bir uygulama yapalım.

MainControl.xaml

<UserControl

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"

    x:Class="MediaEffect.MainControl"

    Width="489" Height="256">

 

    <Grid x:Name="LayoutRoot" Background="White">

        <Image x:Name="image_jermaine" Source="joneal.jpg" Margin="23,0,0,0" VerticalAlignment="Top" Height="242" Width="200" HorizontalAlignment="Left"/> 

        <TextBox x:Name="textbox_blur" Height="23" HorizontalAlignment="Right" Margin="0,0,60,55""Bottom" Width="172" Text="" TextWrapping="Wrap" IsEnabled="True" IsReadOnly="True"/>        

        <Slider x:Name="blurslider" HorizontalAlignment="Right" Margin="0,0,60,25" Width="172""Bottom" Height="26"/>
    </Grid>

</UserControl>



MainControl.xaml.cs

    1 using System;

    2 using System.Windows;

    3 using System.Windows.Controls;

    4 using System.Windows.Documents;

    5 using System.Windows.Ink;

    6 using System.Windows.Input;

    7 using System.Windows.Media;

    8 using System.Windows.Media.Effects;

    9 using System.Windows.Media.Animation;

   10 using System.Windows.Shapes;

   11 

   12 namespace MediaEffect

   13 {

   14     public partial class MainControl : UserControl

   15     {

   16         public MainControl()

   17         {

   18             // Required to initialize variables

   19             InitializeComponent();

   20             blurslider.ValueChanged += new RoutedPropertyChangedEventHandler<double>(blurslider_ValueChanged);

   21         }

   22 

   23         void blurslider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)

   24         {

   25             textbox_blur.Text = blurslider.Value.ToString();

   26             BlurEffect bulanik = new BlurEffect();

   27             bulanik.Radius = blurslider.Value;

   28             image_jermaine.Effect = bulanik;

   29         }

   30     }

   31 }





DropShadow

DropShadowEffect de adından anlaşılacağı gibi nesnenin altına gölge verilmesini sağlar

        <Image x:Name="image_jermaine" Source="joneal.jpg" Margin="23,0,0,0" VerticalAlignment="Top" Height="242" Width="200" HorizontalAlignment="Left"

            <Image.Effect>

                <DropShadowEffect Color="Yellow" Opacity="1" ShadowDepth="3"></DropShadowEffect>

            </Image.Effect>

        </Image>


Image.effect'in altında yazdıktan sonra tıkladığımızda properties penceresinde 5 tane değiştirebileceğimiz özelliği gelecektir bu effectin. Bunlardan dilediğimizi değiştirerek istediğimiz effecti verebiliriz.



Bu effectler sadece fotoğraflarda değil tüm silverlight bileşenlerde kullanılabilir.



Takıldığınız, sormak istediğiniz veya düzeltmek istediğiniz yerleri ibrahim.kivanc@msakademik.net mail adresime iletebilirsiniz.

Silverlight 3 - SaveFileDialog

Pazar, 22 Mart 2009 16:45 by ikivanc
Bu yazımızda Silverlight 3 ile birlikte SaveFileDialog kullanımına göz atalım.
İlk olarak yeni bir proje açalım ve proje içerisine metin girilmek için bir textbox ve kaydetmek için bir button ekleyelim.



Projemizin xaml kodları aşağıdaki gibi olacak
MainControl.xaml

  <UserControl

      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

      x:Class="SaveDialog.MainControl"

      Width="416" Height="152">

          <Grid x:Name="LayoutRoot" Background="White">

              <Button x:Name="button_kaydet" Margin="0,71,77,50" Content="Kaydet" Width="90" HorizontalAlignment="Right""button_kaydet_Click"/> Click=

              <TextBox x:Name="textbox_girilen" Height="30" Margin="79,37,77,0" VerticalAlignment="Top" Text="Metin giriniz...""Wrap"/> TextWrapping=

          </Grid>

  </UserControl>


Projemizin C#kodları aşağıdaki gibi olacak

MainControl.xaml.cs

    1 using System;

    2 using System.Windows;

    3 using System.Windows.Controls;

    4 using System.Windows.Documents;

    5 using System.Windows.Ink;

    6 using System.Windows.Input;

    7 using System.Windows.Media;

    8 using System.Windows.Media.Animation;

    9 using System.Windows.Shapes;

   10 using System.IO;

   11 using System.Text;

   12 

   13 namespace SaveDialog

   14 {

   15     public partial class MainControl : UserControl

   16     {

   17         public MainControl()

   18         {

   19             // Required to initialize variables

   20             InitializeComponent();

   21         }

   22 

   23         private void button_kaydet_Click(object sender, System.Windows.RoutedEventArgs e)

   24         {

   25             SaveFileDialog dosyakaydetme = new SaveFileDialog();

   26             dosyakaydetme.Filter = "Metin Belgeleri (.txt)|*.txt|Tüm Dosyalar|*.*";

   27             dosyakaydetme.FilterIndex=1;

   28             bool? ret=dosyakaydetme.ShowDialog();   

   29             if (ret==true)

   30             {

   31                 using(Stream fs = (Stream)dosyakaydetme.OpenFile())

   32                 {

   33                     byte[] metin = (new UTF8Encoding(true)).GetBytes(textbox_girilen.Text);

   34                     fs.Write(metin,0,metin.Length);

   35                     fs.Close();

   36                 }

   37             }

   38         }

   39     }

   40 }


"System.IO" ve "System.Text" namespace'lerini ekleyerek metin işlemlerini ve SaveFileDialog işlemlerini gerçekleştirebiliriz. Dialog penceresinin gösterilmesini bool bir değere bağlayarak kaydetmek istediğimiz metni buna bağlı hale getirdik ve metin içeriğini UTF8 formatında kaydederek saklamamızı sağlayacak.
Ayrıca kaydetmek istediğimiz türü belirlemek için de 2 farklı filtre oluşturduk.


Metni girip kaydet'e bastığımız zaman SaveFileDialog penceremiz geldi. SaveFileDialog'a Filter eklememizle birlikte metin kaydetmemiz daha da kolaylaştı.


Kaydettiğimiz metin dosyasının içeriği kaydetmek istediğimiz metin ile aynı, başarı ile kaydedildi. SaveFileDialog'u istediğimiz şekilde modifiye ederek projede istediğimiz gibi kullanabiliriz.

Takıldığınız, sormak istediğiniz veya düzeltmek istediğiniz yerleri ibrahim.kivanc@msakademik.net mail adresime iletebilirsiniz.

Expression Blend 3

Cumartesi, 21 Mart 2009 18:06 by ikivanc

MIX09 ile duyurulan en güzel haberlerden birisi de tabiki Expression Blend 3 oldu. Silverlight 3.0 Beta’nın duyurulması ile birlikte derleyicisinde de değişikliklikler ve yenilikler oldu. Blend 3'ün MIX09 Preview sürümü duyuruldu. Buradan indirebilirsiniz. Ben de çıkar çıkmaz kurup denedim ve çok hoşuma gitti. İncelemek için kısa bir bakışla gözüme çarpan yenilikleri paylaşmak istedim.


Yeni proje açmak ve projeyi yönetmek daha da kolaylaştı ve önceki Blend’e nazaran görüntüsü ve proje düzeni çok daha kullanışlı olmuş yeni sürümü ile.


Blend 3 ile gelen en güzel özelliklerden birisi de tabiki kod intellisense’ı yani XAML kod yazarken kodlarınız otomatik olarak tamamlayabiliyoruz . Açıklamaları ile de öğrenmemizi kolaylaştıracağı kesin. Bu sayede çok daha hızlı bir şekilde müdahale edebilecek ve projenizi hızla geliştirebileceğiz.


Expression Blend’in en büyük eksiklerinden birisi de XAML arkasında çalışan C# ve VB kodları düzenlemek istediğinizde Visual Studio da açmanız gerekliliği idi. Blend 3 ile artık kendi içerisinde arkada çalışan kodlarda düzenlemeler yapabilecek ve derleyebileceğiz. Ki bu özellik gerçekten işlerimizi çok ama çok pratikleştirecek.


Projenin yerleşimi ve erişimi de yeni tasarımı ile kolaylaşmış durumda.

Silverlight 3 ile bizi pek çok yenilik bekliyor... 3D nesneler, özel bileşenler ve daha pek çoğu işimizi çok kolaylaştıracak.

Blend 3 gerçekten çok şık ve kullanışlı olmuş. Özellikle C# kodlarını editleyebilmemiz ve XAML intellisense mükemmel özelliklerden bazıları.

Genel izlenimim Silverlight 3 hakkında developer sürümü olmasına rağmen Silverlight 2 ile sorunsuzca çalışması beni çok sevindirdi.

Bu kısa zamanda gözüme çarpan güzellikleri bunlardı. Umarım diğer pek çok detay gelişmeyi de zamanla inceleme fırsatım olur. Kararlı haline çabucak kavuşur da bizlerde sorunsuzca projeler geliştirebiliriz...