Sefer Algan'ın Günlüğü
Günlüğüme Hoşgeldiniz.
Sefer Algan
algans@csharpnedir.com
Yazılım Mühendisi
Arama
Tema Değiştir
<Şubat 2010>
PSÇPCCP
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567
İçerik
Yorum
Kategoriler
Ana Sayfa
Bilgisayar & Genel (35)
Internet (9)
Yazılım Mimarisi (13)
Tasarım (1)
.NET Tekn. (53)
C# Dili (44)
Yaşam (54)
Linkler
C#Nedir?com
BT Akademi
Oğuz Yağmur
İbrahim Demir
Gürkan Yeniçeri
Tunus ve Türkiye Kardeşliği

Geçtiğimiz haftalarda hem ticaret gemde gezi amaçlı Tunus'daydım. Gittiğim ülkelerle ilgili bilgiler vermeyi adet edindiğime göre Tunus'u da es geçmek olmaz. (zaten başka da birşey yazdığım yok son 1 yıldır..)

Havaalanına iner inmez Tunus'un geçmişte bir Fransız sömrgesi olduğunu hemen anlıyorsunuz. Polislerin giyiminden, etraftaki Fransızca konuşan insanlardan veya dükkanlardaki Fransızca tabelalardan bu rahatlıkla anlaşılıyor. Kısa bir zaman önce bağımsızlıklarını ilan etmiş olan Tunus'un gerçekten hala bağımsız olduğunu söylemek çok zor. Çünkü her tarafta Fransız markaları satan dükkanlar, Fransızca gazeteler vs. Özellikle de bir kaç Fransız petrol şirketinin her köşe başında olması insanı düşündürüyor. Kiraladığım aracın deposunu 40 TL 'ye denk gelen bir ücretle doldurmuş olmam sanırım ülkenin petrol kaynaklarının çokluğunu anlatıyor. Son zamanlarda petrol kuyularında da azalmalar yaşanıyormuş. Fransa'nın sömürecek bir şey bırakmadığında usül gereği ülkeye neden bağımsızlık kazandırdığını da böylece anlıyoruz.

Başkent Tunis şehri dışında çok da gezecek bir yer yok. Tabi tatil beldelerinde bulunan (Hammamet ve Souuses şehirleri ve civarı) güneş, kum, deniz üçlemesini hariç tutuyoruz. Az da olsa ecdadımız Osmanlı eserlerine rastlamak mümkün. Özellikle bir zamanlar Afrika'nın en büyük camisi olan bir cami görülmeye değer. Fransız sömürgesi sona erdeğinde aynen bizde olduğu gibi ülkeye laiklik ve demokrasi getirilmiş. Halkının çoğu aynen bizde olduğu gibi müslüman. Yine bizdeki gibi yönetim laik bir yönetim. Bizde olduğu gibi onlarda da başörtü yasağı var. Kısaca küçük bir Türkiye gördüm Tunus'da. Ancak bizim kadar demokrasiyi özümsememişler. Çünkü ülke'nin başında bulunan kişi senelerdir ülkeyi yönetiyor ve hiç bir şekilde ayrılmak istemiyor. Gelişmişlik seviyesi açısından baktığımızda ise Türkiye'nin 60'lı veya 70'lı yıllarını andırıyor. Afrika ve Ortadoğudaki Tunus ve benzeri ülkeleri her gördüğümde, Türkiye'de yaşadığım için ne kadar şükretsem az düşünceleri ile dönüyorum yurda.

Birkaç kare resim paylaşmadan olmaz.


Tunus'a gidince Kartaca harabelerini görmeden gelmek olmazdı. O meşhur Hanibal filminde anlatılan hikayelerin yaşandığı mekanı görmemek çok yanlış olurdu. Gittik ve gördük. Gerçekten görülmeye değer ilginç bir yer.

Oldukça uzun bir Akdeniz kıyısı olan Tunus'un görülmeye değer manzaralarıda var. Rivayete göre küçük bir dürbünle yandaki resimde bulunan mekandan İtalya'nın Sicilya adası bile görünüyormuş. (ben görmedim..)

Tunus uzun katlı binalar ve gökdelenler görmek çok zor. Ancak başkent Tunis şehrinde görülebilir bu tarz binalar. Genelde 1 katlı ve çatısı olmayan evler görülüyor. Şehirlerin mimarisi bu şekilde. Büyük şehirdeki elektrik direkleri bile Tunus'un Türkiye'den ne kadar geride olduğunu gösteriyor.

Şehir merkezlerinin dışında (hatta bir çok şehir merkezinde bile) insanların kaldıkları evler genellikle 1-2 katlı evler. İşin ilginç tarafı ise evlerin dış dünyaya bakan girişleri yani pencreler ve kapıların tamamı mavi renkli. Bu mavi rengin nedeni ise sıcak bir iklim olan ülkede akrep ve yılan gibi insana zarar verebilecek hayvanların bu rengi gördüğünde uzaklaşmasıymış. Yani doğal bir koruma amacı varmış.
Yorumsuz.

Çok güzel 2 yazıyı sizinle paylaşmak istiyorum. Oğuz Hocanın söylediklerine katılmamak elde değil.

http://www.oguzyagmur.com/PermaLink,guid,651575ac-3df5-4b39-af91-9fd5e892828a.aspx

http://ileriseviye.org/arasayfa.php?inode=programmingtenyears.html

Teched 2008, Barcelona İzlenimlerim ve Microsoft Yenilikleri
Geçtiğimiz haftalarda İspanya'nın Barcelona kentinde düzenlenen "Teched-Developers 2008" konferansına katıldım. Konferansa hem katılımcı hemde görevli olarak katıldım. Görevim ATE (Ask The Expert) bölümünde uzman olduğum konularda katılımcıların sorularını yanıtlamaktı. Katılımcı olarak ise ilgilendiğim bir kaç alanda bir kaç sunuma katılma fırsatım oldu. Genel olarak hem teknik konularda hemde diğer konularda izlenimlerimi paylaşmak istiyorum;

Önce teknik konular;

Teched konferansı yıllardır avrupa'da düzenleniyor. Microsoft cephesindeki yeniliklerden haberdar olmak için oldukça güzel bir konferans. Ancak çoğunlukla bu konferansta anlatılanlar zaten 3-5 ay önce Amerika'daki başka konferanslarda anlatıldığı ve bir şekilde onlara da katıldığımız için bana pek yeni bir şey katmadı. Tabiki bu bana özel bir durum. Microsoft tarafındaki yeniliklerden haberdar olmak için gelecek yıllarda katılımınızı kesinlikle öneririm. Önümüzdeki yıl aynı konferans Ekim ayında Berlin'de düzenlenecek.

Bu seneki konferansın ana konusu genel başlıklar olarak, Windows Azure, Oslo, Dublin,.NET 4.0, DLR gibi konular idi. Windows Azure ilk olarak yanlış hatırlamıyorsam Amerika'daki PDC konferansında duyruldu. Azure, windows platformunu bir servis platformu haline dönüştüren bileşenler ve entegre araçlar içeren ekosisteme verilen genel bir isim. Temel olarak Microsoft'un SaaS (software as a service) konseptini tam olarak uygulayabilmesini sağlayacak bir platform. WCF servislerini, Microsoft'un hazır sunduğu Live Servisleri ve uygulama araçlarının sunduğu servisleri (sql servisleri, biztalk ve sharepoint servisleri gibi) bir çatı altında toplayacak, entegrasyonu ve yeniden kullanılabirliği maksimum düzeyde destekleyecek bir platform. Aynı şekilde SOA'nın temel taşlarından Service Bus (ESB) gibi temel mekanizmaları kendi içerisinde barındıyor. Kısacası yakın bir gelecekte (1-2 yıl içerisinde) tam teşekküllü bir SOA platformuna sahip olacağız. WCF'i tek başına SOA mimarisinde konumlandırmak yanlış olur düşencesi öteden beri hakimdi. Azure, WCF'in tek başına doldurmayacağı bir takım SOA paradigmalarını hayata geçirecek. Yani "cloud computing" dedikleri bulutlarda süzülmemizi kolaylaştıracak bir platform olarak çıkıyor karşımıza Azure. Azure kullanmak için çok erken ama geleceği şimdiden yakalamak isteyenlere incelemelerini öneririm. Windows Azure ile ilgili bilgi için : http://www.microsoft.com/azure/default.mspx

Konferansın diğer ana konularından birisi ise Oslo ve Dublin konuları idi. Her iki isim de tahmin edeceğiniz gibi kod isimler. Oslo'dan daha önce bahsetmiştim : http://www.seferalgan.com/entrydetail.aspx?ID=270 Dublin, Windows Server üzerinde yapılacak bir takım iyileştirmelere verilen bir kod ismi. Şöyleki, WCF ve WF'in daha entegre çalıştığı, IIS'in WCF hosting için ideal bir ortam olmasını sağlayacak RESTFull web servisleri desteğinide sağlayacak şekilde genişletilmesine imkan sağlayacak bir proje Dublin. Workflow ve WCF servislerini bir arada daha entegre ve daha yönetebilir hale getirecek bu ortam muhtemelen .NET 4.0'ın çıktığı dönemden hemen sonra yayınlanacak.(2010 başlarında) WF Designer'da yapılacak kapsamlı değişikliklerde bu proje dahilinde konuşulanlar arasında. Model tabanlı geiştirme sistemini destekleyecek Oslo projesi ile entegre araçlar sunacağını söyleyebiliriz. Böylece Dublin ile birlikte Windows Server geçek bir uygulama sunucusu (application server) olacak. Benim genel yorumum ise şu şekilde; Microsoft'un 2005 ylında çıkardığı WCF ve WF kütüphanelerini(bazıları teknoloji diyor, ben bilerek kütüphane diyorum) olması gerektiği yere getiren iyileştirme çalışmalarından başka bir şey değil Dublin. Çok abartılacak bir durum yok. Zaten olması gereken şeylerin yada başkaları tarafından zaten yapılan şeylerin yavaş yavaş Microsoft platformlarında görülmesinden öte bir şey değil. Öyle yeni teknoloji felan da diyemeyiz bunlara. Bir çok ISV'nin yada diğer platformların yaptıkları bazı çalışmalardan da esinlenmiş olarak gördüğüm bu çalışmaların tam olarak oturması epey zaman alacak. Şimdiden olaya müdahil olmak size ilerde avantaj sağlayacaktır.

Son ana konumuz ise .NET 4.0 ile birlikte gelecek olanlar. Ve tabiki Visual Studio.NET 2010. Visual Studio .NET 2010 testçi ve modelleme yapanlar için yeniliklerle doldu. VS.NET 2010 ile birlikte Oslo altyapısını destekleyecek yeni modelleme araçları ve yeni bir "Architecture Explorer" penceresi geliyor. Öte yandan tam teşekkülü bir test yönetim aracı geliyor. Bir kısmı VS ile entegre olmasına rağmen tek başına stabil olarak çalışan bir araç olarakta kullanılabilecek. Bir windows uygulaması olarak hayatımıza girecek. ATE'deki görevimi icra ederken aynı grupta bu test aracını geliştiren ekibin müdürü ile tanıştım. Araç için döküman yazıyordu boş zamanlarında, bende biraz katkıda bulundum anladığım kadarıyla. Hoş bir anı oldu benim için. Yeni VS'de UML esintileri olduka fazla görünüyor. Özellikle kodlardan bir sağ tıkla Sequence diagramlarını oluşturmak dikkatimi çekenlerden. Yine testçileri ilgilendiren çok güzel bir özellikde, çıkan bug'ların yeniden oluşturulmasını sağlayacak bir takım kaydedici araçların gelecek olması. Yani uygulamayı test ederken bütün her şey saklanıyor, bug oluştuğu anda uygulama o anki durumu ile birlikte saklanıp bir Bug kaydı yapılıyor. Geliştirici ise o bug'a neden olan senaryoyu bir saniyede oluşturup düzeltmesini yapıyor. Ekran görüntüsü almak ve detaylı yazılar yazmak artık tarih olacak gibi gözüküyor. Kısacası VS 2010 geliştiricilerin, test edenlerin, mimarların ve veritabanı uzmanlarının daha entegre çalıştığı bir ortam olacağı vadediliyor.

.NET Framework 4.0 ise enteresan yeni uzantılarla geliyor. Bildiğiniz üzere .NET CLR, 2.0 versiyonundan beridir bir değişikliğe uğramıyor. Hatta .NET 3.5'da bulunan LINQ gibi büyük bir altyapı bile CLR 2.0 üzerine kurulabilmişti. Gördüğüm kadarıyla .NET CLR'de 4.0 versiyonunda da bir değişikliğe gidilmiyor. Yani runtime dediğimiz kısım yine aynı kalacak. Üzerine bu sefer DLR denilen yeni bir katman koydular. DLR (Dynamic Language Runtime), CLR üzerinde faaliyet gösteren, .NET dillerine sözde "dinamizm" katacak bir mekanizma sağlıyor. DLR, neden eklediklerini henüz "Product Manager"'larında tam olarak izah edemediği hatta sunum yapan bir arkadaşın Phyton ve Ruby dillerinde olan bu güzel özelliği .NET dillerine katmak istedik şeklinde basit açıklamasıyla beni şaşırtmış olan bir CLR uzantısıdır. Yıllardır savunduğumuz ve benimsediğimiz "type safety"(tip güvenliği) kavramını bir anda tarihin derin sayfalarına gömen bu dinamizme ısınmak C# programcıları için zaman alacak. Ancak ben yinede bu dinamizmin faydalarını alıp zararlı yanlarını defedeceğimize eminim. Peki nedir bu dinamiklik? Dinamiklik, web programcılarının Javascript'ten aşina olacağı gibi yada daha önce Pyhton ve Ruby gibi dinamik dilleri inceleyenlerin bileceği gibi nesnelerin dinamik olarak yaratılması ve üyelerinin kod içerisinde bildirimsiz olarak yaratılmasını sağlar. Örneğin dinamik bir nesne tanımladığınızda o nesneye kod yazım anında bir fonksiyon yada property ekleyip ardından başka metot bloklarından yada sınıflardan nesnenin dinamik olan o özelliğine erişebiliyorsunuz. Yani kısaca kod yazım aşamasında nesneye özellik ve metot ekleme işlemi. DLR'in sunduğu bu yapıya C# dilinde "dynamic" isimli anahtar sözcük kullanılarak hükmediliyor. Yani C# 4.0'da "dynamic object" diye bir yapıyla karşılaşacağız. Dinamik nesnelerin intellisense desteği ile gelecek olması ise bir nebze de olsa içimizi ferahlatacak.

Halihazırda kullandığımız altyapılara gelince; LINQ To Sql'in henüz 1 yaşına bile gelmeden toprağa gömülecek olması acı bir gerçek. Microsoft'un artık LINQ To Sql'e destek vermeyeceğini ve geliştirme yapmayacağını öğrendik konferansta. VS .NET 2008 yayınlandığında herkesin heyecanla sarıldığı LINQ To Sql'e yatırım yapanların artık yönlerini "Ado.NET Entity Framework" e çevirmesi gerekiyor. Zaten bende pek sevmemiştim LINQ To Sql'i. Özellikle Sql Server'a göbekten bağlı olması iticiydi. Durum böyleyken EF (Entity Framework) sunumunda çektiğimi aşağıdaki resim insanı kaygılandırmıyor değil.

Türkçesi : v1 güzeldi ama mükemmel değildi. Ben yorum yapmıyorum, yorumu size burakıyorum.

Biraz da İspanya'dan bahsedelim. Bu konferans vesilesi ile ilk defa İspanya'da bulundum. Türk insanına çok benzeyen İspanyollar gerek trafikte gerekse toplu yaşam alanlarında Türkiye'yi hiç aratmadı bana desem abartmamış olurum. Akdeniz ikliminden olsa gerek İspanyollar'ı Türk'lerden ayırt etmek oldukça zordu. Hatta bir kaç defa içgüdüsel olarak bir ispanyolla türkçe konuşmaya bile çalıştım. Klasik bir Avrupa ülkesi göreceğimi düşünürken tamamen farklı bir ülke ile karşılaşmam beni şaşırttı. Yoğun konferans takvimi ve görevimden dolayı çok gezme şansı bulamasamda değerli dostum Oğuz Küçükbark'ın Barcelona'yı tanımasından dolayı bir kaç güzel restorana gitme şansı buldum. Yemekleri fena değildi, sagrada familia(yapımı hiç bitmemesi ile ünlü kilise,bkz:aşağıdaki resim) denilen turistik mekan'ın hemen yanındaki adını unuttuğum restoranı mutlaka tavsiye ederim.


Sagrada Familia

Barcelona'ya gitmişken benim gibi eski bir futbol meraklısı olan birinin Nou Camp'a gitmemesi ve orada bir Barcelona maçı izlememesi kayıp olurdu. Konferansa katılan Türklerden olan ve Turkcell'de çalışan Yusuf Mehan(umarım doğru yazdım soyismini)'ın da yoğun isteğiyle kendimizi Nou Camp'ta bulduk. Oğuz Küükbarak, Yusuf Mehan ve Ben internetten aldığımız biletle heyecansız da olsa İspanya Kral kupası maçını izledik. Amaç Nou Camp'ta bulunmak ve o muhteşem atmosferi yaşamaktı. Büyük atmosferi göremesekte futbol meraklıları için Nou Camp görülmesi gereken bir stadyum olarak anılarımda kalacak.


Barcelona maçı öncesi, uzun olan Oğuz'dur. (Ben alt basamaktaydım o yüzden kısa görünüyorum.)

Buda ilginç mimarisi(füzeye benziyor) ile bir Barcelona binası. Konferans ile otel arasında kullandığımız Metro hattına yakın olmasından dolayı her gün bu binayı görüyordum. Paylaşmadan edemedim.

Yukarıda bahsettiğim yeni .NET konuları ile ilgili burada paylaşmadığım farklı bilgilerde olabilir. Merak ettiğiniz konuları bana mail yada bu günlük yolu ile sorabilirsiniz. Elimden geldiğince cevaplamaya çalışırım.

Herkesin Kurban Bayramını şimdiden kutlarım.

Tayland ve Singapur Gezilerim

Geçtiğimiz haftalarda ilk defa Uzakdoğu ülkelerine gittim. Benim için ilginç olan bir deneyimdi. Tayland ve Singapur'u kapsayan 10 günlük gezimden bazı kareleri sizlerle paylaşmak istiyorum.

ve bir kaç gezi notu;

Tayland'ın güzel ve oturaklı bir kültür ve geleneğe sahip olduğunu gördüm. Thai'ler oldukça sıcakkanlı ve misafirperverler. Bu yönleriyle Türklere benziyorlar. Krallarına oldukça bağlı olan halkın üzerinde Budizm'in etkisi çok rahat görülebiliyor. Zira Budizm inancında olan reenkarnasyon'un etkisi yaşam biçimlerinide etkilemiş durumda. Bunu zengin ve fakirlerin çok rahatlıkla içiçe yaşamlarından görebiliyoruz. Budizm inancına göre bir sonraki yaşamlarında fakirler zengin, zenginler ise fakir doğacaklarından insanlar birbirlerine çok saygılılar.

Bangkok gelişmiş bir metropol olmasına rağmen bir çok açıdan kötü özelliklere sahip. Öncelikle şehrin bir çok bölgesi yoğun ve alışılmadık bir kokuya sahip. Oldukça rahatsız edici bu kokunun sebebi sokak aralarında küçük tezgahları ile sıcak yemek yapan satıcılar.Kullandıkları yağlar ve besinlerden dolayı sokaklar tahmin edemeyeceğiniz kadar kötü kokuyor. Buna alışmam zor oldu. İkinci kötü özellik çok fena bir trafiğin olmasıdır. Sokakta dolaşan 3 tekerlekli tuk tuk araçlarının sebep olduğu gürültüde eklenince ana caddelerde yürümek işkenceye dönüşüyor. Diğer bir kötü özellik ise aslında direkt olarak Tayland ile ilgili değil. İnanılmaz sıcak bir ülke. Nerdeyse Ekvatorun dibinde olan bu iki ülkede benim yaşamam için hiç bir nedenim yok. Sıcaktan ve nemde bırakın dışarı çıkmayı, odanızda klimasız dırmanıza imkan yok. Sanırım, 10 gün içerisinde 2-3 kilo verdim. Gezinin ortasında Tayland'ın meşhur sahil şehri olan Pattaya'ya gittim. Pattaya ilginç özellikleriyle görülmesi gereken bir yer :) Son günlerimi ise Singapurda geçirdim. Oldukça modern ve temiz sokaklarıya bende göz dolduran bir ülke oldu. Uyuşturucu trafiğinde bir şekilde yer almanın ölüm ile cezalandırıldığı küçük bir şehir ülkesi olan Singapur'un en ilginç yönlerinden birisi ise sembolü. Gövdesi balık, kafası aslan şeklinde olan bir sembolleri var. Zaten aslan şehri diyorlar Singapur'a.

Aslan, timsah, kobra gösterileri, geleneksel Thai dansları, Thai mesajı, yüzen çarşı, sea food market, botanik bahçeleri, gece safarileri gibi etkinlikler ise gezinin eğlenceleri anlarıydı.

Sonuç olarak hayatınızda en azından 1 kere görmek isteyebileceğiniz iki ülke : Tayland ve Singapur.

Meşhur Altın Buda Tapınağı

Uyuyan Buda Tapınağı

Burasıda başka bir tapınak. Zaten her yer tapınak dolu.

İlginç tropik meyveler. Bir kısmını çok beğendim.

"Kendin pişir kendin ye gibi olan" deniz mahsülleri lokantası. Süperdi.

Hindistan Cevizleri

Kendinizi Lost adasında hissediyorsunuz.

Yüzen Çarşı (Floating Market) dedikleri yer. Enteresan bir yer, nehir üzerinde çarşı..

Timsah Show..Korkunçtu!

Rüyalardaki gibi bir bahçe.

İnsan yapımı dünyanın en büyük botanik bahçesi

Banana'ya binmeye cesaret edemedim bir türlü.

Adını binmediğim bir tropik meyve. Adı Jack's Fruit olabilir, emin değilim.

Bangkok Havaalanı

Singapurdaki otelimin bahçesi.

Singapur'daki en güzel deneyimimiz gece safarisi idi. Vahşi hayvanları doğal ortamlarında görmek ilginç deneyimdi.

Singapur'un yüksek binaları

İlginç bir bina. Opera binasına benziyor.

Maybank Binası (Malezyalılara ait büyük bir banka)

 

Keşke Türkiye'de de böyle büyük bir teknoloji kitaplarının satıldığı yer olsa dedim. 1-2 kitap aldım.

C# 3.0 Kitabı Çıktı

"Her Yönüyle C#" kitabımın C# 3.0'a göre güncellediğim 7. baskısı geçtiğimiz aylarda nihayet çıktı. Yeni baskıda C# 3.0 yeniliklerini içeren, LINQ, LINQ To SQL ve LINQ To XML gibi konuları ele aldım. Yaklaşık 100 sayfalık bir güncelleme oldu. Bu güncellemelerle birlikte kitabın sayfa sayısı 900 sayfa oldu. Tahminlerime göre 9. yada 10. baskı C# 4.0 içeriyor olacak.

Her Yönüyle C# 3.0 kitabını indirimli satın almak için tıklayınız.

Hem bu haberi duyurmak hemde bu vesile ile kitap ile ilgili bir kaç sık sorulan soruya buradan yanıt vermek istiyorum. Kitabım genel olarak büyük bir beğeni toplarken buna rağmen bir çok kesim tarafından amacının tam olarak algılanamadığını düşünüyorum ki sürekli olarak "kitapta neden sadece konsol örneklerinin olduğu" konulu e-mailler alıyorum. Kısaca açıklamaya çalışayım;

Öncelikle C# programlama dili ile , .NET platformunu biribirinden ayrımamız gerekir. C# programlama dili .NET uygulamalarını (web yada masaüstü )geliştirmek için kullandığımız bir araçtır. Yani uygulamaları geliştirirken ilk yüzleştiğimiz araç C# dilidir. Dolayısıyla .NET platformunda uygulama geliştirmeye başlamadan önce bu işin alfabesi dediğimiz C#'ı iyice özümsemek gerekir. C# dilini çok iyi bilmeden yazılan kodlar, uygulama üzerinde olan hakimiyetinizi ve değişim isteğinizi azaltır. Aynı zamanda C# dilini öğrenmek ile nesne yönelimli programlama paradigmasınıda öğrenmiş oluyorsunuz. Çünkü C# dilinin bir çok öğesi bu paradigma üzerine kurulmuştur. Sınıf, arayüz, türetme, çok biçimlilik, tür dönüşümü, şablon tip,,tip kavramı gibi konulardan haberdar olunmadan yazılan kodların nekadar profesyonellikten uzak olduğunu defalarca gördüm. Bazı tür kitaplar C# dilinin derinliklerine dalmadan direkt olarak uygulama geliştirmeye odaklanır. Bu tarz kitapların programcıları ezberciliğe yönelttiğini düşündüğüm için kitabı bu şekilde yazdım. Nitekim dünyaya baktığımızda da en beğenilen kitapların genelde bu şekilde olduğu yönündedir. Dilin temellerini iyice kafanızda oturttuktan sonra bütün öğrendiklerinizi belkide hemen uygulamayacaksınız ama 3 yıllık bir tecrübe zarfında okuduğunuz bütün bilgilerin bir gün karşınıza çıktığını gördükçe o bilgilerin ne kadar değerli olduğunu anlayacaksınız. Kitabımı 3-4 yıl önce okuyupta hala bana teşekkür maili gönderen okuyucularımdan da doğru bir yolda olduğumu çıkarıyorum. Sonuç olarak kitabın amacı size konsol uygulaması geliştirtmek değildir. Kitabın amacı size C# dilinin bir bütün olarak vermek ve sağlam bir temel edinmenizi sağlamaktır. Özellikle nesne yönelimli programlama kavramlarını anlamakta zorluk çekenler için iyi bir başucu kaynağı olduğunu düşünüyorum.

Bu açıklamanın dışında kitabımı okuyupta gerçekten yoğun bir şekilde faydalanan kişilerin deneyimlerini buradan arkadaşlar için paylaşmalarını rica ediyorum.Özellikle belli bir deneyime erişmiş programcı arkadaşlardan bu yardımı rica ediyorum.

En Değerli Deneyimler : Girişimci bir programcının yaşam döngüsü

GİRİŞİMCİ BİR PROGRAMCININ YAŞAM DÖNGÜSÜ

Hayati, 1979 yılında soğuk bir kış günü dünyaya geldi. 2 göz odadan oluşan evlerinde hayat onun için büyük sürprizlerle dolu görünüyordu. Hayati’nin babası sokaklardan metal malzemeler toplar 3 çocuğunun geçimini bu şekilde sağlardı. Hayati babası için yeni bir umut olmuştu. 3 çocuğunu çok iyi okutamadığından olsa gerek, içinde hep ukde kalmıştı bir oğlunun doktor ya da mühendis olması. Hayati ilkokul çağına geldiğinde ürkek ama fişek gibi bir çocuk olmuştu. Babasının bile yapamadığı basit hesapları Hayati beş on saniyede çözüp sonuca varıyordu. Babası oğluyla gurur duyuyordu. Onun mühendis ya da doktor olacağını hayal edip duruyordu. Hayati ise ilkokul son sınıfta olmasına rağmen Lise sınavlarına hazırlanıyordu. Belli ki kader bu sefer onlara gülecekti. Hayati’nin öğretmenleri ondaki bu cevheri görüp üstüne düşmeye başladılar. Matematik sınavlarında hep en iyi notu alır ve her dönem eve takdir belgesi getirirdi.

*****

Hayati, artık patron olmuştur. Kod yazmayı çoktan bırakmıştır. Her gün iş toplantıları yapmaya başlar ve firmalara sürekli teklif gönderir. Hayati yeni işinden çok memnun olmasına rağmen eski günlerini özler, özellikle de ilk işindeki ortamı. Kod yazmak ister sürekli ama buna zaman bulamaz bir türlü. Her ne kadar hobi amaçlı bir iki proje denemesi olduysa da hep yarıda bırakmak zorunda kaldı. Artık iş dünyasının zorlu rekabet dünyasında bulmuştur kendisini. Hiç düşünmediği bir konumdadır ama hayal ettiğinden daha fazla para kazanmakta ve saygın bir girişimci olarak sektörde adından söz ettirmektedir.
İşte tam bu noktada programcının yaşam döngüsü sonlanmaktadır. Hayati 30 yaşına gelmiştir. Hayati’nin bundan sonraki hayatı çok farklı yönlerde ilerleyeceği şüphe götürmez bir gerçek.
O artık “Hayati Bey!” olmuştur.


Hayırdır, bu da ne dediğinizi duyar gibiyim. Hemen izah edeyim; bu hikaye Hayati'nin yaşam döngüsünü sıfırdan ele alıp kurduğu yazılım şirketinin patronu olana kadarki geçirdiği süreci anlatan ufak bir öykü. Öyküde öğrenciler, çalışanlar, programcılar ve patronlar için kısacası herkes için dersler var. Hayati'nin bu öyküsünü bir grup MVP arkadaşımızla ortak çıkardığımız "En Deneyimli Deneyimler" isimli kitap için kaleme almıştım. Uzun bir süre önce yazmış olduğum hikayenin devamı için tek yapmanız gereken aşağıdaki adresten kitabı satın almaktır. Hikayenin tamamını burada yayınlamak isterdim ancak kitabın bütün gelirleri hayır kurumlarına bağışlanacağı için kitabı almanızı tavsiye ederim. Üstelik başka konularda da ilginç yazılar göreceksiniz.

Çözüme Giden Yolda En Değerli Deneyimler kitabını satın almak için tıklayınız.

.NET Radyo Çekimleri

Uzun bir süre önce dünyadaki podcast (banttan radyo yayını, kaynak: wikipedia.com) çılgınlığı henüz başlamamışken C#nedir?com'da bir proje gerçekleştirmiştik. O zaman biz adını .NET Radyo koymuştuk. Ardından hem dünya genelinde hemde Türkiye'de bir çok radyo yada diğer adıyla podcast yayını yapan internet sitesi oluşmaya başladı. Bizde o zaman yaptığımız şeyin podcast olduğunu öğrenmiş olduk. Her neyse... Uzun bir aradan sonra yine biraraya gelip iki konu üzerinden birer haftayla iki "podcast" kaydı yaptık. Birinci radyo yayınında konumuz ORM. İkincisinde ise yeni Microsoft Teknolojilerinin kabaca üzerinden geçiyoruz.

Değerli dostlarım Oğuz Yağmur ve Burak Selim Şenyurt ile gerçekleştirdiğimiz keyifli sohbet dinlenmeye hazır bir şekilde aşağıdaki bağlantılarda sizi bekliyor.

Radyo 1 : ORM Nedir? Ne Değidir?
Radyo 2 : Yeni Microsoft Teknolojilerine Bakış?

Dip Not : Wikipedia'ya göre Podcast ismi 2005 yılında Shae Spencer Management LLC isimli bir Amerikan firması tarafından tescil edilmiştir. Ardından içinde Pod geçen başka markalarında çıktığına şahit olduk. En popüleri tabiki iPod.

Oslo Projesi

Microsoft durmayı bilmiyor, sevmiyor.!

Orcas kod adından yeni kurtulmuş, Visual Studio.NET 2008 dalgasına henüz yeni yakalanmışken yeni bir dalganın daha etkisine kapılmak  üzereyiz. Yeni dalgamız: Oslo. Yani bu seferki kod adımız Oslo.

Analiz, Tasarım, Kodlama ve Test. Bilinen en klasik ve en çok kullanılan proje geliştirme süreci olarak biliyoruz bu aşamaları. Kabaca, uzun br analiz sürecinden sonra iş süreçleri ve gereksinimler çıkarılır, iş süreçleri bir şekilde (uml yada flowchart ile) modellenir ve ardından deneyimli uygulama mimarları tasarım aşamasında işe koyulur. Projenin ana kolonları ve mimarisi belirlendikten sonra kodlama süreci başlarki bu sürece kadar yapılacak işin ana tanımı belli olmuştur, ne yapılacağı tam olarak bellidir. Programcıya çok iş  kalmamıştır. Programcıda görevini yerine getirdikden sonra eğer gerekli ise proje kabul testleri yapılır. Ve projemiz artık çalışan bir  uygulama olarak canlı yayına geçer.

Gayet hoş.! 

Peki Oslo dalgasının vizyonunun bu süreci artık "Analiz(Belki Biraz Tasarım), Test" şeklinde değiştireceğini söylersek inandırıcı olur mu? Evet yanlış duymadınız, Oslo dalgasının tam olarak amacı bu. Yani artık iş analistlerinin oluşturduğu modelleri print edilebilir birer  döküman olmaktan çıkarıp onları direkt olarak çalıştırabilir bir uygulamaya dönüştürmek. Tam olarak Model Güdümlü bir geliştirme  mimarisinden bahsediyoruz. Evet bir çoğumuz MDD yani Model Driven Devlopment terimini duyduk ama Microsoft'un bu konudaki çalışmaları bugüne kadar yetersizdi. Her ne kadar DSL(Domain Specific Language) Toolkit ile bu dalgaya yakalamaya çalışsada yeteri kadar başarılı olduğunu söyleyemeyiz. Oslo dalgası ile bu konuda son sözünü söylemeye kararlı görünüyor. Hedef uygulamaların modellerken aynı zamanda  onların çalıştırılabilir bir uygulama olmasını sağlamak. Yani modeli yazıcıya çıktı olarak değil sunucuya bir uygulama olarak göndereceğiz  artık. Bu amaçla Microsoft  tanım tabanlı bir uygulama geliştirme dili, geliştirme ve modelleme araçları tasarlamayı düşünüyor. Bu vizyon  çerçevesinde Microsoft'un Software+Services konseptinede uygun olması açısından Oslo dalgasını başka ürünlerle de beslemeyi planlıyor.

Micrsosoft'un Oslo kod adlı dalgası, BizTalk Server 6, BizTalk Services 1, System Center 5, Visual Studio 10 ve .NET Framework 4.0  ürünleri ile birlikte hayat bulacağı belirtriliyor. 2009 başlarında bu dalganın ilk gerçek oluşumlarını göreceğimizi düşünüyorum. Bir

ihtimal 2008 sonlarında da ilk kıvılcımları çıkabilir.

Oslo projesi ile ilgili bir takım bağlantılarıda paylaşmak isterim.

http://www.microsoft.com/Presspass/press/2008/jun08/06-03TechEdDevPR.mspx
http://www.microsoft.com/soa/products/oslo.aspx
http://searchsoa.techtarget.com/news/article/0,289142,sid26_gci1280299,00.html

Meraklısına Not :  Microsoft'un Oslo vizyonuna benzer bir yapıyı BT Akademi yazılım ekibi olarak bizde kendi içimizde Otto projesi ile geliştirmiş bulunuyoruz. Henüz gelişim aşamasında olan projenin detaylarını çok yakın zaman içerisinde sizler paylaşıyor olacağım.

C# 4.0 Yolda

C# 3.0'ı hazmedemeden C# 4.0 'ın duyruluyor olması eminim bir çoğunuzun canını sıkacak. Ama ne varki C# 4.0'ın ayak sesleri yavaş yavaş duyulmaya başlandı. İşte sizlere günlüğüm aracılığıyla ilk defa C# 4.0'daki yeni özelliklerden bahsediyorum. Çok güzel yenilikler olduğu gibi gereksiz gördüğüm şeylerde var. Ama bunlar çok ham veriler henüz, 2-3 yıl içerisinde olgunlaşıp son haline geldiğinde eminimki daha işe yarar hale gelecektir.

1- Recursive Iteration

Recursive metot yazmak artık tarihe karıştı. Koleksiyonlar üzerinde parent-child ilişkisine göre hazır recursive metot tanımlayabileceğiz. Oldukça karışık gibi gözüksede alışında kolay olacağını düşünüyorum. CLR ile ilgili bir değişilik yok, arkada bizim zaten yaptıgımız metot çağrımlarını oluşturuyor. Henüz tasarım aşamasında olduğu için detayı yok..

C# 4.0 da recursive metotlar aşağıdaki gibi tanımlanabilecek gibi duruyor.

public recursive int Metot(ICollection<Personel> col,rec int toplam,rec int ilk,rec int son)
{

}

2- Automatic Class

Metotlara mantıksal olarak birbiriyle ilgili birden fazla parametre geçiş ihtiyacı duyduğumuzda hızlıca sınıf tanımlar, içerisine property'leri ekleyip, standart yapıcı metotlarıda ekleyerek basit bir yapı tanımlarız. Böylece paremetreleri bir grup içerisinde geçilmesi sağlanmış olur. Bunun için C# 3.0'da Anonymous Type özelliği geldi. Ancak ananoymous type'lerın kod yazma zamanında isimleri olmadığı için global anlamda kullanmak oldukça zor oluyordu. Bunun yerine aşağıdaki sınıfı C# 4.0'da şöyle tanımlayacağız.

C# 2.0 Versiyonu

public class Personel
{
      private int id;
      public int ID
      {
            get { return id; }
            set { id = value; }
      }

      private string ad;
      public string Ad
      {
            get { return ad; }
            set { ad = value; }
      }

      private DateTime tarih;
       public DateTime Tarih
      {
            get { return tarih; }
            set { tarih = value; }
      }
}

C# 4.0 Versiyonu

public class Personel
{
    prop int ID,string Ad,DateTime Tarih;
}

//Yukarıdaki satıra Visual Studio.NET üzerinde sağ tıklayınca Refactor seçeneklerinde "Expand Properties" seçeneği çıkıyor. Tek bir hamle ile C# 3.0 versiyonuna dönüş yapabileceğiz.

3- Hızlı LINQ to SQL Sorguları

C# 3.0 ile gelen LINQ yapısının SQL'e hızlı bir şekilde entegre etmek için yeni bir using deyimi geliyor: using db.

using db Northwind("constr"); // DataContext sınıfları otomatik olarak yaratılıyor. Şu anda Designer kullanılarak yaratılıyor.

Northwind db = Northwind.Connect();
Personel[] secilenler = from val in personeller
                                  where val.No > 5
                                  select val.Ad

4- Asenkron Metot Çağrımı (Otomatik Thread)

Mevcut Asenkron metot çağrım kalıbına ek olarak metotlar aşağıdaki gibi tanımlandığında metot yeni thread üzerinden çağrılıyor.

Metot(true,5); // asenkron çağrımı aktif hale getirmek için. Metot(5); şeklinde çağrılarak normal çağrımda yapılabilir.

public async void Metot( int a)
{
..
}

5- Singleton Sınıf Tanımlama

Önemli tasarım kalıplarından Singleton sınıfı özellikle framework geliştirenler tarafından sık kullanılıyor. De facto olmuş bir kalıp olduğuna göre artık tek bir tanım ile sınıf singleton haline getirilebilecek.

public singleton class DataManager
{
...
}

Bu değişiklikler ile bir kere daha görüyoruzki C# dili API ile içiçe geçmiş durumda. Genel amaçlı programlama dillerinden beklenmeyen bir çok özellik dile ekleniyor. Umarım ilerde derleme zamanımız 10 katına çıkmaz bu değişikliklerden ötürü.

Diğer yeniliklerden de zaman içerisinde bahsedeceğim.

Lansman Duyurusu

Bizler Visual Studio.NET 2008 i uzun süredir kullanıyoruz  ancak Türkiye'deki resmi lansman yapılmamıştı. Şubat ayında dünya lansmanı yapılan  Visual Studio.NET 2008, SQL Server 2008 ve Windows Server 2008'in resmi lansmanı 12 Mart 2008 Çarşamba günü Lütfi Kırdar Kongre ve Sergi Sarayında Microsoft Türkiye tarafından düzenlenecektir. Katılmak isteyenlere duyrulur.

Etkinlik hakkında detaylı bilgi ve kayıt için tıklayınız.

Tembelliğin sonu!

Tembellik, tembellik, tembellik.. Bir yazılımcının en büyük düşmanı tembellik.. Koskoca bir gazetenin internet sitesinde de bu olursa vay halimize.. Efendim, bir internet sitesi bu günlerde ASP.NET'e geçişini yapıyor gördüğüm kadarıyla. İyi güzel de olması gereken ilk şeyi nasıl atlarlar anlamıyorum.

ASP.NET ile uygulama geliştirirken, daha doğrusu web uygulaması geliştirken dikkat edilmesi gereken en önemli şeylerin başında hata yönetimi geliyor. Derslerimde hata yönetiminin üzerinde olabildiğince durmaya çalışırım. Üstelik ASP.NET platformunda hata yönetimi oldukça kolay ve zahmetsiz bir iş. Programcılar malesef kod yazmaya dalıp yapılması gereken en önemli işlemlerden olan hata yönetimi ve güvenlik gibi konuları sonraya bırakıyorlar. Tabi bunda uygulamanın bir an önce canlıya geçmesi için yönetim tarafından yapılan baskılarında payı var. Yazılım süreçleri tam oturmayıp, üstüne birde proje yönetim zaafiyetleri eklenince bu şekilde acimice hataların yapılması da kaçınılmaz oluyor.


Not 1: web.config dosyasında <customErrors mode="On"> ayarı yapılarak en azından yukarıdaki hatanın kullanıcılara gösterilmesi engellenebilir. İdeal bir çözüm değil ama en azından hiç birşey yapamıyorsanız bunu yapmak gerekirdi. En fazla beş saniyeye mal olacak bir düzeltmenin yapılmaması eğer bilgi eksikliğinden kaynaklanıyorsa o zaman diyecek bişeyim yok.

Not 2 : Bu yazıyı yazmamdaki amaç kesinlikle siteyi kötülemek yada onların hatalarını göstermek olmadığı için sitenin ismini vermiyorum. Amacım kodlama yaparken tembelliğin ve üşengeçliğin bize nelere mal olacağını göstermektir.

Bucak Hikmet Tolunay MYO 2. Bilişim Günleri

Cuma (29 Şubat 2008) günü 2. Bilişim Günleri kapsamında Mehmet Akif Üniversitesine bağlı olan Bucak Hikmet Tolunay Meslek Yüksek okulunda öğrenci arkadaşlarla buluştuk. "Yazılım Kariyeri ve C#" konulu sunumumda öğrenci arkadaşlarıma yol göstermeye çalıştım. Benim açımdan oldukça değişik ve güzel bir gündü. Özellikle öğrenci arkadaşlarda gördüğüm istek ve azim beni oldukça memnun etti. Elbettki şaşırttı aynı zamanda. İtiraf etmeliyimki büyük şehirlerimizde bulunan üniversite öğrencilerinden aynı hevesi ve ilgiyi göremiyorum. Burdur'un şirin bir ilçesi olan Bucak'ta yazılımla bu kadar içli dışlı olan bir bölümün olabilmesi de beni ayrıca memnun etti.

Çevre illerden gelen katılımcılarla oldukça kalabalık bir gruba yaptığım konuşmaya, meslek liseli genç arkadaşlarımızın da ilgi göstermesinide çok önemli buluyorum. Daha lise yaşlarında yazılım teknolojileriyle ilgilenmek ve bir şekilde olaylardan kulak dolgunluğuda olsa haberdar olmak çok güzel bir duygu.

Sunumun dışındaki zamanlarda bizden ilgisini esirgemeyen değerli öğretim görevlilerinede buradan teşekkür ediyorum, böylesine güzel bir etkinliği organize ettikleri ve gerçekleştirdikleri için. Bu etkinliğin diğer Anadolu üniversitelerine de örnek teşkil etmesini umuyorum.

Başta okul müdürü Yrd. Doç. Dr. Hüseyin Dalgar olmak üzere, organizasyonda emeği geçen öğretim görevlileriden Hasan Mazlum Bey'e ve bizimle yakından ilgilenen İlker Ünal bey'e buradan bir kez daha teşekkür ederim.

Etkinlik ile ilgili bir kaç kareyi de sizinle paylaşmak istedim.

 

Ankara Etkinliği Ardından...

Geçtiğimiz C.Tesi günü yoğun karyağışı altında ulaşabildğimiz Ankara'daki seminerimiz başarılı bir şekilde sona erdi. İstanbul'da 2 defa düzenlediğimiz etkinliğin benzerini Ankara'da da düzenleyince oldukça yoğun bir katılım olduğunu söyleyebilirim. Ben şahsen çok şanslıydım çünkü ilk sunum benimdi ve katılım oldukça fazlaydı. Görevli arkadaşların belirttiğine göre 380 kişilik bir katılım oldu. Zamanla beyinler yoruldukça ister istemez dökülmeler oluyor. Ama seminerin en sonunda kalan kişiler gerçekten bu işlere heveli kişiler olduğundan daha verimli geçiyor diyebilirim. Özellikle günün sonunda düzenlediğimiz yarım saatlik soru-cevap şeklindeki oturumumuzda oldukça faydalı paylaşımlarda bulunduğumuza inanıyorum.

C# 3.0 ile birlikte gelen yenilikleri sundum. Sunumda hala aklımda kalan ise değerli bir arkadaşımızın "Lambda Expression" ile ilgili soru sorarken dilinin sürçmesi ve "Lambada" demesi oldu. :) Salondada gülüşmelere neden olan bu dil sürçmesi için bizi güldürmesinden ötürü kendisine buradan teşekkür ediyorum :).

Etkinlikten bir kaç kareyide sizlerle paylaşmak istiyorum.

Bu tür etkinliklerimizi elimizden geldiğince diğer illerde de yapmayı düşünüyoruz. Bu yönde bize çok şikayet geliyor: Neden sadece İstanbul'da yapıyorsunuz diye. Ancak takdir edersenizki tamamen gönüllük esası ile yapılan bu etkinliklerde organize olup biraraya gelmek hele helede şehir dışında yapmak oldukça zor oluyor. Ama biz yinede kar kış demeden elimizden gelen çabayı göstereceğiz.

Seminerde de söz verdiğim üzere aşağıda sunum dosyasını ve demo kodlarını ekliyorum.

C# 3.0 Sunum ve Demosu için tıklayınız.

Girişimci bir programcının yaşam döngüsü.

GİRİŞİMCİ BİR PROGRAMCININ YAŞAM DÖNGÜSÜ

Hayati, Ağrı’nın Doğubayazıt ilçesinde 1979 yılında soğuk bir kış günü dünyaya geldi. 2 göz odadan oluşan evlerinde hayat onun için büyük sürprizlerle dolu görünüyordu. Hayati’nin babası sokaklardan metal malzemeler toplar 3 çocuğunun geçimini bu şekilde sağlardı. Hayati babası için yeni bir umut olmuştu. 3 çocuğunu çok iyi okutamadığından olsa gerek, içinde hep ukde kalmıştı bir oğlunun doktor ya da mühendis olması.  Hayati ilkokul çağına geldiğinde ürkek ama fişek gibi bir çocuk olmuştu. Babasının bile yapamadığı basit hesapları Hayati beş on saniyede çözüp sonuca varıyordu. Babası oğluyla gurur duyuyordu. Onun mühendis ya da doktor olacağını hayal edip duruyordu. Hayati ise ilkokul son sınıfta olmasına rağmen Lise sınavlarına hazırlanıyordu. Belli ki kader bu sefer onlara gülecekti. Hayati’nin öğretmenleri ondaki bu cevheri görüp üstüne düşmeye başladılar. Matematik sınavlarında hep en iyi notu alır ve her dönem eve takdir belgesi getirirdi.

Maddi Olanaksızlıklar Hayati’nin Bilgisayarla Tanışmasını
Sağlıyor
***

Türk MVP'lerinden oluşan bir grup bir araya gelerek deneyimlerini paylaşıyor. Mart ayında çıkacak olan bir başucu kitabını şimdiden bende heyecanla bekliyorum. Bendeniz de yukarıda girişi olan yazıyı kitap için kaleme aldım. Bu yazıdaki amacım ise aşağıdaki gibi özetleyebilirim :

"Programcı ya da daha güzel deyimle yazılımcılar günümüzde bilgi sistemlerinin çok önemli öğeleridir. Bir yazılımcı işe başlamadan önce, işe başladıktan sonra ve belirli bir deneyim kazandıktan sonra farklı psikolojilere girer. Yazılımcı, endüstri standartlarında uygulama geliştirmeye başladığında bir an için kendisini patronunun yerine koyar ve kod yazma işine başka yönlerden yaklaşmaya başlar. Derken kendini “ben bu işi kendi başıma” nasıl yaparımın psikolojisine sokar. Zamanla kendini 1-2 arkadaşıyla bir proje pazarlama faaliyeti içinde bulur. Başarısızlığa ulaştığında iş işten geçmiştir. İşinden olmuştur. Yeni iş aramaya başlar ve kod yazmaya sıfırdan atılır. Yazılımcı için yaşam döngüsü tekrar başlamıştır. Başarılı olana kadar bu yaşam döngüsü hep tekrarlanacaktır. Yazılımcı mutlu sona ulaştığında ise onu başka sorunlar beklemektedir. İşte bu sorunlar onu kod yazmaktan alıp başka yönlere sürüklemektedir. Geri dönmek ister ama iş işten geçmiştir!.Bu yazımda sizlere beceri olarak ortalamanın üstünde bir yazılımcının hayatında yaşayabileceği evreleri bu evrelerde içinde bulunacağı psikolojiyi anlatmaya çalışacağım. İsim vermeden gerçek yaşam örnekleriyle beraber…"


Bu değerli proje ile ilgili detaylara erişmek için işte size link : http://www.endegerlideneyimler.com/
Microsoft Silverlight && Adobe Flex
Ankara'daki son seminerimizde Silverlight ve Adobe Flex ürünlerinin karşılaştırılması ile ilgili bir soru gelmişti. Bu vesile ile bu konu ile ilgili bir kaç şey söylemek istiyorum.

Adobe Flex'in son zamanlarda büyük bir çıkış yaşadığını bilmeyenimiz yok, Microsoft'un, Adobe'nin zengin içerikli internet uygulamaları (RIA, rich internet application) alanındaki önü kesilmez yükselişine elbette bir cevap vermesi gerekiyordu. Sanıyorum iki yazılım devinin (adobe ve microsoft) bu kıyasıya rekabeti en çok sektör çalışanlarının ve müşterilerin işine yarayacak. Çünkü tekelleşmenin olduğu bir alanda hızlı ilerleme malesef sağlanamıyor. Bu bakımdan her zaman Microsoft'un tek olduğu yada payının yüksek olduğu alanlarda yeni rekabetçilerin çıkmasını istemişimdir.

Konuyu farklı bir tartışmaya sürüklemeden Silverlight'ın ne gibi avantaj ve dezavantajlarının olduğunu söylemek istiyorum. Öncelikle günümüzde web animasyonu yada zengin içerik dediğimizde Adobe Flash ve diğer geliştirme platformları defacto standat olmuş durumda. Web animasyonu deyince aklımıza Flash'tan başka bir şey gelmiyor. Özellikle sosyal ağların ve paylaşım sitelerinin arttığı Web 2.0 hatta Web 3.0 ortamında kullanıcı etkileşimli, kullanıcı odaklı ve zengin içerikler hep tercih ediliyor. Bu yüzden bu pazardaki tekel konumunda bulunan Adobe'ye bir şekilde rakip çıkıyor olması teknolojinin gelişimi açısından önemli bir gelişme. Keşke Microsoft'un da tekel olduğu alanlarda yeni rakipler çıksa.

Microsoft özellikle yeni nesil grafik arayüzü ile ilgili uzun senelerdir çalışıyor. Vista'da da kullanılan yeni grafik arayüzü ve programcılara sunduğu yeni grafik altyapısı ile bu işte ne kadar ciddi olduğunu gösteriyor. Microsoft'un Silverlight'ın temelini oluşturan WPF (Windows Presentation Foundation) ile yaklaşık 6-7 yıldır üzerinde çalışmasıda bu işin ileride nereye varacağını açıkca gösteriyor.

Microsoft Silverlight, Flash teknolojileri ile kıyaslandığında teknik açıdan şu anda çok geride. Bu bakımdan Silverlight ve Flash ürünlerini (yada Flex Geliştirme Platformunu) teknik açıdan kıyaslamak çok yersiz. Şu anki durumda Silverlight, Flash'a bir rakiptir diyemeyiz. Ancak bazı sohbet ortamlarında Microsoft'un Silverlight'ı zaten Adobe'ye karşı çıkarmadığını söyleyen bir kesimle karşılaşıyorum. Silverlight ve Flex platformalarının birbirine çok benzediğini görmesem belki buna inanırdım :) Silverlight henüz emekleme aşamasında olmasına rağmen bu durumun Adobe'yi daha çok çalışmaya iteceğini şimdiden görebiliyorum.

Bir geliştirici açısından baktığımızda Flex ve Silverlight geliştirme araçları neredeyse birbirinin kopyası gibi duruyor. Kullanılan yöntem ve teknikler çok benziyor. Bu yüzden önümüzdeki dönemde RIA tarafında sıkı bir rekabet bizleri bekliyor. Geliştiricilerin ve karar verici noktasında bulunan kişilerin hangi platform ve araçları seçeceğini ise teknik bir takım üstünlüklerin dışında malesef başka parametrelerde belirliyor. Ben her ne kadar teknik özellikler açısından Silverlight'ın henüz çok ama çok geride olduğunu düşünsemde 3-4 yıllık bir zaman içerisinde Silverlight'ın çok büyük bir atak yapacağına kesin gözüyle bakıyorum. Tıpkı .NET'in çıkışıyla Delphi'nin ve diğer Borland ürünlerinin hızla dibe vurması gibi.

Adobe, en büyük hatayı bence Flex platformunda .NET desteğini vermemesi ile yaptı. Yarın öbür gün Silverlight .NET platformu ve diğer Microsoft ürünleri ile tam entegre çalıştığında Adobe'nin RIA tarafında pazar kaybedeceğini düşünüyorum. Halbuki Adobe şu anki üstünlüğünü, Flex ortamında C# ve VB gibi dillerede destek vererek sürdürebilirdi. Böylece Microsoft tabanlı geliştiricilerin büyük bir bölümü Adobe'nin tecrübesini ön planda tutarak Flex platformunu tercih edecekti. Çünkü Silverlight'ı ileride öne çıkaracak en önemli etmenlerden biriside zaten bir çok kişinin bildiği ve kullandığı .NET dilleri ile uyumlu çalışacak olması olacaktır. Bence bu rekabetten Adobe'nin karlı çıkabilmesi için ve yarın öbür gün Borland gibi bu alanda dibe vurmaması için Microft geliştirme platformları ile entegre çalışmalıdır. Çünkü internet uygulamalarını görüntüleyen tarayıcıların ezici çoğunluğu Microsoft işletim sistemleri üzerinde çalışıyor. Silverlight, 2 yıl sonra Windows'un doğal bir parçası olduğunda Adobe'nin işi daha da zorlaşacak.

Her ne olursa olsun, sonuçta bizler her iki platformuda deneyecek ve bize en uygun olanını seçeceğiz. Uygun zaman ve koşullarda hangi platform bizim için avantajlı ise onu seçeceğiz. Dolayısıyla bu iki yazılım devinin belli bir alanda rekabete girmesi beni oldukça sevindiriyor.

Silverlight ve Flex ile ilgili sizlerinde yorumlarını merak ediyorum...

Zaman zaman zaman!

Evet, 6 ay olmuş. Günlüğe dokunmayalı tam 6 ay olmuş. Üşengeçlik mi dersiniz, zamansızlık mı dersiniz bilmiyorum ama aslında pek çok kez yazmaya niyetlendiğimi hatta yazmayı düşündüğüm konuları unutmamak için D:\ dizininde "blog yazilacaklar.txt" isimli bir dosyada tuttuğumu belirtmeden geçemeyeceğim.  Son zamanlarda bir baktım ki  bir hayli konu olmuş ve ben yazı yazmaya zaman blulamamışım yada üşengeçlik etmişim. Artık geri döndüğüme göre birikmiş ve belkide demode olmuş konular hakkında oturup yazı yazmak istemediğim için size bu dosyamı tek harfine dokunmadan aşağı listeliyorum :) Yani eğer zamanım olsaydı aşağıdaki konularla ilgili yazılar yazacaktım bu süre zarfı içerisinde. Tabi bunlar sadece unutmamak için not aldıklarım. anlık olarak aklımdan kim bilir neler geçti.

Yani demem o ki, beni hor görmeyin, yazma niyetim vardı, yazamadım. Niyetim halistir :) 

İşte "blog yaizlacaklar.txt" dosyam.

Blog Yazılacaklar.

- -- -- -- -- -- -- -- -- -- -- -- -- --

sakarya unv konferansı hak.

c# 2.0 kitabı 5. baskı

memik yanık davası

amerika gezisi

dubai seyehati

sabanci unv, mobil ve csharp dersleri

.NET Fx 3.0 Bilmecesi

CardSpace hakkında

CSS Adapters üzerine inceleme

enterprise library 3.0

silverlight ezikliği

ms ne yapıyor',  LINQ Entity, C# 3.0 LISP, MVC ve Java, micro framework, blend, expression, flash

Evlendim...
Evliler kervanına nihayet bende katıldım. 1 Nisan'da (şaka gibi) İstanbul Milletvekili İrfan Gündüz'ün ve sevgili iş ortağım Oğuz Yağmur'un şahitliğinde resmen dünya evine girdim. Düğünde emeği geçen bütün dostlara ve benimle mululuğumu paylaşan arkadaşlarıma buradan sonsuz teşekkürlerimi iletiyorum.
Bir MVP Global Summit daha bitti.

Uzun süredir günlüğüme bişey yazamadım. Elbette bunun nedenleri var ama ben artık bu nedenlere sığınmayacağım. Yazazamıyorsan kapatacaksın, yazıyorsan da adam gibi yazacaksın mantığını gütmeye başlayacağım sanırım. En son Mart ayının başında bir mesaj yayınlamışım. Dolayısıyla belleğimi Mart ayının başına geri alıp yazmak istediklerimi ama bür türlü zaman bulupta yazamadıklarımı tek tek paylaşacağım.

Mart ayında bu yıl üçüncü defa katıldığım Amerika'daki MVP Global Summit'den bahsetmem lazım sanırım. Bu yılki zirve geçen yılki zirvelere göre oldukça yoğun içeriğe sahipti. Microsoft'un önümüzdeki en az 7-8 yıl süre zarfında gerçekleştirmek istediği bütün projelerden haberdar olduk. Oldukça yeni gelişmeler Microsoft camiasında bizleri bekliyor. Herşey güzel giderken bazen kötü şeylerde olabiliyor Microsoft camiasında. Bunlardan 1 tanesine daha sonra değineceğim.

Her ne kadar Amerika yolculuğu çok uzun ve yorucu bir yolculuk olsada yoldaşım çok değerli arkadaşım Hakan Ulagan olunca bütün herşeyi unutabiliyorsunuz. Yorgunluğu berataraf edip eğlenceli bir yolculuğa çevirebildik. Yalnız Hakan'ın en 10 tane mağaza gezip 1 tane fotoğraf makinası alamaması beni hep düşündürmüştür.

Zirvenin açılışını Bill Gates yaptı. Çok kalabalık bir ortamda konuşma yaptı. Ben ancak yarısında girebildim konuşmaya ama gördüğüm kadarıyla heyecan verici bir konuşma geçmedi. Geçen yılki Steve Ballmer açılışından sonra bu biraz sönük kaldı. Ama yinede Bill Gates gibi bir insanın konuşmasını canlı dinliyor olmak insana ayrı bir heyecan katıyor. Üstelik kendisine canlı olarak soru sorma şansımızda vardı. Bill Gates ne konuştu ne dedi diye sormayın sakın, zirve boyunca konuşulanların hepsi Microsoft ile yaptığımız NDA sözleşmesi gereği paylaşılması yasak. Bu yüzden konuşma içerikleriyle ilgili çok fazla detay veremiyorum.


Bill Gates'in konuşmasından bir an...

Zirve sırasında duyduğum yeni Projelerden biraz bahsetmek istiyorum. Öcenlikle SQL Server'ın yeni versiyonu (Kod Adı : Katmaii) ile ilgili çalışmalara başlandığını duyurdular. Yeni SQL Server'da geleneksel ilişkisel veri modelinin dışında yeni arayışlara girildiği, XML veritabanı modeli üstüne çalıştıkları belirtiliyor. SQL Server Katmai bir çok suprizle tahminen 2008 yılında bizleri bekliyor olacak. Tabi final sürümüne ulaşması bana göre 2009 yada 20010 yılını bulur. Öte yandan adını son zamanlarda sıkça duyduğumuz DLR(Dynamic Language Runtime) konusunda da Microsoft tarafında hareketlenmeler mevcut. Bir proje ile (kod adının paylaşılması bile şu anda yasak) CLR ve .NET Framework üzerinde çalışacak bir DLR motorunun geliştirilmesinden bahsediliyor. DLR konusunda IronPyton ile sıkı ilişki içerisinde olduğunu belirtmek isterim. Diğer bir gelişme ise Visual Studio.NET tarafında. Orcas'tan hemen sonra yani 2008'in sonundan itibaren kod adı Rosairo olan yeni bir Visual Studio ile karşılşacağız. Visual Studio Rosario ile birlikte WPF/E 2.0 (yeni adıyla Silverlight)'ın da çıkarılacağı belirtildi. Microsoft'un bu yeni ürünleri baş döndürücü hızla ilerlerken özellikle .NET Framework 3.0 ile ilgili ciddi sıkıntılar içerisinde olduğuda kulağıma gelen bilgiler arasında. Bu meseleyle ilgili de ayrıca bir yazı yazmayı planlıyorum.

Konferanslar arasında en beğendiğim ise Anders Hejlsberg'in yine C# 3.0 ile ilgili yaptığı konuşmaydı. Bir önceki zirvede de yine Anders aynı sunumu yapmştı. Bu sefer de yeni eklenmesi planlanan C# özelliklerinden özellikle DLINQ'in geleceğinden bahsedildi. Kişisel olarak Anders Hejlsberg'i ben bu sefer çok yorgun ve bitkin gördüm. Microsoft'un dinamik yapısına ayak uydurmak zorunda kaldığı için sanırım çok yorulmuş. En azından ben öyle gördüm.


Anders Hejlsberg'in sunumu anından bir görüntü

ABD'ye her gidişimde en çok beni etkileyen şey trafiğin düzenli ve saygılı sürücülerle dolu olmasıdır. İnsanlar araç sürerken kesinlikle bizdeki gibi farklı kimliklere bürünmüyorlar. Herkes o kadar saygılıki Türkiye'ye döndüğümde aynı şeyi beklediğimden midir nedir oldukça kızıyorum insanlarımıza. İnsanlar trafik kurallarına katiyyen uyuyorlar. Örneğin aşağıdaki resimden göreceğiniz üzere soldaki ilk üç şerti araba dolu ve kilitlenmiş durumda. Sağdaki son şerit sadece araçta kişi sayısı 3'ten fazla ise kullanılabiliyor. Yol kilitli olmasına rağmen bir Allah'ın kulu bile boş şeride geçmeyi aklına getirmiyor. Tabi Türkiye'de böyle bir şeyi şu anda hayal etmek bile zor. Bu yüzden her gidişimde bu manzara karşısında şaşırıyorum ve aynı zamanda gıpta ile bakıyorum.


Beni her defasında şaşırtan trafik manzarası...

Bir zirve genel olarak böyle geçti. Bu sefer teknik sunumların dışında bir hayli gezme fırsatım oldu. Sağolsun Seattle'de ikamet eden değerli arkadaşım Gökhan Kestek gezme ve eğlenme konularında fazlaca yardım etti bana. Buradan tekrar teşekkürlerimi iletiyorum kendisine.

Son olarak 1-2 kare hatıra resim ile bu yazıyı bitireyim;


Ben ve değerli arkadaşım Hakan Ulagan


Otel odamdan enfes bir Seaatle manzarası

Özür.!

Bir süredir, okur adaylarımdan "Her Yönüyle C#" kitabını bulamıyorum, nerden edinebilirim diye bir çok mail aldım. Herkesede 1 hafta içinde yayınevi tarafından güncellenmiş 5. baskısının yayınlanacağını söylemiştim. 1 Hafta geçmesine rağmen henüz yeni baskı raflarda yerini alamadı. Bu gecikmeden dolayı okurlardan özür diliyorum.  Acil olarak yayınevi ile görüşüp basım işlemini hızlandırmaya çalışacağım.

Bilmeyenlere duyrulur :  C# kitabının 5.baskısı 2.0'a göre güncellenmiş olarak basılacaktır. Muhtemelen 7. baskısı da C# 3.0'a göre güncellenmiş olur. Tabi C# 3.0 için daha çok zamanımız var.

Ajax Tabanlı Geliştirmede Standarda Gidiliyor

Geçtiğimiz hafta ABD'de idim. Buradaki sunumların birinde ASP.NET ekibinin başında olan Scott Guthire  "Open Ajax Alliance" organizasyonundan bahsetmişti. Bu organizasyonun amacı Ajax tabanlı geliştirme imkanı sağlayan altyapıları ortak çatıda toplamak ve bu ayrı ayrı geliştirilen altyapıların birbirlerini bazı konularda ezmemesi için ortak isimlendirme ve tanımlama standartlarına gidilmesi imiş. Şu anda http://www.openajax.org adresinde bu organizasyona katılan firmaların listesini görebilirsiniz.  ABD'de katıldığım sunumda Scott, Microsoft'un da bu organizasyona katılacağını söylemişti.  Sanırım bir kaç gün içerisinde bu haberi alacağız. Özellikle Open Source projelere destek verilmeside enteresan bir ayrıntı. Microsoft'un son zamanlarda community'lerin büyük gücünü görüp bir çok open source proje başlatmasıda ayrı bir detay olarak görünüyor :)  Bakalım neler olacak ilerde.

Ek bir bilgi : Microsoft'un küçük cihazlar için geliştirdiği ve OS olmadan çalışabilen yeni ürünü Micro Framework yayınlandı geçtiğimiz günlerde. Yine ABD'de bununda canlı örneğini görme şansım oldu. Oğuz hocamın günlüğündeki yazısından Micro Framework ile ilgili diğer bilgilere erişebilirsiniz.

 

Mim Dalgası Benide Buldu!

Günlüğünü, günlükten çıkarıp aylığa çıkarmaya hazırlanan ben bir mim dalgasıyla kendime gelmiş bulunuyorum.  Duydunuzmu bilmiyorum, şu sıralar günlüklerde yeni bir mim dalgası dolaşıyor günlükten günlüğü, hattan günlükten aylığa :)

Efendim, olay şudur ; Günlüğünüzü kritize etmesi için takip ettiğiniz bir kaç günlüğe pas atıyorsunuz, onlarda sizi bir şekilde gördüklerinde kendi günlüklerinde günlüğünüzü deli gibi eleştirmeye başlıyorlar sizde kendinize çeki düzen veriyorsunuz.  Şimdi, önce beni sobeleyen günlüğü halledelim sonra devam ederiz.

Ben bu mim dalgasını  Gürkan Yeniçeri'nin günlüğünde sobelenmem neticesinde öğrendim. Şimdi madem sobelendik ve bu ilk oldu bizim için deli gibi eleştirmeye başlayalım.

Gürkan bey,  öncelikle günlüğün takip ettiğim ve internette içerik olarak en doyurucu bulduğum Türkçe sitelerin başında geliyor. (ister inan ister inanma, devamlı takip ettiğim günlüklerdendir :) ). Madem bu kadar okuyorsun beni niye mim dalgasını bu kadar geç öğrendin diyede sorabilirsin. Hemen açıkalayabilirim ; birincisi son 10 gündür yurtdışındaydım, günlük yaptığım aktiviteleri yapamadım, ikincisi son 1 aydır özel bir nedenden dolayı çok yoğun idim. Bu ay günlüklere pek girememişim.

Önce olumlu eleştirilere değinelim;

- Günlüğün hakikaten günlük olarak kullanıyorsun, benim gibi aylık değil :)

- Yazdığın yazılar bazen o kadar güzel oluyor ki direkt alıp günlüğüme koymak istiyorum ama hazıra konmuş gibi de istemediğim için sonuçta bişey yapmıyorum :)

-  Günlüğün tasarımı sade ve kullanışlı. Çok karışık değil.

Gelelim olumsuz eleştirilere;

- Bi kere Gürkan bey  tasarım sade ve kullanışlı olsada renk seçimleri ve renk uyumları konusunda anladım ki sende benim gibi kör cahilmişsin.  Yeşil, Siyah, Mavi vs olmamış vessalım. Şimdi diyeceksin ki sen kendi günlüğüne (daha doğrusu aylık) bak önce. Evet baktım, benimkide öyleymiş :)

- Günlüğün en tepesindeki banner kısmında aynen şu yazıyor;

C# 3.0 : Atomatik Özellik Tanımlama - Automatic Property

Geçtiğimiz günlerde Visual Studio.NET (Orcas)'ın Mart CTP sürümü yayınlandı.  Her geçen gün C# 3.0'ın yeni özelliklerinin daha da entegre edildiğini görüyoruz. Bundan tam 1 yıl önce C#nedir?com'da yayınladığım makalede C# 3.0 dili ile birlikte gelen özellikleri detaylı olarak ele almıştık (http://www.csharpnedir.com/makalegoster.asp?MId=600).

Mart CTP ile birlikte dikkatimi ilk çeken otomatik özellik tanımlama mekanizması oldu. Hemen konuya geçeyim; kodlarımızın büyük bölümü aşağıdaki gibi özellik tanımlamalrı ile doludur. Genellikle bu kullanım ileriye dönük enkapsülasyon sağlamak amacıyla yapılır.

private string degisken;

public string Degisken
{
        get
        {
              return degisken;
         }
        set
        {
              degisken = value;
         }
}

Get ve Set bloklarında herhangi bir iş mantığı olmasada direkt değişken yarıdmıyla dişardan erişim açmak pek istediğimiz durum değildir. O yüzden uzun uzadıya yukarıdaki gibi özellik tanıması yapılır. C# 3.0'ın MART CTP'si ile birlikte bu tarz kalıp bildirimlerini aşağıdaki şekilde yapabiliyoruz.

public string Degisken
{
      get; set;
}


Oldukça kısa bir tanımlama. Tahmin edeceğiniz üzerederleyici otomatik olarak arka planda gizli bir field (değişken) yaratır  ve varsayılan olarak set ve get metotlarını yaratır. Böylece ileride set ve get bloklarını doldurmak istediğimizde mevcut istemci uygulamarda herhangi bir değişiklik yapmak zorunda da kalmayacağız. 

C# 3.0'daki en yaratıcı değişikliğin bana göre bu olduğunu söylemeliyim.  Gelişmeleri günlüğümde yazmaya devam edeceğim.

whatisaxapta Açıldı.!

Axapta, Dynamics AX gibi Microsof'un iş dünyasına yönelik olarak geliştirdiği ürünler ve altyapılar konusunda oldukça uzman olan değerli dostum Gökhan Kestek'in önderliğinde geliştirilen bir portal olan http://www.whatisaxapta.com sitesi yayına girdi. Oldukça güzel bir içeriğe sahip olan sitede bir çok konuya ver verilmiş. Özellikle Bussiness Solutions konularında çalışan arkadaşların mutlaka takip etmesi gereken bir site. Sitenin İngilizce olması ise ayrı bir avantaj, zira bir çok yabancı meslektaşlarınızla iletişime geçip bilgi paylaşımında bulunabilirsiniz.

Gökhan'a yeni olan bu projesinde başarılar diliyorum.

Kitapyum.com ve Her Yönüyle C#
Pusula yayınevine ait bütün kitapların elektronik olarak siparişini verebileceğiniz www.kitapyum.com sitesi başarılı bir şekilde hizmet vermeye devam ediyor.

2003 yılında yazmış olduğum Her Yönüyle C# kitabıda en çok satılanlar listesinde ilk sırada. Kitabıma göstermiş olduğunuz ilgiye teşekkür eder her zaman eleştiri ve yorumlara açık olduğumu belirtmek isterim. İtiraf etmeliyim ki okurlarımdan gelen sadece tek bir soruya cevap yazmaktan sıkıldım. Oda "Neden kitapta sadece konsol uygulamaları var da görsel uygulamalar yok?" sorusudur. C#nedir?com forumlarında da bu sorunun cevabını bir kaç kez yazdım. C# eğitimlerimize katılan programcı arkadaşlarda zaten sorunun cevabını alıyorlar. Programlamaya yeni başlayan arkadaşlar zaten bu soruyu soramazlar, zaten yeni öğreniyorlar. Bu yüzden bir kez daha burada yazmak istemiyorum :)"
Expression Web Ürünü Hakkında
ASP.NET ile uğraşanlar bilirler ki Visual Studio.NET ile HTML tasarımları oluşturmak oldukça zordur. Micrsoft'un Frontpage programıda bir o kadar berbat olduğu için web uygulamaları için basitde olsa HTML ekranları hazırlayanlar mecburen Dreamwaver ve Homesite  gibi  HTML tasarım kabiliyeti oldukça iyi olan Microsoft'a ait olmayan programları kullanmak zorunda  kalırlardı.  Bu durum pek hoş karşılanmıyordu. Özelliklede eğitimlerde HTML dizaynı için farklı programları açtığımızda birazcık yadırganıyordu. Ama eleden bişey gelmiyordu. VS.NET'in tablo şekillendirmesi için 2 saat uğraşacağımıza Macromedia'nın programları ile 2-3 dakikada yapabiliyorduk. Şimdilerde Microsoft bu açığını kapatmak için yeni bir ürün ailesi tanıttı : Microsoft Expression

Bu ürün ailesinde web programcılarını en çok ilgilendiren Microsoft Expression Web ürünüdür.Expression Web ile HomeSite ve Dreamwaver ile yapabildiğimiz bütün işleri rahatlıkla yapabiliyor hale geldik. Yani kısacası Expression Web uygulaması bir HTML tasarım ürünüdür. Piyasadaki diğer muadilleri Macromedia Dreamwaver ve HomeSite gibi ürünlerdir. Ama malesef bu ürünler VS.NET'ten bağımsız olarak dağıtılıyor. Yani şimdilik yine tasarım için ayrı kodlama için ayrı ürünler kullanmak zorundayız. Bu ürünün en güzel yani ise standart ASP.NET 2.0 Web kontrolleri ile entegre çalışıyor olmasıdır ki buda zaten bir çok HTML tasarım programında bulunmaktaydı. Ancak Expression Web olayı bir adım daha öteye götürerek ASP.NET kontrollerinin design-time'da render edilmesinide sağlıyor. Örneğin bir Calendar kontrolü koyduğunuzda Calendar kontrolünü tasarım aşamasında HTML hali ile görebiliyorsunuz.  Sonuç olarak özetlemek gerekirse Expression ürün ailesi yeni bir teknoloji yada yaklaşım modeli sunmuyor bize. Microsoft'un daha önce yapamadığı dolayısıyla çözümü başka yerlerde aradığımız bir çok şeyi geçte olsa bize sunmuş oluyor.

Şu anda resmi bir bilgi yok ama tahmin ediyorum ki expression web ürünü ileride VS.NET'e entegre edilecek. Ama aynı zamanda ayrı bir ürün olarakda sunulması gündeme gelebilecektir. Nitekim Frontpage'in yerini dolduran bir ürün olarak da anılmaktadır. Artık Frontpage'in yeni versiyonlarını görmeyeceğiz. Aşağıda meraknızı gidermek açısından Expression Web ürününe ait bir ekran görüntüsü koyuyorum.



Expression ürün ailesindeki diğer ürünler ise aşağıdaki gibidir.

Expression Blend :
Expression Design :
Expression Media :
Expression Studio :

Ürünler hakkında daha detaylı bilgi ve trial sürümlerini denemek için tıklayınız.
Küresel Isınma Belgeseli
Geçtiğimiz hafta  yeni vizyona giren ve küresel ısınmaya dikkat çeken bir belgesel filmine gittim. Belgeselde küresel ısınmanın (global warming) neden olduğu çeşitli doğa olaylarından bahsediliyor çeşitli istatistiksel verilerle konunun önemi vurgulanıyordu.  Bütün yerkürenin küresel ısınmadan etkileneceği ancak özellikle Çin, ABD ve Avrupa'nın büyük bir bölümünün önümüzdeki 50-100 yıl içerisinde eriyen buzullar nedeniyle sular altında kalacağı söyleniyor. Film sırasında gösterilen dünya haritası üzerinde  özellikle Türkiye'nin de içinde bulunduğu Ortadoğu topraklarının küresel ısınmadan en son etkilenecek topraklar olarak gözüküyordu.  Eski ABD başkan adayı Al Gore'un müthiş bir sunumuyla olay anlatılıyor ve konunun ABD ve dünyan halkı açısından önemi vurgulanıyordu. Durum boyle olunca insanın aklına ABD'nin kendine ortadoğuda neden yuva aradığı gerçeği geliyor. Al Gore'un yaptığı sunumda  küresel ısınmaya en çok etki eden ülkenin açık ara ile ABD olduğu görünüyor.  Buna rağmen uluslararası bir antlaşma olan Kyoto'ya destek vermeyen tek ülkenin ABD olduğu gerçeğinide düşünürsek Ortadoğu halkları olarak bizi zor günlerin beklediğini kestirebilmek güç olmasa gerek. Eğer belgeseli izlemeye giderseniz birde bu perspektiften bakmaya çalışın derim.

Filmin Türkçe adı : Uygunsuz Gerçek
Microsoft Ajax 1.0'ın Kaynak Kodları Açıldı.

Bildiğiniz gibi Microsoft Ajax 1.0 kütüphanesinin RTM sürümü geçtiğimiz günlerde yayınlandı. Dün ise Microsoft bu kütüphanenin tamamının kaynak kodlarını indirilebilir hale getirdi. Böylece Ajax Control Toolkit ile beraber Ajax 1.0 altyapısının tamamı açık kaynak kodlu hale gelmiş oldu. Kaynak kodlar Microsoft Permissive License lisansı ile yayınlandığından kaynak kodlar üzerinde değişiklik yapıp projelerinizde yeni versiyonunu kullanabilirsiniz. Ayrıca değiştirilmiş kaynak kodlarınızı açık ortamlarda başkaları ile de paylaşabilirsiniz.

Aşağıdaki bağlantıdan indireceğiniz bu kaynak kodları debug amacıyla kullanabileceğiniz gibi gerektiğinde bugları düzeltip yeni haliylede kullanabilirsiniz. Ancak ben çok kritik olmadığı sürece kütüphanenin değiştirilmiş versiyonlarını projelerinizde kullanmanızı önermiyorum. Zira yeni çıkacak versiyonlarda upgrade problemleri yaşayabilirsiniz.

Bakalım ilerde Microsoft daha hangi ürünlerinin kaynak kodlarını açık hale getirecek? Merakle bekliyoruz...

Ajax 1.0 kütüphanesinin ASP.NET 2.0 ile entegre olan bölümlerinin kaynak kodlarını indirmek için tıklayınız.

ASP.NET 2.0 Ajax 1.0 Final sürümünde bir bug!

Ajax 1.0 eğitiminde ASP.NET 2.0 Ajax 1.0'ın final sürümünde farkettiğim bir bug'ı sizlerle paylaşmak istedim.

Sayfanızda birden fazla UpdateProgress kontrolü bulunduğunda (farklı UpdatePanel'ler için farklı UpdateProgress olması durumunda) eğer asenkron postback (async postback) işlemini meydana getiren nesne UpdatePanel dışında ise (yani trigger vasıtası ile eklenmişse) ilgili UpdatePanel için yerleştirmiş olduğunuz UpdateProgress nesnesi çalışmıyor. Kısa bir araştırmadan sonra bunun bir bug olduğuna öğrencilerler beraber karar verdik.

Problemin üstesinden gelmek ise çok kolay oldu. Ajax 1.0'ın Javascript kütüphanesinde bulunan PageRequestManager yardımıyla bu işi kendimiz halledebildik.

Not : PageRequestManager nesnesi asenkron postback işlemini yapan javascript nesnesi olup Ajax 1.0 kütüphanesi tarafından istemci tarayıcısına çalışma zamanında yüklenmektedir.

Türkiye'de ilk : ASP.NET Ajax 1.0 (Atlas) Workshop

C#nedir?com ve BT Akademi Türkiye'de bir ilki daha gerçekleştiriyor. İlk duyrulduğu günden beri  çok seminerle sizlere duyurduğumuz Atlas yada yeni adıyla ASP.NET Ajax 1.0 paketinin anlatılacağı workshop Ocak sonunda başlıyor.

Henüz yeni RTM versiyonu çıkan programın eğitmeni ben olacağım. P.Tesi günü başlayacak olan programın detaylarını http://www.csharpnedir.com/haber_detay.asp?id=165 adresinden öğrenebilirsiniz.

Geri Kafalı Fransız Hükümeti!
Tarihi bir gündeyiz. Çünkü Fransa düşünceyi suç saydı bugün. Türkiye’de Ermeni soykırımını kabul eden vatan hainleri dışında kalan herkes Fransa’da suçlu sayılacak ve yasalara göre hemen tutklanacak. İşte bu karar Avrupalının bize bakış açısını ve niye bizi aralarına almak ismediklerini açıkca gösteriyor. Fransa’nın bu çirkin tutumunu ve bu tutuma destek veren bütün işbirlikçilerini kınıyorum.
 
Yapılması gerekenlere serinkanlı bir şekilde düşünmek lazım. Ayıbı ayıpla örtmek Türk milletine yakışmaz. O yüzden yapılacaklar bana göre sırasıyla şöyle olmalı;
 
-          Madem her Türk Ermeni soykırımını kabul etmeyeceği için suçlu sayılacak o zaman Fransa Büykelçimizi derhal geri çağırmalıyız. Ve Türkiyedeki fransız elçisini sınırdışı etmeliyiz.
-          Fransa ile olan diplomatik ilişkileri askıya almalıyız.
-          Hemen en tezinden Meclis tarafından onaylanmış, Cumhurbaşkanı tarafından imzalanmış bir resmi kınama metni gönderilmelidir. Ve bu metin Başkanımız tarafından duyrulmalıdır.
-          Türkiye’de yaşayan Fransızları koruma altına alıp onlara Türk insanına yakışacak şekilde davranmalıyız ki Avrupa’lı insana nasıl davranılması gerektiğini her zaman olduğu gibi yine bizden öğrensin.
-          Fransanın Cezayirlilere yaptığı gerçek soykırım meclis tarafından kabul edilmeli ama Fransızların yaptığı gibi bu soykırımı kabul etmeyenler suç işlemiş sayılmamalı.
-          Fransa’ya yapılan bütün uçuşlar durdurulmalı. Fransa’ya gitmek isteyen varsa başka ülkeden gitsin.
-          Fransa vatandaşlarını vize uygulanmalıdır. Hatta ülkeye almamak için elden gelen yapılmalıdır.
 
Yukarıdaki saydıklarımı yapacak casaretli devlet adamlarımız umarım ki vardır.
 
Orhan Pamuk’un aynı gün Nobel Edebiyat ödülünü alması ise ilginç bir tesadüf. Umarım bu anlamlı ödül sadece bir tesadüftür. Orhan Pamuk bu ödülü Fransa’yı protesto etmek için kabul etmese herhalde Türk milleti onu bağrına basarak en büyük ödülü verecektir diye düşünüyorum. Ama bunu yapmadı diye de Nobel ödülüne gölge düşmemesi lazım. Tabiki Nobel ödülünü almasında Ermeni lobisinin bir etkisi olmadıysa...


Her Yönüyle C#



www.csharpnedir.com


BT Akademi
Albümler
- 1 Nisan 2006 csharpnedir Toplantisı

- 2005 MVP Global Summit

- Antalya MVP Bölge Toplantısı

- BT Akademi 1. .NET Akademi Sınıfı

- BT Akademi Egitim Sonrasi 1

- BT Akademi Yemegi

- EE-MEA MVP leri ile Toplu Resim - 2006

- Ingiltere Gezisi - MVP Open Days 1

- Ingiltere Gezisi - MVP Open Days 2

- Tayland-Singapur Gezisi

Arşiv
Son Girilenler
2009 Şubat (2)
2008 Aralık (1)
2008 Ağustos (1)
2008 Temmuz (5)
2008 Nisan (3)
2008 Mart (3)
2008 Şubat (5)
2008 Ocak (2)
2007 Kasım (3)
2007 Ekim (3)
2007 Eylül (1)
2007 Haziran (1)
2007 Nisan (2)
2007 Mart (5)
2007 Şubat (3)
2007 Ocak (4)
2006 Eylül (3)
2006 Ağustos (11)
2006 Temmuz (6)
2006 Haziran (5)
2006 Mayıs (5)
2006 Nisan (5)
2006 Mart (8)
2006 Ocak (4)
2005 Aralık (1)
2005 Kasım (4)
2005 Ekim (5)
2005 Eylül (5)
2005 Ağustos (9)
2005 Temmuz (4)
2005 Haziran (9)
2005 Mayıs (9)
2005 Nisan (9)
2005 Mart (17)
2005 Şubat (9)
2005 Ocak (4)
2004 Aralık (3)
2004 Kasım (10)
2004 Ekim (7)
2004 Eylül (13)