Soru - Cevap Bölümü
/ Kategori: Programlama
08/09/2007 - 19:30:14 cevap (8) Okunma : 4589 Bu yazıyı 0 kişi tuttu.
Dinamik olarak embeded image nasıl yapılır?
Merhaba.
Ürün listeleme sayfasında ürünlerin resimleri xml den geliyor.
Bunları embed haline getirmek performans artışı sağlar mı?Aslında ilk önce bunları embed yapabilirmiyiz?
Resimler local klasör içiden gelecek. Sadece adres xml içinde.
Cevaplar
( Faydalı Cevapları Göster )
Örnek güzel,ama sormak istediğim tam olarak bu değildi,yada ben anlayamadım.
Elimde 900 civarında ürünü olan bir işletme var,ve bu ürünlerin resimleri kategorize edilmiş bir biçimde gösterilecek.Ben bunun xml dosyasını hazırladım.
Her ürünün resim adreslerini yazdım.Ama projeyi localhostta çalıştırdığım zaman bile resimlerin çıkması çok uzun bir süre alıyor.
Bu resimleri ’@Embed’ olarak gösteriminin çok daha hızlı olacağını duydum,ama birtürlü bu tagı kullanarak resimleri gösteremedim.
Acaba bu tagı urunler.xml içinde resmin başında mı kullanmam gerekiyor?
Çünkü tagın içeriği sürekli değişecek.
(Örneğin:myImage.source=@Embed({product.resim})).
işin içinden çıkamadım bir türlü.
900 tane resim dosyan var, bunlarin ortalama 50 KB oldugunu varsayalim, Eger Embed yontemi ile dosyalari gostermeye kalkisirsak elimize 900×50 = 45000 KB = 45MB lik bir SWF cikacaktir. Boyle bir dosyanin derlenmesi de onlarca dakika surebilir. Her resim desigiminde de derleme bir daha yapilacaktir.
Yani… Yanlis yoldasin.
Su yaklasim dogru olacaktir:
http://www.gui-rd.org/tests/flex/test.mxml.html
BU ornegin ozellikleri:
1. basit bir galeri icin kullanilabilir.
2. <mx:Image> ‘in dinamik olarak nasil data ile beslenebilecegi gosteriyor.
3. XML HTTPService tag’i ile XML’i yukluyoruz.
4. Image lari dizmek icin Tilelist’i componentini kullaniyoruz
5. Tilelist component’i dataProvider’indan XML’i aliyor ve alt bilesenlerine bu XML’i ‘data’ objesi olarak gonderiyor.
Bu yaklasimda ben performans sorunlari almiyorum.
Örnek için teşekkürler.Ben de kodu aynen örnekteki gibi optimize ettim.
Şu anda pek fazla zorlanma yok.Amacıma ulaştım yani.Benim bilmediğim bir nokta da ‘cache’ terimi.Bu terimin performansla ilgisi nedir?
cache rastgele isimlendirdigim bir URLVariable. Ornek bir web adresi uzerinden aciklayalim: www.birsite.com/products.xml
Browser bu dosyayi ilk gordugunde hemen cachesine atar, bir sonraki isteklerde, browser ayni dosyayi web’den indirmeyebilir, direkt olarak cachesinden alabilir. Yani products.xml dosyasinda yapilan degisiklikler programa ulastirilamaz.
Bu sorunu asmanin en basit yolu, XML dosyasinin sonuna soyle bir sey yapmak:
www.birsite.com/products.xml?fdejijfdjindns
ya da daha mantiklisi
www.birsite.com/products.xml?cacheVar=(new Date()).getTime()
gibi bir sey eklemek.
Bu sayede browser her seferinde farkli bir dosyayla karsilastigini zannedip bu dosyayi indirecektir. Ayni teknik resim/medya dosyalari icinde kullanilabilir.
Çok sağol hocam sanırım anladım.
Yani bizim burada yaptığımız browsere takla attırmak:)
Peki her defasında browserin ayrı ayrı bunu kontrol edip yeniden cachee atması sayfanın açılış süresi bazında sıkıntı yaratmaz mı?
buyuk dosyalarda yaratir tabi.
Gereksinime gore secim yapmak gerek. Arti cacheden al ya da alma diye bir sistem yaratilabilir server tarafinda.
Belki HTTP bazi mekanizmalar sunabilir tam hatirlamiyorum bakmak lazim.
Etkinlikler
Yarışma
Fikir10000 Dijital Pazarlama Fikir Yarışması
Fikir10000 Dijital Pazarlama Fikir Yarışması
ADTECH tarafından düzenlenen Fikir10000 yarışmasına; dijital pazarlama ile ilgili size ait olan fikrinizle katılabilir ve 10.000 YTL’lik birinci...
Kategori:
Yarışma
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 560 (1 kayıtlı, 559 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız









Faydalı cevap
Flash 9 Player’i hedefleyen bir projede gif,jpg,png,svg dosyalarini SWF icine embed edebiliriz:
Cok basitce boyle bir yapi. SWF nin icine grafik dosyalarinin embed edilmesi icin iyi bir neden bulunmasi gerek. Projelerimiz ne kadar dinamik olursa, o kadar esnek olur ki bu hem proje icin hem de programci icin iyi bir sey.
Performans konusunda…
XML depolamak, ve XML’i parse etmek RAM ve CPU harcayacaktir ama bir sureligine. Islem bittikten sonra XML yok edilebilir.