29 Ağu 2008 Internet Explorer 8 İle Gelen Yenilikler Kategori: Yazılım Etiketler: MicrosoftWindows 0 Yorum Internet Explorer 8 ile birlikte birçok yenilik bizi bekliyor. Bu yenilikler hem gelistiricinin hem de kullanıcının yüzünü güldürecek yenilikler olarak dikkat çekiyor. Yazılımcılar için en önemli yenilik HTML 5.0 destekliyor olmasıdır diyebiliriz bana göre. HTML 5.0 ile birlikte bir standart yakalanıp cross browser sorununun önüne geçilmis oluyor. Burada deginmek istedigim diger bir noktada Internet Explorer 8'in HTML 5'i destekleyerek bu alanda öncülük yaptıgıdır.Internet Explorer 8 ile birlikte gelen diger bir yenilik de rendering isleminin tamamen vektörel olmasıdır. Bu sayede browser üzerinde Zoom aracını kullandıgımız da site üzerindeki yazıları herhangi bir bozulma olmadan izleyebiliyoruz. Muhtemelen hemen hemen her web gelistiricinin kendi kendisine sordugu "Eski siteler de bir uyum sorunu olacak mı?" sorusu oldugunu tahmin ediyorum. Bunun içinde bir çözüm var elbette. Çok basit bir meta tag ile geriye dönük rendering islemi yaptırabiliyoruz. Asagıdaki html meta ile sayfamızın Internet Explorer 7 ile render edilmesini saglayabiliriz.<meta http-equiv="X-UA-Compatible" content="IE=7" />Bu kod ile de sürekli olarak son sürüme göre render edilmesi saglanabilir.<meta http-equiv="X-UA-Compatible" content="IE=edge" />Deginmek istedigim son yenilikte gelistiriciler uygulamanın test asamasında Javascript, CSS ve HTML üzerinde debuging islemi yapabiliyorlar. Bu da isimize yarayacak güzel bir yenilik olarak dikkatimizi çekiyor. Kullanıcı tarafı içinde gelen yenilikler çok güzel ve dikkat çekici. Zenginlestirilmis bir alt yapı ile kullanıcıların isleri çok kolaylastırılmıs durumda. Özellikle Admin haklarına ihtiyaç duymadan kullanıcı ve site bazlı activex yükleme özelligi de kullanıcılar için büyük bir kolaylık saglamaktadır. Tabi kullanıcılar için yapılan degisikler bununla sınırlı degil, digerlerinede kısaca deginecek olursak, Accelerators Çesitli web servisleri üzerinde (Haritalar, Bloglar, Eposta Servisleri, Arama Motorları vb. gibi) çok basit bir sekilde arama yapabiliyoruz. Bunu da sadece bir site üzerinde yer alan accelerator provider'i ekleyerek yapabiliyoruz. Örnek olarak asagıdaki adresi inceleyebilirsiniz; http://ie8.ebay.com Web Slices Kullanıcıların çok sık ziyaret ettigi verilerin sürekli olarak takip edilmesini saglar. Bunu da su sekilde yapıyor. Web tasarımcıların çok asina oldugu slice islemine çok benziyor. Sayfanın belli bir bölümünü slice olarak seçiyoruz. Daha sonra o bölüme aynı sık kullanılanlara eristigimiz gibi erisebiliyoruz. Sık kullanılanlardan bir farkı var tabi. Oda sayfanın sadece slice'ladıgımız yerinin karsımıza geliyor olmasıdır. Bununla ilgili örnege de asagıdaki adresten erisebilirsiniz. http://ie8.ebay.com/index.php Search suggestions Search suggestions, Internet explorer'da yer alan arama providerları kullanırken bize çok daha fazla yardımcı oluyor. Bu eskide olan bir özellik gibi görünse de önerilen bazı içerikler ilgili de özet bilgi gösteriyor. Ayrıca diger providerlar ile de arama yapmamızı saglıyor. SmartScreen Filter Bilgi hırsızlıgı internet ortamı için en büyük sorundur. Benzer domain isimlerini kullanarak kullanıcılarını kandırarak bilgilerini kötü niyetli olarak kullanabiliyorlardı. Fakat artık adres barında domain adı daha koyu olarak belirtiliyor ve kullanıcı hangi sitede oldugunu görebiliyor. Bu da kullanıcıların daha güvenilir bir ortamda kalmasını saglıyor. Offline Çalısabilme Olanagı Internet de bir haber okurken ya da oyun oynarken birden internetin gittigini düsünün. Okudugumuz yazı ya da oynadıgımız oyun yarım kalır. Microsoft internet Explorer 8 ile bunun önüne geçmek için web sayfalarının offline çalısabilmesini saglıyor. Bunun için x sitesi kullanıcının bilgisayarı üzerinde 10 mb'lık bir alana sahip oluyor. Dolastıgımız sayfalar burada depolanıyor. Internetimiz kesilse bile yazımızı okumaya devam edebiliyoruz. Internet Explorer 8 ile ilgili aktaracaklarım simdilik bu kadar Accelerators ve Web Slice ile ilgili makalelerim de yakında burada olacak:)
12 Ağu 2008 Visual Studio 2008 ve.Net Framework 3.5 Service Pack 1 Yayınlandı Kategori: Yazılım Etiketler: MicrosoftVisual Studio 0 Yorum Visual Studio 2008 ve.Net Framework 3.5 Service Pack 1 11/08 tarihinde yayinlandi. Download icin asagidaki linkleri kullanabilirsiniz; .Net Framework 3.5 Service Pack 1http://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=en Visual Studio 2008 Service Pack 1http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=enDetayli bilgi icin tiklayin..
01 Ağu 2008 Yaratıcı Programcılardan Öğrenmenin 14 Yolu Kategori: Yazılım Etiketler: MicrosoftYazılım 0 Yorum Programcılar için genellikle "inek", "asosyal" ve "çok çok sıkıcı" denir. Yaratıcı bireyler olarak düsünülmezler. Fakat bunun gerçekle uzaktan yakından alakası yok. Kod yazmak, dünyanın en yaratıcı islerinden bir tanesidir. Programcılık gerçek kontrol demektir. Sıfırdan bir sey yaratmak muhtemelen yaratcılıgın en iyi örnegidir. Bir yazılım veya web sitesi, programcı nereye isterse oraya gider. Bir seyi yapmanın bir çok yolu vardır. Bir web sitesi için programcının bir framework yazması gerekir. Ve bu noktaya ulasmak için elinde olan tek sey bir fikirdir. Programcılar yaratıcı çözümler bulmak zorundalar, yoksa yaratamazlar.Programcılar sıradısı düsünmenin harika örneklerini sergilerler, çünkü sırayı onlar yaratır. Bakın yaratcılıgımızı doruga çıkarmak için programcılardan neler ögrenebiliriz: 1. Yeni Bir Dil Ögrenin Programcılar sürekli yeni diller ögrenirler, bazen gerektigi için, bazen eglenmek için. Kendinizi bildiklerinizle ve rahat kullandıklarınızla sınırlamayın, gidin ve yeni bir yetenek edinin. 2. Sıfırdan Baslayın Eger yazılım üretiyorsanız, ise yarı yoldan baslayamazsınız. Önce ilk adımı atmak zorundasınız. Bazen bir probleme yaratıcı bir çözüm bulmanın yolu en basa gidip tekrar ileri bakmaktır. 3. Her Seyi Sorgulayın Her seyi sorgulamak, her kabullenmeyi yeniden ele alıp dogrulugundan emin olmak demektir. Programcılık tamamen, en temel varsayımları ele alıp bunların üzerine insa etmektir. Eger temelde bir yanlıs varsa, yazılım düzgün çalısmaz.Yaratıcılık bazen kabullenmelerle sınırlıdır. Yeni çözümler varsayımları tekrar ele alıp yeni bakıs açılarıyla yeniden baslayarak ortaya çıkar. 4. Keyif Için Yapın Eger bir programcı tanıyorsanız bilirsiniz ki sürekli bir seyler üretiyor. O günkü isini bitirse bile sırf zevk için daha saatlerce kod yazıyor. Isi aynı zamanda hobisi.Sürekli yeni fikirler ve çözümlerle ugrasmak angarya olmamalı. Bunu bir refleks olarak sürekli yapmalısınız. Ve bu sizi heyecanlandırmalı. 5. Denemenin Yollarını Arayın, Hiç Durmadan Programcılar, yazdıkları kodun mümkün olan en etkili kod olduguna emin olmak için onu sürekli degerlendirirler. En ufak bir degisiklik bile bir yazılıma diz çöktürebilir. Sürekli test etmek ve gelistirmek, yazılımın her parçası için çok önemlidir.Fikirler sürekli olarak titizlikle denenmeli ve ara ara gözden geçilirilmeli. Fikirleriniz zamanla degisir, az ya da çok. Onları sürekli denemek ve sadece üzerlerinde düsünmek, fikirlerinizi degerlendirmenin en iyi yoludur. 6. Tutkuyla Baglanacagınız Bir Sey Bulun Eger bir programcıyla iki dakikadan fazla konusma fırsatınız olmussa farketmissinizdir ki programcılar islerine tutkuyla baglıdırlar. Programcılıgı yerler, içerler ve solurlar.Kendi fikirlerinize ve projelerinize tutkuyla baglı mısınız? 7. Araçlarınızda Uzmanlasın Programcılar kullandıkları araçlar hakkında sürekli bir seyler ögrenir ve sürekli onları kullanmak konusunda uzmanlasırlar. Iyi bir programcı sürekli olarak ihtiyacı olan yazılımları daha etkili kullanmanın yollarını arar. Araç kutusunu sürekl i gelistirmeyen bir programcıya zor rastlarsınız.Yeteneginiz ne olursa olsun, yaratıcılıgınız kullandıgınız araçlarla sınırlı. Onları kullanmak konusunda ne kadar uzmanlasırsanız o kadar yaratıcı olursunuz. 8. Soyut Iliskiler Kurun Bilgisayarı telefon olarak kullansaydınız ne olurdu? Bir web sitesini kelime islemci olarak kullansaydınız? Insanlar digerlerinin tam su anda ne yaptıgıyla ilgilenirler miydi? Skype, Google Docs ve Twitter gibi projeleri yaratan insanların ortak bir özelligi var: Görünüste soyut olan kavramları iliskilendirebiliyorlar. "Söyle bir sey olsa?"'ları alıp denemek, farklı ve yaratıcı düsünmek için mükemmel bir yol. 9. Yapıyı Bir Araç Gibi Düsünün, Bir Kısıt Gibi Degil Insanlar yaratıcılıgı büyük bir boslukla iliskilendirip fikirlerini sınırlardan bagımsız olusturmaya çalısırlar. Ancak bu, yaratıcılık konusunda büyük bir aldatma. Sınırlar her yerde. Onları görmezden gelemezsiniz, ancak onlarla çalısmayı umabilirsiniz. Programcı, kullanıdıgı dilin ve araçların sınırlarını bilir ve onların etrafından dolasır. Bu sınırlar onun, sınırlar etrafında dolasan yapılar kurmasını saglar. Bir seyin etrafından nasıl dolanılacagını bulmak, bazen daha büyük bir fikir dogurur. Gereklilik, icadın yaratıcısıdır. 10. Hiç Bir Seyi Denemeden Silip Atmayın Anaokulu ögretmeniniz haklıydı: Aptalca soru diye bir sey yoktur. Eger üçüncü kurala uyup tüm varsayımlarınızı sorguluyorsanız, bir seyi denemeden çalısmayacagına emin olamazsınız. Çalısmasa bile, yeni bir fikir üretmenizi saglayabilir.Bazen bir prototiple baslayıp onu denemek en iyisidir. Eger çalısmazsa çöpe atın. Çalısırsa tebrikler: bir sonraki harika fikrinizi buldunuz. 11. Her Zaman Daha Basit ve Zarif Çözümler Arayın Iyi bir programcı en basit çözümün her zaman en iyisi oldugunu bilir. Karmasık çözümler tek bir sey ortaya çıkarır: karmasa. Pratik çözümler her zaman uzun vadede daha iyi çalısırlar.Fikirlerinizin yeniliginin büyüsüne kapılıp pratikligini unutmayın. Bir problemi çözmenin en iyi yolu, en basit olandır. 12. Baskalarının Isleri Üzerinde Çalısmaktan Çekinmeyin Internet'in güzelligi, her zaman aradıgınız çözümü bir baskasının zaten bulmus olmasıdır. Yeni bir yazılım üretirken her zaman mevcut kodları kullanmak iyidir. Tekrlegi tekrar icad etmenin manası yok.Yeni bir fikri uygularken her parçasını bastan yapmak zorunda degilsiniz. Zaten bulunmus fikirleri kullanın ve onları daha iyi bir seye dönüstürün. Mükemmel bir fikir bazen yalnızca baska bir fikri degistirmekten ibarettir. Gmail harika bir örnek. Klasik e - postaya yeni özellikler ekleyerek e - postayı bastan yarattılar. 13. Isbirliginden Çekinmeyin En iyi projeler, tek bir programcı tarafından degil, aynı amaç etrafında toplanmıs bir çok harika programcıların ellerinden çıkmıstır. Müthis bir ekip kurun, en iyi fikirleri kimden gelirse gelsin kullanın, ve herkesin katılmasını saglayın. 14. En Basitten En Güzeli Çıkarın Programcılar en basit kodları tekrar tekrar kullanırlar ve bu kod parçaları tek baslarına basit de olsa bir araya geldiklerinde harika bir ürüne dönüsürler. Hangi yaratıcı projede çalısırsanız çalısın, detaylara önem verin ancak en önemlisi, o detayların tüm resim üzerindeki etkisine dikkat edin.Kaynak:bildirgec.org
25 Tem 2008 Her Yazılımcının Bilmesi Gereken 10 Konsept Kategori: Yazılım Etiketler: MicrosoftYazılım 1 Yorum 10 Iliskilsel VeritabanlarıIliskisel veritabanları, çok büyük web servislerinde kötü performanslar sergiledigi için son zamanlarda sevilmiyor. Ancak yazılım dünyası daha uzun bir süre onları kullanmaya devam edecek. Iliskisel veritabanlarında veriler tablolarda kayıtlar olarak tutuluyor ve genellikle SQL adı verilen dil ile bu veriler sorgulanıyor. SQL'in veri ekleme, silme, güncelleme, filtreleme ve birden çok tablodaki verileri bir arada getirme gibi güzel yetenekleri var.Iliskisel veritabanlarında veri yazıp okuma isini performanslı bir sekilde halledebilmek için SQL, stored procedure'ler (yerlesik yordamlar), constraint'ler (kısıtlamalar) gibi pek çok konuya hakim olmak gerekiyor.9 GüvenlikHack olayları ve veri güvenligi önem kazandıkça güvenlik bilgisinin de önemi artıyor. Veri güvenligi; kullanıcı yönetimi, yetkilendirme, bilgi aktarımı gibi pek çok kavram içeren genis bir konu.Kullanıcı yönetimi, bir sistemde her kullanıcının kendisini ilgilendiren bilgilerle muhattap olması ve diger kullanıcıların bilgilerini görememesi ile alakalı. Yetkilendirme, kullanıcıların yalnızca izin verilen islemleri yapabilmeleriyle alakalı. Daha çok sirketleri ve is akısı bulunduran sistemleri ilgilendiriyor. Yeni gelistirilen OAuth protokolü, web servislerde güvenligi saglamak konusunda yardımcı oluyor. Bu sistemi flickr kullanıyor.8 Cloud ComputingCloud Computing, bir isin daha hızlı yapılması için aynı anda birden fazla bilgisayarın çalıstırılması esasına dayanan paralel programlamadan yola çıkılıp gelistirilmis bir yöntem. Yararlananılabilecek hizmetlerin zaman, kullanıcı yogunlugu gibi parametrelere baglı olarak degismesi esasına dayanıyor.7 Es ZamanlılıkEs zamanlılık, birden fazla isin bir programın kendi içinde aynı anda yapılması ile alakalı. Örnegin java ile yazılan uygulamalarda bunun için thread'ler kullanılıyor.Üretici / Tüketici modeli tipik bir örnek. Üretici durumunda olan kısım sürekli olarak islenecek verileri üretiyor, tüketici olan kısım ise sürekli olarak bu verileri alıp isliyor. Bu iki kısım aynı anda çalısıyor. Her thread'in kendi içinde çalısma mantıgı ayrı olsa da thread'ler verileri aynı anda ve ortak olarak kullandıgı için çalısırlarken yapabilecekleri hataları önlemek uzmanlık gerektiriyor. En karmasık thread kütüphanelerinden birisi Doug Lea tarafından üretilmis ve java çekirdeginde yerini almıs.6 CachingHafif uyku'nun kaseleme dedigi caching, normalde veritabanında tutulan verilerden çok sık kullanılanların hızlı ulasılabilecek bir yere alınması ve buradan hızla kullanılması anlamına geliyor. Örnegin bir kitap siteniz varsa ve geçen haftanın popüler kitaplarını listeleyen bir kısım mevcutsa, bu verileri her gerektiginde hesaplamak yerine haftada bir kez hesaplayıp uygun bir yere kaydediyor ve gerektiginde buradan okuyorsunuz.Cache'lenen verilerin tamamını bellekte tutmak maliyetli bir islem oldugu için, bellekte tutulacak verilerin seçilmesi için uygulanacak yöntemleri seçmek yine uzmanlık gerektiriyor.Facebook'un da aralarında oldugu bir çok modern uygulama, Brad Firzpatrick tarafından gelistirilen memcached adlı sistemi kullanıyor.5 HashingHashing, verilere hızlı ulasmak için baska bir yöntem. Bu yöntemde, her verinin içerigine bakılarak bu veriye özel daha kısa bir veri üretiliyor ve bu kısa veriler index olarak kullanılıyor. Index içerisinde arama yapmak da çok daha hızlı oluyor.Hashing yapılırken her verinin farklı bir hash kodunun olması ve bu hash kodlarının hızlı ulasımı mümkün oldugu kadar kolaylastıracak sekilde ayarlanması farklı bir uzmanlık gerektiriyor.4 Algoritmik Karmasıklık SeviyesiÇok yaygın olarak büyük O harfi notasyonuyla ifade edilen karmasıklık seviyesi, bir algoritmanın hızının, algoritmanın isledigi veri miktarına göre degisimini belirliyor. Örnegin O(n) ile ifade edilen bir algoritma, n tane veriyi t zamanda isliyorsa 2n tane veriyi 2t zamanda isler. O(n^2) ile ifade edilen algoritma ise n tane veriyi t zamanda islerken 2n tane veriyi t'nin karesi kadar zamanda isler. Islenen veri miktarları çok büyük olunca, bunları isleyen algoritmanın karmasıklıgı çok büyük önem kazanıyor.3 Katmanlı MimariKatmanlı mimari, bir yazılımın çalısması için gereken bilesenlerin piramit seklinde yapılandırılması gerektigini ifade ediyor. Piramitin her katmanındaki bilesenin çalısması, kendi altında bulunan bilesenlere baglı olabilir ancak kendi üzerinde çalısanlara baglı olamaz.Bu konuda bilgi alınabilecek Structure 101 ve SA4J adlı iki güzel kaynak var.2 Kurallar ve SablonlarIsimlendirme kuralları ve sablonlar üzerinde en çok durulan ve muhtemelen en önemli tasarım desenleri.Isimlendirme kuralları yazılım gelistirilirken kullanılan tüm isimlendirmelerin ortak kurallara dayanmasını gerektiriyor. Örnegin JUnit adlı java bileseni, test metodlarını, isimlerinin basında yer alan test kelimesi sayesinde tanıyor.Sablonlar ise verilerin gösterimlerinin verilerden bagımsız bir sekilde yapılması ile ilgili. Örnegin XML verilerini göstermek için XSL sablonları kullanılır.1 ArayüzlerArayüz, yazılımdaki en önemli konsept. Yazılım gelistirirken problemleri mümkün oldugunca basit modellemek ve bu modellere mümkün oldugunca basit ve anlasılır arayüzler sunmak gerekiyor.Bu konudaki tavsiyeler söyle:Asla ileride kullanıslı olabilecek metodlar yazmayın. Minimalist olun. Daha önce yaptıgınız hatalar ile yüzlesmekten korkmayın. Hatalarınızı düzeltmeye açık olun. Sabırlı olun ve süreçten zevk alın. Adım adım ilerleyin. Kaynak:bildirgec.org
25 Haz 2008 Yazgeliştir Yeni Kategoriler Kategori: Yazılım Etiketler: Microsoft 0 Yorum Bugün Yazgelistir`e iki yeni kategori eklendi. Bu kategoriler Kod Parçaları kategorisi ve Açık Kaynak Kodlu Uygulamalar kategorisi. Açık Kaynak Kodlu Uygulamalar kategorisinde Yazgelistir`de bugüne kadar makalelerde bahsedilen bilgileri gerçek bir uygulama üzerinde görme ve inceleme sansını bulabileceginiz gibi uygulama yazılırken dikkat edilmesi gereken ipuçlarını da inceleyebileceksiniz. Kod Parçaları kategorisinde ise uygulamalarınızda çesitli isler yapan kod parçacıklarını projelerinizde kullanabilmek üzere bulabileceksiniz. Bu bu bölümdeki amacımız uygulamalarınızda daha önceden yazılmıs kodları bir daha yazmakla vakit kaybetmemeniz ve bu kodların ögretici niteliginden faydalanmanızdır.Kaynak:yazgelistir.com