Brotli Sıkıştırma: GZIP Sıkıştırmaya Hızlı Bir Alternatif
Yayınlanan: 2022-04-22Hız, herhangi bir web sitesi için önemlidir. Web'in hızlı yükleme süreleri arayışında, bize yardımcı olacak bir dizi farklı teknolojimiz var. Bir yaklaşım, sitenizin nasıl çalıştığını etkilemeden kullanacağı temel kodu en aza indirmektir. GZIP sıkıştırması bunu yapmanın bir yoludur, ancak Brotli sıkıştırması, dikkat çeken alternatif bir acemi yöntemidir.
Bu, GZIP sıkıştırmasına (ve buna bir alternatif) göre bir takım avantajlar sağlamayı amaçlayan, Google tarafından geliştirilmiş bir çözümdür. Bu makaledeki ayrıntılar, teknolojinin tam olarak ne sunduğuna girecek, ancak Brotli sıkıştırması hızlı ve verimlidir - bu, araştırmak için ihtiyacınız olan tüm kutuları işaretler.
Bu eğitim için, Brotli sıkıştırmasını inceleyeceğiz ve sitenizin bunu kullanıp kullanmadığını nasıl kontrol edeceğinizi ve gerekirse nasıl etkinleştireceğinizi göstereceğiz. İlk olarak, Brotli'yi sıkıştırma algoritması alanına yerleştireceğiz ve onu neden diğer çözümler üzerinde kullanmak istediğiniz hakkında konuşacağız.
Web için Veri Sıkıştırma
En temel biçiminde veri sıkıştırma, bir web sitesi veya uygulamanın kodunu alır ve dosya boyutunu en aza indirir. Bu, web'de gezinmek için daha hafif dosyalar sağlar ve bir web sitesini yüklemek ve oluşturmak için gereken süreyi azaltır. Çalıştığınız dosya türüne bağlı olarak verileri sıkıştırmanın birçok yolu olduğunu göreceksiniz.
Yaygın bir yaklaşım “küçültme”dir. Burası, bir algoritmanın sitenizin kodunu bazı gereksiz öğelerinden çıkardığı yerdir. Buradaki fikir, girintiler, yorumlar, boşluklar ve daha fazlası gibi özelliklerin dosya boyutlarını ve dolayısıyla yükleme sürelerini artıracağıdır.
Bu öğelerin kaldırılması çoğu durumda kullanıcı deneyimini (UX) etkilemez. Ancak , kodu derlemesi ve işlemesi gereken bilgisayarlar için işleri daha kolay hale getirir. Örneğin, bu kod paketini alın:
define( 'WP_INSTALLING', true ); /** Sets up the WordPress Environment. */ require __DIR__ . '/wp-load.php'; require __DIR__ . '/wp-blog-header.php'; if ( ! is_multisite() ) { wp_redirect( wp_registration_url() ); die(); } $valid_error_codes = array( 'already_active', 'blog_taken' );
Yukarıdaki kod, insan tarafından okunabilir hale getirmek için boşluklar ve satır başı gibi öğeler kullanır, ancak bir bilgisayarın çekirdek kodu anlaması için bunlara ihtiyacı yoktur. Dahası, bu boşluklar ve satır sonları yığınları, kaldırıldığında size bir performans artışı sağlayabilecek değerli bir alan kaplayacaktır.
Bu kodu simge durumuna küçültürseniz, tamamen farklı görünür:
define( 'WP_INSTALLING', true ); /** Sets up the WordPress Environment. * / require __DIR__ . '/wp-load.php'; require __DIR__ . '/wp-blog-header.php'; if ( ! is_multisite() ) { wp_redirect( wp_registration_url() ); die(); } $valid_error_codes = array( 'already_active', 'blog_taken' );
Ancak, bu kodun yaptıklarının temelleri hala aynıdır.
Diğer dosya türlerinin verileri sıkıştırmanın yolları olduğunu göreceksiniz. Örneğin, görüntülerin kendisinde fazla bir bozulma olmadan boyutları küçültmek için görüntüler genellikle çok fazla sıkıştırma alır:
GZIP sıkıştırması, dosya gruplarının boyutunu en aza indirmenin standart bir yoludur - ZIP veya Linux .tar
paketleri gibi paketleri düşünün. Ancak şimdiye kadar gerçek bir alternatif yoktu. Bir alternatifin neden var olması gerektiği hakkında daha sonra konuşacağız, ancak önce sizi GZIP'in “rakibi” ile tanıştıralım.
Brotli Sıkıştırma
Özetle, Broti bir veri sıkıştırma algoritmasıdır. Ancak, söylememiz gereken tek şey buysa, bunu araştırmak için bir neden olmazdı.
"Kayıpsız" sıkıştırma sağlar ve Google tarafından bir MIT lisansı altında geliştirilmiştir. Şirket genellikle web geliştirme teknolojisinin ön saflarında yer alır, bu nedenle Brotli'nin GZIP'in yaptıklarını alıp geliştirmesi ve kullanıcılara ve sitelere gelişmiş bir deneyim sunması şaşırtıcı değildir.
Brotli sıkıştırması, GZIP sıkıştırmasıyla aynı temel temel teknolojileri kullanır, yani:
- LZ77 algoritması
- Huffman kodlama ve kod çözme
Aslında, bu iki teknolojiyi birleştirirseniz, hem GZIP hem de Brotli sıkıştırmalarının temelini oluşturan DEFLATE
biçimini elde edersiniz. GZIP sıkıştırmasıyla ilgili yazımızda aşırı derinliğe indiğimiz bir şey.
Kısacası, sıkıştırılmamış dosyalar, onları bir Brotli formatına sıkıştırmak için DEFLATE
işleminin bir parçası olarak LZ77 ve Huffman algoritmalarından geçer. Oradan, bir INFLATE
işlemi, gerektiğinde dosyaları tekrar açar.
Brotli şu anda GZIP'in ana rakibi olsa da, DEFLATE
kullanan başka benzer teknolojiler de var. Bir sonraki bölümde, Brotli'yi öne çıkaran şeylerden bahsedeceğiz.
Brotli Sıkıştırma vs GZIP Sıkıştırma
Belirtildiği gibi, hem Brotli hem de GZIP, verileri sıkıştırmak (ve sıkıştırmasını açmak) için DEFLATE
yöntemini kullanır. Bu, birçok insanın kafasını karıştırabilir, çünkü bu tek başına bir geçişi garanti etmez.
Ancak Google, gelişmiş teknikler sunmak ve verileri daha büyük, daha hızlı bir standarda sıkıştırmak için DEFLATE
üzerine inşa ediyor.
Brotli, Veri Sıkıştırmayı Geliştirmek İçin Sözlükleri Nasıl Kullanıyor?
Veri sıkıştırma biçimlerinin teknik bir yönü, Brotli sıkıştırmasının algoritmasını kullanmak için veri sözlükleri içindeki mevcut bilinen dili ve metni kullanma şeklidir.
Geliştiriciler, verimli, esnek ve ölçeklenebilir olduğu için verileri depolamak için bir anahtar/değer çiftleri sözlüğü kullanacak. Bir PHP sözlüğü ("dizi" olarak adlandırılır) şöyle görünür:
$cats = get_categories( array( 'taxonomy' => 'link_category', 'hierarchical' => 0, 'include' => $link_cat, ) );
GZIP sözlük kullanmazken, Brotli iki .
Brotli'nin Statik Sözlüğü
Birincisi, HTML, CSS ve JavaScript metni için referans görevi gören ortak kod terimlerinin statik (yani önceden tanımlanmış) bir sözlüğüdür.
Altı farklı dilde 13.000'den fazla kelime var ve Brotli bunları koddaki noktalara referans olarak kullanacak. Tam bir benzetme değil, ancak bir WordPress kancasının daha büyük bir kod paketini referans alma biçimine benzer.
Bu nedenle, kodlayıcının kodu bayt bayt gözden geçirmesi gerekmez. Bunun yerine referanslara göre hareket edebilir, tanımı sözlükten alıp bir sonrakine geçebilir.
Ayrıca, sözlükte gerçek dünyadan deyimler ve ayrıca sık sık sıkıştırma görmeyen kodlar olduğunu da göreceksiniz. Bu, <HTML>
gibi bazı etiketlerin ve type="text/javascript"
gibi parametrelerin biraz sıkıştırma almasına ve size daha fazla kazanç sağlamasına yardımcı olur.
Sözlükte ayrıca bazı "dönüşümler" vardır: kısmi, eksik ve yeni bir önek, sonek veya büyük/küçük harfle tamamen yeni bir kelime haline gelen diğer türdeki ifadeler - örneğin, "Çalışma"nın "Çalışıyor" veya "html'ye dönüştürülmesi ” öğesini “HTML”ye çevirin.
Brotli'nin Dinamik Sözlüğü
Dinamik sözlük, içeriği ve kodu kaynağında ayrıştırır; bu, daha küçük cihazlar için iyidir, ancak daha büyük dosyalar için pek iyi değildir. "Sürgülü pencere" olarak da adlandırılır ve boyutu 16 MB'a kadar olabilir. Sıkıştırma algoritmasının, referans vermek için en son verilerden bazılarını 'önbelleğe aldığı' yer burasıdır. Sürekli değiştiği için ultra dinamiktir.
Bunu yaklaşık 32 KB'lik GZIP sürgülü penceresiyle karşılaştırırsanız, gerçek zamanlı ayrıştırma ve sıkıştırma kapsamının çok büyük olduğunu görürsünüz. Aslında, çoğu tipik uygulama, rakip algoritmalarla karşılaştırıldığında hala devasa olan yaklaşık 4 MB'lik bir Brotli sürgülü penceresi kullanır.
Brotli Sıkıştırma vs GZIP Sıkıştırma: Performans ve Destek
Saf kullanıcı sayıları söz konusu olduğunda, GZIP sıkıştırması hala bir numaradır. Ancak, Brotli sıkıştırması her gün daha fazla kullanım görüyor. Bu kısmen, büyük tarayıcılar tarafından benimsenen daha geniş kapsamlı önlemlerden kaynaklanmaktadır; Chromium tabanlı tarayıcıların yükselişi de yardımcı oluyor.
Kullanabilir miyim… web sitesi, tarayıcıların hangi teknolojileri benimsediğini kaydeder ve bir tür geçmiş sağlar. Bu site, tarayıcıların %95'inden fazlasının, tüm ana sürümler de dahil olmak üzere, mevcut yazımda Brotli sıkıştırması kullandığını belirtmektedir.
GZIP sıkıştırma makalemizde, Brotli'nin rakip algoritmalara kıyasla daha iyi bir sıkıştırma oranına sahip olduğu, ancak sıkıştırma ve açma süresinde geride kaldığı bir kıyaslama testi kaydettik:
Bununla birlikte, Squash Benchmark testleri farklı bir hikaye gösteriyor - daha nüanslı bir hikaye. Gerçek çıkarım, Brotli'nin genel olarak daha yüksek sıkıştırma oranıyla GZIP'den daha esnek olmasıdır.
İşte Squash Benchmarks'ın bulgularının özeti:
- Brotli, her sıkıştırma düzeyinde daha iyi sıkıştırma oranına sahiptir (yani daha küçük sıkıştırılmış dosyalar üretir).
- GZIP, Brotli'yi çoğu zaman hızda yense de, faktörlerde sıkıştırdığınız seviye, göreceğiniz sonuçlarda.
Paul Calvano'nun dökümü daha fazla ayrıntı veriyor, ancak asıl mesele Brotli'nin daha fazla dosya sıkıştırma faktörü sağlamak için daha fazla CPU gücüne ihtiyaç duymasıdır. Bu, hem en yüksek hem de en düşük sıkıştırma seviyelerinde gösterilir. Cloudflare'ın kıyaslaması bunu destekliyor: daha yakın karşılaştırmalı sıkıştırma hızı sayılarına sahip çok daha küçük dosyalar.
Ayrıca, Pingdom ve bazı içerik dağıtım ağları (CDN'ler) gibi bazı test araçlarının henüz Brotli'yi desteklemediğini göz önünde bulundurun. Bu, Brotli'nin nasıl çalıştığına dair başkalarının topladığı verileri çarpıtabilir. Testler yaparsanız "yanlış negatifler" görebilirsiniz: kullandığınız dosya sıkıştırmasını yok sayan daha yüksek sayfa hızı rakamları.
Brotli Sıkıştırmasının Faydaları
Şimdiye kadar Brotli sıkıştırması hakkında alınacak çok fazla bilgi var. Ancak neden GZIP yerine Brotli'yi seçmeniz gerektiği konusunda bilmeniz gerekenleri özetleyebiliriz:
- GZIP'in kullandığı teknolojinin aynısını alır ve modern yöntemlerle geliştirir.
- Brotli'nin sözlük tabanlı ayrıştırması, daha fazla dosyanızı daha derin bir düzeye sıkıştırabileceği anlamına gelir.
- Brotli, GZIP'e kıyasla daha fazla hesaplama gücüne ihtiyaç duysa da, sonuçlar daha küçük dosyalar anlamına gelir.
- Çoğu web sunucusunun kullandığı sıkıştırma seviyelerinde - dördüncü veya beşinci seviye gibi orta seviye bir şey - Brotli, hiç terlemeden GZIP'den daha iyi performans gösterir.
- Brotli'nin, alışık olduğunuz kıyaslama araçlarından bazıları olmasa da, tarayıcılar arasında neredeyse evrensel bir desteğe sahip olduğunu göreceksiniz.
- Brotli'nin kullanımı ücretsizdir ve açık kaynak kodludur. Cloudflare gibi Broti uyumlu bir CDN kullanıyorsanız bu bir avantajdır.
Cloudflare'nin tüm sunucularında Brotli sıkıştırması kullandığını belirtmekte fayda var. Aslında, hız ve dosya teslimi konusunda size daha fazla kazanç sağlamak için Brotli'nin değiştirilmiş ve optimize edilmiş bir sürümünü kullanır.
Kinsta, tüm planlarda Cloudflare entegrasyonu sunduğundan, barındırılan her site varsayılan olarak Brotli'yi kullanır. Bu, Kinsta'nın piyasa lideri ve en iyi barındırma sağlayıcılarından biri olmasının yalnızca bir nedenidir.
Sitenizin Brotli Sıkıştırma Kullanıp Kullanmadığını Kontrol Etme
Brotli sıkıştırması henüz standart olmadığı için (neredeyse orada olmasına rağmen), sitenizin bunu kullanıp kullanmadığını bilmek isteyeceksiniz. Bunu anlamanın birkaç yolu var.
1. Bir Çevrimiçi Araç Kullanın
Sitenizin Brotli sıkıştırması kullanıp kullanmadığını kontrol etmenin en basit yolu çevrimiçi bir araç kullanmaktır. Aralarından seçim yapabileceğiniz birkaç tane olsa da, kurulumunuz hakkında size bir sürü bilgi verecek, kullanımı hızlı ve basit bir şey isteyeceksiniz.
Hız Hediyesi, Brotli sıkıştırmasını kontrol etmek için bizim seçimimizdir.
Sitenizin GZIP, Brotli kullanıp kullanmadığını veya hiç sıkıştırma kullanıp kullanmadığını belirleyecek ve daha sonra ne yapacağınıza karar vermenize yardımcı olacak birkaç ölçüm daha sağlayacaktır. Bu ölçümler önemli bilgiler sunar, çünkü yalnızca sitenizin sunucusunun doğru sıkıştırma "tatını" kullanıp kullanmadığını düşünmek istemezsiniz.
Bir web sitesini oluşturan birçok öğe ve hatta üçüncü taraf kitaplıkları ve bağımlılıkları vardır. Onlara bir CDN kullanarak hizmet vermeyi seçebilirsiniz ve eğer öyleyse, mümkün olan en iyi performans için bunun Brotli sıkıştırmasını da kullanması gerekir.
Bireysel varlıkları test etmek için Gift Of Speed'i kullanırsanız, nasıl sunulduğunu görmek için Sunucu değerine göz atabilirsiniz.
Tüm Kinsta siteleri, Cloudflare destekli Kinsta CDN'sini kullanır. Bu nedenle, her site tüm zincir ve sunucu mimarisi boyunca Brotli sıkıştırmasını da kullanacaktır.
2. Tarayıcınızın Geliştirici Araçlarını Kullanarak Kontrol Edin
Çoğu geliştirici, bir tarayıcının web ile ilgili her türlü araştırma ve sorun gidermede size yardımcı olacak harika araçlar sunduğunu bilir. Yapabileceğiniz hızlı bir kontrol, sitenizin (veya belirli bir varlığın) Brotli sıkıştırmasını kullanıp kullanmadığıdır.
Brave, Edge, Firefox veya Chrome gibi tüm büyük tarayıcılar için Ağ > Tümü ekranına gidebilirsiniz.
İlk başta içerik başlıklarıyla ilgili hiçbir şey görmeyeceksiniz - sol taraftan bir varlık veya istek seçmeniz gerekecek. Listeye bakmaya ve aşağı kaydırmaya devam ederseniz, varsayılan olarak Başlık bilgilerine ayarlanan bir panelin açıldığını göreceksiniz.
Burada, content-encoding: br
satırını görene kadar çıktıyı aşağı kaydırın:
Kısacası: content-encoding: br
görürseniz, bu size Brotli'nin o site için etkin olduğunu söyler.
Siteniz için Brotli Sıkıştırma Nasıl Etkinleştirilir
Bu son birkaç bölümde, siteniz için Brotli sıkıştırmasını etkinleştirmenin birkaç farklı yolunu göstereceğiz. Birincisi, Kinsta kullanmayan çoğu WordPress sitesi için önerdiğimiz yaklaşım olacaktır - ve sonuncusu, ilk yaklaşımı okuyan her site için önerdiğimiz şeydir!
1. Bir WordPress Eklentisi Kullanın
Hemen hemen her WordPress sitesi en az bir eklenti kullanır - genellikle sitenin ihtiyaç duyduğu işlevselliğe bağlı olarak. Önbelleğe alma, eklentiler için bir kullanım durumudur ve etrafta pek çok şey vardır. Ancak, hepsi Brotli sıkıştırmasını etkinleştirmenize izin vermez, bu nedenle akıllıca seçim yapmanız ve tercih ettiğiniz çözümü değiştirmeye hazır olmanız gerekir.
Bir sitede herhangi bir değişiklik yapmadan önce, daha sonra geri yüklemeniz gerekebileceğinden tam bir yedekleme yapmayı unutmayın. Bu yöntem için, doğru ayarı bulmak kolay olduğu için W3 Total Cache kullanacağız.
WordPress içindeki Performans > Tarayıcı Önbelleği sayfasına gitmeniz gerekecek:
Bu ekranda iki ayar gösterilir. Seçmek isteyeceğiniz, Enable HTTP (brotli) Compression :
Ancak, bu her site ve durum için uygun olmayacaktır. Örneğin, Kinsta, sunucusunu hızlı, yüksek performanslı, güvenilir barındırma için optimize eder. Bu nedenle, ihtiyaç duymayacağınız bir dizi eklenti vardır ve bazılarının Kinsta sitelerinde kullanımı bile yasaklanmıştır.
Bu durumlarda, başka bir yaklaşım benimsemek isteyeceksiniz.
2. Sunucuda Brotli'yi Etkinleştirin
Bir sunucu türü seçme söz konusu olduğunda, Nginx vs Apache, eskinin kazandığı (şimdilik) uzun süredir devam eden bir savaştır. Ne olursa olsun, her iki sunucu türü de Brotli sıkıştırmasını etkinleştirebilir ve her biri için farklı yaklaşımlar vardır.
Manuel yaklaşıma bakmadan önce bilmeniz gereken birkaç ön koşul vardır:
- Belirli sunucunuz için yapılandırma dosyalarınıza nasıl erişeceğinizi anlamak isteyeceksiniz.
- Komut satırı bilgisi, özellikle Apache sunucuları söz konusu olduğunda faydalı olacaktır. Herhangi bir komutu çalıştırmak için
sudo
ayrıcalıklarına sahip bir kök kullanıcı olmanız gerekir. - Bir metin düzenleyiciye ihtiyacınız olabilir, ancak bunun gibi hızlı değişiklikler için iyi olmalısınız.
- Bazı durumlarda, sunucunun kendisinde güvenli bir kabuk (SSH) kullanıcısı olarak oturum açma kimlik bilgilerinize ihtiyacınız olacaktır. Bunları barındırma kontrol panelinizde bulabilir veya sormak için desteğe başvurabilirsiniz.
Manuel yaklaşımla ilgili herhangi bir şüpheniz varsa, başka bir seçeneğe bakmanızı veya yardım için ev sahibinizle iletişime geçmenizi öneririz. Ne olursa olsun, Nginx'ten başlayarak sırayla her sunucu için sürece ilişkin kısa bir genel bakış sunacağız.
Nginx
Nginx sunucularında Brotli sıkıştırmasını etkinleştirmek için önce nginx.conf
dosyasını bulmanız gerekir. Birkaç yerden biri olacak:
-
/usr/local/nginx/conf
-
/etc/nginx
-
/usr/local/etc/nginx
Dosyayı açtığınızda, aşağıdakileri aşağıya ekleyin:
brotli on; brotli_static on; brotli_comp_level 9; # You can change this from 1–11. 4–9 offers good performance balance. brotli_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss;
Bu paket Brotli'yi açacak ve statik dosyaları sunmak için kullanacaktır. brotli_comp_level
ayarı, kullanım durumunuza ve ihtiyaçlarınıza göre değiştirebileceğiniz bir ayardır. Daha yüksek sayılar, daha az performanslı bir siteyle daha iyi sıkıştırma dengesi sunar.
Apaçi
Apache, konfigürasyonlar söz konusu olduğunda esnek olduğu için, Brotli sıkıştırmasını fazla uğraşmadan etkinleştirebilirsiniz.
Bunu yapmak için şu adımları izleyin:
- Kök
sudo
kullanıcısı olarak bir Komut İstemi veya Terminal uygulaması kullanarak sunucunuzda oturum açın. - Sıkıştırmayı açmak için
a2enmod brotli
komutunu çalıştırın. - Apache VirtualHost veya sunucu yapılandırmanız içinde, sıkıştırmak istediğiniz doğru dosya türlerini ayarlamak için
AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript
satırını ekleyin.
Apache statik sıkıştırmayı desteklemese de BrotliCompressionQuality LEVEL-NUMBER
satırını kullanarak sunduğunuz Brotli sıkıştırma düzeyini değiştirebilirsiniz. Ancak, “LEVEL-NUMBER” yer tutucusunu 1-11 arasında bir sayı ile değiştirmeniz gerekecektir.
3. Destekleyici Bir Web Sunucusu Kullanın
Siteniz için Brotli sıkıştırmasını etkinleştirmenin en basit yolu, sunucunuzun bunu varsayılan olarak yapmasını sağlamaktır. Kinsta, Cloudflare'nin CDN'si ile entegrasyonu sayesinde Brotli sıkıştırmasını standart olarak sunar.
Kinsta CDN, tüm planlarda Cloudflare altyapısı tarafından desteklenmektedir - bu nedenle her site, etkinleştirmeniz gerekmeden Brotli sıkıştırmasını kullanır.
Seçtiğiniz ana bilgisayarın Brotli sıkıştırması sunup sunmadığını ve bunu hangi düzeyde yapılandırmanız gerektiğini kontrol etmek isteyeceksiniz. En performanslı, kararlı ve güvenli siteyi çalıştırmak için iyi barındırma şarttır.
Özet
Veri sıkıştırma, modern web'i geliştirmenin ve kullanmanın gerekli bir bileşenidir. Bir web sitesini bir araya getirmek için kullanacağınız zengin ve karmaşık dosya türleri nedeniyle dosya boyutları hızla artabilir. Hepsinin bir çeşit sıkıştırmaya ihtiyacı var.
Şimdiye kadar tipik yaklaşım GZIP'ti, ancak blokta yeni bir çocuk var.
Brotli sıkıştırma, teknolojisini GZIP ile aynı temele dayandırır, ancak bazı performans artırıcı faydalar içerir. Tartıştığımız gibi, bir sıkıştırma talebini daha hızlı işlemek için bağlam eşlemesini ve dinamik popülasyon kullanan bir sözlüğü kullanır. Bu, GZIP'in sunabileceğinden çok daha büyüktür ve mobil kullanıcıların da sıkıştırmadan faydalanmasını sağlar.
İyi haber şu ki, benzersiz Cloudflare entegrasyonumuz nedeniyle her Kinsta sitesi Brotli sıkıştırmasından yararlanabilir. Bu, Kinsta tarafından barındırılan sitenizin GZIP kullanan rakiplerinden daha hızlı olduğu ve daha küçük cihazlarda olanlar için daha hızlı yüklendiği anlamına gelir.
Brotli sıkıştırması hakkında sorularınız mı var? Aşağıdaki yorumlar bölümünde sormaktan çekinmeyin!