‘performans’ etiketi için sonuçlar
HTML Dokümanında Javascript Dosyalarını Nereye Koymalıyız?
Mart 24th, 2011 • 19 yorum Javascript, XHTML
Etiketler: defer, hız, javascript dosylarının yeri, paralel yükleme, performans
Javascript’i web sitelerine eklemek
Javascript dosyaları bir web sitesine iki şekilde eklenir. Birincisi satıriçi(inline), ikincisi ayrı bir javascript dosyası hazırlayıp harici olarak eklemek.
İlk javascript’i Hakkı Öcal’ın javascript kitapçığından öğrenmeye başlamıştım.
İlk örnek şöyle idi;
<html>
<head>
<title>Merhaba Dünya!</title>
<script>
function merhaba() //merhaba isimli fonksiyonu deklare ediyoruz
{ //bu, fonksiyonun başlama işareti
alert ("Merhaba Dünya!") //fonksiyonun komutu ve komutun gerektirdiği metin
} //bu fonksiyonun bitme işareti
</script>
</head>
<body>
<b>Merhaba Dünya</b><br>
<form>
<button onclick=merhaba()>TIKLAYINI!</button>
</form>
</body>
<html>
Bu satıriçi kodlamaya örnek olarak verilebilir.
Aynı kodu ayrı bir javascript dosyası olarak hazırlayıp .js uzantısı ile kaydedersek ve bunu html dokümana eklersek buda harici bir javascript dosyası ekleme kısmına girer.
function merhaba()
{
alert ("Merhaba Dünya! Sene 2011")
}
Bu dosyayı merhaba.js olarak kaydedip, sonra
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> <title>Merhaba Dünya!</title> <script src="merhaba.js"> </script> </head> <bodyY> <b>Merhaba Dünya</b><br> <form> <input type="submit" name="button1" value="TIKLAYIN!" onclick="merhaba()"> </form> </body> </html>
Şeklinde HTML dokümanına ekleriz.
Yukarıda kullandığımız her iki yöntem ile de aynı sonucu alırız. Harici javascript dosyası ile eklemenin avantajları vardır;
- Bir dosya ile tüm sitedeki javascript dosyalarını idare ederiz ve güncellemeleri tek dosya ile daha kolay yaparız.
- Sayfa daha hızlı yüklenir, tek dosya ön belleğe alınınca diğer sayfalarda tekrar tekrar yüklenmediği için sayfalar daha hızlı açılır.
Javascript o günden bu yana daha fazla önem kazandı ve artık javascript kodumuzu en iyi hale getirmek için daha çok zaman harcıyoruz ve bize zaman kazandıracak her durumu inceleyip uyguluyoruz.
HTML dokümanında javascript dosyasını nereye eklemeliyiz?
Web sitelerinin en iyi hale getirmek için çeşitli araçlar ile sitemizi test ederiz. Bunlardan biri Firefox’ın YSlow eklentisidir. YSlow eklentisi ile web sitemizi test ettiğimizde javascript dosyalarımızı html dokümanının sonuna eklememizi öneren bir başlık ile karşılaşırız, burada bu başlığı biraz inceleyeceğiz.
CSS dosyalarının <head> içine konmasının öneren YSlow Javascript dosyalarının HTML dokümanının sonuna(</body>’nin hemen öncesine) konmasını öneriyor. Burada bir çelişki var gibi görünüyor. Buradaki mantık şudur; javascript blokları <head> içine konduğu zaman sayfa ilk açıldığında bu javascript blokları yüklenir ve işlenir. Javascript dosyası yüklenip, işlendikten sonra diğer sayfa üyeleri yüklenir. Javascript dosyası yüklenip işlenmesi bitene kadar sayfa boş bir sayfa olarak görünür, tabi buda istenen bir durum değildir.
<html> <head> <title>Javascript yükleme yeri</title> <script type="text/javascript" src="script1.js"></script> <script type="text/javascript" src="script2.js"></script> <link rel="stylesheet" type="text/css" href="stil.css"> </head> <body> <p>İçerik Burada</p> </body> </html>
Sayfa başına konan javascript dosyalarının yüklenme zamanı aşağıdaki grafikte görüldüğü gibidir
Javascript dosyalarını html dokümanın sonuna koyunca sayfa öğeleri tamamen yüklenecek ve sonra javascript dosyaları yüklenecek ve işlenecektir. Böylece ziyaretçi sayfayı açtığı anda görsel öğeler yüklenecek ve ziyaretçi sayfa içeriğini görecektir ve sonra javascript yüklenecek ve işlenecektir.
Paralel Yükleme
Bir diğer problem ise javascript dosyaları paralel yüklemeyi bloklar. Paralel yükelemeyi şöyle açıklayabiliriz; web sitemiz yüklenirken her öğe tek tek yüklemek yerine iki ve daha fazla yükleme, yani paralel olarak yükleme yapabiliyoruz. HTTP/1.1 şartnamesinde her barındırma servisinden(hositng) iki paralel yüklemeye izin verir, buradan şunuda anlayabiliriz ki farklı barındırma servislerinden ikiden fazla yükleme yapabiliriz. Ancak script dosyaları yüklenirken pararlel yüklemeye izin vermez. Bu durumu göz önünde bulundurarak script dosyalarımızı dokümanın sonuna koyarak sayfamızın daha hızlı yüklenmesini sağlayabiliriz.
Uygulanamayan Durumlar
Bazı durumlarda script dosyasını dokümanın altına koymamız mümkün olmaz. Örneğin script içinde documen.write ile doküman içine bir şey eklememiz gerektiğinde. Ancak bu durumlar içinde bazı çözümlerin olduğu aklımızın bir köşesinde kalsın.
defer Özelliği
HTML4 ile birlikte <script> etiketi içine defer özelliği eklenmiştir. defer özelliği tanımlanmış script dosyaları hemen uygulanmayıp tüm sayfa yüklendikten sonra yüklenir ve çalıştırılır. Bu özelliği İnternet Explorer 4+ ve Firefox3.5+ desteklemektedir.
<script type="text/javascript" src="script1.js" defer></script>
şeklinde kullanılır. Bu dosyayı html dokümanının istediğimiz yerine koyabiliriz. Tüm tarayıcıların desteklmemesi kullanımı konusunda bizi biraz düşündürüyor.
Sonuç
Sonuç olarak javascript dosyalarımızı html dokümanımız sonuna koymak web sitelerimizin daha hızlı açılmasını sağlayacak bir yöntemdir.
Kaynak
- http://developer.yahoo.com/blogs/ydn/posts/2007/07/high_performanc_5/
- http://stackoverflow.com/questions/143486/unobtrusive-javascript-script-at-the-top-or-the-bottom-of-the-html-code
- http://robertnyman.com/2008/04/23/where-to-include-javascript-files-in-a-document/
- http://blog.asp-software.org/advanced-website-optimization-making-your-site-faster/
- http://www.quirksmode.org/js/placejs.html
- http://www.stevesouders.com/blog/2008/12/27/coupling-async-scripts/
- http://www.yuiblog.com/blog/2007/04/11/performance-research-part-4/
Firefox 4
Mart 22nd, 2011 • 16 yorum CSS, Haberler, HTML5
Etiketler: css3, firefox4, html5, İnternet Tarayıcısı, panorama, performans
Mart ayı internet tarayıcıları için bayağı yoğun geçiyor. Mart’ın başlarında Google Chrome 10 çıktı, Chrome o kadar sık sürüm geçiyor ki ne zaman 10 oldu anlayabilmiş değilim. Opera’da ise bu duruma biraz daha buçuklu bir cevap verdi Opera 11.10 sürümünü beta olarak yayınladı. Ardından uzun süredir beklenen İnternet Explorer 9 çıktı, normal kullanıcı isteklerini karşılayan bizim gibi geliştiricileri yine eksikleri ile düşündüren bir sürüm. Son olarak bu gün Firefox 4 çıktı. Burada sizlere FireFox 4’ün yeniliklerinden bahsedeceğim. Firefox 4’de aslında başta 3.7 olarak adlandırıldı sonra geçen sene çıkacaktı direkten döndü derken mart’a kadar bekletti bizi. Yeni özellikleri inceleyelim.
Yenilenen Arayüz
Yeni nesil bir çok tarayıcıda gördüğümüz içeriğe daha fazla alan bırakan yeni tasarım kabulünü Firefox 4’de de görüyoruz. İnternet Explore 9’da dediğimiz gibi hepsi ortalama olarak doğru yolu buluyor.
Daha derli toplu bir arayüze kavuşmuş Firefox4. Gerçi o kadarda problememiz yoktu arayüzü ile ilgili, ama yenilenmiş daha hoş olmuş. Sekmeler Chrome’daki gibi üste alınmış. Ana bir Menü Sağ üst köşeye Firefox başlığı ile eklenmiş. Ana Sayfa ve Yerimleri arama kutusu yanına yerleştirilmiş. Ayrıca Yeni Eklenti Düzenleme arayüzü eklenmiş.
Performans
Bencee en büyük artıyı hızdan, performanstan yana olmuş. Bellek kullanımda uzun süreli kullanımda şişmeler oluyor ve can sıkıcı sonuçlar doğruyordu. İlk kullanım deneyimlerime göre gayet başarılı bir gelişme olmuş bu konuda. Google Chrome’un öncülüğünde artık tüm tarayıcıların önceliğini hız konusuna veriyor. Bence bu güzel bir gelişme.
Yenilenen javascript motoru(Jägermonkey) ve HTML5 motoru sayesinde bir önceki sürüme göre 6 kat daha hızlı olduğunu söylüyor Mozilla. Bunu kullanırken hissediyorsunuz. Ayrıca “hardware acceleration” sayesinde hızlanma daha fazla hissediliyor. İnternet Explorer 9’dan hatırladığımız bu özellik grafik işlemciyide devreye sokuyor.
Eklentileri güncellemeleri arkaplanda yükleyerek eklentilerin eski sürümlerdne dolayı yavaşlamasını engelliyor. Eklenti güncellemeleri sonrası tarayıcı kapatıp açmaya gerek yok artık.
Yeni Sekme Özellikleri
Panorama özelliği sayesinde çok fazla sekme kullanan kullancılar için bir düzeni sağlamak artık daha kolay olacak.
Sekmeli yapıya geçtikten sonra bir çok insan sekmelere alıştı, bunun sonucu olarakta sekmeleri düzenleme ihtiyacı duydular. Bu ihtiyacı çok iyi gören Firefox mart ayındaki bu yeni tarayıcı sürümleri içinde belki en iyi özelliği kullanıcılarına sundu.
Ayrıca sekmeleri sabitleme özelliğide eklendi. Daha önce Chrome’dan alışık olduğumuz uygulama sekmeleri sabitleme özelliği artık Firefox’da da var. Çok kullandığımız özellikleri veya uygulamaları sabitleyerek devamlı göz önünde tutuyoruz. Sabitlenen sekmeler görüntü olarakta sadece ikonları görünür kalıyor, bölylelikle fazla yer kaplamıyor.
Senkronize Firefox (Firefox Sync)
Daha önce eklenti olarak sunduğu bu özelliği artık program içinde geliyor. Farklı araçlar ile internete girenler için ve farklı yerlerde tarayıcısının özelliklerini her kullandığı yere taşımak isteyenler için güzel bir özellik. Tüm tarayıcı bilgileriniz ve ayarlarınızı her kullandığınız yerden erişmenizi sağlıyor bu özellik.
Web Standartları Desteği Arttı
- HTML5 yorumlama motoru geliştirildi,
- HTML5 Form elemanları, form doğrulama ve form özellikleri desteğini arttırıldı,
- HTML 5 Yapısal elemanları desteği sunuyor. <article>, <section>, <nav>, <aside>, <hgroup>, <header> ve <footer>,
- HTML5 hidden özelliğini destekliyor,
- Yeni HTML5 özelliklerini destekliyor: <mark>, <figure> ve <figcaption>,
- WebSocket APı desteği sağlıyor,
- WebGL desteği sunuyor,
- Google’un çıkardığı WebM video formatı desteği sunuyor,
- SVG animasyonu SMIL desteği sunuyor,
- Medya elementlerinin(video, audio) buffered özelliğini destekliyor,
- Medya elementlerinin(video, audio) preload özelliğini destekliyor,
- CSS geçiş(transitions) özelliği desteği sunuyor,
- Matematiksel işlemler yapmayı sağlayan -moz-calc özelliği desteği sunuyor,
- CSS dokunma özellikleri desteği sunuyor,
- -moz-font-feature-settings, -moz-tab-size, resize özelliklerini destekliyor
- CSS3 :-moz-handler-crashed, :-moz-placeholder, :-moz-submit-invalid, :-moz-window-inactive, :invalid, :optional, :required ve :valid sözde sınıflarını ve :-moz-focusring sözde seçici desteği sunuyor
- -moz-background-size yerine background-size, -moz-border-radius yerine border-radius ve -moz-box-shadow yerine box-shadow isim değişikliklerini yapıyor
- Firebug’dan alışık olduğumuz Web Konsol özelliğini sunuyor
Diğer Özellikler
Beni izleme(Do Not Track) özelliği eklenmiş, Çoklu dokunma özelliği ve daha güvenli gezintiler için bazı özellikler sunuyor. Ayrıca Chrome’dan alışık olduğumuz otomatik güncelleme özelliği ile biz indirmeden yeni sürümler kurulacak artık. Bu özellik tüm tarayıcılara gelirse çok güzel olur.
Sonuç
Mart ayı tarayıcılar için kendilerini gösterme zamanı olarak geçiyor. Her yeni özellik bizi heyecanlandırıyor. Gelişen web teknolojilerine ayak uyduran tarayıcılar ayrıca yeni ve kullanışlı özelliklerde sunuyor. Firefox’un hız sorununu bu sürümde düzelttiği kanısına varsam da uzun süreli kullanımlardaki performansını görmeden kesin bir şey söylemek zor.
Firefox’a FireBug ile olan göbek bağım nedeni ile benim için Firefox birincil tarayıcımdır ve bu yeni sürüm ile birlikte bu daha çok pekişecektir.
Son olarak rekabet güzel şey.
Yeni nesil tarayıcıların Hız testi http://lifehacker.com/#!5784396/browser-speed-tests-firefox-4-internet-explorer-9-chrome-11-and-more
Kaynaklar
- http://www.mozilla-europe.org/tr/firefox/features/
- http://limi.net/articles/firefox-4
- http://www.youtube.com/watch?v=gFmuNApHFec&feature=autoshare
- http://hacks.mozilla.org/2010/07/firefox4-beta2/
- http://hacks.mozilla.org/category/firefox-4/
- http://hacks.mozilla.org/category/firefox-4/
- http://blog.mozilla.com/blog/2011/03/18/check-out-what%E2%80%99s-coming-soon-in-firefox-4-2/
- http://www.webrazzi.com/2011/03/22/firefox-4/
- http://lifehacker.com/#!5784255/whats-new-and-awesome-in-firefox-4
- http://hacks.mozilla.org/2011/03/firefox4-performance/
- http://www.favbrowser.com/download-firefox-4-final/
- https://developer.mozilla.org/en/Firefox_4_for_developers
Önden Resimleri(Preloading images) Yükleme Yöntemleri
Ağustos 27th, 2010 • 10 yorum CSS, Javascript, XHTML
Etiketler: önyükleme, performans, resim, web site hızlandırma
Web sitelerimizi hızlandırmak için çeşitli yöntemler ve metotlar deneriz. Amacımız kullanıcıya daha hızlı cevap vermektir. Bunlardan bir tanesi önden resimleri kullanıcı bilgisayarına yükletip sonra açılacak sayfaların hızlı açılmasını sağlamak gibi bir amacımız olduğu durumlardır. Rollover resimleri, araç ipucu(tooltip), background resimleri vb. resimleri önceden yükletmek bize hem sayfa ilk açıldığında kötü görüntüyü engellememizi sağlar hemde kullanıcıya daha sonraki tercihlerinde daha hızlı cevap vermemizi sağlar.
Ben genelde daha önce kullanmadığım metotları kullanmadan önce bir araştırma yaparım ve sonuçta bana göre iyi olan yöntemi uygularım. Web ajanslarında çalışırken bu araştırmayı kısa tutmam gerekirken tek bir proje geliştirirken bu iş için daha uzun zamanımız oluyor.
Bu işi çin CSS, javascript ve ajax ile çözümler mevcut.
Ben bu yöntemlerden javascript yöntemi ile yapmayı tercih ettim. Diğer yöntemler hakkında genel bir bilgi verip geçeceğim.
CSS Yöntemleri
CSS Sprite yöntemide bu kategoriye girer.
CSS yöntemleri genelde sayfa içine konulan resimlerin tarayıcı görüntüsünden kaçırılması ile yapılan yöntemlerdir ki işin bu kısmı benim hoşuma gitmiyor.
CSS ile bu işi yapan bir örnek verelim.
div#preloaded-images {
position: absolute;
overflow: hidden;
left: -9999px;
top: -9999px;
height: 1px;
width: 1px;
}
HTML kodu
<div id="preloaded-images"> <img src="http://deneme.com/image-01.png" width="1" height="1" alt="Image 01" /> <img src="http://deneme.com/image-02.png" width="1" height="1" alt="Image 02" /> <img src="http://deneme.com/image-03.png" width="1" height="1" alt="Image 03" /> </div>
Yukarıda görüldüğü gibi html içine eklenen resimler CSS yardımı ile kullanıcının göremeyeceği bölgelere itilmiştir. Bu şekilde bir çözüm üretilmiştir.
Javascript Yöntemleri
Javascript ile yapılan yöntemlerin genel yapısı bir sıraya sokulan resimler dinamik olarak doküman içine eklenir.
Javascript ile bu işlemi yapan çeşitli kodlar var. Benim uyguladığım ise aşağıdaki koddur. Bu kodun diğerlerine göre avantajı yükleme yaptığımız sayfanın yüklenmesi bittikten sonra bizim önden yükleme yaptığımız resimleri yüklemesidir.
function preloader() {
if (document.images) {
var img1 = new Image();
var img2 = new Image();
var img3 = new Image();
img1.src = "http://domain.tld/path/to/image-001.gif";
img2.src = "http://domain.tld/path/to/image-002.gif";
img3.src = "http://domain.tld/path/to/image-003.gif";
}
}
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(preloader);
Yukarıdaki javascript kodu işimizi görecektir.
jQuery ile daha kısa ve basit bir kod ile bu işi yapabiliriz.
// resim onyükleme fonksiyonu
jQuery.preloadImages = function()
{
for(var i = 0; i<arguments.length; i++)
{
jQuery("<img>").attr("src", arguments[i]);
}
};
// yükleme yap
$.preloadImages("images/dexter.jpg", "images/saydam_ardalan1.gif", "images/ornek_sayfa.jpg");
Yukarıdaki kodu yazınca yükleme yaptığımız sayfadaki öğeler yüklenirken yükleme yaptığımız resimlerde yüklenir. Bu benim istediğim bir durum değildir. Bence yükleme yapılacak sayfanın öğeleri yüklendikten sonra yüklenecek resimler yüklenmelidir. Kullanıcı ilk önce mevcut sayfayı tam görmelidir, sonra kullanıcıya göstermeden diğer sayfa resimlerini yüklemeliyiz.
Bunun için kodumuzu aşağıdaki değiştirmeliyiz.
$(document).ready(function() {
$(window).bind('load', function()
{
// resim onyükleme fonksiyonu
jQuery.preloadImages = function()
{
for(var i = 0; i<arguments.length; i++)
{
jQuery("<img>").attr("src", arguments[i]);
}
};
// yükleme yap
$.preloadImages("images/dexter.jpg", "images/saydam_ardalan1.gif", "images/ornek_sayfa.jpg");
});
});
Eklediğimiz sadece $(window).bind(‘load’ function()) kısmıdır. Burada sayfa yüklendikten sonra bu işlemi yap diyoruz.
Örneği görmek için tıklayınız.
Örneklerde dikkatiniz bir yere çekmek istiyorum. Firebug Net sekmesini açtım çünkü sayfa yüklenmesi anını görmenizi istedim. İlk resimde sayfa yüklenirken sonradan görüntüleyeceğimiz resimleride içeren bir durum söz konusu idi. Dikkat ederseniz ilk reismde dikey kırmızı çizgi en sondadır. İkinci resimde ise kırmızı dikey çizgi sayfa öğelerini sonuncusu olan resimden sonra çizilmiştir, daha sonra yükleme yapılan resimler yüklenmiştir.
Sonuç
Ben küçük bir araştırma sonucunda bu kodu kullanmayı uygun buldum. Bulduğum bu kodun kendimce gerekçelerini yukarıda açıklamaya çalıştım, eğer sizlerin daha iyi çözümleri ve önerileri varsa yorum kısmında bizlerle paylaşırsanız sevinirim.
Kalın sağlıacakla
Kaynaklar
- http://perishablepress.com/press/2009/12/28/3-ways-preload-images-css-javascript-ajax/
- http://engineeredweb.com/blog/09/12/preloading-images-jquery-and-javascript
- http://elouai.com/javascript-preload-images.php
- http://www.javascriptkit.com/script/script2/preloadimage.shtml
- http://stackoverflow.com/questions/761263/what-is-the-best-way-to-preload-multiple-images-in-javascript/761332
- http://www.filamentgroup.com/lab/update_automatically_preload_images_from_css_with_jquery/
- http://snipplr.com/view.php?codeview&id=9612
CSS Seçicilerinin Optimizasyonu
Mayıs 30th, 2010 • 14 yorum CSS
Etiketler: Evrensel-Seçiciler, Id-Seçicisi, optimize, performans, seçici optimizasyonu, Torun-Seçicisi
Bu konuyu hiç yazmayı düşünmüyordum, Writing Efficient CSS for use in the Mozilla UI makalesini okuyan kadar. Bu makaleyi okuduğumda bir şeyleri yanlış bildiğimi gördüm ve düzeltmek için bu konu hakkında biraz araştırma yapmam gerektiğini düşündüm ve bu makale çıktı. Bende yeni çok şeyler öğrendim. Aslında makalede 10 senelik bir makale, 10 sene sonra tekrar ısıtılıp yayına konmuş.
Web sitelerini kodlarken ve kodlama sonrasında en çok önem verilen alanlardan biridir optimizasyon. Web sitelerinin optimizasyonunda çok fazla ince eleyip sık dokuyoruz. 1 Kbyte’ın bile hesabını yapar olduk. İnternete bağlanma hızları ne kadar artsa da internete bağlanan insan sayısı daha hızlı arttığı için her zaman daha optimize web siteleri önem kazanacaktır. Biz bununla alakalı olarak burada CSS Seçicilerinin optimum kullanılmasını irdeleyeceğiz. Okumaya devam edin »
09 Haziran 2008 web’den seçme haberler
Haziran 9th, 2008 • 1 yorum Haberler
Etiketler: Ajax, akordiyon, Google-Search, jquery, mailing, mootools, performans, Script injection, tipografi, web2.0
- Html mailing nasıl kodlanır. Bağlantı
- CSS ve tipografi ile 10 uygulama. Bağlantı
- Sitelerde bir çok yerde javascript kullanıyoruz. Buda beraberinde bazı yavaşlamalar getiriyor. Bunu en aza indirebilmek için güzel bir makale yazmışlar. Bağlantı
- jQuery yardımı ile kaydırma çubuğu hareketi ile içeriği yüklemek. Bağlantı
- Script injection ataklarını anlamak. Bağlantı
- Web sitelerinde kullanıcılara yazı boyutu rengi vb. değişiklikleri değiştirme imkanı vermek. Örnekler, fikirler ve tartışmalar Bağlantı
- 5 jQuery sorusu ve cevabı. Bağlantı
- Hasan Köroğlu sitemde arama yaptığında aranan kriterin farklı renkte gösterilmesi halinde daha iyi olacağını söyledi bende search hilite eklentisi ile bunu hallettim. Öneri için teşekkürler Hasan
- Asp.net’de ajax kullanımı hakkında 46 makale. Bağlantı
- jQuery ile akordiyon menü yapımını makalesi. Bağlantı
- 25 adet anlatımlı ajax uygulaması. RSS okuyucusundan, sohbet uygulamasına kadar güzel uygulamalar var Bağlantı
- Google gelişmiş arama sayfasına çeki düzen verdi ve yeni bazı özellikler ekledi. Bağlantı
- JQuery vs. Mootools… – koodla.iblogger.org Bağlantı
- SmashingMagazine’den yine mükemmel bir makale. İkon tasarımı nasıl yapılır. Bağlantı
- 1 yokmuş 2 varmış diye başlayan bir Web 2.0 öyküsü – webrazzi.com Bağlantı
12 Ocak 2007 Web’den seçme haberler
Ocak 12th, 2007 • 2 yorum Haberler
Etiketler: arama motoru, blog, CSS, Firefox, Google-Calendar, Id-Seçicisi, ie7, Javascript, Macromedia-Dreamweaver, performans, rss, web, web2.0
Bir çok gelişme ardı ardına gelince haberlerin boyutuda artıyor. Güzel haberler var
Okumaya devam edin »

