2 Kasım 2008 Pazar

AJAX



Dünya çapında ün sahibi olmuş sitelerin kendi servislerinde AJAX isimli tekniği etkin bir şekilde kullanması sonucu pek çok kişinin dikkati AJAX üzerine yoğunlaştı. Fakat kişilerin yaptığı ilk yanlış, AJAX tekniğini başlı başına yeni bir programlama dili olarak görmeleriydi. AJAX tekniği, daha önceden zaten var olan JavaScript ve XML dillerinin, web tarayıcısında hazır bulunan XmlHttpRequest nesnesi etrafında birlikte kullanılmasından ibarettir. AJAX’ı böyle tanıtınca çok zor ve kompleks gibi görünüyor fakat gözünüz korkmasın, hiç de öyle değil.

AJAX terimi, Asynchronous JavaScript And XML kelimelerinin baş harflerinden türetilmiştir. Bu terim ilk kez 2005 yılında “Jesse James Garrett” tarafından kullanılmıştır. Dilimizdeki telaffuzu da eyceks şeklindedir. Şimdi işin hikâye kısmını bir kenara bırakalım ve neden AJAX sorusuna cevap arayalım.

Neden AJAX?
Bu soruya yanıt bulmak için alttaki web sayfası şablonunu ele alalım. Alican kardeşimiz kendine bir web sayfası hazırlamış. B bölgesine linkler yerleştirmiş. "Resimler" linkine tıkladığımızda C bölgesinde Alican’ın resimlerini görüyoruz. Fakat Alican’ın resimlerini görebilmek için A, B, C ve D bölgelerinin, diğer bir değişle bütün sayfanın yeniden yüklen
mesini bekliyoruz.

Ziyaretçilerin tek bir amacı vardır: Görmek istedikleri içeriğe en hızlı bir şekilde ulaşmak. Örneğimizde B bölgesindeki bir linke tıklayıp, C bölgesine Alican’ın resimlerinin gelmesini bekliyoruz. Bizi ilgilendiren tek birşey var o da C bölgesinde resimleri görebilmek. O esnada A, B ve D bölgeleri bizi ilgilendirmiyor. O halde bizi ilgilendirmeyen bölgelerin yüklenmesini neden bekleyelim ki?
Amacımız C bölgesini en kısa sürede yükletmek. Bunun için FRAME veya IFRAME adı verilen HTML etiketleri veya Flash gibi alternatif yöntemler de kullanılabilir fakat AJAX son zamanlarda ikisinin de yerini almış durumda.
AJAX tekniği ile web tarayıcıya yalnızca C bölgesinin yenilenmesini belirtiyoruz. Web tarayıcımız bizden bu talebi aldıktan sonra, Alican’ın resimlerinin bulunduğu sayfa ile etkileşime geçiyor. Resimlerin olduğu sayfa hazırlanıyor ve C bölgesine yükletiliyor. Bu esnada kesinlikle A, B ve D bölgeleri yeniden yüklenmiyor ve sabit kalıyor.

AJAX’in Avantajı Nedir?
Öncelikle bir web geliştiricisi iseniz HTML, JavaScript, DOM, CSS bilginiz zaten var demektir. En azından bu konuları mutlaka duymuşsunuzdur. AJAX tekniği, saydığımız bu konuları kapsadığı için yeni baştan bir dil öğrenmek zorunda değilsiniz. Sadece 5-10 dakikanızı ayırarak AJAX tekniğinin nasıl kullanıldığını öğrenmeniz mümkündür.
Web sayfasının yalnızca yüklenmesi gereken bölgeleri yükletildiği için AJAX web uygulamanıza hız sağlayacaktır. Hatta ziyaretçiniz, bir masaüstü uygulaması kullanıyormuş hissine bile kapılabilir. Bu yüzden AJAX ile web uygulamaları, masaüstü uygulamalarına biraz daha yaklaşmıştır.
Bant genişliği, bir saniyede aktarılan bit sayısı olarak bilinir. Bir web siteniz varsa ve bunu ücret karşılığı web hosting veren bir şirketten alıyorsanız bant genişliği sizin için önemlidir. Kullanıcı sayfayı her yenilediğinde yani talep ettiğinde bant genişliğiniz azalır. Eğer bu azalmayı en aza indirirseniz aynı para karşılığında çok daha uzun bir süre bant genişliğiniz kullanıma açık olur. Bu konuda AJAX size mükemmel bir avantaj sağlar. Artık sayfanızın gereksiz bölgeleri her işlemde yeniden yüklenmeyeceği için bant genişliğinden büyük miktarda kâr sağlamış olursunuz.

AJAX’in Dezavantajı Var mı?
Elbette AJAX de bazı dezavantajlara sahiptir fakat büyük şirketlerin ve önemli programcıların, AJAX’i geliştirme çabaları sonucunda pek çok sevimsiz durumun ortadan kalkacağını umuyoruz. Örneğin bir geri-ileri butonu sorunu mevcuttur. Gezdiğiniz sayfadan, bir önceki sayfaya gitmek istediğinizde web tarayıcınızın geri butonuna tıklarsınız. Fakat AJAX ile içeriğini yüklettiğiniz bölgelerde geri ve ileri butonunu kullanamıyorsunuz. Her ne kadar bu problem için ek yöntemler getirildiyse de tam olarak bir çözüm bulunamadı.
Bir diğer dezavantajı ise, eskiden sunucuların yapmış oldukları bazı işlemlerin kullanıcının bilgisayarına kaymasıdır. JavaScript, kullanıcının kendi bilgisayarında yorumlanan bir dildir. AJAX’in büyük bir kısmında JavaScript kullanıldığı için bilgisayarınızın, siz web sayfalarında gezinirken yapması gereken işlemler de artmıştır. Bu da yavaş olan pek çok bilgisayarın daha da yavaşlaması anlamına gelebilir.
AJAX ile yükletilen içeriğin kodlarını, sayfanın kaynak bölümünden göremezsiniz. Aynı zamanda Google ve Yahoo! gibi arama motorlarının web sayfanıza gönderdiği robot yazılımlar da göremez. Dolayısıyla AJAX ile oluşturulan içerik, arama motorlarının sonuç sayfalarında listelenmezler. Günümüzde, yaptığınız web sayfasının arama motorlarında görüntülenmesi kritik derecede önemlidir ve AJAX bu konuda size bir dezavantaj sağlar. Fakat bu durumun avantaja dönüştüğü yerler de vardır. Eğer yapmış olduğunuz web uygulaması, ziyaretçileriniz hakkında önemli kişisel bilgileri tutuyorsa bu bilgilerin arama motorlarında herkes tarafından görüntülenmesini asla istemezsiniz. Bu bilgileri AJAX ile yüklettiğinizde ise kaygılandığınız bu durum ortadan kalkabilir.

AJAX’i Kimler Kullanıyor?
En başta
Google, pek çok servisinde AJAX tekniğini kullanmaktadır. Microsoft da bu tekniği kullanan pek çok servis hazırlamıştır. Yahoo! da diğerlerinden geri kalmamış, bu etkileyici tekniği kendi servislerine entegre etmiştir. Gördüğünüz gibi web alanındaki en büyük şirketler yoğun bir şekilde AJAX tekniğini kullanmaktadırlar. Ayrıca kendilerinden oldukça bahsettiren YouTube, Flickr ve Del.icio.us siteleri de AJAX tekniğini kullanan önemli web uygulamalarıdır.
Örnek olması açısından kısa bir liste hazırladım. Bu listedeki sitelere mutlaka gözatın. AJAX’in neler yapabileceğini görmeniz açısından, bu web sitelerini incelemeniz önerilir.
Meebo (anında mesajlaşma uygulaması)
Netvibes (belirlediğiniz sitelerden toplanan bilgileri tek bir sayfada gösterir)
EyeOS (işletim sistemi emülasyonu)
Box.net (dosya depolama ve paylaşma servisi)
AjaxWhois (whois sorgulama)

AJAX’i Ben Nasıl Kullanabilirim?
AJAX için bilgisayarınıza herhangi bir ek yazılım kurmazsınız. JavaScript dilini ve web tarayısında bulunan XmlHttpRequest nesnesinin nasıl kullanıldığını bilmeniz yeterlidir. XML dili ise ilk başta şart değildir. Kodlamayı Windows’un not defterinde dahi yapabilirsiniz fakat size önerim
Notepad2 olacaktır. Çünkü Notepad2 programında kod renklendirme, kod bloklarının başlangıç ve bitiş noktalarını kolayca görebilme gibi güzel özellikler mevcut.
Artık AJAX tekniğinin farkına vardıysanız ve neden kullanıldığını anlayabildiyseniz şimdi onu kullanma sırası size gelmiş demektir.

kaynak:http://ajax-tr.com/

30 Ekim 2008 Perşembe

GOOGLE

Google dünyanın en büyük arama motorlarından biri ve geliştiricisi olan şirketin adıdır.
Stanford'da doktora yapan iki öğrenci, Larry Page ve Sergey Brin, Google'ı 1998'de 25 milyon dolar yasal sermayeyle kurdu. Şirketin GooglePlex denen merkez ofisi Kaliforniya'da bulunur ve tüm dünyada 10,000 civarında kişi çalıştırır. Şirketin sermaye ortakları, Kleiner Perkins Caufield & Byers ve Sequoia Capital'ı kapsıyor. Şirket ayrıca, içerik sağlayıcı firmalara özel web arama çözümleri de sunuyor.Google'ın piyasa değeri 2007 sonu itibariyle 219 milyar Amerikan dolarıdır. Bu rakam ABD borsalarının en büyük 5. şirketi olduğunu göstermektedir.2005 yılı sonu ise değeri 114 milyar dolardı.

Tarih ve Gelişim
Larry Page ve Sergey Brin başlangıçta tez çalışması olarak BackRub adlı bir arama motoru üzerinde çalışmaya başladılar. Amaçları dev bir bilgi yığını olan interneti kategorilemek ve arananları daha kolay bulunabilir bir hale getirmekti. Bunun için yeni bir teknoloji geliştirirler. Bu teknoloji, interneti klasik motorlara göre daha farklı bir şekilde inceliyordu. Bu yüzden kısa sürede adları popüler olmaya başladı. Google başlangıçta google.stanford.edu adresinde faaliyete geçti ve depolama için kullanacakları terebyt lık diskleri Larry’nin yurt odasına koyuyorlardı. Bu arada da projelerini ticari hayata geçirmek için girişimci aramaya başladılar.
Yahoo’nun kurucusu David Filo ile bir görüşme ayarlanır. David onlara projelerini geliştirmelerini ve belirli bir noktaya geldikten sonra müşteri aramalarını tavsiye eder. Büyük şirketlerin ilgilerini çekemeyeceklerini anlayan ikili kendi başlarına devam etmeye karar alırlar. Ama bu seferde veri merkezi kurarken kullandıkları kredi kartları başlarına dert olmaya başlar.
Bu sırada
Sun Microsystems'in kurucularından Andy Bechtolsheim kendileriyle görüşmek ister. Fikri beğenir ve çok acelesi olduğundan Google adlı şirkete 100.000 dolarlık bir çek yazar. Ama böyle bir şirket var olmadığından parayı bir süre tahsil edemezler. Daha sonra yakınlarından topladıkları 1 milyon dolar sermaye ile 7 Eylül 1998 de bir arkadaşlarının garajında Google'ı kurarlar. Aynı yıl Pc Magazine adlı derginin Google’ı en iyi 100 site arasında göstermesi ve yılın en iyi arama motoru seçmesi arama motorunun popüleritesini katlamıştır.

Teknolojisi
Google'ın arama teknolojisi ve kullanıcı arabirim tasarımı Google'ı günümüzün ilk-nesil arama motorlarından farklı kılar. Sadece anahtar sözcük veya meta arama teknolojisi kullanmak yerine, Google en önemli sonuçları ilk getiren, gelişmiş PageRank™ teknolojisine dayanır.
PageRank
sayfalarının önemini nesnel bir ölçeğe uyarlar; bu 500 milyon değişken ve 2 milyar terimden oluşan bir denklemin çözülmesiyle hesaplanır. PageRank ağın çok sayıda bağlantılı yapısını düzenleyici bir araç olarak kullanır. Doğal olarak, Google, Sayfa A'dan Sayfa B'ye kurulmuş her bağlantıyı, Sayfa A'dan Sayfa B'ye bir "oy
" olarak yorumlar. Google bir sayfanın önemini aldığı oylarla belirler. Google ayrıca oyu veren sayfayı da inceler.
Google'ın komplike ve otomatikleştirilmiş arama metodları, insan müdahalesine
engel olur. Diğer arama motorlarından farklı olarak; Google, hiç kimsenin daha yüksek listeleme yapamayacağı ve ticari amaçla sonuçları değiştiremeyeceği bir şekilde yapılandırılmıştır.


Yönetim
Eric Emerson Schmidt, Yönetici ve Genel Müdür
Larry Page, İkinci Kurucu & Başkan, Ürünler Bölümü
Sergey Brin, İkinci Kurucu & Başkan, Teknoloji Bölümü
Omid Kordestani, Başkan Yardımcısı, Ticari Geliştirme & Satışlar Bölümü
Wayne Rosing, Mühendislik Bölümü Başkan Yardımcısı
Cindy McCaffrey, Başkan Yardımcısı, Kurumsal İletişim Bölümü
Joan Braddi, Başkan Yardımcısı, Arama Servisleri Bölümü
Tim Armstrong, Başkan Yardımcısı, Reklam Satış Bölümü
Urs Hölzle, Google Üyesi
Craig Silverstein, Teknoloji Bölümü Yöneticisi

kaynak: vikipedi

21 Ekim 2008 Salı

JAVA

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kodlu, nesneye yönelik, platformdan bağımsız, yüksek performanslı, çok işlevli, yüksek seviye, adım adım işletilen (interpreted) bir dildir.
Java ilk çıktığında daha çok küçük cihazlarda kullanılmak için tasarlanmış ortak bir platform dili olarak düşünülmüştü. Ancak platform bağımsızlığı özelliği ve standart kütüphane desteği
C ve C++'tan çok daha üstün ve güvenli bir yazılım geliştirme ve işletme ortamı sunduğundan, hemen her yerde kullanılmaya başlanmıştır. Şu anda özellikle kurumsal alanda ve mobil cihazlarda son derece popüler olan Java özellikle J2SE 1.4 ve 5 sürümü ile masaüstü uygulamalarda da yaygınlaşmaya başlamıştır. Java'nin ilk sürümü olan Java 1.0 (1995) Java Platform 1 olarak adlandırıldı ve tasarlama amaçına uygun olarak küçük boyutlu ve kısıtlı özelliklere sahipti. Daha sonra platformun gücü gözlendi ve tasarımında büyük değişiklikler ve eklemeler yapıldı. Bu büyük değişikliklerden dolayı geliştirilen yeni platforma Java Platform 2 adı verildi ama versiyon numarası 2 yapılmadı, 1.2 olarak devam etti. 2004 sonbaharında çıkan Java 5, geçen 1.2, 1.3 ve 1.4 sürümlerinin ardından en çok gelişme ve değişikliği barındıran sürüm oldu. Java SE 7 ise (kod adı: Dolphin) Sun'un üzerinde çalıştığı, Java teknolojisinin gelecekteki sürümüdür. 13 Kasım 2006 da Java platformu GPL lisansıyla açık kodlu hale gelmiştir.

Bir Java yazılımı şu şekilde geliştirilir:
Programcı Java kodunu yazar.
Bu kod bir Java derleyicisi ile derlenir. Sonuçta bytekod adı verilen bir tür makine kodu ortaya çıkar. Platform bağımsızlığını sağlayan şey bytecode'dur. Çünkü bir kere bytecode oluştuktan sonra yazılım sanal makine içeren tüm işletim sistemlerinde çalışabilir.
Bu byte kod Java Virtual Machine (Java Sanal Makinesi) tarafından adım adım işletilir.

Java nesneye yönelik bir dil olduğundan tüm yazılım sınıflar ve nesneler üzerinden yürütülür. Sınıflar uygulamadaki nesnelerin tanımlandığı kod parçalarıdır. Java'da her bir sınıf bir dosya içerisinde yer alır. Dosyaların uzantıları .java şeklindedir. Dosya adı ise içinde tanımlanan sınıf ile aynıdır.

JIT
Java ilk çıktığında bytecode işletme hızı çok iyi değildi. Yerine göre sistemin öz yazılımlarından 5-10 kat yavaş çalışıyordu. Bu nedenle bazı yazılım geliştirme şirketleri JIT yani "Just-in-time compile", "anında derleme" araçları üretmeye başladılar. Yapılan şey byte kodu sanal makinenin kurulu olduğu gerçek sistemin diline anında derleme yaparak dönüştürmesiydi. Bu sayede performansta ciddi artışlar sağlandı. Ama 2000 yılından sonra gelistirilen sanal makinelerde (Hotspot gibi) JIT'in işlevi VM'içinde yer almaya başlamış, işlemci hızı ve bellek miktarının dramatik biçimde artması ile dış JIT yazılımları popülerliğini kaybetmiştir. Bugün halen birkaç ürün (Excelsior JET gibi) pazarda bulunsa da genellikle bu yöndeki ihtiyaç azalmıştır.

Java API
Java API, Java yazılımlarında kullanılan yazılım kütüphanelerine genel olarak verilen isimdir. Java API ile disk, grafik, ağ, veri tabanı, güvenlik gibi yüzlerce konuda kullanıcılara erişim imkanı sunulur. Java API J2SDK'nın bir parçasıdır.

Artık veri toplayıcısı (Garbage Collector)
Artık veri toplama teknolojisi Java'dan önce de var olan ama Java ile adını duyurmuş ve yaygın olarak kullanılmaya başlanmış bir kavramdır. C++, C gibi dillerin en büyük handikaplarından birisi dinamik bellek yönetimidir. Yazılımda işaretçi (pointer) kullanarak dinamik olarak bellek ayırdıktan sonra o bellek ile işiniz bittiğinde mutlaka ayrılan belleği bellek yöneticiye özel metodlar yardımıyla (delete, free vs.) iade etmeniz gerekir. Yoksa bellek sızıntısı (Memory Leak, MLK) oluşur ve bu bir süre sonra yazılımın ve işletim sisteminin beklenenden farklı davranmasına yol açabilir. Sızıntıların tespiti oldukça güçtür ve bulunması zor hatalara yol açar. Bu nedenle bugünün tüm büyük C ve C++ yazılımları az da olsa bellek sızıntısı içerir (işletim sistemleri dahil).
Artık veri toplayıcısı sayesinde Java'da bir nesne oluşturulduktan sonra o nesne ile işiniz bittiğinde hiçbir şey yapmanız gerekmez:
sanal makine akıllı bir biçimde kullanılmayan bellek bölümlerini belirli aralıklarla ya da uyarlamalı metodlarla otomatik olarak temizler ve sisteme iade eder. Bu işleme artık veri toplama, ya da "garbage collection" adı verilir. Artık veri toplama sistemlerinin yapısı oldukça karmaşıktır ve geçen yıllar içinde büyük gelişmeler kaydedilmiştir. Artık veri toplayıcının varlığı Java'da bellek sızıntısı olmayacağı anlamına gelmez, ama bellek sızıntıları daha ender olarak ve farklı şekillerde karşınıza çıkar ve genellikle tedavi edilmesi daha kolaydır.

Jar
Jar (İngilizce Java Archive, yani Java Arşivi), aslında bir tür sıkıştırma formatıdır. Jar ile derlenen Java kodları ile oluşan yazılımın paketlenip taşınması kolay bir hale getirilir. Jar dosyaları temelde bytekod blokları içerir. Jar dosyaları genellikle kütüphane oluşturmada ya da uygun biçimde hazırlanırsa işletim sisteminden doğrudan çalıştırılabiliecek bir şekilde kullanılabilir (Executable jar, işletilebilir jar) jar dosyalarının içeriğini sıkışıtırma yazılımları ya da java yazılım geliştirme araçları ile inceleyebilirsiniz. Java 1.5 ile yeni bir tür jar oluşturma metodu da kullanıma girdi. Pack200 adı verilen hiper-compression algoritması ile jar dosyaları daha kucuk boyutlara indirilebiliyor. Ancak bu teknoloji daha çok ağ üzerinden yapılan transferlerde kullanılıyor.

AWT ve Swing
AWT, ilk java ile birlikte geliştirilen temel grafik arayuz oluşturma kütüphanesine verilen isimdir. AWT işletim sisteminin doğal grafik yapılarına erişimi sağlar. Ancak Java 2 platformu ile birlikte AWT yetersiz görülmüş ve çok daha geniş ve gelişmiş özelliklere sahip Swing kütüphanesi sisteme eklenmiştir. Özellikle çok platform destekleyen yazılımlarda kullanıcı arayüzü geliştirme aracı olarak swing halen önemini korumaktadır. Swing önceleri işletim sisteminin kullandığı donanım grafik hızlandırma araçlarını kullanmadığından yavaşlığı ile eleştirilere hedef olmuştu. Özellikle Java 1.4 ile Swing, hem genel olarak sanal makinenin hızlanması ve kısmen donanım hızlandırmayı kullanması ile bu kötü şöhretinden sıyrılmaya başladı. Java 5 ve 6 ile donanım özellikle OpenGL-DirectX kullanımı ve yeni arayüz gösterim şekli ile Java'nın masaüstü uygulama geliştirmede popülerleşmesi bekleniyor. AWT halen Swing'in bir alt katmanında, temel iki boyutlu grafik işlemlerinde kullanılmaya devam ediyor.

SWT
SWT swing'e bir alternatif olarak
IBM tarafından geliştirilen bir gösterim sistemidir. Swing'den en büyük farkı çalıştığı işletim sisteminin grafik kütüphanesi ve komutlarını kullanmasıdır. Bu nedenle SWT uygulamaları Swing'e göre çoğu yerde daha hızlı ve işletim sistemindeki diğer uygulamaları andıran bir şekilde çalışmasını sağlar. Swingin Java 1.5 ile performans açığını kapattığı iddia edilse de SWT'nin de artık Java camiasında kabul görmüş bir sistem olduğu açıktır. SWT'nin dezavantajı ise Java'nin bir parçası olmamasıdır. yani SWT uygulamaları SWT kütüphanesi ile birlikte dağıtılmaktadır. Ayrıca SWT farklı işletim sistemlerinde farklı olgunluk ve performansta işlemektedir ve özellikle Windows dışı sistemlerde henüz yeterince olgunlaşamamıştır. En bilinen SWT uygulamaları ünlü java yazılım geliştirme aracı Eclipse ve Bittorrent uygulamasi Azureus'tur.

Hot Spot Teknolojisi
Sun tarafından geliştirilen Java sanal makinesi HotSpot adı verilen özel bir teknolojiyi içinde barındırır. HotSpot yani sıcak nokta, bir yazılımda sürekli olarak tekrarlanan ve üzerinden geçilen kod bölümlerine verilen bir isimdir. Hotspot sanal makinesi şu anda iki ayrı modda sanal makinenin çalışmasını sağlamaktadır: İstemci (Client) ve Sunucu (Server) modları. İstemci modunda byte kod büyük ölçüde daha başlangıçta JIT ile sistemin öz makine koduna dönüştürülerek işletilir ama çalışma anında daha fazla iyileştirme işlemi gerçekleştirilmez. Bir uygulamanın hızı istemci modunda zaman içinde bu nedenle değişmez. Sunucu modunda ise sanal makine başlangıçta byte kodunu sistemin öz koduna dönüştürmekte acele etmez. Bu nedenle sunucu modu başlangıçta istemci modundan oldukça yavaştır. Program çalışmaya devam ettikçe sanal makine yazılımdaki sıcak noktaları tespit edip byte kodu sadece JIT ile makine koduna dönüştürmekle kalmaz, ayrıca oldukça yoğun bir iyileştirmeye de tabi tutar. Sonuçta sunucu modunda uygulamalar zaman içinde hızlanır, uzun soluklu uygulamaların bu nedenle sunucu modunda işletilmesi önerilir. Mustang Kod adli Java SE 6'da istemci modunda da benzeri bir teknolojinin kullanılması bekleniyor. Dolphin kod adli Java SE 7'de ise bu iki mod arasındaki fark azalacağından sistemin tek modda çalışması bekleniyor.


Uygulamacık (Applet)
Uygulamacık(Applet), uzaktaki sistem üzerinden indirilip internet tarayıcı üzerinde çalıştırılabilien java uygulamalarına verilen isimdir. Java'nin son kullanıcılar tarafından tanınması uygulamacık sayesinde olmuştur dersek yanlış olmaz. Uygulamacıklar sisteme zarar veremeyecek bir şekilde tasarlanmıştır ve bugün özellikle oyun sitelerinde halen yaygın olarak kullanılmaktadır. İçerisinde uygulamacık olan bir sayfayı açmaya çalıştığınızda tarayıcınız otomatik olarak java sanal makinesini çalıştırıp ekranın uygulamacığa ayrılan bölümünde uygulamanın çalışmasını sağlar.

WebStart
Webstart teknolojisi uygulama kurulum, güncelleme ve silme dertlerine deva olmak üzere tasarlanmış bir sistemdir. Özellikle Java 1.5 ile daha yaygın kullanılmaya başlayacağı tahmin edilen webstart teknolojisi kısaca yazılımların uzaktan yerel sisteme güvenli olarak kurulmasını ve korumalı bir alanda çalıştırılmasını sağlar. Appletlerin bir sonraki adımı olarak görülebilir. Bir webstart uygulamasını kurmak için internet üzerindeki özel bir bağlantıya tıklamak yeterlidir. Sistem otomatik olarak webstart sistemini çalıştırıp yazılımı java cep belleğine indirir. istenirse masaüstüne kısayol koymasını da sağlar. Daha sonra sistem çevrim-içi (on-line) ya da çevrim-dışı (off-line) olarak çalıştırılabilir, ve uzaktaki yazılım güncellendiğinde otomatik olarak -istenirse- yerel makinedeki yazılımın da güncelenmesi sağlanabilir. Kullanıcının özel olarak izin vermesi halinde uygulama yerel sisteme erişim hakkı kazanabilir. Aksi takdirde webstart uygulamaları sisteme yazma işlemi gerçekleştiremezler (yani virüs ve zararlı yazılım tehlikesini son derece aza indirger.)


Kaynak: http://tr.wikipedia.org/

20 Ekim 2008 Pazartesi

CSS

CSS Nedir?

Css’in açılımı ile söze başlayalım. Cascading Style Sheets. Biz kısaca konularımız dahilinde Stil Şablon olarak bahsedeceğiz. Gelelim Stil Şablonun varoluş amacına. Sizinde bildiğiniz üzere Html yazım şekli olarak etiket türünde bir yazım dili. Bu yüzden pek fazla özelliklere sahip değil. Bu sahip olamadığı özellikler nedeniyle sayfanın dizaynında bize tam esneklik veremiyor. Css bu amaçla üretilmiş bir dil. Kullanım kolaylığı ve kullanışlılığı ile Html’e eklenmesinden itibaren çoğu web tasarımcısının gözdesi oldu. Çünkü her türlü sayfa dizaynını bize bırakarak müthiş bir esneklik sağlıyor. Ayrıca ileriki konularımızda bahsedeceğimiz üzere bağlantılı stil şablonlar aracılığı ile de birden çok sayfaya etkiyebiliyor. Bu da bize sitenin görünümün değiştirmek istediğimizde elimizdeki onlarca belki de yüzlerce sayfanın kodlarını değiştirmeden sadece css dosyasının değiştirerek bu imkanı sağlıyor. Stil Şablon’un tarayıcılara eklenmesinden sonra iki versiyonu çıktı. Bunlar Css 1 ve Css 2. Ayrıca bazı konularda MSIE (Internet Explorer) ve NN (Netscape Navigator) tarayıcıları aynı kodları kabul etmiyorlar. Biz derslerimizde her iki tarayıcıda da etkin olan veya etkin olmayıp dizaynı bozmayan (A:hover gibi) Stil Şablon özelliklerini göreceğiz. Şimdi derslerin içeriğinde neler var onları görelim :

1. Stil Şablon çeşitleri : Css’in en çok beğenilen yönü istendiğinde sadece bir öğeye etkimesi, istendiğinde tüm sayfaya etkimesi, istendiğinde site içindeki tüm html dosyalarına etkimesidir. Bunlar kısaca Stil Şablonun kullanım çeşitleridir.

2. Html etiketleri ile Css : Bu dersimizde Html’deki font,background gibi çeşitli özelliklerin Stil Şablon tarafından nasıl belirlenebileceğini göreceğiz.

3. Seçiciler (Selectors) : Kimi zaman Html etiketlerinden fontu hepimiz kullanırız. Örneğin bir sayfa içerisinde font etiketine birden çok görünüm eklemek isteriz. Bu durumda seçiciler imdadımıza yetişir. Bu dersimizde de seçicilerin nasıl kullanıldığını ve yazım kurallarını öğrenceğiz.

4. Genel kullanım şekilleri : Bu dersimizde ise A (link) etiketinin çeşitli kullanım biçimleri ile birlikte bir Stil Şablonun nasıl kullanırsak işimize daha fazla yarayacağını göreceğiz. Siz buradaki kullanım tarzına göre Css’i kullanırken kendinize nasıl bir yön izleyeceğinize karar vereceksiniz.

Kaynak:http://www.ceturk.com/

PHP

Tarihçe

PHP, ilk olarak 1993 yılı ortalarında Rasmus Lerdorf tarafından geliştirilmeye başlamıştır. Lerdorf’un amacı kişisel bilgileri internet üzerinden yayınlamaktı. Buradan yola çıkarak, kişisel web sayfası yapmak için Perl dilinden ödünç rutinler kullanarak bir yazılım hazırladı ve adına Personal Home Pages (PHP) adını verdi. PHP dili ilk kez duyulmasından çok kısa bir süre sonra geniş anlamda popüler olunca, form tipi bilgileri işlemeyi sağlayan eklemeler yapılarak PHP/FI (Form Interpreter/Form Yorumlayıcı) adını aldı (Bazı kaynaklarda dilin bu sürümü PHP 2 olarak adlandırılmaktadır ). PHP dili, 1995 yılında Lerdorf’un kurmuş olduğu bir grup tarafından daha da geliştirilerek, ilk kez Perl dilindeki fonksiyonlardan tamamen arındırılmış ve Nesne Yönelimli (Object Oriented) bir dil haline getirilmiştir.
2005 yılı itibariyle PHP 5 sürümü geliştirilmiş durumdadır. PHP dili Linux gibi Açık Kaynak Kodlu bir dil olup ücretsiz olarak dağıtılmakta ve geliştirilmektedir. Linux, Unix, Windows tabanlı işletim sistemlerinde çalışabilen sürümleri mevcuttur.

Teknik Notlar

- PHP uygulamaları bağımsız çalışabilecek derleyici yapısıyla değil, uyarlayıcı yapısıyla çalışır.- PHP yorumlayıcısı ilgili dosya içindeki betikleri çalıştırarak geriye döndürdüğü sonucu sunucuya tekrar gönderir.- Sunucuya ulaştırılan sonuç İstemci (Client) tarafına HTML dosya olarak yollanır. - PHP ile Sunucu/İstemci mantığında web tabanlı uygulama geliştirilebildiği gibi, UNIX kabuk programlama ve GTK ile de GUI' ye sahip tek başına çalışabilen uygulamalar geliştirmek mümkündür.

İlave Bilgiler

PHP, özellikle mysql veritabanıyla birlikte ve Linux işletim sistemi altında iyi bir performans sergilmektedir. C/C++ diline olan benzerliği nedeniyle bu dili önceden bilenlerin PHP öğrenmesi oldukça kolaydır. Kolay öğrenilmesi ve hızlı performansı nedeniyle Facebook, YouTube, Yahoo, Wikipedia ve OGame gibi dünyaca ünlü sitelerin yazımında kullanılmasına rağmen, kodların kolay anlaşılabilmesi açısından ve birden fazla programcı tarafından sürekli geliştirilmesi gerekli büyük projelerde Java nın kullanılması daha uygun görülmektedir. Ancak sadece web tabanlı yazılımın geliştirilmesi söz konusu olduğunda Java ya göre öğrenilmesinin daha kolay olması nedeniyle genellikle PHP tercih edilmektedir. PHP, web tasarımında önemli kolaylıklar sağlasa da 2005 te Google in AJAX kullanmaya başlamasından sonra tek başına öğrenilmesi yeterli olmamakta AJAX'ı öğrenmek için gerekli JavaScript , XML, HTML, ( ve CSS ) ile birlikte bir bütün oluşturabilmektedir.

Kaynak: http://tr.wikipedia.org/wiki/PHP

ASP

ASP, Active Server Pages ifadesinin kısaltılmış halidir. `Aktif sunucu sayfaları` şeklinde Türkçe`ye çevrilebilmektedir. ASP sunucu taraflı bir scripting dilidir ve web üzerinde kullanılır.ASP bir web programcılığı ve elektronik ticaret (e-commerce, B2B, B2C) teknolojisidir. Günümüzde profesyonel bir çok web sitesinde karşılaşabilmekteyiz. Temelde sunucu tarflı bir scripting dili tanımlaması yapılsa da, ASP, uygulama geliştiricilerine bundan daha fazla imkan tanımaktadır.ASP ile diğer bir çok scripting dillerini aynı anda kullanabilirsiniz. Veritabanı uygulamaları yaratabilir, SQL ile sorgulama sağlayabilirsiniz. XML yada Text olarakta veritabanı yaratabilir, bu döküman şekliyle sayfanızda sunucu taraflı işlemler gerçekleştirebilirsiniz.ASP, Windows çatısı altında çalışmaktadır. Bazen companent (ek bileşen) gereksimi duyabilirsiniz. Sunucuya dosya upload ederken, mail gönderirken etc.. gibi alanlarda ASP yetersiz kalmaktadır. Bu gibi uygulamalarınızı gerçekleştirebilmeniz için özel firmalar tarafından hazırlanan bileşenleri kullanmak zorundasınız.ASP hakkında bir çok yorumlar göze çarpmaktadır. Diğer diller ile kıyaslanmaktadır. Her scripting dilinin eksisi olduğu gibi mutlak artılarıda vardır. İşimiz bunları tartışmak, herhangi bir dili ön plana çıkarmak değil. Temelde programlama mantığı ve kullanım şekilleri aynıdır. Bir dili öğrenerek bir çok dile köprü görevi üstlenebilirsiniz. Bunun başında da kullanımı ve öğrenmesi en kolay olan ASP`yi ufkunuzu açmak için kullanabilirsiniz.Son olarak, ASP`yi öğrenebilmek için bir çok kaynaklara ihtiyacınız olacaktır. Sadece temel yapıyı anlatmaya çalışacağız, örnekler vererek daha basit hale indirgeyeceğiz. Eğer bu işte yeni iseniz, dökümanlarımızı kaçırmamanızı öneriyoruz. Dökümanlar çoğaldığında okumak ve uygulamak için yeterli zamanınız olmayabilir.

Kaynak: http://www.aspogren.net/kaynak-oku/1/asp-web-programcılığı.html