İçeriğin rss beslemesi kullanımda değil 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.

adres Proclus profilini göster
Veli Süngütay 08.09.2007 21:10:11
En iyi cevap mı ?
Faydalı cevap

Flash 9 Player’i hedefleyen bir projede gif,jpg,png,svg dosyalarini SWF icine embed edebiliriz:

package {
    public class EmbedTest extends Sprite {

                [Embed(source = '/home/proclus/assets/image.png')]
        private static var SomeImage:Class;

                public function EmbedTest(){
                        var img:Bitmap = SomeImage() as Bitmap;
                        addChild(img);
                }
   }

}

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.

adres maliye07 profilini göster
maliye07 09.09.2007 00:09:58
En iyi cevap mı ?

Ö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ü.

adres Proclus profilini göster
Veli Süngütay 09.09.2007 22:34:30
En iyi cevap mı ?
Faydalı cevap

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.

adres maliye07 profilini göster
maliye07 10.09.2007 16:23:45
En iyi cevap mı ?

Ö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?

adres Proclus profilini göster
Veli Süngütay 11.09.2007 01:31:19
En iyi cevap mı ?
Faydalı cevap

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.

adres maliye07 profilini göster
maliye07 11.09.2007 21:37:28
En iyi cevap mı ?

Ç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ı?

adres Proclus profilini göster
Veli Süngütay 12.09.2007 01:16:30
En iyi cevap 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.

adres maliye07 profilini göster
maliye07 12.09.2007 16:43:06
En iyi cevap mı ?

Tamamdır hocam.Teşekkürler…

aç-kapa Bu Yazıyı Tutanlar

bu yazıyı tutan kimse yok.

yeni üyelik | şifremi unuttum

aç-kapa 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

aç-kapa Toplantı Kahraman ve need4code.com Projesi Connect Toplantısı

Kahraman ve need4code.com Projesi Connect Toplantısı

Selam arkadaslar, Programlama ile uğraşanların hayatlarını kolaylaştıracak desktop ve web tabanlı ortak iki proje ile ilgili 3. toplantımızı 16Aralı...
Kategori: Toplantı

aç-kapa Yarışma 7Dx Demoscene Party

7Dx Demoscene Party

2002 yılından beri amatör bilgisayar kültürü ile ilgilenen insanları bir araya getirmeyi hedefleyen 7DX parti serisinin bu seneki ayağı olan 7D8 Demo ...
Kategori: Yarışma

aç-kapa Eğitim Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Etkin Katılım Çağrısı Türkiye’de Internet ile ilgili grupları biraraya getirerek İnternet’i tum boyutlarıyla tanıtmak, gelistirmek, tartı...
Kategori: Eğitim

aç-kapa Konferans Bilgi Güvenliği ve Kriptoloji Konferansı

Bilgi Güvenliği ve Kriptoloji Konferansı

Önemli Tarihler: Etkinlik Tarihi : 24-26 Aralık 2008 Son Bildiri Gönderme Tarihi : 20 Ekim 2008 Bildiri Kabul Tarihi Bildirimi :...
Kategori: Konferans

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 560 (1 kayıtlı, 559 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

coldfusion mysql ubuntu
 
sponsor adobe istanbul