Yazılım Mimarisi ve Yazılım Mühendisliği hakkında herşey...

20100327

Yade 4 yas fotosu

Bu e-posta, Turkcell BlackBerry ile gönderilmiştir.

Posted via email from eaxitect

Yade 4 yasinda....

Yegenim Yade 4 yasinda artik...
Bu e-posta, Turkcell BlackBerry ile gönderilmiştir.

Posted via email from eaxitect

20100326

SYM won Plug&Work Competition!!!

SYM has won 2010 Plug&Work competition. The grand prize is startup starter pack@hannover...
Bu e-posta, Turkcell BlackBerry ile gönderilmiştir.

Posted via email from eaxitect

Posterous hatasini duzelttim...

Group profile ayariyla bu hata giderildi...
Bu e-posta, Turkcell BlackBerry ile gönderilmiştir.

Posted via email from eaxitect

Posterous hatası

Şu one post to rule them all olayını bi çözsem var ya....

Posted via web from SYM Software

SYM Software web site re-engineered

SYM Software Web Site, re-engineered in parallel with new business strategy, SYM2.0. The social network presence is re-engineered, too...

SYM Yazılım Web Sitesi, yeni SYM2.0 stratejisine paralel olarak güncellendi. Ayrıca, sosyal ağ bağlantıları da yeniden düzenlendi...

www.sym.com.tr

Posted via web from SYM Software

20090913

Yeni Duydum (Cemal Süreyya'nın "Tekno-kratlar" şiiri)

Bütün mimarlar yüksek, mühendisler de
Bir sen kaldın alçak mimar ey Sinan Usta!

20090909

Ruby on Rails cheatsheet

Ruby on Rails Cheatsheet. RoR ile Web uygulamaları geliştiriyorsanız elinizin altından olmasında fayda var. İndirmek için tıklayın - PDF

20090908

Ford Crown Victoria ve 90'lar

Bir süredir çeşitli nedenlerle (aka. Embedded Computing, Real-time systems, vs.) CORBA kullanıyorum. Kesinlikle parantez içindeki nedenler dışında kullanılmaması gereken bu (ve DDS, pthread gibi teknolojiler) teknolojiyle uğraşırken kendimi 90'ların havasına kaptırdım (80'ler değil tam olarak). Aklıma özellikle o zaman bizi büyüleyen Amerikan filmleri ve onun kült polis (FBI dedektifi) arabası olan Ford Crown Victoria geldi. Yazayım istedim... Çok merak edenlere ahada bi fotoğraf:

Güncelleme Diye Buna Derim

Blogdur en nihayetinde yarın yazarım diye diye pek uzun süredir ne buraya ne de şuraya yazamıyordum. Beni rahatsız eden bu duruma son veriyorum.

Esas itibarıyla bir insan evladının hayatında yaşayacağı durum değişikliklerinin pek çoğunu yaşamış biri olarak bu tür filmlerde göreceğiniz tüm numaralara sahibim artık. İş değiştirdim ve %100 tam zamanlı kendi işimle (bilmeyenlere: SYM Yazılım www.sym.com.tr) uğraşıyorum. Evlendim, kızım Duru doğdu, doktora'da sona yaklaştım, pek çok satır kod yazdım, pek çok iş kotardım. Gel gelelim hala daha yapılacak çok iş varmış gibi geliyo ki genelde bişi içime doğuyosa kesin tutar (burçlara pek inanmam ama yengeç burcuyum). Bu nedenle hala daha "The Next Big Thing" arayışıma devam ediyorum.

Öte yandan, Eskişehir Osmangazi Üniversitesi Bilgisayar Mühendisliği Bölümü'nde vermekte olduğum derslere hala devam ediyorum. Sanırım, şimdiye kadarki yaşamımda evlilik (ve öncesi) sürecinden sonra azimle sürdürdüğüm tek şey de bu :D

Evet, alın size güncelleme. Sonra demeyin bu adam nerede ne yapıyo öldü mü kaldı mı diye...

20080217

Brave New World

Herkese yeniden merhaba,

yaklaşık bir iki hafta önce başlayan koşturmaca sonucunda, yeni düzenimi kurdum sayılır... Değişemeyen tek şey ise, ESOGÜ'de Cumartesi günleri Software Engineering dersini yürütecek olmam.

Görüşmek üzere...

20080121

Bi sürü değişiklik

Uzuuuuun bir süredir sallamadığım bloguma bişiler yazayım dedim. Öncelikle işimi ve yaşadığım yeri değiştirme arifesinde olduğumu yazayım. Şu an itibarıyla bu değişikliğin yaşanmasına 5 gün var, yani ŞAFAK 5.

Öte yandan, bu sıralar User Experience konusuna takıldım kaldım. WPF, Silverlight, Flex konularıyla uğraşıyorum ve projelerimde kullanmaya çalışıyorum bol bol.

20070917

Ben Lisp'im

Evet, yanlış duymadınız, ben Lisp'im... İnanmıyorsanız buradan bakın


You are Lisp.  Very few people like you (Probably because you use too many parenthesis (You better stop it (Reallly)))

Which Programming Language are You?

20070905

20070822

Bi öğrenmediğim Perl kalmıştı

Şu an itibarıyla Hello World ötesine geçtiğim diller ve sebep olanlar:

1)x86 ASM - Nihat Hocam Sağolsun
2)C - Erol Hocam Sağolsun
3)C++ - Yine Erol Hoca
4)C# - Bizzat Kendim
5)Java - Bizzat Kendim
6)PHP - Bizzat Kendim
7)JavaScript - Bizzat Kendim
8)Ruby - Ozan (aka Cemshid)
9)Perl - Ozan (aka Cemshid)

bundan sonra python ve brainfuck ta öğrendikten sonra kısmetse alzheimer olmayı planlıyorum.

20070710

XAML ile WPF Programlama

XAML (eXtensible Application Markup Language), .NET nesne hiyerarşisini kullanmak için geliştirilmiş basit ve bildirimsel bir programlama dilidir. XML tabanlı bu tanımlama dilini, HTML ve benzeri tanımsal dillerle karşılaştırmak yanlış olur. Bunun nedeni, .NET 3.0 içerisinde XAML derleyicisi ve çalışma zamanı XAML çözümleyicisi bulunmasıdır. Ayrıca, XAML Windows Workflow Foundation için de kullanılabilecek şekilde tanımlanmıştır. Bu sayede WWF iş akışları da XAML ile tanımlanabilir.

WPF ile XAML kullanımı genelde yanlış anlaşılabilmektedir. WPF, .NET 3.0 destekli herhangi bir programlama dili ile kullanılabilir. Benzer şekilde, XAML yukarıda söylendiği gibi WWF tanımlamalırında da kullanılabilmektedir. Yani WPF ile XAML tamamen bağımsızlardır. Ancak, bariz faydalarından dolayı WPF geliştirmelerini XAML ile yapmak .NET 3.0 geliştirme pratiklerinin başında gelmektedir. İsterseniz bu durumu aşağıdaki örneklerde inceleyelim.

XAML:

<Button xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Content="OK" />

C#:

System.Windows.Controls.Button b = new System.Windows.Controls.Button( );

b.Content = "OK";

Yukarıdaki kod parçacıkları aynı elemanı tariflemektedir. XAML ile bir XML elemanı tanımlamak, C# gibi bir dille ilgili elemanı yaratmakla eşdeğerdir. Yine benzer şekilde, XAML ile bir niteliğe değer atamak, nesnelerin özelliklerini ayarlamakla eşdeğerdir. Olay tanımlamaları da bu mantıkla aşağıdaki gibi gösterilebilir:

XAML:

<Button xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Content="OK"

Click="button1_Click"/>

C#:

System.Windows.Controls.Button b = new System.Windows.Controls.Button( );

b.Click += new System.Windows.RoutedEventHandler(button1_Click);

b.Content = "OK";

Öte yandan, XAML elemanlarının özellikleri aşağıdaki şekilde de tanımlanabilir:

<Button xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Content="OK"

Click="button1_Click">

    <Button.Content>OK</Button.Content>

    <Button.Background>Blue</Button.Background></Button>


 

Yukarıdaki XAML kod parçacığına bakınca şunu farketmiş olabilirsiniz: Button elemanının Background özelliğini string biçiminde Blue olarak ayarlıyoruz, ancak .NET kod modelinde bunun Brush nesnesi olması gerekiyor. Bu durumda XAML bu dönüşümü nasıl yapıyor?

XAML modelinin çalışması için arkaplandaki XAML derleyicisi, bazı dönüşümleri otomatik olarak yapıyor. Button.Background özelliğinde Blue string değeri kullanıldığında XAML bunun TypeConverter nesnesinin aslında bir BrushConverter olduğunu biliyor. WPF içerisinde bu dönüştürücüler TypeConverter hiyerarşisinde bulunmaktadır. Ayrıca, kendiniz de bir Type Converter yazabilirsiniz.

Son olarak, XAML içerisindeki bir diğer kavram da Markup Extensions kavramıdır. XAML elemanlarının niteliklerinde { } parantezleri arasında yazılan ifadeleri XAML derleyicisi Markup Extensions olarak algılar. Bir Markup Extensions sınıfı, { parantezinden sonraki ilk ifadedir ve sonrasında gelen ifadeler ilgili sınıfın özellikleridir. Markup Extensions sınıfları, varsayılan constructor lara sahip oldukları için XAML elemanı olarak ta ifade edilebilirler.

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

Content="{Binding Path=Height, RelativeSource={RelativeSource Self}"

Click="button1_Click">

    <Button.Background>Blue</Button.Background></Button>


 


 

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

Click="button1_Click">

    <Button.Background>Blue</Button.Background>

<Button.Content>

    <Binding Path="Height">

<Binding.RelativeSource>

<RelativeSource Mode="Self"/>

</Binding.RelativeSource>

</Binding>

</Button.Content>

</Button>


 

Sonuç olarak, XAML, bize bildirimsel olarak XML modeli ile WPF arayüzleri oluşturmamızı sağlayan çok güçlü bir dildir. Özellikle Expression Blend aracı ile birlikte çok kolay şekilde XAML arayüzleri oluşturulabilmektedir. Bu giriş makalesinde değinemediğimiz bir diğer konu da XAML'ın grafiksel ifade yeteneğiydi. Ancak, XAML, programatik erişimin bir modeli olduğu için, grafiksel modelleme konusunda da oldukça başarılı bir dildir. Hiyerarşik yapısı sayesinde, WPF demolarında gördüğünüz tüm uygulamalar XAML ile tanımlanabilmektedir. Bu konuda, MSDN ve ilgili sitelerdeki çalışmaları ve örnek kodları inceleyebilirsiniz. Bir başka makalede görüşmek üzere,

Ekrem Aksoy

ekrem.aksoy@msakademik.net

eaxitect.blogspot.com

20070704

WPF’e Giriş

Windows Presentation Framework, Microsoft'un .NET 3.0 yeniliklerinin bence en önemlisi. Bugüne kadar alıştığımız ve kullandığımız kullanıcı arayüzlerinin ötesinde, görsel olarak çok farklı kullanım deneyimi sunan WPF, programlama modeli olarak ta Microsoft'un Tasarımcı ile Programcı yı birlikte çalıştırma vizyonunu da gerçekleştiriyor.

Sizlerin de takip ettiğiniz üzere, Microsoft, Windows XP (Experience) ile birlikte, bilgi işlemeyi (computing) kullanıcı deneyimi etrafında şekillendirme vizyonunu hayata geçirmeye başlamıştı. Bizler, bugüne kadar, bilgisayarın (daha doğrusu yazılım platformlarının) bizlere sunduğu şekilde bilgi işlemeye alışmıştık. Ancak, gri zeminli formlar'la başlayan bu deneyim, özellikle zengin web uygulamalarının yaygınlaşmasıyla birlikte geçerliliğini kaybetmekteydi. İşte tam bu noktada, Microsoft, WPF platformunu duyurdu .NET 3.0 ile gelen yeniliklerle birlikte.




Windows Presentation Framework (WPF), 3 temel amaca çözüm olarak geliştirilmiştir: yeni nesil zengin kullanıcı arayüzlerini oluşturmak, tasarımcı ve geliştiriciyi birlikte çalıştırabilmek ve Windows ile Web istemci platformlarını ortak yapmak (Silverlight WPF/E olarak lanse edilmişti).

Bu doğrultuda, zengin çoklu ortam destekli, vektörel ve 3D grafik destekli ve tamamen yoğun kullanıcı etkileşimi destekleyen güzel bir programlama modeli mevcut WPF'te. Bunun temelinde de XAML olarak adlandırılan eXtensible Application Markup Language (Genişletilebilir Uygulama Betimleme Dili) bulunmaktadır. XAML, kullanıcı arayüzlerinin tanımlanmasında kullanılan Button, TextBox, Label gibi XML elemanlarını içeren bir betimleme dili. Buradaki esas güç, XAML ile tanımlanan her eleman aslında WPF teki bir sınıfa karşılık geliyor. Yani:

<Button Background="Red">

No

</Button>

Yazmak ile,

Button btn = new Button();

btn.Background = Brushes.Red;

btn.Content = "No";

yazmak arasında bir fark yok. Yani kod ile yaptığımız herşeyi, XAML ile ifade etmek mümkün. Bunun tam tersi de geçerli tabii.





Yukarıda da bahsettiğim gibi, temel amaçlardan birisi de aynı platform üzerinde web ve Windows istemcileri oluşturabilmek. Bu da XAML ve WPF programlama modeli sayesinde gerçekleştirilebilen bir vizyon.

Sonuç olarak WPF ile birlikte, artık kullanıcı deneyimleri yeni bir aşamaya geçerken, geliştirici ve tasarımcılar için de farklı fırsatlar sunuluyor. Bir sonraki makalede görüşmek dileğiyle.

20070703

WEB 2.5

Hehe, ben de bi cinslik yapayım istedim :)

Web 2.0 malumunuz, multimedya yönelimli, Ajax gibi güzellikleri bünyesinde barındıran, CSS/XHTML ile standartlara uyumlu ama bi o kadar güzel görünümlü, ve sosyalleşmeyi şiar edinmiş bir web uygulaması geliştirme pratiğinin O'Reily tarafından konulmuş adı. Tabi Business 2.0 magazinin ve bilimum diğer zevatın yayınladığı haberleri incelediğimizde, Web 2.0, önceki sürümünün (o da neyse) aksine, çok ciddi bir iş potansiyeli sunduğunu görüyoruz. Tabi 2.0 öncüleri bunu çok amaçlamasa da, artık iş hayatına yönelik Web 2.0 uygulamaları da mevcut (örneğin Project Management, BI ve CRM uygulamaları veya en azından kurumsal mesajlaşma uygulamaları) işte bunlara ben Web 2.5 diyorum....

2,5 Kayıp Ay...

Selamlar,

Farkettiğiniz (ve bazılarının mail attığı üzere) yaklaşık 2,5 aydır bloglamıyordum. Bu süre zarfında yaptıklarımı yazayım evvela:

1) Ruby (on Rails) kullanarak biraz kodlama yaptım
2) WPF ve Expression (Blend) kullanmaya başladım
3) Silverlight kurcaladım
4) UCF projemi ve diğer tüm projelerimi erteledim
5) Yeni makaleler yazmaya niyetlendim ama yapmadım
6) Bazı etkinliklere katıldım...

Bütün bunların nedenini soracak olursanız, Doktora Yeterlilik sınavını geçmekle meşguldüm. Evet, artık yeterliyim, ve bununla gurur duyuyorum :D

20070419

Software Engineering Class

21 Nisan Cumartesi günü yapılacak olan Software Engineering dersi iptal edilmiştir. Bigilerinize, Ara sınav ile ilgili sorularınız için sorularınızı mail ile gönderebilirsiniz.

20070416

BİLMÖK Ardından...

--GÜNCELLEME--

Az önce, BİLMÖK organizasyon sorumlularından Özer Çelik ile yaptığım görüşmede, yaptıkları ankette "Yazılımda Kalite ve CMMI" sunumumun, BİLMÖK'07 deki en çok ilgi gösterilen ve bilgilendirici sunum seçildiğini öğrendim. İlgi gösteren ve yorumda bulunan herkese çok teşekkür ediyorum - E.A.

--------------
BİLMÖK'07 kapsamında "Yazılımda Kalite ve CMMI" konulu sunumumu yaptım. 50 dakika boyunca, yaklaşık 180 kişiye Yazılımda Kalite (Ne,Niçin,Nasıl) ve CMMI konusunda bir ön bilgilendirme yaptığım sunumun ardından gelen tepkilerin olumlu olması beni çok mutlu etti. Benim için en önemli tarafı, her platformda savunduğumuz Türkiye'nin yazılımda farklılaşarak başarıya ulaşması gerektiği temasını öğrencilerin de desteklemesi oldu.

Farklı çözümleri daha kaliteli, daha hızlı ve daha ucuz geliştirmek için CMMI'ya ihtiyacımız olduğunu bir kere daha tekrarlama fırsatı sundukları için BİLMÖK'07 organizasyonunda katkısı olan herkese teşekkürlerimi sunuyorum.

Tekrar görüşmek üzere,

E.A.