Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Makaleler » ASP ile Etiket Bulutu Tasarımı


Makaleler Tasarım, teknoloji, web, kültür ve sanat ana başlıkları olmak üzere forumda yer verilen bölümler ilgili her türlü makaleye bu bölümde yer verebilirsiniz. Sitenizde yayınladığınız ve burada bizlerle yeniden paylaşmak isteyeceğiniz makaleleri de gönderebilirsiniz.

Comment
 
LinkBack Article Tools
Old 02.09.2007  
cmg.web
 
Üyelik Tarihi: 04.06.2006
Yer: Ankara
Mesaj: 4
ASP ile Etiket Bulutu Tasarımı

Son zamanlarda sosyal paylaşım sitelerinin çoğalması ile bu içeriklerin sınıflandırılması, kategorilendirilmesi ve kullanıcıya sunulması büyük önem kazandı. Bu siteler web 2.0’ın çıkmasıyla kullanıcılara değişik seçenekler sunmaya başladı. Bu sitelerin içerisindeki içeriklerin belirli anahtar kelimelerle –etiketlerle- tanımlanarak, kullanıcıların bu kelimelere göre aradıklarını bulması daha kolay bir hale geldi.

Etiket bulutu, site içeriğindeki bu anahtar kelimelerin sayısına göre daha belirgin veya daha büyük yazıtipi ile gösterilmektedir. Kullanıcı da bu büyük yazıtipi ile yazılmış bu etiketlere daha çok yoğunlaşmaktadır.

site sahiplerinin Etiket Bulutunu kullanıcılara sunmasındaki en büyük sebep, kullanıcıların kendi yazılarını, fotoğraflarını dilediklerince kategorize etmeleri ve diğer kullanıcıların bu kategorileri kullanarak diğer kullanıcılara ulaşmalarıdır.

Örnek:
Örneğin Sivas Kangal Köpeği hakkında bir yazı yazıyorsunuz. Bu yazınıza kesinlikle, "Sivas", "Kangal" ve "Sivas Kangalı" etiketlerini yapıştırmalısınız ki yazınızın ne hakkında olduğunu başka kullanıcılar rahatlıkla anlayabilsin.

Çeşitleri:
İki çeşit Etiket Bulutu bulunmaktadır. Aralarındaki en büyük fark görünümlerinden ziyade, anlamlarıdır.
  1. Birinci çeşidinde etiketlerin büyüklükleri bir nesneye ne kadar çok etiket uygulandığı ile orantılıdır. Bu sayede her zaman popüler olan nesneler karşınıza çıkmaktadır.
  2. Daha popüler olan ikinci çeşidinde ise, etiketlerin boyları, o etiketin uygulandığı nesne sayısıyla orantılıdır. Bu gösterim ile en fazla kullanılmış olan etiket en büyük fonta sahiptir.

http://upload.wikimedia.org/wikipedi...iketBulutu.JPG

ASP ile Etiket Bulutu Tasarımı


Veritabanı:

Aşağıdaki gibi bir tablo oluşturuyoruz.


Kod:

Bu kaydedeceğimiz dosyayı istediğiniz yere include ederek orada Etiket Bulutumuzu gösterebiliriz.

<!--#include file="tagcloud.ASP"-->

Tagcloud.ASP

Kod:
<%
' #################################
' #   KODLAMA: Cem Gündüzoğlu     #
' #   Tüm Hakları Saklıdır. 2007  #
' #   cmg.web@gmail.com           #
' #################################

'Bağlantımızı açıyoruz
Set Conn = server.CreateObject("ADODB.Connection")
Conn.Open="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & db_user & ";User Id=admin;Password=;"

'Recordseti tanımlıyoruz
Set tagRs = server.CreateObject("ADODB.Recordset")
'ETIKETLER tablosu içerisinden aynı isimde olan Etiket leri tek bir kayıt olarak listeletiyoruz(DISTINCT)
SQL = "SELECT DISTINCT Etiket FROM ETIKETLER ORDER BY Etiket ASC"
tagRs.Open SQL, Conn, 3, 3

'Toplam Etiket sayısını bulmak için ayrı bir Recordset tanımlıyoruz
Set toplamtagRs = server.CreateObject("ADODB.Recordset")
SQL = "SELECT Etiket FROM ETIKETLER"
toplamtagRs.Open SQL, Conn, 3, 3
toplamhit=toplamtagRs.Recordcount

do while not tagRs.EOF
	if tagRs.EOF then exit do
	Set tag2Rs = server.CreateObject("ADODB.Recordset")
	'ETIKETLER tablosu içerisideki her bir etiketin kaç tane olduğunu saydırıyoruz ve TagHit değişkeninde elde ediyoruz
	SQL = "SELECT Count(Etiket) as TagHit FROM ETIKETLER WHERE Etiket='" & tagRs("Etiket") & "'"
	tag2Rs.Open SQL, Conn, 3, 3
	hit=tag2Rs("TagHit")
	'hit değerine göre font büyüklüğünü vs. ayarlıyoruz
	fsize=cint(100*hit/toplamhit)+3
	%>
	<nobr><a href="fotograf/arama.ASP?etiket=<%=server.URLEncode(tagRs("Etiket"))%>"><span title="(<%=hit & "/" & toplamhit & " - " & fsize%>)" style="font-family:Tahoma; font-size:<%=fsize%>"><%=tagRs("Etiket")%></span></a></nobr>
	<%
	tagRs.MoveNext
loop
%>
Kaynakça:
Wikipedia, http://tr.wikipedia.org/wiki/Etiket_Bulutu
Resim, http://tr.wikipedia.org/wiki/Resim:EtiketBulutu.JPG
Ekli Dosyalar
Click image for larger version

Name:	etiket.png
Views:	115
Size:	18.7 KB
ID:	3730   Click image for larger version

Name:	clip_image002.jpg
Views:	970
Size:	18.1 KB
ID:	3731  

Mesaj cmg.web tarafından 02.09.2007 (15:22) yeniden düzenlendi..
cmg.web şu an çevrimdışı   Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 02.09.2007  
turuncuu
 
Üyelik Tarihi: 23.08.2007
Yer: İstanbul
Yaş: 20
Mesaj: 49
Re: ASP ile Etiket Bulutu Tasarımı

Etiket bulutu tasarımıyla ilgili güzel bir yazı. Teşekkürler...

Bu konunun altına etiket bulutu nasıl yapılırı da yazarsak çok daha güzel olur bence. Başka bir konuya yazmıştım ama makaleler arasında bulunursa daha çok kişi faydalanabilir.

Aspogren.net sitesinde bu konu açıklanmış ama site bayadır kapalı.

Makele burda. (Baya zor buldum bu adresi...)

Örnek çalışma da burda.

Benimde ASP blogum var ama etiket sistemini ekleyemedim. Zamanım olmadı ve çok ta karışık geldi... Ama bir ara yapmayı düşünüyorum.

Arkadaşlar Google cache silinirse diye, makalenin orjinalini de buraya yazdım. Kolay gelsin...

ASP ile etiket sistemi yapımı (Kaynak:aspogren.net)

Öncelikle sabırla yazıyı takip etmenizi istiyorum. Çok uzun bir yazı olacağa benziyor. Konu ağır ve bir o kadar da önemli

Bugünlerde artık sitelerde kategorilerin kalktığını, yerini etiket sisteminin aldığını görüyoruz. Peki bu etiket sistemi nedir? Mantığı nedir ve neden kullanılır? gibi sorular çok sorulmuştur. Cevaplayalım. Etiket sistemi kategori sisteminin önüne geçen bir özgürlüktür. Sitemizde yer alan kategoriyi uzatma şansımız yoktur. Ama etiketlerde dilediğimiz cümleleri verebiliriz. Önemi ise, bir çok yazıyı birbirine ilişkilendirerek çağırmasıdır. Ve arama motorları bunları sanki anahtar kelime gibi görebiliyor.

Peki etiket sistemini nasıl hazırlayacağız. Öncelikle işin mantığını, temelini anlamak gerekir. web 2.0'ın inanılmaz gelişmeleri vardır. Bunların başında Etiket sistemi, Starrating vb.. Ama şu anda bizi etiket vurgusu ilgilendirmektedir. Olay çok basit. İyi analiz edilmeli, veritabanı iyi oluşturulmalıdır.

Bu yazımızda algoritma geliştirdiğimiz için herhangi bir oluşum için kod temin etmeyeceğim. Çünkü burada bir döngü, split ve SQL komutları gerekmektedir. İşin mantığını anlayacağım ve kısa kısa kodlar ile bitireceğim yazımı.

Etiket sistemi için veritabanı tasarımı
Öncelikle kategori olayını gözünüzün önüne getirin. 2 tane tablomuz olurdu, birincisi kategorileri tutar, diğerleri ise sitemizin içeriği olan yazıları. Etiket sisteminde de değişen birşey yoktur. Hemen veritabanı modelimizi verelim.

2 adet tablomuz olacak. Öncelikle içerik depomuzu yaratalım;
Tablo Adı : icerik
Alanlar : id (otomatik sayı), baslik (metin / 50), aciklama(not)

Ve etiket depomuzuda yaratalım;
Tablo Adı : etiket
Alanlar : id (otomatik sayı), yazi (sayi), etiket (metin / 100)


Peki veritabanımızı oluşturduk, ya gerisi?

Şimdi yapılacak bir form gerekli (kod vermeyeceğim dedim ama olmayacak gibi). Hemen bir form yaratıyoruz. form alanında 3 eleman gerekli.
1. Başlık
2. Açıklama
3. Etiketler

form.ASP için aşağıdaki kodları kullanınız;

Kod:
<form action="isle.ASP" method="post">
     <p>Başlık : <br /><input type="text" name="baslik" /></p>
     <p>Açıklama : <br /><textarea name="aciklama"></textarea></p>
     <p>Etiketler : <br /><input type="text" name="etiket" /></p>
     <p><strong>Not : </strong>Etiketleri virgül ile ayırınız.</p>
     <input type="submit" value="Kaydet" />
</form>
Formumuzu tanıtalım. Başlık ve açıklama alanları bilindiği gibi içeriğimizin başlık ve metin alanı. Etiket kısmı bizi ilgilendiriyor. Şimdi etiketleri virgül ile ayırarak veritabanımızda depolayacağız. Örnek giriş kullanımı şöyle olmalıdır.

Örnek : ASP,MySQL,SQL,CSS,XHML,Active server Pages vb...

Buraya kadar olan işlemler basitti. Şimdi zorlu aşamaya geldik. Bunları işlemek ve veritabanına depolamak. Aslında şuanda ASP hakkında bir çok konuyu işlemiş olacağız.
1. Veritabanına kayıt,
2. Veritabanında sorgulama
3. İçerik listeleme
4. Etiket sistemi vb...

isle.ASP için aşağıdaki kodları kullanınız;

Kod:
<%
     baslik = trim(request.form("baslik"))
     aciklama = trim(request.form("aciklama"))
     etiket = trim(request.form("etiket"))
     If Len(baslik) < 5 or Len(aciklama) < 10 then
          response.write "Başlık ve açıklama alanlarını doldurun."
     Else
          Set ODBC = server.CreateObject("ADODB.Connection") 
          ODBC.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("mdb.mdb")
               Set kayit = ODBC.Execute("Insert into icerik (baslik,aciklama) values ('"&baslik&"','"&aciklama&"')")
               set kayit = nothing
               Set kontrol = ODBC.Execute("Select id from icerik where baslik = '"&baslik&"'")
                    If not kontrol.eof then
                         If isnull(etiket) = false then
                              etiketler = split(etiket, ",")
                              For i = 0 to Ubound(etiketler)
                                   Set etiketkayit = ODBC.Execute("Insert into etiket (yazi,etiket) values ('"&kontrol("id")&"','"&trim(etiketler(i))&"')")
                                   Set etiketkayit = nothing
                              next
                         End If
                    End If
               kontrol.close : set kontrol = nothing
          response.write "Tüm bilgiler kaydedildi"
     End If
%>
Şimdi kodlarımızı parça parça ele alalım. Request.form kısmını açıklamak istemiyorum, artık bu kısmı öğrenmiş olmalısınız. Kodlarımız arasında yer alan trim fonsiyonu kelimelerin başında ve sonunda yer alan gereksiz boşlukları kaldırır.

Öncelikle verimizi kaydettik, sonra bir sorgulama gerçekleştirdik, kayıt olan id'yi tespit etmek için. Şimdi diyeceksiniz ki aynı veri girilirse ne olacak. Temeli anlattığım için kodları uzatmak istemedim. Verinizi kaydetmeden önce bir sorgu açıp, başlık ile ilişki kurup aynı isimde var mı yok mu diye ilişkilendirmelisiniz. Gelecek konularımızda bu konu üzeirinde uzun uzun duracağız. Kodları büyütüp sizi yormak istemedim.

Son aşama olarak, etiket değişkeninin boş olup olmadığını sınadık (isnull). Eğer boş değilse virgül (,) ile split uyguladık. Ve split uyguladığımızda şöyle bir değer dönecekti;

Örneğin etiketler hanesine şu değerler verilsin; ASP, MySQL, CSS, XHTML
Split ile süzüldüğünde dönecek olan değerleri değişken adımız olan etiketler ile örneklendiriyorum.
etiketler(0) = ASP
etiketler(1) = MySQL
etiketler(2) = CSS
etiketler(3) = XHTML

Daha önce demiştik ya, programlamada ilk değer her zaman sıfırdır diye, bu düzden de for döngümüzü 0 (sıfır)'dan başlattık. Döngümüzde yer alan Ubound(etiketler) söz dizimi, (daha önce bu konuyuda işlemiştik) UBound bir dizide yer alan toplam veri değerini veriyordu. For döngümüzü 0'dan etiketler dizisinin aldığı son değere kadar dönmesini istedik. Ve her değerimizide veritabanımıza yazdırdık.

Şimdi yukarıda etiketler değişkenin alabileceği 4 değeri vermiştim. Kodlarımız arasında yer alan trim(etiketler(i)) ifadesi ise şu anlamdadır. Döngü her döngüğünde i değişkenimiz farklı bir değer alacaktı. 0 - 1 - 2 ... gibi. yani her döngü dönüşünde etiketler değişkeninin o değerdeki karşılığını istedik. Örneğimize göre örneklendirmek gerekirse;
trim(etiketler(2)) değeri CSS değerini verecektir.

Uygulamamızı bitirmiş oluyoruz. Sizle birlikte bende deneyerek tamamladım. Örneğimide çalıştırdım. Ve sizlerin konuyu daha net anlayabilmesi için demo olarak download'a sunacağım.

Ayrıca konuyu uzatmamak için gereken diğer yazılarımı örnek içerisinde tamamladım. Etiketleri yazılar ile nasıl ilişikilendireceğinizi (bilgial.ASP) ve seçilen etikete ait yazıları nasıl bulacağınızı (bilgial.ASP) örnek içinde kodladım. Kodları iyice incelerseniz konuya hakim olacaksınızdır. Elbette ilk denemelerinizde yanılabilirsiniz ama üzerine giderseniz bu konuyu mutlaka öğreneceksinizdir.

Etiket sistemi hakkında hazırlamış olduğum örneği buradan indirebilirsiniz.

Kolay gelsin

Mesaj turuncuu tarafından 02.09.2007 (10:58) yeniden düzenlendi..
turuncuu şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 03.09.2007  
scorLex
 
scorLex's Avatar
 
Üyelik Tarihi: 30.07.2007
Yer: Ankara
Yaş: 19
Mesaj: 13
Re: ASP ile Etiket Bulutu Tasarımı

Etiket bulutu yapmak isteyenler için güzel dökümanlar.Ben kendi bloğuma entegre ettim..
scorLex şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 10.03.2008  
1scripter
 
1scripter's Avatar
 
Üyelik Tarihi: 09.03.2008
Yer: Sakarya
Yaş: 22
Mesaj: 18
Re: ASP ile Etiket Bulutu Tasarımı

Bir türlü sevemedim şu zımbırtıyı.
1scripter şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 10.03.2008  
BYK
 
BYK's Avatar
 
Üyelik Tarihi: 08.04.2003
Yer: Ankara
Yaş: 19
Mesaj: 649
Görsel: 8
Re: ASP ile Etiket Bulutu Tasarımı

Etiket bulutu güzel bir olay, yalnız bu yazı ilk yayınlandığı zaman gözümden mi kaçmış yoksa ASP diye hiç bakmamış mıyım bilmiyorum ama orada verilen veritabanı yapısını hiç doğru bulmuyorum.

Etiketler ve etiket-fotograf-baglantilari şeklinde iki ayrı tablo olmaması, aynı etiketin defalarca veritabanına girilmesini engelleyeceği gibi bir etiketin kaç fotoğrafa bağlantığını da daha hızlı ve etkili bir şekilde bulmanızı sağlayacaktır.
__________________
Hayata gülümse!

Fotoğraf Sergim - www.fototonik.com/madbyk@gmail.com/Denemeler
BYK şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 24.03.2008  
1scripter
 
1scripter's Avatar
 
Üyelik Tarihi: 09.03.2008
Yer: Sakarya
Yaş: 22
Mesaj: 18
Re: ASP ile Etiket Bulutu Tasarımı

Şimdi arkadaşlar, herşey güzel de ben işin teorik kısmını tam anlamadım.Teoriden ziyade işin usulünü tam bilmiyorum. Yani bu tag olaylarında iki ayrı makalemde aynı etiket kullanılabilir mi yoksa kullnılamaz mı? (Usulen) Eğer kullanabilirsek tag arşiv gibi bir bölümde her etiketi (aynı etiket ama) teker teker mi çekmeliyiz yoksa bir tanesini çekip onun hit deperini fiğer db'deki aynı etiketin hit değerleri olarak mı ele alacağız? Biraz karıştı şöyle söyleyeyim.

Aynı etiketin farklı makalelerde tekrar tekrar db'e eklendiğini varsayarak soruyorum.

Diyelimki etiket1 ve etiket1 adında 2 defa eklediğim bir kelime var(Bunlardan birisi A makalesi için eklenmiş diğeri B makalesinde eklenmiş.)

Şimdi ben tag arşivinde

Etiket1(20),Etiket1(15) şeklinde mi göstereceğim yoksa Etiket1(35) şeklinde mi?
(Hit değerlerini başka şekilde kullanıcam tabiki, yukarıdaki gibi sayfaya basmıycam)

Tabii yine burda bi sorun daha var. diyelim ki Etiket1'e tıklandı ve aradı. Bu şimdi tag.ASP?tag=etiket1'de 10 id numarsına sahip Etiketi'in mi hit sayısını 1 artıracak yoksa id numarsı 11 olan Etiketin hitini mi 1 artıracak.

Son bir soru daha, diyelimki yukarıda olduğu gibi etiket1 adında bir kelimeyi aratırıyoruz. Yani tag.ASP'ye yolladım. Ben şimdi Db deki makalelerde yazılarda her neyse içinde etiket1 geçen yazılarımı arattırıp listeleyeceğim (bu durumda normal arama ile bir farkı olmuyor) yoksa makalelerde etiket olarak etiket1 verilmiş yazılarımı arattırıp listeleteceğim .

Her ne kadar hoşuma gitmesede mecbur sisteme ayak uydurmam lazım. Ama yukarıdaki sorularımdan da anlaşılacağı üzere bu sistemi tam olarak bilmiyorum. Birisi bana tarif ederse kod kısmı sorun değil zaten.


Şimdiden teşekkürler.
1scripter şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 24.03.2008  
BYK
 
BYK's Avatar
 
Üyelik Tarihi: 08.04.2003
Yer: Ankara
Yaş: 19
Mesaj: 649
Görsel: 8
Re: ASP ile Etiket Bulutu Tasarımı

Kullanımla ilgili sorularınızı es geçip işin temel kısmına değinmek istiyorum. Mantıklı bir veritabanı tasarımında "etiketler" adında bir tablo olur. Bu tablonun içerisinde de "id_etiket", "deger_etiket" şeklinde iki alan olur. Etikete özel başka bilgiler daha sonra buraya eklenebilir(popülerlik değil ama mesela, ona geleceğiz ).

Daha sonra "makale_etiket_baglantilari" adında ve "id_baglanti", "id_makale", "id_etiket" alanlarına sahip bir ara bağlantı tablomuz olmalı. Bu tabloyla etiketler ve makaleler arasında n'e n bağlantı kurabiliriz. Yani bir makaleye n tane etiket ve bir etikete de n tane makale bağlanabilir.

Bu durumda bir makaleye ait tüm etiketler için etiketler tablosuyla bağlantı tablosunu etiket id'leri üzerinden kesiştirip id_makale alanının istediğimiz makale id'si olmasını kontrol ederiz.

Bir etiketin kaç makaleye eklendiğini bulmak içinse id_etiket alanına istediğimiz ediket id'sini verip dönen makale id'lerini saydırırz (COUNT(id_makale)).

Kullanım olarak da etiket bağlama kısmında olacak bir otomatik tamamlama var olan etiketlerin hızlıca kullanılmasını sağlarken yazım hatalarının da önüne geçecektir. Bu listeden etiketleri ayıklayıp makaleye bağlayan sayfa önce eline geçen tüm etiketlerin varlığını kontrol edip, olmayanları oluşturup bunların id'lerini topladıktan sonra bağlantı tablosuna sırayala "eklenen makale id'si" - "sıradaki etiketin id'si" ikililerini ekler.
__________________
Hayata gülümse!

Fotoğraf Sergim - www.fototonik.com/madbyk@gmail.com/Denemeler

Mesaj BYK tarafından 01.07.2008 (09:53) yeniden düzenlendi.. Açıklama: Yazım hataları
BYK şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 30.06.2008  
enig
 
enig's Avatar
 
Üyelik Tarihi: 13.09.2004
Yer: Denizli
Yaş: 27
Mesaj: 13
Re: ASP ile Etiket Bulutu Tasarımı

BYK'ya katılıyorum.
http://www.bildirgec.org/yazi/etiketleme-mimarileri adresindeki "Etiketleme mimarileri" konulu yazıda da kapsamlı olarak değerlendirilmiş.

Makalede etiketleme veri tabanı performansı gibi ölçümlerede ulaşabileceğiniz köPage Rankingüler bulunmakta.
enig şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 01.07.2008  
soul
 
soul's Avatar
 
Üyelik Tarihi: 13.07.2000
Yer: LND
Mesaj: 4,275
Re: ASP ile Etiket Bulutu Tasarımı

Her ne kadar dedigin yapi tahmin edilecek ve olmasi gereken db yapisi ise de projeden projeye konu degisebilir. Mesela daha performansli bir yapi olusturmak icin bu sekilde bir hit kolonu tutulup triggerlar ile guncellenebilir, ya da belli periyodlarda tekrar olusturulabilir.

Her ne kadar bunun icin en iyi tasarim bu olsa da performans ve baska nedenlerden dolayi bu tasarim degisebilir, dolayisiyla bu konuda o kadar kati olmamak gerekir. Ilgini cekerse bu konu pragmatic programmer kitabinda detayli sekilde isleniyor, yani mukemmel tasarimdan vazgecip, gerekince sorunu en verimli sekilde cozecek istisnalar yapmak. Hatta bu veritabani ornegi aynen geciyor.

Bu konuda bende zamaninda bir blog yazmistim ( http://ferruh.mavituna.com/tag-deste...-yapilari-oku/ ) , tag + trove kategoriden bahsediyor, nitekim bunun bir implemantasyonunu daha sonradan yaptim gayet de hos oldu
__________________
FERRUH.MAVİTUNA - İnanmıyorum, yeni site!
soul şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 01.07.2008  
enig
 
enig's Avatar
 
Üyelik Tarihi: 13.09.2004
Yer: Denizli
Yaş: 27
Mesaj: 13
Re: ASP ile Etiket Bulutu Tasarımı

Teoride "Mükemmel" öngörülen şartlar altındaki en verimli sistem olarak kabul etsekte gerçekte daha iyi sonuç üretecek yan sistemler gerekebilmekte.

Kategori ve etiketleme konusunda örnek aldığım yapılardan biri DMOZ dizini. Biraz dikkatli bakıldığında @ ifadesi ile ana kategori dizini altında olan dalların etiketlenerek bir birine köPage Rankingülendiği fark edilebiliniyor. Yani en azından benim fikrim bu.

Son zamanlarda ana dizin kullanmadan sadece etiket kullanarak dizin ağacı mimarisi üzerine kafa yormuştum. Mimari içindeki bir etiket/dizin tekrar etmeden depolanmakta. Burada karşıma çıkan sorun ise Dizin olarak tanımladığınız bir etiketin dolaylı bağlar ile yine kendisini etiketleme güzelliği ile ortaya çıkan paradoks olmakta.

Düşündüğüm bu mimaride dizin ve etiketler bir tabloda bulunmakta; bir etiket == bir dizin.
#etiketler
eId:otomatik sayı
eEtiketAdi:karakter(ler)

mimari içindeki diğer tüm nesneler ana dizin içinde kendini yukarıdaki etiket tablosu ile tanımlamakta.
örneğin bir nesne veri tabanında şu şekilde tutulacak;
#nesne
nId:otomatik sayı
nNesneBilgisi: ...
nNesneEtiketleri:IStringList:array([etiketler.eId], ...)

nesne üzerindeki etiket tanımlarına bu şekilde sorgular ile ulaşmak istendiğinde biraz sıkıntılı olmakta. çünkü nNesneEtiketleri alanı IStringList biçiminde. array türdeki bir kalıpla tek alana depolanmakta.

sorgular ile barışık bir mimari için nNesneEtiketleri bağlantıları ayrı bir tablo olarak tasarlanması gerekmekte
#nesneBaglantilari
ebId:otomatik sayı
ebNesneId:sayı [nesne.nId]
ebEtiketId:sayı [etiketler.eId]

bu safhada da mimari içinde birden çok nesne veri tabanı ihtiyacı çıktığında nesneBaglantilari tablosunda Ferruh'un makalesinde bahsettiği "rezillik" çıkmakta.

kitaplardan, menülerden, dizinlerden hattay hayatımızdan alışa geldiğimiz o hiyararşi bu durumda mimarinin içinde anlamını yitirmekte. bunun alışa geldiğimiz hayatımızda çıkardığı karmaşa bir yana dursun ilk başta bahsettiğim dolaylı bağlar ile oluşan paradoks bir yana.

quantum teorileri (qbit) gibi mimari olarak alışa gelmediğimiz bir gerçeklik tanımı doğmakta yani; bir nesne bir anda her yerde olabilir.
enig şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Comment

Etiketler
asp , etiket bulutu



 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

UslanmaM baktabul.com TEKplatform TEKplatform

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css dijital div domain dosya eleman