{"id":38452,"date":"2026-01-31T14:00:39","date_gmt":"2026-01-31T11:00:39","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/"},"modified":"2026-01-31T14:00:39","modified_gmt":"2026-01-31T11:00:39","slug":"js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/","title":{"rendered":"JS Geli\u015ftiricileri \u0130\u00e7in: LightRec\/lr-ibcf ile A\u00e7\u0131k Kaynakl\u0131 JavaScript Tabanl\u0131 \u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme"},"content":{"rendered":"<h2>JS Geli\u015ftiricileri \u0130\u00e7in: LightRec\/lr-ibcf ile A\u00e7\u0131k Kaynakl\u0131 JavaScript Tabanl\u0131 \u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, kullan\u0131c\u0131lar\u0131n kar\u015f\u0131s\u0131na do\u011fru i\u00e7eri\u011fi veya \u00fcr\u00fcn\u00fc \u00e7\u0131karmak, her platformun ba\u015far\u0131s\u0131 i\u00e7in kritik bir \u00f6neme sahiptir. \u0130\u015fte tam da bu noktada \u00f6neri sistemleri devreye girer. Kullan\u0131c\u0131 deneyimini ki\u015fiselle\u015ftiren, ke\u015ffi kolayla\u015ft\u0131ran ve sat\u0131\u015flar\u0131 art\u0131ran bu sistemler, modern web uygulamalar\u0131n\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131 haline gelmi\u015ftir. JavaScript ekosisteminde \u00f6neri sistemleri geli\u015ftirmek isteyenler i\u00e7in LightRec\/lr-ibcf, a\u00e7\u0131k kaynakl\u0131 ve g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcm sunarak, \u00f6\u011fe tabanl\u0131 i\u015fbirlik\u00e7i filtrelemeyi do\u011frudan taray\u0131c\u0131ya veya Node.js ortam\u0131na ta\u015f\u0131yor.<\/p>\n<h3>\u00d6neri Sistemleri ve \u0130\u015fbirlik\u00e7i Filtreleme Nedir?<\/h3>\n<p>\u00d6neri sistemleri, kullan\u0131c\u0131lar\u0131n ge\u00e7mi\u015f davran\u0131\u015flar\u0131n\u0131 ve tercihlerini analiz ederek, gelecekte ilgilenebilecekleri \u00fcr\u00fcnleri, i\u00e7erikleri veya hizmetleri tahmin etmeyi ama\u00e7layan algoritmik yakla\u015f\u0131mlard\u0131r. Bu sistemler, e-ticaretten medya platformlar\u0131na, sosyal a\u011flardan haber sitelerine kadar geni\u015f bir yelpazede kullan\u0131l\u0131r.<\/p>\n<h4>\u00d6neri Sistemlerinin \u00d6nemi<\/h4>\n<p>\u00d6neri sistemleri, dijital platformlarda kullan\u0131c\u0131 etkile\u015fimini art\u0131rman\u0131n, \u00fcr\u00fcn ke\u015ffini kolayla\u015ft\u0131rman\u0131n ve nihayetinde gelirleri y\u00fckseltmenin anahtar\u0131d\u0131r. Kullan\u0131c\u0131lar\u0131n arad\u0131klar\u0131 \u015feyi bulmalar\u0131na yard\u0131mc\u0131 olurken, ayn\u0131 zamanda onlara yeni ve ilgi \u00e7ekici se\u00e7enekler sunarak platforma ba\u011fl\u0131l\u0131klar\u0131n\u0131 art\u0131r\u0131r. Amazon&#8217;un &#8220;Bu \u00fcr\u00fcn\u00fc alanlar \u015funlar\u0131 da ald\u0131&#8221; veya Netflix&#8217;in &#8220;\u00c7\u00fcnk\u00fc \u015funlar\u0131 izledin&#8221; gibi ifadeleri, \u00f6neri sistemlerinin g\u00fcnl\u00fck hayat\u0131m\u0131zdaki etkile\u015fimine g\u00fczel \u00f6rneklerdir.<\/p>\n<h4>\u0130\u015fbirlik\u00e7i Filtreleme T\u00fcrleri: Kullan\u0131c\u0131 Tabanl\u0131 ve \u00d6\u011fe Tabanl\u0131<\/h4>\n<p>\u0130\u015fbirlik\u00e7i filtreleme (Collaborative Filtering &#8211; CF), \u00f6neri sistemlerinin en pop\u00fcler ve etkili alt t\u00fcrlerinden biridir. Temel prensibi, benzer zevklere sahip kullan\u0131c\u0131lar\u0131n veya benzer \u00f6zelliklere sahip \u00f6\u011felerin birbirine yak\u0131n davran\u0131\u015flar sergileyece\u011fi varsay\u0131m\u0131na dayan\u0131r. \u0130\u015fbirlik\u00e7i filtreleme iki ana kategoriye ayr\u0131l\u0131r:<\/p>\n<ul>\n<li><strong>Kullan\u0131c\u0131 Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme (User-Based CF):<\/strong> Benzer zevklere sahip kullan\u0131c\u0131lar\u0131 bulur ve bir kullan\u0131c\u0131n\u0131n hen\u00fcz derecelendirmedi\u011fi bir \u00f6\u011feyi, benzer kullan\u0131c\u0131lar\u0131n derecelendirmelerine g\u00f6re tahmin eder. \u00d6rne\u011fin, &#8220;Sizin gibi insanlar \u015funlar\u0131 sevdi.&#8221;<\/li>\n<li><strong>\u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme (Item-Based CF):<\/strong> Kullan\u0131c\u0131lar\u0131n belirli \u00f6\u011felere verdi\u011fi derecelendirmeleri kullanarak, \u00f6\u011feler aras\u0131ndaki benzerlikleri hesaplar. Daha sonra bir kullan\u0131c\u0131n\u0131n hen\u00fcz derecelendirmedi\u011fi bir \u00f6\u011feyi, o kullan\u0131c\u0131n\u0131n daha \u00f6nce derecelendirdi\u011fi benzer \u00f6\u011felere g\u00f6re tahmin eder. \u00d6rne\u011fin, &#8220;Bu filmi be\u011fendiyseniz, \u015fu benzer filmleri de be\u011fenebilirsiniz.&#8221;<\/li>\n<\/ul>\n<h4>Neden \u00d6\u011fe Tabanl\u0131?<\/h4>\n<p>\u00d6\u011fe tabanl\u0131 i\u015fbirlik\u00e7i filtreleme, kullan\u0131c\u0131 tabanl\u0131ya g\u00f6re baz\u0131 avantajlara sahiptir. \u00d6zellikle b\u00fcy\u00fck ve dinamik kullan\u0131c\u0131 taban\u0131na sahip sistemlerde, kullan\u0131c\u0131lar\u0131n say\u0131s\u0131 \u00f6\u011felerin say\u0131s\u0131ndan \u00e7ok daha h\u0131zl\u0131 artabilir. Bu durumda, \u00f6\u011feler aras\u0131ndaki benzerlikler genellikle daha istikrarl\u0131 ve daha az hesaplama yo\u011funluklu olabilir. Bir \u00f6\u011fenin benzerli\u011fi genellikle zamanla \u00e7ok fazla de\u011fi\u015fmezken, kullan\u0131c\u0131 tercihleri daha de\u011fi\u015fken olabilir. Ayr\u0131ca, \u00f6\u011fe tabanl\u0131 yakla\u015f\u0131mlar genellikle daha iyi \u00f6l\u00e7eklenebilirlik ve performans sunar, \u00e7\u00fcnk\u00fc \u00f6\u011fe benzerlikleri \u00f6nceden hesaplanabilir ve \u00f6nbelle\u011fe al\u0131nabilir.<\/p>\n<h3>LightRec\/lr-ibcf&#8217;e Yak\u0131ndan Bak\u0131\u015f<\/h3>\n<p>LightRec\/lr-ibcf, JavaScript geli\u015ftiricileri i\u00e7in tasarlanm\u0131\u015f, a\u00e7\u0131k kaynakl\u0131 bir \u00f6\u011fe tabanl\u0131 i\u015fbirlik\u00e7i filtreleme k\u00fct\u00fcphanesidir. Modern web uygulamalar\u0131na kolayca entegre edilebilen bu k\u00fct\u00fcphane, basit API&#8217;si ve esnek yap\u0131s\u0131yla dikkat \u00e7ekmektedir.<\/p>\n<h4>Projenin Amac\u0131 ve Felsefesi<\/h4>\n<p>lr-ibcf&#8217;in temel amac\u0131, JavaScript ekosisteminde \u00f6neri sistemleri geli\u015ftirmeyi kolayla\u015ft\u0131rmakt\u0131r. Geli\u015ftiricilerin karma\u015f\u0131k makine \u00f6\u011frenimi algoritmalar\u0131yla bo\u011fu\u015fmak yerine, do\u011frudan i\u015f mant\u0131\u011f\u0131na odaklanmalar\u0131n\u0131 sa\u011flamak hedeflenir. A\u00e7\u0131k kaynak felsefesiyle, toplulu\u011fun katk\u0131lar\u0131yla s\u00fcrekli geli\u015fen, \u015feffaf ve eri\u015filebilir bir ara\u00e7 sunar. Hafif yap\u0131s\u0131 sayesinde taray\u0131c\u0131 taraf\u0131nda bile \u00e7al\u0131\u015fabilmesi, sunucu y\u00fck\u00fcn\u00fc azaltma ve ger\u00e7ek zamanl\u0131 ki\u015fiselle\u015ftirme imkanlar\u0131 sunar.<\/p>\n<h4>Temel \u00d6zellikler<\/h4>\n<ul>\n<li><strong>\u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme:<\/strong> Temel olarak \u00f6\u011feler aras\u0131 benzerlikleri hesaplar ve \u00f6neriler sunar.<\/li>\n<li><strong>\u00c7e\u015fitli Benzerlik Metrikleri:<\/strong> Kosin\u00fcs benzerli\u011fi, Pearson korelasyonu gibi pop\u00fcler metrikleri destekler.<\/li>\n<li><strong>Hafif ve H\u0131zl\u0131:<\/strong> Performans odakl\u0131 tasar\u0131m\u0131 sayesinde h\u0131zl\u0131 \u00f6neri \u00fcretimi sa\u011flar.<\/li>\n<li><strong>A\u00e7\u0131k Kaynak:<\/strong> GitHub \u00fczerinden eri\u015filebilir ve topluluk katk\u0131lar\u0131na a\u00e7\u0131kt\u0131r.<\/li>\n<li><strong>JavaScript Dostu:<\/strong> npm \u00fczerinden kolayca kurulabilir ve modern JavaScript projelerine entegre edilebilir.<\/li>\n<li><strong>Esnek Veri Giri\u015fi:<\/strong> Kullan\u0131c\u0131-\u00f6\u011fe etkile\u015fim verilerini kolayca i\u015fleyebilir.<\/li>\n<\/ul>\n<h4>Neden JavaScript?<\/h4>\n<p>JavaScript, web geli\u015ftirmenin omurgas\u0131d\u0131r ve hem \u00f6n u\u00e7ta (taray\u0131c\u0131) hem de arka u\u00e7ta (Node.js) geni\u015f bir kullan\u0131m alan\u0131na sahiptir. lr-ibcf&#8217;in JavaScript ile geli\u015ftirilmesi, geli\u015ftiricilere \u00f6neri sistemlerini do\u011frudan taray\u0131c\u0131da \u00e7al\u0131\u015ft\u0131rma (\u00f6rne\u011fin, kullan\u0131c\u0131 verilerini sunucuya g\u00f6ndermeden ki\u015fiselle\u015ftirilmi\u015f \u00f6neriler sunma) veya mevcut Node.js tabanl\u0131 arka u\u00e7 sistemlerine sorunsuz bir \u015fekilde entegre etme esnekli\u011fi sunar. Bu, \u00f6zellikle veri gizlili\u011fi hassasiyeti olan uygulamalar veya d\u00fc\u015f\u00fck gecikmeli \u00f6nerilere ihtiya\u00e7 duyan senaryolar i\u00e7in b\u00fcy\u00fck avantaj sa\u011flar.<\/p>\n<h3>lr-ibcf Nas\u0131l \u00c7al\u0131\u015f\u0131r? Algoritmik Temeller<\/h3>\n<p>lr-ibcf&#8217;in kalbinde, \u00f6\u011feler aras\u0131ndaki benzerlikleri hesaplama ve bu benzerliklere dayanarak tahminlerde bulunma algoritmalar\u0131 yatar. Bu s\u00fcre\u00e7 genellikle iki ana ad\u0131mdan olu\u015fur: benzerlik hesaplamas\u0131 ve tahmin \u00fcretimi.<\/p>\n<h4>Veri Yap\u0131s\u0131 ve Giri\u015f Format\u0131<\/h4>\n<p>lr-ibcf, genellikle kullan\u0131c\u0131lar\u0131n \u00f6\u011felere verdi\u011fi derecelendirmeleri veya etkile\u015fimleri i\u00e7eren bir veri setini girdi olarak al\u0131r. Bu veri seti, genellikle bir matris \u015feklinde d\u00fc\u015f\u00fcn\u00fclebilir; sat\u0131rlar kullan\u0131c\u0131lar\u0131, s\u00fctunlar \u00f6\u011feleri temsil eder ve h\u00fccre de\u011ferleri derecelendirmeleri (\u00f6rne\u011fin, 1&#8217;den 5&#8217;e kadar y\u0131ld\u0131z derecelendirmeleri) veya etkile\u015fimleri (\u00f6rne\u011fin, 1 = izledi\/sat\u0131n ald\u0131, 0 = etkile\u015fim yok) g\u00f6sterir.<\/p>\n<p>lr-ibcf i\u00e7in tipik bir giri\u015f format\u0131, kullan\u0131c\u0131 ID&#8217;leri, \u00f6\u011fe ID&#8217;leri ve ilgili derecelendirmeleri i\u00e7eren bir dizi nesne olabilir:<\/p>\n<pre><code class=\"language-javascript\">\nconst data = [\n    { user: 'Alice', item: 'Film A', rating: 5 },\n    { user: 'Alice', item: 'Film B', rating: 3 },\n    { user: 'Bob', item: 'Film A', rating: 4 },\n    { user: 'Bob', item: 'Film C', rating: 5 },\n    { user: 'Charlie', item: 'Film B', rating: 4 },\n    { user: 'Charlie', item: 'Film C', rating: 2 },\n    \/\/ ... daha fazla veri\n];\n<\/pre>\n<p><\/code><\/p>\n<h4>Benzerlik Hesaplamas\u0131 (Kosin\u00fcs Benzerli\u011fi, Pearson Korelasyonu)<\/h4>\n<p>\u00d6\u011fe tabanl\u0131 i\u015fbirlik\u00e7i filtrelemede en kritik ad\u0131m, \u00f6\u011feler aras\u0131ndaki benzerlikleri do\u011fru bir \u015fekilde hesaplamakt\u0131r. lr-ibcf, bu ama\u00e7la \u00e7e\u015fitli metrikleri destekler:<\/p>\n<ul>\n<li><strong>Kosin\u00fcs Benzerli\u011fi (Cosine Similarity):<\/strong> \u0130ki \u00f6\u011feyi temsil eden vekt\u00f6rler aras\u0131ndaki a\u00e7\u0131n\u0131n kosin\u00fcs\u00fcn\u00fc hesaplar. A\u00e7\u0131 ne kadar k\u00fc\u00e7\u00fckse, \u00f6\u011feler o kadar benzerdir. \u00d6zellikle seyreklik (sparsity) sorunu olan veri setlerinde iyi sonu\u00e7lar verebilir.<\/li>\n<li><strong>Pearson Korelasyonu (Pearson Correlation):<\/strong> \u0130ki \u00f6\u011fenin derecelendirmeleri aras\u0131ndaki do\u011frusal ili\u015fkiyi \u00f6l\u00e7er. Kullan\u0131c\u0131lar\u0131n ortalama derecelendirme davran\u0131\u015flar\u0131ndaki farkl\u0131l\u0131klar\u0131 dikkate ald\u0131\u011f\u0131 i\u00e7in, derecelendirme \u00f6l\u00e7e\u011findeki ki\u015fisel farkl\u0131l\u0131klar\u0131 dengeleyebilir.<\/li>\n<\/ul>\n<p>Bu metrikler, her \u00f6\u011fe \u00e7ifti i\u00e7in bir benzerlik puan\u0131 \u00fcretir. \u00d6rne\u011fin, Film A ile Film B aras\u0131ndaki benzerlik 0.8 olabilirken, Film A ile Film C aras\u0131ndaki benzerlik 0.2 olabilir.<\/p>\n<h4>Tahmin Mekanizmas\u0131<\/h4>\n<p>\u00d6\u011fe benzerlikleri hesapland\u0131ktan sonra, bir kullan\u0131c\u0131n\u0131n hen\u00fcz derecelendirmedi\u011fi bir \u00f6\u011feye verece\u011fi tahmini derecelendirme a\u015fa\u011f\u0131daki form\u00fclle hesaplan\u0131r:<\/p>\n<p><code>P(u,i) = \u03a3 (Sim(i,j) * R(u,j)) \/ \u03a3 |Sim(i,j)|<\/code><\/p>\n<p>Burada:<\/p>\n<ul>\n<li><code>P(u,i)<\/code>: Kullan\u0131c\u0131 <code>u<\/code>'nun \u00f6\u011fe <code>i<\/code> i\u00e7in tahmini derecelendirmesi.<\/li>\n<li><code>Sim(i,j)<\/code>: \u00d6\u011fe <code>i<\/code> ile \u00f6\u011fe <code>j<\/code> aras\u0131ndaki benzerlik.<\/li>\n<li><code>R(u,j)<\/code>: Kullan\u0131c\u0131 <code>u<\/code>'nun \u00f6\u011fe <code>j<\/code> i\u00e7in verdi\u011fi ger\u00e7ek derecelendirme.<\/li>\n<li><code>j<\/code>: Kullan\u0131c\u0131 <code>u<\/code>'nun daha \u00f6nce derecelendirdi\u011fi ve \u00f6\u011fe <code>i<\/code>'ye benzer olan t\u00fcm \u00f6\u011feler.<\/li>\n<\/ul>\n<p>Bu form\u00fcl, kullan\u0131c\u0131n\u0131n ge\u00e7mi\u015fte be\u011fendi\u011fi benzer \u00f6\u011felerin derecelendirmelerini a\u011f\u0131rl\u0131kl\u0131 ortalamas\u0131n\u0131 alarak tahmini bir de\u011fer \u00fcretir. En y\u00fcksek tahmini derecelendirmeye sahip \u00f6\u011feler, kullan\u0131c\u0131ya \u00f6nerilir.<\/p>\n<h3>Kurulum ve Temel Kullan\u0131m<\/h3>\n<p>lr-ibcf'i projenize dahil etmek ve temel \u00f6nerileri olu\u015fturmak olduk\u00e7a basittir.<\/p>\n<h4>npm ile Kurulum<\/h4>\n<p>K\u00fct\u00fcphaneyi projenize eklemek i\u00e7in npm veya yarn kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">\nnpm install lr-ibcf\n# veya\nyarn add lr-ibcf\n<\/pre>\n<p><\/code><\/p>\n<h4>Veri Haz\u0131rl\u0131\u011f\u0131<\/h4>\n<p>Yukar\u0131da belirtildi\u011fi gibi, verilerinizin belirli bir formatta olmas\u0131 gerekir. Her bir etkile\u015fimin bir kullan\u0131c\u0131 kimli\u011fi, bir \u00f6\u011fe kimli\u011fi ve bir derecelendirme\/etkile\u015fim de\u011feri i\u00e7ermesi beklenir.<\/p>\n<pre><code class=\"language-javascript\">\nconst interactions = [\n    { user: 'user1', item: 'productA', rating: 5 },\n    { user: 'user1', item: 'productB', rating: 3 },\n    { user: 'user2', item: 'productA', rating: 4 },\n    { user: 'user2', item: 'productC', rating: 5 },\n    { user: 'user3', item: 'productB', rating: 4 },\n    { user: 'user3', item: 'productC', rating: 2 },\n    { user: 'user1', item: 'productD', rating: 4 },\n    { user: 'user2', item: 'productD', rating: 3 },\n    { user: 'user3', item: 'productA', rating: 5 },\n];\n<\/pre>\n<p><\/code><\/p>\n<h4>\u0130lk \u00d6neri Olu\u015fturma (Kod \u00d6rne\u011fi)<\/h4>\n<p>Verileriniz haz\u0131r oldu\u011funda, lr-ibcf'i kullanarak \u00f6neriler olu\u015fturmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyebilirsiniz:<\/p>\n<pre><code class=\"language-javascript\">\nimport { IBCF } from 'lr-ibcf';\n\n\/\/ Veri setini olu\u015fturun\nconst interactions = [\n    { user: 'user1', item: 'productA', rating: 5 },\n    { user: 'user1', item: 'productB', rating: 3 },\n    { user: 'user2', item: 'productA', rating: 4 },\n    { user: 'user2', item: 'productC', rating: 5 },\n    { user: 'user3', item: 'productB', rating: 4 },\n    { user: 'user3', item: 'productC', rating: 2 },\n    { user: 'user1', item: 'productD', rating: 4 },\n    { user: 'user2', item: 'productD', rating: 3 },\n    { user: 'user3', item: 'productA', rating: 5 },\n];\n\n\/\/ IBCF \u00f6rne\u011fini olu\u015fturun\n\/\/ similarityMetric: 'cosine' veya 'pearson' olabilir\nconst ibcf = new IBCF({\n    data: interactions,\n    similarityMetric: 'pearson' \/\/ Varsay\u0131lan 'cosine'\n});\n\n\/\/ Belirli bir kullan\u0131c\u0131ya \u00f6neriler al\u0131n\nconst userIdToRecommend = 'user1';\nconst numberOfRecommendations = 2;\n\nconst recommendations = ibcf.recommend(userIdToRecommend, numberOfRecommendations);\n\nconsole.log(<code>'${userIdToRecommend}' i\u00e7in \u00f6neriler:<\/code>);\nrecommendations.forEach(rec => {\n    console.log(<code>- \u00d6\u011fe: ${rec.item}, Tahmini Derecelendirme: ${rec.predictedRating.toFixed(2)}<\/code>);\n});\n\n\/\/ \u00c7\u0131kt\u0131 \u00f6rne\u011fi:\n\/\/ 'user1' i\u00e7in \u00f6neriler:\n\/\/ - \u00d6\u011fe: productC, Tahmini Derecelendirme: 4.00\n<\/pre>\n<p><\/code><\/p>\n<p>Bu \u00f6rnekte, <code>user1<\/code> i\u00e7in <code>productC<\/code>'nin 4.00 tahmini derecelendirme ile \u00f6nerildi\u011fini g\u00f6r\u00fcyoruz, \u00e7\u00fcnk\u00fc <code>user1<\/code> hen\u00fcz bu \u00fcr\u00fcn\u00fc derecelendirmemi\u015f ancak benzer kullan\u0131c\u0131lar\u0131n etkile\u015fimleri ve \u00f6\u011fe benzerlikleri bu tahmini destekliyor.<\/p>\n<h3>Geli\u015fmi\u015f \u00d6zellikler ve Optimizasyonlar<\/h3>\n<p>lr-ibcf, temel i\u015flevselli\u011fin \u00f6tesinde, daha karma\u015f\u0131k senaryolar ve performans optimizasyonlar\u0131 i\u00e7in de se\u00e7enekler sunar.<\/p>\n<h4>Seyreklik Sorunu ve \u00c7\u00f6z\u00fcmleri<\/h4>\n<p>\u00d6neri sistemlerinde s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir sorun, veri setlerinin genellikle \u00e7ok seyrek olmas\u0131d\u0131r. Yani, kullan\u0131c\u0131lar\u0131n \u00e7o\u011fu \u00f6\u011fenin yaln\u0131zca k\u00fc\u00e7\u00fck bir k\u0131sm\u0131n\u0131 derecelendirmi\u015f veya etkile\u015fimde bulunmu\u015ftur. Bu durum, \u00f6\u011fe benzerliklerinin do\u011fru bir \u015fekilde hesaplanmas\u0131n\u0131 zorla\u015ft\u0131rabilir.<\/p>\n<p>lr-ibcf, bu sorunu tamamen ortadan kald\u0131rmasa da, do\u011fru benzerlik metri\u011fini se\u00e7erek (\u00f6rne\u011fin, Kosin\u00fcs Benzerli\u011fi seyreklik konusunda Pearson'dan daha dayan\u0131kl\u0131 olabilir) ve yeterli veri toplad\u0131\u011f\u0131n\u0131zdan emin olarak etkisini azaltmaya yard\u0131mc\u0131 olur. Ayr\u0131ca, k-en yak\u0131n kom\u015fu (k-NN) gibi tekniklerle sadece en benzer \u00f6\u011feleri dikkate alarak hesaplama maliyetini d\u00fc\u015f\u00fcrebilirsiniz, ancak lr-ibcf'in mevcut s\u00fcr\u00fcm\u00fcnde bu do\u011frudan bir parametre olarak sunulmamaktad\u0131r, daha \u00e7ok algoritmik bir i\u00e7 optimizasyon olarak d\u00fc\u015f\u00fcn\u00fclebilir.<\/p>\n<h4>Performans \u0130pu\u00e7lar\u0131<\/h4>\n<ul>\n<li><strong>Veri Boyutu:<\/strong> B\u00fcy\u00fck veri setlerinde, benzerlik matrisinin hesaplanmas\u0131 zaman alabilir. E\u011fer verileriniz \u00e7ok b\u00fcy\u00fckse, benzerlik matrisini \u00f6nceden hesaplay\u0131p \u00f6nbelle\u011fe almak veya belirli aral\u0131klarla g\u00fcncellemek performans\u0131 art\u0131rabilir.<\/li>\n<li><strong>Benzerlik Metri\u011fi Se\u00e7imi:<\/strong> Kosin\u00fcs benzerli\u011fi genellikle Pearson'dan daha h\u0131zl\u0131 hesaplanabilir. Uygulaman\u0131z\u0131n gereksinimlerine g\u00f6re en uygun metri\u011fi se\u00e7in.<\/li>\n<li><strong>Paralelle\u015ftirme\/Web Workers:<\/strong> Taray\u0131c\u0131 taraf\u0131nda \u00e7al\u0131\u015f\u0131rken, yo\u011fun hesaplamalar\u0131 (\u00f6zellikle benzerlik matrisi olu\u015fturma) Web Workers kullanarak ana i\u015f par\u00e7ac\u0131\u011f\u0131ndan ay\u0131rmak, UI'\u0131n donmas\u0131n\u0131 engelleyerek kullan\u0131c\u0131 deneyimini iyile\u015ftirebilir.<\/li>\n<li><strong>Sadece \u0130htiya\u00e7 Duyulan\u0131 Hesaplama:<\/strong> T\u00fcm \u00f6\u011fe \u00e7iftleri aras\u0131ndaki benzerlikleri her zaman hesaplamak yerine, sadece belirli bir kullan\u0131c\u0131 i\u00e7in \u00f6neri yaparken ilgili \u00f6\u011feler aras\u0131ndaki benzerlikleri hesaplamak daha verimli olabilir.<\/li>\n<\/ul>\n<h4>\u00d6zelle\u015ftirme Se\u00e7enekleri<\/h4>\n<p>lr-ibcf, basit bir API sunsa da, esneklik i\u00e7in baz\u0131 \u00f6zelle\u015ftirme noktalar\u0131 bar\u0131nd\u0131r\u0131r:<\/p>\n<ul>\n<li><strong><code>similarityMetric<\/code>:<\/strong> Kosin\u00fcs veya Pearson benzerli\u011fi aras\u0131nda se\u00e7im yapabilirsiniz.<\/li>\n<li><strong>Veri \u00d6n \u0130\u015fleme:<\/strong> K\u00fct\u00fcphaneye ge\u00e7meden \u00f6nce verilerinizi istedi\u011finiz gibi filtreleyebilir, normalle\u015ftirebilir veya d\u00f6n\u00fc\u015ft\u00fcrebilirsiniz. \u00d6rne\u011fin, \u00e7ok d\u00fc\u015f\u00fck derecelendirmeleri veya \u00e7ok az etkile\u015fimi olan kullan\u0131c\u0131lar\u0131\/\u00f6\u011feleri d\u0131\u015far\u0131da b\u0131rakmak \u00f6neri kalitesini art\u0131rabilir.<\/li>\n<li><strong>\u00d6neri Say\u0131s\u0131:<\/strong> <code>recommend<\/code> fonksiyonuna ge\u00e7irece\u011finiz parametre ile ka\u00e7 adet \u00f6neri almak istedi\u011finizi belirleyebilirsiniz.<\/li>\n<\/ul>\n<h3>Kullan\u0131m Alanlar\u0131 ve Ger\u00e7ek D\u00fcnya Senaryolar\u0131<\/h3>\n<p>LightRec\/lr-ibcf'in esnekli\u011fi ve JavaScript tabanl\u0131 olmas\u0131, onu \u00e7e\u015fitli ger\u00e7ek d\u00fcnya uygulamalar\u0131 i\u00e7in ideal bir se\u00e7im haline getirir.<\/p>\n<h4>E-ticaret ve \u00dcr\u00fcn \u00d6nerileri<\/h4>\n<p>E-ticaret siteleri, lr-ibcf'i \"Bu \u00fcr\u00fcn\u00fc g\u00f6r\u00fcnt\u00fcleyenler \u015funlar\u0131 da g\u00f6r\u00fcnt\u00fcledi\" veya \"Sepetinizdeki \u00fcr\u00fcnlerle ilgili di\u011fer \u00fcr\u00fcnler\" gibi \u00f6nerileri sunmak i\u00e7in kullanabilir. Bu, \u00e7apraz sat\u0131\u015flar\u0131 art\u0131r\u0131r ve kullan\u0131c\u0131lar\u0131n ilgisini \u00e7ekebilecek yeni \u00fcr\u00fcnleri ke\u015ffetmelerine yard\u0131mc\u0131 olur. \u00d6zellikle k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli e-ticaret siteleri i\u00e7in, karma\u015f\u0131k bir \u00f6neri altyap\u0131s\u0131 kurmak yerine h\u0131zl\u0131 ve etkili bir \u00e7\u00f6z\u00fcm sunar.<\/p>\n<h4>\u0130\u00e7erik Ke\u015ffi (Filmler, M\u00fczik, Makaleler)<\/h4>\n<p>Medya platformlar\u0131 (film, m\u00fczik, podcast) veya haber\/blog siteleri, kullan\u0131c\u0131lar\u0131n izleme\/dinleme\/okuma ge\u00e7mi\u015fine dayanarak benzer i\u00e7erikleri \u00f6nermek i\u00e7in lr-ibcf'i kullanabilir. \u00d6rne\u011fin, bir film platformu, kullan\u0131c\u0131n\u0131n daha \u00f6nce izledi\u011fi filmlere benzer t\u00fcrdeki veya temadaki filmleri \u00f6nerebilir. Bu, kullan\u0131c\u0131lar\u0131n platformda daha fazla zaman ge\u00e7irmesini sa\u011flar ve i\u00e7erik t\u00fcketimini art\u0131r\u0131r.<\/p>\n<h4>Di\u011fer Uygulama Alanlar\u0131<\/h4>\n<ul>\n<li><strong>Sosyal Medya:<\/strong> Kullan\u0131c\u0131lar\u0131n be\u011fendi\u011fi g\u00f6nderilere veya takip etti\u011fi ki\u015filere benzer i\u00e7erik veya profiller \u00f6nermek.<\/li>\n<li><strong>E\u011fitim Platformlar\u0131:<\/strong> \u00d6\u011frencilerin tamamlad\u0131\u011f\u0131 kurslara veya ilgilendi\u011fi konulara g\u00f6re yeni dersler veya \u00f6\u011frenme materyalleri \u00f6nermek.<\/li>\n<li><strong>Seyahat ve Turizm:<\/strong> Kullan\u0131c\u0131n\u0131n ge\u00e7mi\u015f tatil tercihlerine veya arad\u0131\u011f\u0131 destinasyonlara benzer rotalar, oteller veya aktiviteler \u00f6nermek.<\/li>\n<li><strong>Yaz\u0131l\u0131m Uygulamalar\u0131:<\/strong> Bir kullan\u0131c\u0131n\u0131n kulland\u0131\u011f\u0131 \u00f6zelliklere veya eklentilere g\u00f6re yeni \u00f6zellikler veya entegrasyonlar \u00f6nermek.<\/li>\n<\/ul>\n<h3>Gelecek ve Katk\u0131da Bulunma<\/h3>\n<p>A\u00e7\u0131k kaynak projeleri, toplulu\u011fun deste\u011fi ve katk\u0131lar\u0131yla geli\u015fir ve b\u00fcy\u00fcr. LightRec\/lr-ibcf de bu felsefeyi benimsemi\u015ftir.<\/p>\n<h4>Projenin Yol Haritas\u0131<\/h4>\n<p>lr-ibcf'in gelece\u011fi, geli\u015ftiricilerin geri bildirimleri ve ihtiya\u00e7lar\u0131 do\u011frultusunda \u015fekillenecektir. Potansiyel gelecek geli\u015ftirmeler aras\u0131nda daha fazla benzerlik metri\u011fi deste\u011fi, performans optimizasyonlar\u0131 i\u00e7in geli\u015fmi\u015f algoritmalar (\u00f6rne\u011fin, matris \u00e7arpanlara ay\u0131rma tabanl\u0131 y\u00f6ntemler), seyreklik sorununa y\u00f6nelik daha robust \u00e7\u00f6z\u00fcmler ve daha zengin bir API yer alabilir. Ayr\u0131ca, k\u00fct\u00fcphanenin kullan\u0131m\u0131n\u0131 kolayla\u015ft\u0131racak ek ara\u00e7lar ve dok\u00fcmantasyon geli\u015ftirmeleri de g\u00fcndemde olabilir.<\/p>\n<h4>Toplulu\u011fa Kat\u0131l\u0131m<\/h4>\n<p>Bir JavaScript geli\u015ftiricisi olarak, lr-ibcf projesine farkl\u0131 yollarla katk\u0131da bulunabilirsiniz:<\/p>\n<ul>\n<li><strong>Geri Bildirim Sa\u011flama:<\/strong> K\u00fct\u00fcphaneyi kullan\u0131rken kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z hatalar\u0131 veya iyile\u015ftirme \u00f6nerilerini GitHub Issues \u00fczerinden bildirin.<\/li>\n<li><strong>Kod Katk\u0131s\u0131:<\/strong> Yeni \u00f6zellikler geli\u015ftirmek, mevcut kodlar\u0131 optimize etmek veya hata d\u00fczeltmeleri yapmak i\u00e7in pull request g\u00f6nderebilirsiniz.<\/li>\n<li><strong>Dok\u00fcmantasyon:<\/strong> K\u00fct\u00fcphanenin kullan\u0131m\u0131n\u0131 daha anla\u015f\u0131l\u0131r hale getirmek i\u00e7in dok\u00fcmantasyona katk\u0131da bulunabilirsiniz.<\/li>\n<li><strong>\u00d6rnek Uygulamalar:<\/strong> lr-ibcf kullanarak \u00f6rnek uygulamalar geli\u015ftirmek ve bunlar\u0131 toplulukla payla\u015fmak, di\u011fer geli\u015ftiricilere ilham verebilir.<\/li>\n<\/ul>\n<h4>A\u00e7\u0131k Kaynak Felsefesi<\/h4>\n<p>A\u00e7\u0131k kaynak, yaz\u0131l\u0131m\u0131n sadece bir \u00fcr\u00fcn de\u011fil, ayn\u0131 zamanda bir topluluk ve i\u015fbirli\u011fi \u00e7abas\u0131 oldu\u011fu inanc\u0131na dayan\u0131r. lr-ibcf'in a\u00e7\u0131k kaynak olmas\u0131, \u015feffafl\u0131k, esneklik ve inovasyonu te\u015fvik eder. Herkesin kodu incelemesine, de\u011fi\u015ftirmesine ve da\u011f\u0131tmas\u0131na izin vererek, daha g\u00fc\u00e7l\u00fc, daha g\u00fcvenilir ve daha uyarlanabilir \u00e7\u00f6z\u00fcmlerin ortaya \u00e7\u0131kmas\u0131n\u0131 sa\u011flar. Bu felsefe, JavaScript ekosisteminin genel geli\u015fimine de katk\u0131da bulunur.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>LightRec\/lr-ibcf, JavaScript geli\u015ftiricileri i\u00e7in \u00f6\u011fe tabanl\u0131 i\u015fbirlik\u00e7i filtreleme tabanl\u0131 \u00f6neri sistemleri olu\u015fturman\u0131n kap\u0131lar\u0131n\u0131 aralayan g\u00fc\u00e7l\u00fc, esnek ve a\u00e7\u0131k kaynakl\u0131 bir ara\u00e7t\u0131r. Modern web uygulamalar\u0131na kolayca entegre edilebilir yap\u0131s\u0131, \u00e7e\u015fitli benzerlik metrikleri deste\u011fi ve performans odakl\u0131 tasar\u0131m\u0131 sayesinde, geli\u015ftiricilerin ki\u015fiselle\u015ftirilmi\u015f kullan\u0131c\u0131 deneyimleri sunmalar\u0131na olanak tan\u0131r. E-ticaretten i\u00e7erik ke\u015ffine kadar geni\u015f bir kullan\u0131m alan\u0131na sahip olan lr-ibcf, JavaScript ekosisteminde \u00f6neri sistemleri geli\u015ftirmek isteyen herkes i\u00e7in de\u011ferli bir kaynakt\u0131r. Bu k\u00fct\u00fcphaneyi ke\u015ffederek, uygulamalar\u0131n\u0131za ak\u0131ll\u0131 \u00f6neri yetenekleri kazand\u0131rabilir ve kullan\u0131c\u0131lar\u0131n\u0131z\u0131n platformunuzla etkile\u015fimini bir \u00fcst seviyeye ta\u015f\u0131yabilirsiniz.<\/p>\n<h3>SSS (S\u0131k\u00e7a Sorulan Sorular)<\/h3>\n<h4>lr-ibcf nedir?<\/h4>\n<p>lr-ibcf (LightRec Item-Based Collaborative Filtering), JavaScript tabanl\u0131, a\u00e7\u0131k kaynakl\u0131 bir k\u00fct\u00fcphanedir. Kullan\u0131c\u0131lar\u0131n ge\u00e7mi\u015f etkile\u015fimlerine dayanarak \u00f6\u011feler aras\u0131 benzerlikleri hesaplar ve kullan\u0131c\u0131lara ki\u015fiselle\u015ftirilmi\u015f \u00f6\u011fe \u00f6nerileri sunar.<\/p>\n<h4>Neden JavaScript ile geli\u015ftirildi?<\/h4>\n<p>JavaScript'in hem taray\u0131c\u0131 (\u00f6n u\u00e7) hem de Node.js (arka u\u00e7) ortamlar\u0131nda yayg\u0131n kullan\u0131m\u0131 sayesinde, geli\u015ftiricilere \u00f6neri sistemlerini do\u011frudan taray\u0131c\u0131da \u00e7al\u0131\u015ft\u0131rma veya mevcut Node.js projelerine kolayca entegre etme esnekli\u011fi sunar.<\/p>\n<h4>Hangi benzerlik metriklerini destekler?<\/h4>\n<p>\u015eu anda Kosin\u00fcs Benzerli\u011fi (Cosine Similarity) ve Pearson Korelasyonu (Pearson Correlation) metriklerini desteklemektedir. Bu metrikler, \u00f6\u011feler aras\u0131ndaki ili\u015fkiyi farkl\u0131 a\u00e7\u0131lardan de\u011ferlendirerek \u00f6neri kalitesini art\u0131r\u0131r.<\/p>\n<h4>B\u00fcy\u00fck veri setleriyle \u00e7al\u0131\u015fabilir mi?<\/h4>\n<p>Evet, lr-ibcf b\u00fcy\u00fck veri setlerini i\u015fleyebilir. Ancak \u00e7ok b\u00fcy\u00fck veri setlerinde performans optimizasyonlar\u0131 (\u00f6nbelle\u011fe alma, Web Workers kullan\u0131m\u0131 vb.) gerekebilir. \u00d6\u011feler aras\u0131 benzerlik matrisinin hesaplanmas\u0131, veri boyutuna g\u00f6re zaman alabilir.<\/p>\n<h4>Performans\u0131 nas\u0131l optimize edebilirim?<\/h4>\n<p>Performans\u0131 art\u0131rmak i\u00e7in benzerlik matrisini \u00f6nceden hesaplay\u0131p \u00f6nbelle\u011fe alabilir, Web Workers kullanarak yo\u011fun hesaplamalar\u0131 ana i\u015f par\u00e7ac\u0131\u011f\u0131ndan ay\u0131rabilir ve uygulaman\u0131z\u0131n gereksinimlerine en uygun benzerlik metri\u011fini se\u00e7ebilirsiniz.<\/p>\n<h4>Kullan\u0131c\u0131 tabanl\u0131 filtreleme yapar m\u0131?<\/h4>\n<p>Hay\u0131r, lr-ibcf \u00f6zellikle \"\u00f6\u011fe tabanl\u0131\" i\u015fbirlik\u00e7i filtreleme \u00fczerine odaklanm\u0131\u015ft\u0131r. Kullan\u0131c\u0131 tabanl\u0131 filtreleme i\u00e7in farkl\u0131 k\u00fct\u00fcphanelere veya yakla\u015f\u0131mlara bakman\u0131z gerekebilir.<\/p>\n<h4>Projenin GitHub deposu nerede?<\/h4>\n<p>Projenin GitHub deposuna \"LightRec\/lr-ibcf\" aratarak veya ilgili dok\u00fcmantasyon ba\u011flant\u0131lar\u0131n\u0131 takip ederek ula\u015fabilirsiniz. Orada kaynak kodunu inceleyebilir, sorun bildirebilir veya katk\u0131da bulunabilirsiniz.<\/p>\n","protected":false},"excerpt":{"rendered":"\u00d6neri sistemleri, dijital platformlarda kullan\u0131c\u0131 etkile\u015fimini art\u0131rman\u0131n, \u00fcr\u00fcn ke\u015ffini kolayla\u015ft\u0131rman\u0131n ve nihayetinde gelirleri y\u00fckseltmenin a&#8230;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[129],"tags":[],"class_list":{"0":"post-38452","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-javascript","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>JS Geli\u015ftiricileri \u0130\u00e7in: LightRec\/lr-ibcf ile A\u00e7\u0131k Kaynakl\u0131 JavaScript Tabanl\u0131 \u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JS Geli\u015ftiricileri \u0130\u00e7in: LightRec\/lr-ibcf ile A\u00e7\u0131k Kaynakl\u0131 JavaScript Tabanl\u0131 \u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme\" \/>\n<meta property=\"og:description\" content=\"\u00d6neri sistemleri, dijital platformlarda kullan\u0131c\u0131 etkile\u015fimini art\u0131rman\u0131n, \u00fcr\u00fcn ke\u015ffini kolayla\u015ft\u0131rman\u0131n ve nihayetinde gelirleri y\u00fckseltmenin a...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-31T11:00:39+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"JS Geli\u015ftiricileri \u0130\u00e7in: LightRec\/lr-ibcf ile A\u00e7\u0131k Kaynakl\u0131 JavaScript Tabanl\u0131 \u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme\",\"datePublished\":\"2026-01-31T11:00:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/\"},\"wordCount\":2817,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Javascript\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/\",\"name\":\"JS Geli\u015ftiricileri \u0130\u00e7in: LightRec\/lr-ibcf ile A\u00e7\u0131k Kaynakl\u0131 JavaScript Tabanl\u0131 \u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-31T11:00:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JS Geli\u015ftiricileri \u0130\u00e7in: LightRec\/lr-ibcf ile A\u00e7\u0131k Kaynakl\u0131 JavaScript Tabanl\u0131 \u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"JS Geli\u015ftiricileri \u0130\u00e7in: LightRec\/lr-ibcf ile A\u00e7\u0131k Kaynakl\u0131 JavaScript Tabanl\u0131 \u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/","og_locale":"tr_TR","og_type":"article","og_title":"JS Geli\u015ftiricileri \u0130\u00e7in: LightRec\/lr-ibcf ile A\u00e7\u0131k Kaynakl\u0131 JavaScript Tabanl\u0131 \u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme","og_description":"\u00d6neri sistemleri, dijital platformlarda kullan\u0131c\u0131 etkile\u015fimini art\u0131rman\u0131n, \u00fcr\u00fcn ke\u015ffini kolayla\u015ft\u0131rman\u0131n ve nihayetinde gelirleri y\u00fckseltmenin a...","og_url":"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-31T11:00:39+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"15 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"JS Geli\u015ftiricileri \u0130\u00e7in: LightRec\/lr-ibcf ile A\u00e7\u0131k Kaynakl\u0131 JavaScript Tabanl\u0131 \u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme","datePublished":"2026-01-31T11:00:39+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/"},"wordCount":2817,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Javascript"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/","url":"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/","name":"JS Geli\u015ftiricileri \u0130\u00e7in: LightRec\/lr-ibcf ile A\u00e7\u0131k Kaynakl\u0131 JavaScript Tabanl\u0131 \u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-31T11:00:39+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/js-gelistiricileri-icin-lightrec-lr-ibcf-ile-acik-kaynakli-javascript-tabanli-oge-tabanli-isbirlikci-filtreleme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"JS Geli\u015ftiricileri \u0130\u00e7in: LightRec\/lr-ibcf ile A\u00e7\u0131k Kaynakl\u0131 JavaScript Tabanl\u0131 \u00d6\u011fe Tabanl\u0131 \u0130\u015fbirlik\u00e7i Filtreleme"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38452"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38452\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}