<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>Coders&#039; Grave &#187; css sprite</title> <atom:link href="http://codersgrave.com/etiket/css-sprite/feed/" rel="self" type="application/rss+xml" /><link>http://codersgrave.com</link> <description></description> <lastBuildDate>Tue, 11 Dec 2012 17:27:55 +0000</lastBuildDate> <language>tr-TR</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.5</generator> <item><title>Sitenizi Hızlandırın!</title><link>http://codersgrave.com/111-sitenizi-hizlandirin/</link> <comments>http://codersgrave.com/111-sitenizi-hizlandirin/#comments</comments> <pubDate>Fri, 06 Aug 2010 13:15:45 +0000</pubDate> <dc:creator>Sevil Yılmaz</dc:creator> <category><![CDATA[CSS]]></category> <category><![CDATA[Genel]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[content delivery network (cdn)]]></category> <category><![CDATA[css sprite]]></category> <category><![CDATA[görsel formatı seçimi]]></category> <category><![CDATA[sitenizin açılışını hızlandırın]]></category><guid isPermaLink="false">http://www.codersgrave.com/?p=111</guid> <description><![CDATA[Sitemizin tasarımını yaparken ve kodlarını yazarken yaptığımız ya da yapmadığımız bazı şeyler sitemizin açılış hızını büyük ya da küçük oranda etkiler. Sitemizin daha hızlı açılabilmesi için aşağıya birkaç ipucu ekledim. Bazıları sadece birkaç dakikanızı alabilecek bu işlemler sitenizin açılış hızını &#8230; <a href="http://codersgrave.com/111-sitenizi-hizlandirin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Sitemizin tasarımını yaparken ve kodlarını yazarken yaptığımız ya da yapmadığımız bazı şeyler sitemizin açılış hızını büyük ya da küçük oranda etkiler. Sitemizin daha hızlı açılabilmesi için aşağıya birkaç ipucu ekledim. Bazıları sadece birkaç dakikanızı alabilecek bu işlemler sitenizin açılış hızını oldukça fazla etkileyecek. Bana güvenin.</p><p>İşte hala yapmadıysanız, yapmanız gerekenler:</p><p><span id="more-111"></span></p><h3>Dosyaları Bir Araya Toplayın ve Sıkıştırın</h3><p>Birden fazla olan CSS ve Javascript dosyalarınızı bir CSS ve bir Javascript olmak üzere iki dosyaya toplayın ve bunları sıkıştırın.</p><p><strong>CSS Düzenlemek İçin Güzel Siteler</strong></p><ul><li><a href="http://www.cleancss.com/" target="_blank">Clean CSS</a></li><li><a href="http://www.cssoptimiser.com/" target="_blank">CSS Optimizer</a></li><li><a href="http://www.cssdrive.com/index.php/main/csscompressor/" target="_blank">CSS Compressor</a></li></ul><p><strong>Javascript Dosyasını Sıkıştırmak İçin Kullanabileceğiniz Siteler</strong></p><ul><li><a href="http://refresh-sf.com/yui/" target="_blank">Online YUI Compressor</a></li><li><a href="http://javascriptcompressor.com/" target="_blank">Online Javascript Compressor</a></li><li><a href="http://dean.edwards.name/packer/" target="_blank">Packer</a></li><li><a href="http://www.xmlforasp.net/JSCompressor.aspx" target="_blank">JS Compressor</a></li></ul><h3>CSS ve Javascript Dosyalarınızı &#8220;Harici&#8221; Yapın</h3><p>CSS ve Javascript kodlarınızı dosyalara toplayıp sitenize harici (external) olarak bağlayın. Çünkü harici dosyalar tarayıcının belleğinde tutulur. HTML dosyasının içindeki <em>inline</em> kodlar ise her defasında tekrardan yüklenir.</p><p>Stil kodlarınızı sayfalara göre ayırın. Bütün sayfalarda kullandığınız kodları bir dosyaya koyun. Sayfalara özel olanları da ayrı ayrı dosyalara. Böylece kullanmadığınız kodları yüklememiş olursunuz.</p><h3>CSS Sprite</h3><p style="text-align: center;"><img class="size-full wp-image-131 aligncenter" title="CSS Sprite Kullanın" src="http://codersgrave.com/wp-content/uploads/2010/08/use-css-sprite2.png" alt="" width="231" height="114" /></p><p>İnternet teknolojisini uzaktan yakından takip eden herkes <strong>CSS Sprite</strong>&#8216;ı duymuştur. Kim düşünmüşse bunu iyi etmiş.</p><p><em>CSS Sprite</em> bize birçok fayda sağlar. Bunlardan birkaçını şöyle sıralayayım.</p><ol><li>Öncelikle görsel boyutunu azaltır. Yukarıdaki örnekte olduğu gibi; en sağdaki görselin boyutu <em>3.66 kB. </em>Eğer tüm görselleri teker teker alsaydık toplam dosya boyutumuz <em>14.64 kB.</em> olacaktı. Ancak hepsini birleştirip kullandığımızda boyut yaklaşık<em> 9.5 kB</em>.a kadar düşüyor.</li><li>Dört yerine sadece bir tane görsel kullandığımız için HTTP isteği de dörtten bire düşüyor. Daha az istek olduğu için sitemiz daha hızlı açılıyor. Ne güzel değil mi!</li><li>Diyelim sadece görsellerin normal hallerini koydunuz, &#8220;<em>hover</em>&#8220;larını koymadınız. Böyle bir durumda sayfanın ilk açılışında sadece normal halleri yüklenir haliyle. Fareyi görselin üzerine getirdiğinizde bu sefer &#8220;<em>hover</em>&#8221; hali çağırılır. Ama bu hali siteye önceden yüklenmediği için bu sefer de bunu yükler. Bu da belli bir zaman kaybına neden olur.</li></ol><p>Diyeceksiniz, &#8220;sadece <em>5 kB.</em> nedir ki!&#8221; Demeyin! Şöyle düşünün: Sitenize bir kişi girdiğinde server&#8217;a 5 kB. daha fazla yüklenecek. Sitenizin günlük ziyaretçi sayısına ortalama 100 desek; günde 500 kB. eder. Bunu aya çarparsanız 4.5 mB. eder ve bu sadece 5kB.lık bir fazlalıktan oluşan aylık değer. Bunun birden fazla olduğunu düşünürseniz, bunun size fazladan server masrafı olarak döneceğini tahmin edebilirsiniz.</p><p><a href="/css-sprite/#more-135" target="_blank">Nasıl Kullanılır?</a></p><h3>Görsel Formatını Doğru Seçin</h3><p><strong>.png</strong>, <strong>.gif</strong>&#8216;e karşı; hatta <strong>.jpg</strong>&#8216;e bile karşı.</p><p><em>.gif</em> yerine <em>.png-8</em> kullanın. Bu iki format aynı renk paletini(256) kullanır. Ama <em>png-8</em>&#8216;in boyutu <em>.gif</em>&#8216;e göre çok daha küçüktür. <em>.gif</em>&#8216;i sadece animasyonlu görsellerde kullanın.</p><p><strong>.png-24</strong>, <em>png-8</em>&#8216;in <strong><em>alpha</em></strong> transparan özelliği eklenmiş halidir. Transparan özelliğine sahip görsellerde bunu kullanabilirsiniz.</p><p><strong>.jpg</strong> ise fotoğraf gibi görsellerde ön plana çıkar. Ancak <em>.jpg</em>&#8216;i kaydederken kalite diye bir olay vardır. 100 üzerinden değerlendirilir. Bu değer düştükçe görselin boyutuyla beraber kalitesi de düşer.</p><p>Fotoğraf dışındaki görseller için <em>.png</em> formatını kullanın. Böylece görselin kalitesini düşürmemiş olursunuz.</p><h3>Stil Dosyalarını Sayfanın Üstüne Koyun</h3><p style="text-align: center;"><a href="http://codersgrave.com/wp-content/uploads/2010/08/stil-ustte1.png" rel="lightbox" title="Stil Üstte"><img class="aligncenter size-medium wp-image-177" title="Stil Üstte" src="http://codersgrave.com/wp-content/uploads/2010/08/stil-ustte-300x2011.png" alt="" width="300" height="201" /></a></p><p>Bir kullanıcı ilk defa sitemize girdiğinde sitenin hızlı açılması onun için önemlidir. CSS çıktığından beri bunu çok güzel bir şekilde sağlayabiliyoruz. Stil dosyamızı <em>&lt;header&gt;</em> etiketinin içine koyduğumuzda ilk önce o yükleneceğinden site daha yüklenmeden tarayıcımız onun nasıl görüneceğini bilir. Böylece site dağınık değil de toplu bir şekilde yükleniz. Kullanıcı da internet tecrübesinden sonuna kadar faydalanmış olur.</p><h3>Script&#8217;leri Sayfanın Sonuna Koyun</h3><p style="text-align: center;"><a href="http://codersgrave.com/wp-content/uploads/2010/08/script-bottom1.png" rel="lightbox[111]" title="Script Altta"><img class="size-full wp-image-122 aligncenter" title="Script Altta" src="http://codersgrave.com/wp-content/uploads/2010/08/script-bottom1.png" alt="Script Altta" width="332" height="215" /></a></p><p style="text-align: left;">Çoğu tarayıcı siteyi yüklerken aynı anda iki paralel indirme yapabilir. Ancak &#8220;<strong><em>script</em></strong>&#8221; dosyaları indirilirken başka indirilme yapmazlar. Sitenin yüklenmesine devam etmek için <em>script</em>&#8216;in inmesini beklerler.</p><p style="text-align: left;">Eğer <em>script</em> dosyalarımızı sayfanın sonuna hemen <em>&lt;body&gt;</em> etiketinin önüne koyarsak tüm sayfa yüklendikten sonra <em>script</em>&#8216;leri indirmeye başlar.</p><h3>Content Delivery Network (CDN)</h3><p>CDN kullanın. CDN nedir, ne işe yarar? Genel kullanımı javascript kütüphanelerini (jQuery, MooTools, Prototype gibi.) başka servis sağlayıcılarından çağırmaktır. Bunun bize birkaç faydası var.</p><ol><li>Örneğin şu anda jquery.1.4.2.min.js kütüphanesi yaklaşık 71kB. Biz bunu kendi servis sağlayıcımızdan değil de Google, Microsoft gibi büyük sağlayıcılardan çağırırsak fazladan 71kB.&#8217;lık bir yükten kurtulmuş oluruz.</li><li>Bir ziyaretçi bizim kullandığımız kütüphanelerden kullanan bir siteden bize geldiği zaman o kütüphane zaten tarayıcının belleğinde tutulduğundan tekrardan yükleme gereği duymaz. Böylece sitemiz daha hızlı açılır.</li></ol><p>Daha birçok dosyayı da ortak ağda tutup site açılışını daha da hızlandırabiliriz. Buna burada girmeyeceğim. Belki başka bir zaman.</p><p>Örneğin jQuery&#8217;yi CDN&#8217;den çağırmak için şöyle kullanabiliriz:</p><pre><code class="prettyprint">&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;</code></pre><p>Daha fazla kütüphane kullanımı için <a href="http://code.google.com/intl/tr/apis/libraries/devguide.html" target="_blank">Google Libraries API</a>&#8216;ye bakabilirsiniz.</p><h3>İçiçe Tablo Kullanımından Kaçının</h3><p>Hatta bence tamamen tablo kullanımından kaçının. Yapabiliyorsanız tabloları da <strong>&lt;div&gt; </strong>elementiyle oluşturun.</p><p>Tarayıcılar tabloları tamamen yüklendikleri zaman gösterirler. Birkaç tane içiçe tablonuz varsa tablolar yüklenirken epey bir zaman geçer ve ziyaretçi bu süre zarfında sitenin yüklenmediğini düşünüp sayfayı yenileyebilir.</p><h3>Uzun Sayfaları Bölün</h3><p>Uzun sayfalar hem sayfanın yavaş açılmasına sebep olur hem de ziyaretçinin görünü korkutur. Ben ne zaman uzun bir yazı görsem okumak için önce bir düşünürüm. Sonunda da hep sonraya bırakırım.</p><p>Uzun sayfaları bölün; devamına bağlantı verin; olsun bitsin.</p><h3>Gereksiz Boşlukları Ortadan Kaldırın</h3><p>Boşluk (whitespace) da bellekte ufak da olsa yer kaplar. Fazla boşlukları kaldırın.</p><h3>Faydalı Olabilecek Siteler</h3><ul><li><a href="http://developer.yahoo.com/performance/rules.html" target="_blank">Best Practices for Speeding Up Your Web Site</a></li><li><a href="http://www.websiteoptimization.com/" target="_blank">Web Site Optimization</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://codersgrave.com/111-sitenizi-hizlandirin/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> </channel> </rss>