Teşvik için teşekkür ederim.
iki gündür kategorize mekanizmasıyla cebelleşip duruyorum. Takıntım şu ast ve üst ilişkili hiyerarşik yapılarla ilgiliydi. Neyseki matematiği ve algoritması benden kuvvetli çok hayırsever var. Konunun delphi boyutunu hazır bir bileşenle çözdüm. Üstelik kaynakta elimde olduğu için müdahale edebilirim.
@kafkale önerilerin için teşekkürler. Biraz şekillendirdikten sonra eğer ekip yapabilirsek VT. konusunu ve önerilerini değerlendireceğim. Programın amacı olsun demişsin, öncelikle kod örneklerini saklayacak bir yapı üzerinde çalışacağım. Ancak dediğim gibi esnek bir yapı ile dinamik bir kategori sistemiyle donatmak istiyorum.
Başlangıç için veri tabanı olarak MySQL'i seçtim ve kategori sistemi içinde aşağıdaki geçici yapıyı oluşturdum.
PHP Kodu:
CREATE TABLE kategoriler (
id bigint(20) unsigned NOT NULL auto_increment,
ust_id bigint(20) unsigned default '0',
kategori varchar(50) default NULL,
aciklama varchar(100) default NULL,
PRIMARY KEY (id),
UNIQUE KEY id (id),
KEY id_2 (id),
KEY ana_id_index (ust_id)
) ENGINE=MyISAM DEFAULT CHARSET=latin5;
Ben gönderilerin sınıflandırılması için MAX kategorize sistemiyle çalışılması gerektiğini düşünüyorum. Yani en önemli konulardan biri bence gönderinin hangi sınıflandırmaya dahil edileceği konusu. Hiyerarşide bir root ve bunun altında birden fazla kategori olabilecek. Örneğin.
PHP Kodu:
id ust_id kategori
1 0 Ceviz
2 1 Programlama
3 1 Dersler
4 1 Makaleler
5 1 Teknik Destek İstekleri
6 2 DOS Platform Dilleri
7 2 Windows Platform Dilleri
8 2 .NET Platform Dilleri
9 2 Unix Platform Dilleri
10 2 Web Programlama Dilleri
12 6 Pascal
13 6 C
14 6 Fortran/Cobol
15 7 Delphi
16 7 C/C++
17 7 VB
18 8 C#
19 8 JAVA
20 8 Delphi.NET
21 10 ASP
22 10 Perl
23 10 PHP
24 10 ISAPI/CGI
25 10 Java/JScript
26 3 Programlama Dilleri
27 3 Hazır Uygulamalar
28 26 Delphi Dersleri
29 27 PhotShop Dersleri
-------------------------------------
Velhasıl böyle gidecek. Şimdi içinizden bazı arkadaşlar hocam bu kadar kategorize olmaya ne gerek var diyecektir. Sorunun bir kaç tane cevabı var.- Kişilerin anlayış seviyeleri farklı farklıdır, her insan kendi anlayışına göre elindeki veya tedarik ettiği veriyi sınıflamak ve ayrıştırmak isteyecektir. Benim armut kategorisine soktuğum bir veri bir başkası için elma içinde olabilir.
- Bazı konular birden fazla kategoriye girebilir.
- Ayrıntı kullanıcının kafasını karıştırmak için değil ara-bul faaliyetlerini daha verimli hale getirmek içindir.
- Profesyonel bilişimciler, konulardan birinde uzman bile olsalar, birden fazla konu üzerine odaklıdırlar.
- Kategorilendirme olayı dinamik olacaktır. Bundan bir ay sonra çıkan yeni bir bilişim teknolojisi içinde ayrı bir kategori sınıfı kodlamada değişiklik yapılmadan sisteme yerleştirilebilecektir.
Şimdilik temel kategorilendirme tasarımıyla uğraşıyorum. Çünki ben algoritmamı bunun üzerine kurdum. Yani sınıflandırmanın. Sizde de vardır, bir sürü kod, ama uygun bir sınıflandırmanız yoksa kırk yılda bir lazım olan bir kaç satır örneği bulmak için benim gibi cebelleşip durursunuz. Halbuki uygun bir sınıflandırmaya tabii tuttuğunuz veriye erişmek daha kolay olacaktır.
Yukarıda sıralanan ve bir tabloya girilmiş kategori isimlerinin dinamik olarak görüntülenen hiyerarşik yapısını ekteki resimde görebilirsiniz.
Teşviklerle devam ediyoruz. Bakalım belki ! bu işi yarım bırakırız, belki sonuçlandırırız. Hepinize kolay gelsin.
Not : Katılımcı konusu hala açık bir konu, en azından bu uygulamanın web arayüzünü tasarlayacak bir iki arkadaşa ihtiyacım var. Olursa iş biraz daha kısalacak.
Bookmarks