anov
Çokca bahsedeceksiniz :-)

Birleşmek ve büyümek değil, dağılmak ve küçülmek gerek

July 6, 2008 00:05 by anov

2002-2003 (Mezuniyet 2003) yılından beri bir şekilde İnternet üzerinde içerik geliştiren yapıların mesleğim gereği içindeyim. Bu tip yapıların her şeyden önce sektörel bir ihtiyaç olduğunu düşünmekteyim. Hangimiz, yerli olsun-yabancı olsun bir siteden takıldığı noktada yardım almadan, kodlamaya devam edebiliyor ki? Ancak her bir alan adında ağırlık verilen konu farklı ve her içerik şeklinde değişik bir yön ortaya çıkmakta. Kimisi makale mizanpajına ve kalitesine, kimisi forumunun hareketliliğine önem veriyor. Kimisi ise siteyi sadece e-posta listesini tanıtmak için kullanıyor. Toplulukların önem verdiği şeyler de çok farklı. Hepsinin kendine özgü bir etik anlayışı ve üslubu, daha doğrusu kendi alt-kültürü var.

İşim gereği, hem yerli hem yabancı sitelerde çokca gezinmekteyim. Türkçe konuşan bir insan olarak, Türkçe sitelerin içinde bulunduğu durumdan memnun olduğum söylenemez. Bu konuda yazıyı okuyanların da benimle aynı görüşü taşıyacağını / taşıdığını düşünmekteyim. Bu konuda neler yapabileceğimi / yapabileceğimizi düşünmeden önce mevcut duruma benim bakış açımla bir göz atalım. (Sizin bakış açınız için yorumlar kısmı var tabii :-) )

Başarılı sayabileceğim, MS güdümlü topluluklar var. Bu topluluklar MS in üniversitelere yakın markajı, öğretim üyelerinin ve öğrencilerin yaptığı çeşitli çalışmaları yayınlamaları sayesinde gayet güncel ve güzel şekilde gidiyorlar. Üstelik burada düzenli ve kaliteli içerik yayınlayan çeşitli arkadaşlar MS tarafından (MVP - Most Valuable Professional) olarak taltif ediliyorlar. Bu topluluklar hakkında hoşuma gitmeyen iki şey var: Birincisi hiçbirisinden üyelik olmadan yararlanmak mümkün değil. İkincisi sektörel olarak değil de MS-bağımlı bir hareket gösteriyorlar. Örneğin halen asp 3.0 kullanılabileceğine aldırış etmeksizin sitelerinden asp ile ilgili tüm yazıları ve forum bölümlerini silmek gibi. Bu konuda asp.net çıktığı ilk yıllar halen asp kodlamaya devam eden birisi ve eski uygulamaları desteklemeye çalışan biri olarak ben hoş karşılamadım. Bu topluluklar bence şu an Türkçe olarak yayın yapan İnternet siteleri içinde en başarılı olanlarıdır. Çünkü çoğu zaman aranılan şeyler bulunuyor.

Bu topluluklardan sonra bir de bağımsız topluluklara göz atmak gerekiyor. Herhangi bir şirkete bağlı olmadan, bir araya gelmiş topluluklar değişik alanlarda bilgi paylaşımı için bir araya geliyorlar. Ancak ortada kurumsal bir yapı olmadığı için bu topluluklar saçma sapan sebeplerle temellerinden sarsılıp dağılabiliyorlar. Dağılma sebepleri başka açılardan bakıldığı zaman değişik görünse dahi esasa bakıldığı zaman düpedüz kurumsallaşmakta gösterilen zaaf bu sitelerin sonu veya zayıflamasının en büyük sebebi oluyor.

Bağımsız topluluklarda içeriğin büyük bölümüne üyelik olmadan erişilebiliyor. Ancak bağımsız olmasından hareketle bu bölünmeler belli periyotlarla ve muhtelif sebeplerle meydana geliyor. Kurulan sistemi devam ettirecek bir yol bulmak gerekiyor. Bu topluluklar "ölümsüzlüğün" bir yolunu bulabilir mi? Bu arada arkasında oldukça sağlam bir destek duran bir bağımsız topluluğu en sonda bahsetmek üzere saklıyorum.

E-posta listeleri gerçekten hazine niteliğinde bilgiler barındırıyor. İçlerinde arama yaptığımız zaman her sorunumuza cevap bulabileceğimiz listeler var. Hatta bu konuyu görüştüğüm bazı arkadaşlarım sadece e-posta listelerinin yeterli olduğunu diğer yöntemlerin ancak onun takipçisi olabileceğini savunabiliyorlar. Burada da hoşuma gitmeyen şey eğer düzenli olarak bir listeyi takip ediyorsanız ve liste iyi organize edilmemiş ise, tekrarlar ile karşılaşabiliyorsunuz.

Bir başka mecra kişisel siteler. Bu sitelerde çoğu zaman çok kaliteli,  düzgün içerikler yayınlanıyor. Üstelik bu kişisel siteler birbirlerini takip ediyor ve birbiriyle bir çeşit güçbirliği yapıp koca koca topluluk sitelerinin (eğer aynı zümreye ait değilse) yapamadığı şeyi başarıyorlar. İşbirliği içinde çalışıyorlar hem de birbirlerine bağımlı olmadan.

Aklımda pek çok şey olduğu için maddelere, paragraflara ayırarak gidiyorum. Bu toplulukların-kişilerin hepsi ne yazık ki faydalı amaçlar için uğraşmamaktadır. Kimisi sağdan-soldan kopyaladığı yazılarla kaynak belirtmeden forumlarda veya portallarda faaliyet göstermektedir. Bu kişiler aynı zamanda reklam gelirlerinden oldukça yüklü miktarlar kazanabilmektedir. Şahsi görüşüm bu yozlaşmanın en büyük aktörlerinin arama motorları (özellikle Google) olduğu yönündedir. Örneğin yazdığım bir yazının başlığıyla arama yaptığımda, yazının aynısını kopyalamış şahsın forumunu ikinci sırada bulabiliyorum. Bu şahıs utanmadan imzasına "eğer bu yazıyı benim rumuzumu belirtmeden kopyalarsanız, sizi o sitede rezil ederim" mealinde bir şeyler yazabiliyor. Bu duruma müdahale şansımız az olduğu için bu paragrafa daha fazla yazmak istemiyorum.

En sevdiğim ve kurumsal yapıya sahip olan topluluk / oluşum Viki tabir edilen sitelerdir. Gerek isteyen herkesin katkıda bulunabilmesi, gerekse üyelik gerekmeden tüm içeriğin indirebilmesi, en tartışmalı konuların kurallara uygun olarak tartışılması gibi hususları en çok sistemle beraber yürüyen, oluşturulmuş ve titizlikle korunan o alt-kültür beni ilk gördüğüm günden bu yana hayran bırakmıştır. Ancak konu bilişim teknolojileri olduğunda çoğu madde taslak halindedir. Veya kısa bir içeriğe sahiptir. Gerek yerli, gerek yabancı sitelerde herhangi bir bilinmeyen kavramı anlatmaya çalışan kişi içeriğin en özgür olarak yayınlandığı bu Viki sitelerine (çoğunlukla İngilizcesine) bağlantı vermektedir. Bu yapının eksik olması, bu yapıdan yararlanıp, kafasındaki kavramları netleştirip daha zengin bir internet içeriği oluşturabilecek kişiler için ciddi bir açık oluşturmaktadır.

Buraya kadar çeşitli yöntemlerden bahsettim. Şahsi kanaatim bu içerik bir araya getirme çabalarının hiçbirinin tek başına tüm sorunları çözemeyeceğidir. Ancak herhangi bir konuda veya herhangi bir yöntemde çok iyi olabilir. Kimisi güvenlik alanında akla ilk gelen site olabilir. Kimisi Php alanında akla ilk gelen forum olabilir. Asp.net alanında ilk akla gelen site olabilir vs. vs.

Kendi adıma, bu düşüncelerle şu kararları aldım:

  • Her topluluk, kendi güçlü olduğu alanda kullanılacak. (Belli etik değerlerden yoksun olanlar hariç)
  • Kişisel siteleri nasıl destekleyebilirim bilmiyorum şu an, ama muhakkak desteklenmeli.
  • Türkçe dilinde yazılacak bilgisayar teknolojileri yazıları için, öncelikle oturmuş sağlam bir terimler sözlüğü (terim açıklamalarına) ihtiyaç duyulmaktadır. Bu konuda yabancı emsallerimizde çoğunlukla o dildeki Viki'ler kullanılmakta. Bu durumda;
    • Herhangi bir algoritma veya kavramı genel olarak açıklamakta Vikipedi
    • Telif hakkı sorunu olmayan ve Türkçe dilinde bulunmayan kaynakları çevirmek için (Örneğin RFC ler) VikiKaynak gibi yerler kullanılabilir ve teşvik edilebilir.
  • Topluluklar arasında iki toplulukta birden bulunan bir "kesişim kümesi" oluyor. Topluluk dediğimiz şey en nihayetinde kişilerden oluştuğu için bu kümenin genişlemesi veya birbirinin farkında olması topluluklar arası yakınlaşmayı, işbirliğini doğuracaktır. Bu sadece söz ile olacak şey değildir. Kişileri bir araya getirecek şey gaye birliği ve çalışmadır.
  • Ama parçaların birbirinden ayrı olması, birbirine aykırı olmasını gerektirmez. Parçalar birlikte olmadan bir bütün oluşturabilirler.

Yıllardır bir şekilde üzerinde düşündüğüm bazı şeyleri anlatmaya çalıştım. Yalnız dikkat ederseniz neredeyse hiçbir paragraf ve maddede kişi veya site ismi vermedim. Siz de değerlendirmelerinizi yaparken site ve kişi ismi verip cevap hakkı doğurmadan düşüncelerinizi yazarsanız sevinirim. (Site ve / veya kişi ismi belirten mesajlar bana atılan özel mesaj hükmündedir ve yayınlanmayacak, ancak özel olarak cevap verilecektir)


Currently rated 4.0 by 2 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories: Türkçe | Vizyon
Actions: E-mail | Permalink | Comments (3) | Comment RSSRSS comment feed

Aklımdaki çeşitli düşünceler.

July 4, 2008 22:14 by anov

Siteyi sadece-html halden blogengine.net üzerine geçirirken "önümüzdeki maçlara bakacağız" demiştim. Ancak aradan geçen 6 aydan fazla sürede hedeflediğim başarıların birine olsun ulaşamamak gerçekten düşündürücü. Arada geçen süre zarfında sanki herşey kendiliğinden bir tepsi içinde bana sunulacakmış gibi bir tavır içine girdim. Bedel ödemedim. Daha doğrusu yeterince gayret sarfetmediğimi düşünüyorum.

Ancak elbette, madem yeteri kadar çalışmadık o halde bundan sonrası için denemeyi de bırakalım gibi bir düşünce geçmiyor. On düşüncem olsa hayata geçirmek istediğim bunlardan biri gerçekleşse yine mutlu olacağım. Öncelikle var olan durumu kabul etmekle işe başlıyorum. Bu konuda oldukça takıntılıyım. Bu yazıyı yazmamın sebebi de bir nevi kendimi disipline sokmak, kendime ceza vermek. Oysa disiplinin olmadığına dair yorumlarımı dün gibi hatırlıyorum.

Bu kadar laf salatasından sonra, esas hakkındaki düşüncelerime gelelim. Bu hedefleri açıkca belirtmem ÖZELLİKLE önemli.

  1. wiki.ceviz.net quirksmode.org çevirisinin bu sene içinde bitmesini sağlamak istiyorum. (2008)
  2. asp.net temel mimarisini kaynak kod incelemesi ve çeşitli deneyimlerle anlatacağım, bunu yaparken İngilizce kaynaklardan faydalanıp kaynakça olarak belirteceğim veya müsait ise hepsini çevireceğim. Ve anlatılmış Türkçe kaynaklara düzenli olarak (konu sıralamasıyla) bağlantılar vereceğim.
  3. Yine wiki.ceviz.net üzerinde forumlarda sorulan soruları alfabetik olarak toplayacağım.
  4. forums.asp.net üzerinde İngilizcemi geliştirerek daha çok varlık göstereceğim. (Bunun belirli bir kriteri yok) Orayı İngilizce makaleler için fikir hammaddesi olarak kullanmak istiyorum.
  5. Takip ettiğim mail gruplarındaki mailler birikti. Burada da çok büyük cevherler var.
  6. Kişisel siteyi açarken esas amaç, bir açık kaynak kodlu projenin geliştiricisi (veya dökümantasyon yazarı) olmaktı. Sonra bu hedefimi unutup gittim. Esas amaç üretmektir, içinde olmak istediğim projelerin birine odaklanıp yazı yazmayı ikinci plana atmak gerekir. Üretim esastır, yazı yazmak peşinden gelecektir zaten.
  7. mutasyon.net asp.net yazıları, ayda bir tane bile yazamıyorum.
  8. ceviz.net üzerindeki asp.net ajax yazılarına devam etmeliyim. (Anthem ile ilgili detaylı yazılar, hangi işi nasıl yaparız tarzı)
  9. javascript hakkında hiçbir şey yapmıyorum son aylarda. Ne kadar ilginç.
  10. Bir Vikipedi hayranı olarak, bilgisayar programcılığı alanındaki Vikipedi maddelerinin çoğunun taslak olduğunu görüyorum. Bunları geliştirmek lazım.
  11. Programlama ile ilgili orijinal içerik yayınlayan ve gerçekten bir şeyler ÜRETEN kişileri bulmalı.
  12. VikiKitap ta başladığımız bir çalışma vardı, ne oldu ona?

 

 

Anlaşıldığı üzere, ben odağımı o kadar dağıtmışım ki, bir alanda adam gibi ilerleme sağlayamamışım. İşimden arta kalan zamanımda eğer bir şeylerin üzerinde vakit harcasam bile bunları yetiştiremeyeceğim her alanda aynı anda başarılı olamayacağımı bir şekilde kendime telkin etmiş olmalıyım. Acaba uğraştığım işleri AZALTMAK mı gerekiyor? Yeni başarı anlayışım GEREKSİZ OLANI ELEmek üzerine mi kurulmalıdır? Burada neye göre gerekli ve hangisi daha önemli konusu ortaya çıkar, bu sorulara kendim bir cevap bulabilmiş değilim.


Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories: Türkçe | Vizyon
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

BlogEngine.NET 1.4, memlekete hoşgeldin!

July 1, 2008 16:41 by anov

Not : Bu yazıyı okumadan önce Uğur Çelenk'in hazırladığı özet bir listeyi şu adreste okuyabilirsiniz. 

Dün gece keyfime diyecek yoktu doğrusu. 1.4 çıkmış üstelik sadece 5 kişi kuruluma hazır paketi indirmiş ben de 6. olacaktım. Ancak yazma izinleri ile ilgili küçük bir sıkıntı yüzünden (App_Data klasörüyle alakalı) sitem bir güne yakın kapalı kaldı. Neyse ki barındırma hizmeti veren firmamızın vefakar ve cefakar personeli, bu sorunun da üstesinden gelmeyi bildi.

1.4 e yükseltme yaptıktan sonra, kurulumu tamamladığıma dair İngilizce bir yazı geldi tabii ki, benim gönlüm bu yazıyı silmekten yana değil, ilkini sildiğime pişman oldum. Silmek yerine `English` kategorisine ekleyip, Türkçeye çevirmeye karar verdim.

Yazma izinleri

Günlüğünüzde (blog) aktif hale gelebilmek ve yazılar yazabilmek için App_Data  klasöründeki yazma izinlerini etkin hale getirmeniz gerekir. Barındırma hizmeti (hosting) almanız veya sunucu yönetiminin sizde olmasına bağlı olarak kendi panelinizden bu izni verebilir, veremiyorsanız sunucu yöneticisinden bu izni talep edebilirsiniz. App_Data klasöründe yazma izinleri bütün mesajlarınız, yorumlar ve tüm ek dosyalar o klasöre kaydedileceği için gereklidir. Tüm mesajlar klasörde XML dosyaları olarak saklanmaktadır. 

Günlüğünüzün verilerini veritabanında tutmak istiyorsanız,  halen yazma izinlerini ayarlamanızı öneririz çünkü mesajlarınızın içinde imajlara yer vermek isteyebilirsiniz. Microsoft SQL Server, MySQL, VistaDB veya diğer veritabanlarından birini kullanmak istiyorsanız lütfen BlogEngine wiki sayfalarına göz atınız.

 

Güvenlik

App_Data klasörüne yazma iznini ayarladıktan (veya ayarlanmasını sağladıktan) sonra, kullanıcı adı ve parolayı değiştirmelisiniz. `Giriş` (Sign-in) butonu geçerli temanıza göre en tepede veya en altta olabilir. Tıkladıktan sonra, kullanıcı adı ve parolaya "admin" girip butona tıklayın. Yönetici (admin) menüsünün görünecektir. Kullanıcıları yönetebileceğiniz sayfaya giden bağlantı "Users" ismindedir. O sayfada kullanıcı adınızı ve parolanızı değiştirebilirsiniz. Parolalar temiz metin (clear text) olarak değil, karıştırılarak (hashed) saklanmaktadır bu durumda eğer parolanızı unutursanız, lütfen BlogEngine wiki sayfasından nasıl geri alabileceğinize bakınız.

Konfigürasyon (Ayarlar) ve Profil

Bu aşamada günlüğünüzü güvenli hale getirdiniz, şimdi ayarlarınıza göz atın ve yeni kurulmuş `blog` unuz için bir başlık seçin. BlogEngine.NET 1.4 birçok anlamsal işaretlemeler içinde hazır olarak kurulu şekilde gelir : FOAF, SIOC ve APML gibi. (*Çevirenin notu : Bu kısaltmaların ne anlama geldiğini bilmiyorum, araştırılıp eklenmeli.) Bunun anlamı sizin BlogEngine.NET günlüğünüz tamamen başka formlara çevrilebilir ve otomatik-olarak-keşfedilebilir olmuştur. Bundan daha iyi faydalanmak için yazar profilinizi tam olarak doldurduğunuzdan emin olmalısınız. 

 

Tema ve Eklentiler

Son olarak günlüğünüzün görünümünü değiştirmek isteyebilirsiniz. Az sayıda (iki adet) tema yeni eklenti çatısıyla (widget framework) birlikte gelmektedir. Eklenti çatısı sürükle&bırak yöntemiyle bağlı olduğunuz süre içinde eklentilerinizin yerlerini ve ayarlamalarını değiştirmenize olanak sunar. Daha fazla tema ve eklenti seçeneği için  ana sayfamızı ziyaret edebilirsiniz. 

İnternet üzerinde 

 BlogEngine.NET i resmi internet sitesinden bulabilirsiniz. Burada eğiticiler (tutorial), dökümantasyon, ipuçları ve püf noktalarıyla beraber çoğu şeyi bulabileceksiniz. BlogEngine.NET yazılımının geliştirilmesi devam etmektedir. CodePlex sayfasından günlük son versiyonlarına erişip, indirebilirsiniz.

İyi şanslar ve mutlu yazımlar.

The BlogEngine.NET team

Not : Çeviriyi yaparken bir an önce bitirebilmek için MS Türkçesine benzeyen iğrenç bir dil kullandığımın bilincinde olarak yazdım. Düzeltme önerilerine açığım.

Not.Not: Çevirinin resmi bir niteliği bulunmamaktadır. Resmi açıklama için metnin İngilizce orijinali referans alınmalıdır.


Currently rated 2.5 by 2 people

  • Currently 2.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Yaralı kuş (Dedemin gümüş kılıcı) -- Şairini unuttuğum şiir

March 27, 2008 18:47 by anov

Bu şiir benim yazdığım bir şiir değil, google da aratmama rağmen bulamadım. Türki cumhuriyetlerin birine ait ama bir türlü ilk defa nerede okuduğumu hatırlayamıyorum.

Biz de toprağında yetişen
Bir başağın taneleriydik
Geçti nice dört mevsimler
Dört renk içinde
Arzularım
Dedemin gümüş kılıcının kabzasında
Bir aslan hırsı
Hıncım.
Demir çemberler arasında
Bir parlar, bir söner
Derken uzak bir diyardan
Yaralı bir kuş geldi.
Dedi : "Senin için ağlar,
Yarası var ırmak ırmak
Dertleri var dağlar dolusu
Sana selam gönderdi
Ana gibi, yar gibi sıcak bir selam"

Sonra can verdi yaralı kuş.
Canlanan emelime
Silkindi seneler
Tozlanmış hatıralardan
Kükredi aslan hırsım
Demir çemberler arasından
Parladı hıncım.

Dedemin, dedemin gümüş kılıcında.

Bu bir yerlerde yazılı olarak durmalıydı, mısralarından unuttuklarım var, eğer kimin şiiri olduğunu bilen varsa ve beni haberdar ederse çok sevineceğim.


Currently rated 2.8 by 5 people

  • Currently 2.8/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories: Türkçe
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Sql Injection için basit bir beyaz liste uygulaması

March 8, 2008 04:27 by anov

Birkaç gün önce yazdığım uygulamalardan birinin kod arka planında "Sql Injection" adı verilen sızmaya karşı açık bırakmış olduğumu anladım. Yaptığım denemeler sonucu Stored Procedure kullanmak dahi %% arasına yazdığım karakterin sql injection açığını meydana getirmesine engel olamıyordu. Çareyi şöyle ufak bir süzgeç hazırlayıp, sadece belli karakter ve sayı aralıklarına izin vermekte buldum.

 
using System.Text.RegularExpressions;
public class SqlInjection{
    public static bool InjectionWhiteList(string s)
    {
        Regex rx = new Regex(@"^[A-Za-z0-9\sğüşıöçĞÜŞİÖÇ]+$");
        return rx.IsMatch(s);
    }
}

Her ne kadar eski klasik ASP günlerini hatırlatsa da, dinamik arama sorgusu oluştururken bunu engellemenin daha pratik bir yolunu bulamadığım için, bunu kullanmaya devam edeceğim bir süre.


Currently rated 4.8 by 5 people

  • Currently 4.8/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Hangi projelerin içinde yer almak istiyorum ve nedenleri?

March 5, 2008 16:32 by anov

wwroot a teşekkürler.

  1. Rainbow : Dotnetnuke ile birlikte benim çalıştığım alanda açık kaynak kodlu modüler projelerden bir tanesi.
  2. Mono : Linux altında .net çalıştırabilmeyi amaçlayan bu proje (her ne kadar kullanışsız olsa da) en azından dökümantasyonunda yardımcı olmak istediğim bir projedir.
  3. Anthem : asp.net için ajax kütüphanesi. Bu projenin içine bir imza tanıma (Mehmet Ecevit kaynaklı kod) bileşeni uyarlamak istiyorum.
  4. Singularity : Peki, peki ben bir sistem programcısı değilim, hatta uygulama programcılığını bile unuttum denilebilir. Ve bu projenin içinde yer almak için bir MS çalışanı olmam da gerekebilir, belki de Sharp OS un bir kıyısından bulaşıp, ona bir satır kod, veya döküman ekleme şerefine erişebileceğim. Bunlar benim için kutsal projelerdir :)

Currently rated 4.7 by 3 people

  • Currently 4.666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories: Vizyon | Türkçe
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Yıl 2008, php hayatımın bir parçası

February 16, 2008 16:17 by anov

Daha ne kadar söylemekten çekineceğim bilemiyorum. Php ye karşı daima mesafeli durmaya çalışan, hatta sırf bu yüzden nice elverişli imkanı kullanmayan ben, 2007 nin başlarından itibaren aslında onu fanatik olarak savunacak kadar, savunur hale gelmişim. Daha doğrusu eşiğindeyim.

Eminim ki "php ye mesafeli durmak" çoğu kişiye saçma gelecektir. Gelmeli de. Evet, şu anda usb belleğimde bir wos server çalışıyor ve kişisel notlarımı onun üzerinde çalıştırdığım bir mediawiki üzerinde tutuyorum. Mediawiki yazılımını çok seviyorum. Bir şekilde kullanmaya başlamışım bile. Yıllardan beri, bazı durumlarda tercih edilebildiğini, ancak ideal bir yazılım mimarisini bize sunmadığını söyler dururdum. Peki ideal yazılım mimarisini sunan çok çok nesne yönelimli diller acaba neden yaygın değil? Yaygın yaygın olmasına ama onun kadar tercih edilmiyor değil mi? Ben şu tip bir tablo hazırlayıp, neyi neden tercih ettiğimi, hangi dilin neden ve hangi şekillerde üstün olabileceğini belirleyen kriterler oluşturmaya başladım. İstiyorum ki kendi dar, kısıtlı bakış açımdan kurtulup gerçekleri görebileyim.

  • Modülerlik
  • Köklü ve tercih edilen bir dil olması
  • Tercih edilen bir paradigmaya (nesne yönelimi gibi) sahip olması
  • Geniş destek verilmesi
  • Farklı ürünlerle çalışabilmesi
  • Ucuz olması
  • Arkasındaki kütüphanelerin gücü
  • Daha önce görülen eğitimin o dile zemin oluşturması veya yakınlık duyulması

Daha buna ekleyecek maddelerim var şimdilik bu şekilde yarım olarak dursun.


Currently rated 4.2 by 6 people

  • Currently 4.166667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories: Vizyon | Türkçe
Actions: E-mail | Permalink | Comments (1) | Comment RSSRSS comment feed

En önem verdiğim şey hareketlilikmiş.

January 27, 2008 11:27 by anov

Bu güne kadar takip ettiğim sitelere, mail gruplarına wiki lere bakıyorum da.

En önemli kriterim o bilgi kaynağının, günlüğün vesairenin ne kadar hareketli olduğuymuş.

Bir de kendi siteme bakıyorum, kendi kriterlerimle bir çelişme var.

Neyse.

Bu arada quirksmode.org çevirisine hafiften başladım:

http://wiki.ceviz.net/index.php/Quirksmode.org_-_%C4%B0%C3%A7indekiler

Çeviri sürecinde yardımcı olan arkadaşların çıkacağını umuyorum.


Currently rated 5.0 by 3 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories: Vizyon | Türkçe
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Önümüzdeki yol - 2

January 14, 2008 19:55 by anov

Mono bizim için ne kadar kullanışlı olabilir?

Bir x86 assembly e-kitabında gözüme takılan ingilizce bir ifade vardı. Kişisel bilgisayarların çoğunun x86 türevi olduğunu (intel in piyasaya hakim olduğunu), söyleyip diğer op code ları kim dikkate alır manasına "who cares?" diyordu. Bu kodlar her işlemcide çalışmaz ama kimin umurunda?

Sonra bu zihniyete assembly ile winapi ye ulaşmayı anlatan dökümanlarda gördüm. Çok yüksek performanslı windows uygulamaları geliştirilebileceğinden bahsediyor, ancak tek bir işlemci ve tek işletim sistemi (veya işlemci ailesi ve işletim sistemi ailesi)

Sadece internet explorer da çalışan, sadece netscape navigator de çalışan js komutları da bu zihniyetin ürünüdür. Ne zaman pazar payları daralsa standartlara sarılıp, güçlendiklerinde nasıl olsa herkes bana uyuyor, öyleyse bildiğimi okuyayım mı diyorlar?

Yoksa biri daima önden gidiyor, diğerleri onu takip mi ediyor? Ben bunu iki şekilde de yorumlayabilirim. Ajax, remote scripting hakkındaki yazımda belirttiğim gibi ie 5.5 e konulan ve standart olmayan xml nesnelerinin türevleri bugün aynı arayüzü gerçekleştirdiği için halen kullanılıyor.

Mono kodlarını az-çok inceledim, dökümantasyonu zayıf ancak bire-bir çalışma imkanını büyük oranda sağlamışlar. Şu şekilde bakıyorum alternatif .net implementasyonlarına: Önceden piyasanın hakim tarayıcısı Netscape vardı, bir de onun rakibi Internet Explorer. İkisine de uygun javascript kodu yazabilmek bir maharetti. Bugün ise nesnelerin kullanımından efektlere kadar javascript kütüphaneleri var.

 Yazarken mümkün olduğu kadar taşınabilir kütüphaneleri tercih edeceğim, bazı önceden yapılmış projeleri de taşımaya, çeşitli I/O işlemlerinin linux karşılığını öğrenmeye çalışacağım. Asp.net uygulamalarının taşınması daha kolay oluyor.

Silverlight hakkındaki görüşler

Azer Koçulu sayesinde Silverlight hakkındaki yanlış görüşlerimin çoğudan ayıklandım. Düz bir xml gelecek, javascript ile kolayca etkileşebilecek, kod editörleriyle düzenlenebilecek ve formatı açık olacak. Bu gerçekten büyük bir vizyon. Kaynak kodunun görünebilmesi, onu html kadar iyi bilinir hale getirir mi bilemem ancak onun için yapılacak araçların sayısını oldukça arttıracağını düşünüyorum.

Şöyle de bir tahminim var, eğer açık kaynak yapmaz da standardını açık yaparsa o standardı ms in desteklemediği platformlarda destekleyenler daha hatasız, daha hızlı yorumlayıcılar üretebilir. Bu trajikomik olur.

Ajax, dhtml frameworks 

Bu konuda bir javascripti sayfaya entegre etmek için en doğru yolun;

  1. Nesnenin oluşturduğu olayın
  2. Nesnenin kendisinin

parametre olarak atandığı bir olay yöneticisine aktarılmasından ve bu olay yöneticinin nesneye bağlanmasının kod içinde değil kodun dışında nesne bulunarak iliştirilmesini düşünüyorum.  Ki bundan şu adreste  http://en.wikipedia.org/wiki/Unobtrusive_JavaScript bahsedilmiş.


Currently rated 3.3 by 8 people

  • Currently 3.25/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories: Vizyon | asp.net | Türkçe
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Önümüzdeki yol - 1

December 16, 2007 07:58 by anov

asp.net in yapısı ve diğer cgi tabanlı işlere göre üstünlüğünü hep abartmışımdır biraz. Fanatiklik mi diyelim artık buna, yoksa "kuzguna yavrusu şahin görünür" diye mi açıklamalı? Yazdığım kodları gözden geçirdiğimde, gerek benim .net framework ün istediği standartlara tam uyamadığım için, gerekse aslında en ideal mimari yapı asp.net yorumlayıcısı tarafından render edilemediği ama işlerin bir şekilde yürümesi gerektiği ve kodların araya sıkıştırılması sonucu, tam modüler bir yapıya halen kavuşamamışım. Ve sağda solda reklamı çıkan Dundas Upload, netadvantage chart gibi bileşenleri yazmak için takip edilmesi gereken süreç, tıpkı eski perl scriptlerini yazmak için gereken süreç gibi geliyor bana. Bu yüzden bu çelişkiye yeninin içindeki bu eskiye şaşırmaktayım daha geniş bir bakış açısından baktığımda.

Javascript kodlarının kontroller içine gömülmesi : Tasarım zamanında müdahale edilemeyen Repeater, DataList, DataGrid ve GridView gibi bileşenlerin her satırına veya her öğesine ItemDataBound veya RowDataBound olayı ile erişip, onların özelliklerine js eklemek, örneğin memnun olmadığım şeylerin başında geliyor. asp.net 3.5 örneklerinde yazılan js örneklerinde (sender,eventargs) şeklinde bir göndermeye rastladım. Acaba, biz kontrolün render edilme şeklini tahmin ederek, onların içine gerekli olayları sonradan iliştirip, js ile aspx kodlarını birbirinden iyice ayırabilir miyiz? Yapı itibarıyla her cihaza farklı render çıktısı verdiğinden (en azından teorik olarak böyle) bu hareketten çekinmekteyim.

Javascript kodlarının <body> düğümü içine yazılması : Master Pages çıktı çıkalı bu tür hatalı örneklere rastlamaktayım. Ancak bunun çözümü basit. <head> içinde ayrı bir ContentPlaceHolder tanımlayıp, onun içinde CSS ve js kodlarımızı yerleştirebiliriz.

CSS veya Temalar : App_Themes ile birlikte nesneye iliştireceğimiz CSS class(ları) ve özellikleri kodun içinden ayıklanmış durumda. Bu durumdan çok memnunum. Ancak nesnenin ClientID değerini <%%> bloğu olmadan elde etmenin bir yolu olmalıydı diye düşünüyorum.

Platform anlayışı, (dil & kütüphane ayrımı) : Python un sloganı olan "batteries included" anlayışının bir benzeri bizde de var. Madem asp.net kullanıyorsun, o halde senin kullanacağın kütüphane bellidir? Common Type System nedeniyle aynı tipleri paylaşan tonla (ama pratikte iki adet C#, VB) dil var. Bu çok kullanışlı bir şey olsada gittikçe kullanılan kütüphanelerin  her  yeni  sürümle birlikte kullandığımız platforma eklenmesinin bazı sakıncaları olduğunu düşünüyorum. Nedir bunlar?

  • "Platformumuzun" boyutu şiştikçe şişiyor.
  • Platformumuzu başka işletim sistemlerine taşımak (port) isteyenlerin işi artıyor, zorlaşıyor.
  • İdeal mimariden (sapla samanı, markup ile js i css i ayırmamak mesela) uzaklaşma tehlikesi doğuyor.

.net framework 1.0 dan bu yana, şu ünlü /bin klasörüne atılan assembly lerin otomatik olarak entry point inin bulunduğu ve üçüncü parti kütüphanelerin çalışmaya hazır hale gelmesi gibi büyük bir nimet var elimizde buna karşılık. Ancak bu doğal koda (native code) çağrı yapmayan kütüphaneler (mscorlib.dll harici dll ler) için geçerli.

Eğer biz, asp.net kullanıyor ve onunla kodluyor isek, (bence) kodlama konusunda bir takım prensipler belirlememiz gerekli. Öncelikle kullandığımız platforma, platform gözüyle bakmamız gerektiğine inanıyorum. Pazarlama amaçlı "her yerde çalışabilir" sloganlarını ancak biz gerçekten işler hale getirebiliriz, tabii eğer tercihimiz bu ise veya ileride bunu düşünüyorsak şimdiden bazı alışkanlıklarımızı değiştirmemiz faydalı olacaktır.

Haftaya yazmayı planladığım bir sonraki yazıda: 

  • Mono bizim için ne kadar kullanışlı olabilir?
  • Silverlight hakkındaki görüşler (Burada Azer Koçulu nun bir sunumundan da faydalanacağım)
  • Ajax kütüphaneleri ve dhtml frameworks, nasıl entegre edebiliriz? 

Currently rated 4.0 by 5 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories: Vizyon | asp.net | Türkçe
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed