{"id":38232,"date":"2026-01-26T13:00:44","date_gmt":"2026-01-26T10:00:44","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/"},"modified":"2026-01-26T13:00:44","modified_gmt":"2026-01-26T10:00:44","slug":"kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/","title":{"rendered":"Kendi Kendine Grafik \u00c7izen Bir Grup Sohbeti Geli\u015ftirdim &#8211; \u0130\u015fte Nas\u0131l Yap\u0131ld\u0131\u011f\u0131"},"content":{"rendered":"<h2>Kendi Kendine Grafik \u00c7izen Bir Grup Sohbeti Geli\u015ftirdim &#8211; \u0130\u015fte Nas\u0131l Yap\u0131ld\u0131\u011f\u0131<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn dijital ileti\u015fim d\u00fcnyas\u0131nda grup sohbetleri, hem ki\u015fisel hem de profesyonel etkile\u015fimlerin vazge\u00e7ilmez bir par\u00e7as\u0131 haline geldi. Ancak, bu sohbetlerin \u00e7o\u011fu zaman do\u011frusal bir ak\u0131\u015fa sahip olmas\u0131, derinlemesine ili\u015fkileri, ana konular\u0131 veya konu\u015fmac\u0131lar aras\u0131ndaki ba\u011flant\u0131lar\u0131 anlamay\u0131 zorla\u015ft\u0131rabiliyor. Bu makalede, bu soruna yenilik\u00e7i bir \u00e7\u00f6z\u00fcm sunan, kendi kendini bir grafi\u011fe d\u00f6n\u00fc\u015ft\u00fcren bir grup sohbeti uygulamas\u0131n\u0131n geli\u015ftirme s\u00fcrecini, mimarisini ve temel teknolojilerini detayl\u0131 bir \u015fekilde inceleyece\u011fiz. Amac\u0131m\u0131z, sadece mesajla\u015fmaktan \u00f6te, sohbetlerin alt\u0131nda yatan dinamikleri g\u00f6rselle\u015ftiren, anlaml\u0131 i\u00e7g\u00f6r\u00fcler sunan bir deneyim yaratmakt\u0131.<\/p>\n<h3>Sohbet Grafi\u011fi Fikrinin Do\u011fu\u015fu ve Amac\u0131<\/h3>\n<p>Her g\u00fcn y\u00fczlerce mesaj\u0131n akt\u0131\u011f\u0131 grup sohbetlerinde, \u00f6nemli kararlar, anahtar ki\u015filer veya tekrar eden konular g\u00f6zden ka\u00e7abilir. Bu durum, \u00f6zellikle b\u00fcy\u00fck ekiplerin veya topluluklar\u0131n ileti\u015fiminde verimlilik kayb\u0131na yol a\u00e7ar. Bu projenin \u00e7\u0131k\u0131\u015f noktas\u0131, bu karma\u015fay\u0131 anlamland\u0131rarak, sohbetlerin daha \u015feffaf ve analitik bir yap\u0131ya kavu\u015fmas\u0131n\u0131 sa\u011flamakt\u0131.<\/p>\n<h4>Geleneksel Sohbetlerin S\u0131n\u0131rl\u0131l\u0131klar\u0131<\/h4>\n<p>Geleneksel sohbet aray\u00fczleri, mesajlar\u0131 kronolojik s\u0131raya g\u00f6re listeler. Bu yap\u0131, anl\u0131k ileti\u015fim i\u00e7in ideal olsa da, bir konunun nas\u0131l geli\u015fti\u011fini, kimlerin hangi konular hakk\u0131nda konu\u015ftu\u011funu veya hangi mesajlar\u0131n di\u011ferlerini tetikledi\u011fini takip etmekte yetersiz kal\u0131r. Bir konunun ba\u015flang\u0131c\u0131n\u0131 bulmak, ilgili t\u00fcm mesajlar\u0131 toplamak veya bir tart\u0131\u015fman\u0131n ana hatlar\u0131n\u0131 \u00e7\u0131karmak olduk\u00e7a zordur.<\/p>\n<h4>G\u00f6rselle\u015ftirmenin G\u00fcc\u00fc<\/h4>\n<p>Verilerin g\u00f6rselle\u015ftirilmesi, karma\u015f\u0131k bilgileri daha anla\u015f\u0131l\u0131r ve eri\u015filebilir hale getirmenin en g\u00fc\u00e7l\u00fc yollar\u0131ndan biridir. Bir sohbetin bir grafik olarak temsil edilmesi, kat\u0131l\u0131mc\u0131lar\u0131 d\u00fc\u011f\u00fcmler, mesajlar\u0131 veya konular\u0131 da kenarlar olarak ele alarak, ili\u015fkileri an\u0131nda g\u00f6rmemizi sa\u011flar. Bu, kimin kimle daha \u00e7ok etkile\u015fimde bulundu\u011funu, hangi konular\u0131n merkezi oldu\u011funu veya belirli bir mesaj\u0131n hangi tart\u0131\u015fmay\u0131 ba\u015flatt\u0131\u011f\u0131n\u0131 kolayca tespit etmemize olanak tan\u0131r.<\/p>\n<h4>Projenin Temel Hedefleri<\/h4>\n<p>Bu projenin temel hedefleri \u015funlard\u0131:<\/p>\n<ul>\n<li>Ger\u00e7ek zamanl\u0131 olarak sohbet mesajlar\u0131ndan anlaml\u0131 ili\u015fkiler \u00e7\u0131karmak.<\/li>\n<li>\u00c7\u0131kar\u0131lan bu ili\u015fkileri dinamik bir grafik \u00fczerinde g\u00f6rselle\u015ftirmek.<\/li>\n<li>Kullan\u0131c\u0131lar\u0131n sohbet ak\u0131\u015f\u0131n\u0131 ve grafik g\u00f6rselle\u015ftirmesini e\u015f zamanl\u0131 olarak takip edebilmesini sa\u011flamak.<\/li>\n<li>Grafik \u00fczerinde filtreleme, arama ve etkile\u015fim \u00f6zellikleriyle kullan\u0131c\u0131 deneyimini zenginle\u015ftirmek.<\/li>\n<li>Sohbet dinamikleri hakk\u0131nda derinlemesine i\u00e7g\u00f6r\u00fcler sunmak.<\/li>\n<\/ul>\n<h3>Temel Mimari ve Teknolojiler<\/h3>\n<p>Uygulaman\u0131n mimarisi, ger\u00e7ek zamanl\u0131 ileti\u015fimi, g\u00fc\u00e7l\u00fc veri i\u015flemeyi ve etkile\u015fimli g\u00f6rselle\u015ftirmeyi destekleyecek \u015fekilde tasarland\u0131. Modern web teknolojileri ve \u00f6l\u00e7eklenebilir bile\u015fenler tercih edildi.<\/p>\n<h4>Backend Se\u00e7imleri<\/h4>\n<p>Backend i\u00e7in Node.js&#8217;i tercih ettim. Bunun birka\u00e7 nedeni vard\u0131:<\/p>\n<ul>\n<li><strong>Ger\u00e7ek Zamanl\u0131 \u0130leti\u015fim:<\/strong> Node.js&#8217;in olay tabanl\u0131, non-blocking I\/O modeli, WebSockets ile ger\u00e7ek zamanl\u0131 mesajla\u015fma ve grafik g\u00fcncellemeleri i\u00e7in m\u00fckemmel bir uyum sa\u011fl\u0131yor.<\/li>\n<li><strong>Tek Dil:<\/strong> Hem frontend hem de backend&#8217;de JavaScript kullanmak, geli\u015ftirme s\u00fcrecini h\u0131zland\u0131rd\u0131 ve ekip i\u00e7i bilgi payla\u015f\u0131m\u0131n\u0131 kolayla\u015ft\u0131rd\u0131.<\/li>\n<li><strong>Ekosistem:<\/strong> Geni\u015f npm ekosistemi, NLP k\u00fct\u00fcphanelerinden veritaban\u0131 s\u00fcr\u00fcc\u00fclerine kadar bir\u00e7ok haz\u0131r \u00e7\u00f6z\u00fcm sunuyor.<\/li>\n<\/ul>\n<h4>Veritaban\u0131 Yap\u0131s\u0131<\/h4>\n<p>Sohbet verilerini ve \u00f6zellikle grafik ili\u015fkilerini depolamak i\u00e7in bir grafik veritaban\u0131 olan Neo4j&#8217;i kulland\u0131m. Neo4j, d\u00fc\u011f\u00fcmler (kullan\u0131c\u0131lar, mesajlar, konular) ve kenarlar (cevaplar, bahsetmeler, ilgili konular) aras\u0131ndaki ili\u015fkileri do\u011fal bir \u015fekilde modellememizi sa\u011flad\u0131. Bu, karma\u015f\u0131k sorgular\u0131 ve ili\u015fki analizlerini \u00e7ok daha verimli hale getirdi.<\/p>\n<p>Geleneksel bir ili\u015fkisel veritaban\u0131 (PostgreSQL gibi) da kullan\u0131labilirdi, ancak bu durumda ili\u015fkileri birle\u015ftirme tablolar\u0131 ve karma\u015f\u0131k sorgularla y\u00f6netmek gerekirdi, bu da performans a\u00e7\u0131s\u0131ndan dezavantajl\u0131 olabilirdi.<\/p>\n<h4>Frontend \u00c7er\u00e7evesi<\/h4>\n<p>Kullan\u0131c\u0131 aray\u00fcz\u00fc i\u00e7in React tercih edildi. Bile\u015fen tabanl\u0131 yap\u0131s\u0131, dinamik ve etkile\u015fimli bir aray\u00fcz olu\u015fturmay\u0131 kolayla\u015ft\u0131rd\u0131. \u00d6zellikle grafik g\u00f6rselle\u015ftirme k\u00fct\u00fcphaneleriyle entegrasyonu ve durum y\u00f6netimi (Redux veya React Context API ile) a\u00e7\u0131s\u0131ndan olduk\u00e7a esnekti.<\/p>\n<h4>Ger\u00e7ek Zamanl\u0131 \u0130leti\u015fim<\/h4>\n<p>Sohbet mesajlar\u0131n\u0131n an\u0131nda iletilmesi ve grafik g\u00fcncellemelerinin ger\u00e7ek zamanl\u0131 olarak yans\u0131t\u0131lmas\u0131 i\u00e7in WebSockets kullan\u0131ld\u0131. Socket.IO k\u00fct\u00fcphanesi, taray\u0131c\u0131lar ve sunucu aras\u0131nda \u00e7ift y\u00f6nl\u00fc, d\u00fc\u015f\u00fck gecikmeli bir ileti\u015fim kanal\u0131 kurmam\u0131z\u0131 sa\u011flad\u0131. Her yeni mesaj geldi\u011finde, backend bu mesaj\u0131 i\u015fleyip ili\u015fkileri \u00e7\u0131kar\u0131yor ve g\u00fcncellenmi\u015f grafik verisini WebSocket \u00fczerinden t\u00fcm ba\u011fl\u0131 istemcilere yay\u0131nl\u0131yordu.<\/p>\n<h3>Mesaj \u0130\u015fleme ve \u0130li\u015fki \u00c7\u0131kar\u0131m\u0131<\/h3>\n<p>Bu projenin kalbi, gelen sohbet mesajlar\u0131ndan anlaml\u0131 ili\u015fkileri otomatik olarak \u00e7\u0131karabilme yetene\u011fidir. Bu s\u00fcre\u00e7, Do\u011fal Dil \u0130\u015fleme (NLP) tekniklerini ve basit kural tabanl\u0131 algoritmalar\u0131 birle\u015ftirir.<\/p>\n<h4>Do\u011fal Dil \u0130\u015fleme (NLP) Temelleri<\/h4>\n<p>Her gelen mesaj, bir dizi NLP ad\u0131m\u0131ndan ge\u00e7irilir:<\/p>\n<ul>\n<li><strong>Tokenizasyon:<\/strong> Mesaj\u0131 kelimelere veya ifadelere ay\u0131rma.<\/li>\n<li><strong>Varl\u0131k Tan\u0131ma (NER &#8211; Named Entity Recognition):<\/strong> Mesajdaki ki\u015fi adlar\u0131, yerler, organizasyonlar veya anahtar kelimeler gibi \u00f6nemli varl\u0131klar\u0131 tespit etme.<\/li>\n<li><strong>Duygu Analizi (Opsiyonel):<\/strong> Mesaj\u0131n olumlu, olumsuz veya n\u00f6tr bir duygu ta\u015f\u0131y\u0131p ta\u015f\u0131mad\u0131\u011f\u0131n\u0131 belirleme. Bu, grafik \u00fczerinde farkl\u0131 renklerle g\u00f6sterilebilir.<\/li>\n<\/ul>\n<p>T\u00fcrk\u00e7e i\u00e7in \u00f6zel olarak geli\u015ftirilmi\u015f NLP k\u00fct\u00fcphaneleri (\u00f6rne\u011fin, spaCy&#8217;nin T\u00fcrk\u00e7e modelleri veya \u00f6zel e\u011fitimli modeller) bu a\u015famada kritik \u00f6neme sahiptir.<\/p>\n<h4>Varl\u0131k Tan\u0131ma ve \u0130li\u015fki Tespiti<\/h4>\n<p>Mesaj i\u00e7indeki varl\u0131klar (kullan\u0131c\u0131 adlar\u0131, anahtar kelimeler, hashtag&#8217;ler) otomatik olarak d\u00fc\u011f\u00fcm adaylar\u0131 olarak belirlenir. \u0130li\u015fkiler ise \u015fu \u015fekilde tespit edilir:<\/p>\n<ul>\n<li><strong>Cevaplar:<\/strong> Bir mesaj\u0131n ba\u015fka bir mesaja yan\u0131t olup olmad\u0131\u011f\u0131 (genellikle &#8216;reply&#8217; \u00f6zelli\u011fi veya @kullan\u0131c\u0131ad\u0131 ile tespit edilir).<\/li>\n<li><strong>Bahsetmeler:<\/strong> Bir kullan\u0131c\u0131n\u0131n ba\u015fka bir kullan\u0131c\u0131dan @ sembol\u00fc ile bahsetmesi.<\/li>\n<li><strong>Anahtar Kelime Payla\u015f\u0131m\u0131:<\/strong> Birden fazla mesaj\u0131n ayn\u0131 anahtar kelimeyi veya konuyu i\u00e7ermesi.<\/li>\n<li><strong>Soru-Cevap \u0130li\u015fkileri:<\/strong> Bir mesaj\u0131n soru i\u00e7ermesi ve bir sonraki mesaj\u0131n bu soruya cevap niteli\u011finde olmas\u0131.<\/li>\n<\/ul>\n<h4>Mesaj Zincirlerinin Takibi<\/h4>\n<p>Her mesaj\u0131n bir \u00f6nceki mesaja veya belirli bir konuya olan ba\u011flant\u0131s\u0131n\u0131 takip etmek, grafik yap\u0131s\u0131n\u0131n do\u011fru olu\u015fmas\u0131 i\u00e7in hayati \u00f6neme sahiptir. Mesaj kimlikleri ve yan\u0131t referanslar\u0131 bu zincirleri olu\u015fturmak i\u00e7in kullan\u0131l\u0131r. \u00d6rne\u011fin, bir mesaj\u0131n <code>inReplyTo<\/code> alan\u0131, onun hangi mesaja yan\u0131t oldu\u011funu belirtir.<\/p>\n<h4>Kod \u00d6rne\u011fi: Basit Bir \u0130li\u015fki \u00c7\u0131kar\u0131m\u0131<\/h4>\n<p>Basit bir JavaScript \u00f6rne\u011fiyle, bir mesajdan nas\u0131l ili\u015fki \u00e7\u0131kar\u0131labilece\u011fini g\u00f6relim:<\/p>\n<pre><code class=\"language-javascript\">\nfunction extractRelationships(message) {\n    const relationships = [];\n    const sender = message.senderId;\n    const content = message.text;\n\n    \/\/ Kullan\u0131c\u0131 bahsetmelerini tespit et\n    const mentions = content.match(\/@(\\w+)\/g);\n    if (mentions) {\n        mentions.forEach(mention => {\n            const mentionedUser = mention.substring(1); \/\/ @ i\u015faretini kald\u0131r\n            relationships.push({\n                source: sender,\n                target: mentionedUser,\n                type: 'MENTIONS',\n                messageId: message.id\n            });\n        });\n    }\n\n    \/\/ Hashtag'leri konu olarak tespit et\n    const hashtags = content.match(\/#(\\w+)\/g);\n    if (hashtags) {\n        hashtags.forEach(hashtag => {\n            const topic = hashtag.substring(1);\n            relationships.push({\n                source: sender,\n                target: topic,\n                type: 'DISCUSSES',\n                messageId: message.id\n            });\n        });\n    }\n\n    \/\/ E\u011fer mesaj bir yan\u0131tsa\n    if (message.inReplyToMessageId) {\n        relationships.push({\n            source: sender,\n            target: message.inReplyToMessageId, \/\/ Yan\u0131t verilen mesaj\u0131n ID'si\n            type: 'REPLIES_TO',\n            messageId: message.id\n        });\n    }\n\n    return relationships;\n}\n\n\/\/ \u00d6rnek kullan\u0131m\nconst sampleMessage = {\n    id: 'msg123',\n    senderId: 'userA',\n    text: 'Merhaba @userB, d\u00fcnk\u00fc #proje toplant\u0131s\u0131 hakk\u0131nda ne d\u00fc\u015f\u00fcn\u00fcyorsun?',\n    inReplyToMessageId: 'msg122'\n};\n\nconst extracted = extractRelationships(sampleMessage);\nconsole.log(extracted);\n\/*\n[\n  { source: 'userA', target: 'userB', type: 'MENTIONS', messageId: 'msg123' },\n  { source: 'userA', target: 'proje', type: 'DISCUSSES', messageId: 'msg123' },\n  { source: 'userA', target: 'msg122', type: 'REPLIES_TO', messageId: 'msg123' }\n]\n*\/\n<\/pre>\n<p><\/code><\/p>\n<h3>Ger\u00e7ek Zamanl\u0131 Grafik Olu\u015fturma ve G\u00f6rselle\u015ftirme<\/h3>\n<p>\u00c7\u0131kar\u0131lan ili\u015fkiler, Neo4j veritaban\u0131na kaydedildikten sonra, frontend'de etkile\u015fimli bir grafik olarak g\u00f6rselle\u015ftirilir. Bu, kullan\u0131c\u0131lar\u0131n sohbet dinamiklerini an\u0131nda g\u00f6rmesini sa\u011flar.<\/p>\n<h4>Grafik Veri Modeli<\/h4>\n<p>Grafik, d\u00fc\u011f\u00fcmler (nodes) ve kenarlardan (edges) olu\u015fur. Uygulamam\u0131zda:<\/p>\n<ul>\n<li><strong>D\u00fc\u011f\u00fcmler:<\/strong> Kullan\u0131c\u0131lar, mesajlar (mesaj kimli\u011fiyle), anahtar kelimeler\/konular.<\/li>\n<li><strong>Kenarlar:<\/strong> Kullan\u0131c\u0131dan kullan\u0131c\u0131ya (bahsetme, cevaplama), kullan\u0131c\u0131dan mesaja (g\u00f6nderdi), mesajdan mesaja (yan\u0131t verdi), kullan\u0131c\u0131dan konuya (tart\u0131\u015ft\u0131).<\/li>\n<\/ul>\n<p>Her d\u00fc\u011f\u00fcm ve kenar, grafik \u00fczerinde g\u00f6rsel olarak ay\u0131rt edilebilmesi i\u00e7in belirli \u00f6zelliklere (renk, boyut, etiket) sahiptir.<\/p>\n<h4>Grafik K\u00fct\u00fcphaneleri<\/h4>\n<p>Frontend'de grafik g\u00f6rselle\u015ftirmesi i\u00e7in D3.js ve vis.js gibi k\u00fct\u00fcphaneler g\u00fc\u00e7l\u00fc se\u00e7eneklerdir. Ben, daha kolay entegrasyonu ve haz\u0131r etkile\u015fim \u00f6zellikleriyle vis.js'i tercih ettim. Bu k\u00fct\u00fcphaneler, d\u00fc\u011f\u00fcmleri ve kenarlar\u0131 dinamik olarak eklemeye, silmeye ve g\u00fcncellemeyi kolayla\u015ft\u0131r\u0131r, ayr\u0131ca s\u00fcr\u00fckle-b\u0131rak, yak\u0131nla\u015ft\u0131rma, uzakla\u015ft\u0131rma gibi temel etkile\u015fimleri de sa\u011flar.<\/p>\n<h4>D\u00fc\u011f\u00fcm ve Kenar Temsilleri<\/h4>\n<p>Grafik \u00fczerinde d\u00fc\u011f\u00fcmler ve kenarlar, anlamlar\u0131n\u0131 yans\u0131tacak \u015fekilde \u00f6zelle\u015ftirilir:<\/p>\n<ul>\n<li><strong>Kullan\u0131c\u0131 D\u00fc\u011f\u00fcmleri:<\/strong> Genellikle yuvarlak, kullan\u0131c\u0131n\u0131n profil resmi veya ba\u015f harfleriyle.<\/li>\n<li><strong>Mesaj D\u00fc\u011f\u00fcmleri:<\/strong> Daha k\u00fc\u00e7\u00fck, belki bir mesaj ikonuyla. \u00dczerine t\u0131kland\u0131\u011f\u0131nda ilgili mesaj\u0131n i\u00e7eri\u011fini g\u00f6steren bir a\u00e7\u0131l\u0131r pencere a\u00e7\u0131labilir.<\/li>\n<li><strong>Konu D\u00fc\u011f\u00fcmleri:<\/strong> Kare veya elips \u015feklinde, anahtar kelimeyi i\u00e7eren etiketle.<\/li>\n<li><strong>Kenarlar:<\/strong> Oklar, ili\u015fkinin y\u00f6n\u00fcn\u00fc g\u00f6sterir (\u00f6rne\u011fin, \"userA REPLIES_TO msg123\"). Farkl\u0131 ili\u015fki t\u00fcrleri i\u00e7in farkl\u0131 renkler veya \u00e7izgi stilleri kullan\u0131labilir.<\/li>\n<\/ul>\n<p><strong>Tablo: Grafik Elemanlar\u0131 ve Temsilleri<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<th>Eleman T\u00fcr\u00fc<\/th>\n<th>Temsil<\/th>\n<th>\u00d6zellikler<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Kullan\u0131c\u0131 D\u00fc\u011f\u00fcm\u00fc<\/td>\n<td>Yuvarlak \u0130kon\/Profil Resmi<\/td>\n<td>Kullan\u0131c\u0131 Ad\u0131, Etkile\u015fim Say\u0131s\u0131<\/td>\n<\/tr>\n<tr>\n<td>Mesaj D\u00fc\u011f\u00fcm\u00fc<\/td>\n<td>K\u00fc\u00e7\u00fck Kare\/Mesaj \u0130konu<\/td>\n<td>Mesaj ID'si, \u0130\u00e7erik \u00d6zeti<\/td>\n<\/tr>\n<tr>\n<td>Konu D\u00fc\u011f\u00fcm\u00fc<\/td>\n<td>Elips\/Kare<\/td>\n<td>Konu Etiketi (\u00f6rn. #proje)<\/td>\n<\/tr>\n<tr>\n<td>'MENTIONS' Kenar\u0131<\/td>\n<td>Kesikli Ok<\/td>\n<td>Kim kimi bahsetti<\/td>\n<\/tr>\n<tr>\n<td>'REPLIES_TO' Kenar\u0131<\/td>\n<td>D\u00fcz Ok<\/td>\n<td>Hangi mesaja yan\u0131t verildi<\/td>\n<\/tr>\n<tr>\n<td>'DISCUSSES' Kenar\u0131<\/td>\n<td>Noktal\u0131 Ok<\/td>\n<td>Hangi konu hakk\u0131nda konu\u015fuldu<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Kullan\u0131c\u0131 Deneyimi ve Aray\u00fcz Tasar\u0131m\u0131<\/h3>\n<p>Sadece teknik olarak i\u015flevsel olmakla kalmay\u0131p, ayn\u0131 zamanda kullan\u0131c\u0131 dostu bir aray\u00fcze sahip olmak da kritikti. Ama\u00e7, kullan\u0131c\u0131lar\u0131n sohbet ak\u0131\u015f\u0131n\u0131 ve grafik g\u00f6rselle\u015ftirmesini sezgisel bir \u015fekilde kullanabilmesini sa\u011flamakt\u0131.<\/p>\n<h4>\u0130nteraktif Grafik Paneli<\/h4>\n<p>Uygulaman\u0131n ana ekran\u0131, geleneksel sohbet penceresinin yan\u0131nda b\u00fcy\u00fck bir interaktif grafik panelini bar\u0131nd\u0131r\u0131yor. Bu panelde:<\/p>\n<ul>\n<li>D\u00fc\u011f\u00fcmler s\u00fcr\u00fcklenip b\u0131rak\u0131labilir.<\/li>\n<li>Grafik yak\u0131nla\u015ft\u0131r\u0131l\u0131p uzakla\u015ft\u0131r\u0131labilir.<\/li>\n<li>Bir d\u00fc\u011f\u00fcme t\u0131kland\u0131\u011f\u0131nda, ilgili kullan\u0131c\u0131n\u0131n veya mesaj\u0131n detaylar\u0131 g\u00f6sterilir.<\/li>\n<li>Kenarlara t\u0131kland\u0131\u011f\u0131nda, ili\u015fkinin t\u00fcr\u00fc ve ilgili mesaj\u0131n i\u00e7eri\u011fi gibi bilgiler g\u00f6r\u00fcnt\u00fclenir.<\/li>\n<\/ul>\n<h4>Sohbet ve Grafik Entegrasyonu<\/h4>\n<p>Sohbet mesajlar\u0131 ve grafik g\u00f6rselle\u015ftirmesi aras\u0131nda g\u00fc\u00e7l\u00fc bir entegrasyon sa\u011fland\u0131. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>Sohbette yeni bir mesaj g\u00f6nderildi\u011finde, grafik an\u0131nda g\u00fcncellenir ve yeni d\u00fc\u011f\u00fcmler\/kenarlar belirir.<\/li>\n<li>Grafik \u00fczerindeki bir mesaj d\u00fc\u011f\u00fcm\u00fcne t\u0131kland\u0131\u011f\u0131nda, sohbet penceresinde ilgili mesaja kayd\u0131r\u0131l\u0131r.<\/li>\n<li>Sohbetteki bir kullan\u0131c\u0131 ad\u0131na t\u0131kland\u0131\u011f\u0131nda, grafikte o kullan\u0131c\u0131n\u0131n d\u00fc\u011f\u00fcm\u00fc vurgulan\u0131r.<\/li>\n<\/ul>\n<h4>Filtreleme ve Arama \u00d6zellikleri<\/h4>\n<p>B\u00fcy\u00fck ve karma\u015f\u0131k grafiklerde belirli bilgileri bulmak zorla\u015fabilir. Bu nedenle, kullan\u0131c\u0131lar\u0131n grafi\u011fi filtrelemesine ve arama yapmas\u0131na olanak tan\u0131yan \u00f6zellikler eklendi:<\/p>\n<ul>\n<li><strong>Kullan\u0131c\u0131ya G\u00f6re Filtreleme:<\/strong> Sadece belirli bir kullan\u0131c\u0131n\u0131n etkile\u015fimlerini g\u00f6ster.<\/li>\n<li><strong>Konuya G\u00f6re Filtreleme:<\/strong> Belirli bir hashtag veya anahtar kelime etraf\u0131ndaki tart\u0131\u015fmalar\u0131 vurgula.<\/li>\n<li><strong>Zamana G\u00f6re Filtreleme:<\/strong> Belirli bir zaman aral\u0131\u011f\u0131ndaki mesajlar\u0131 ve ili\u015fkileri g\u00f6ster.<\/li>\n<li><strong>Arama \u00c7ubu\u011fu:<\/strong> D\u00fc\u011f\u00fcm veya kenar etiketlerinde arama yapma.<\/li>\n<\/ul>\n<h3>Kar\u015f\u0131la\u015f\u0131lan Zorluklar ve \u00c7\u00f6z\u00fcmler<\/h3>\n<p>Bu t\u00fcr yenilik\u00e7i bir projeyi geli\u015ftirirken ka\u00e7\u0131n\u0131lmaz olarak baz\u0131 zorluklarla kar\u015f\u0131la\u015f\u0131ld\u0131. \u0130\u015fte ba\u015fl\u0131calar\u0131 ve bunlara getirilen \u00e7\u00f6z\u00fcmler:<\/p>\n<h4>Performans Optimizasyonu<\/h4>\n<p>Ger\u00e7ek zamanl\u0131 olarak \u00e7ok say\u0131da mesaj\u0131n i\u015flenmesi ve b\u00fcy\u00fck grafiklerin g\u00f6rselle\u015ftirilmesi performans sorunlar\u0131na yol a\u00e7abilir.<\/p>\n<ul>\n<li><strong>Backend:<\/strong> NLP i\u015flemlerini optimize etmek ve veritaban\u0131 sorgular\u0131n\u0131 verimli hale getirmek i\u00e7in indeksleme kullan\u0131ld\u0131. A\u015f\u0131r\u0131 y\u00fcklenmeyi \u00f6nlemek i\u00e7in mesaj kuyruklar\u0131 (\u00f6rne\u011fin, RabbitMQ veya Kafka) entegre edilebilir.<\/li>\n<li><strong>Frontend:<\/strong> Grafik k\u00fct\u00fcphanelerinin performans ayarlar\u0131 optimize edildi. \u00c7ok say\u0131da d\u00fc\u011f\u00fcm ve kenar oldu\u011funda, sadece ekran alan\u0131ndaki d\u00fc\u011f\u00fcmleri render etmek veya d\u00fc\u011f\u00fcmleri k\u00fcmelemek (clustering) gibi teknikler uyguland\u0131.<\/li>\n<\/ul>\n<h4>Veri Gizlili\u011fi ve G\u00fcvenlik<\/h4>\n<p>Sohbet verileri hassas olabilir. Bu nedenle g\u00fcvenlik \u00f6nlemleri hayatiydi.<\/p>\n<ul>\n<li><strong>\u015eifreleme:<\/strong> Mesajlar hem aktar\u0131m s\u0131ras\u0131nda (HTTPS, WSS) hem de depoda \u015fifrelendi.<\/li>\n<li><strong>Eri\u015fim Kontrol\u00fc:<\/strong> Kullan\u0131c\u0131lar\u0131n sadece yetkili olduklar\u0131 sohbetlere ve grafik verilerine eri\u015fimi sa\u011fland\u0131. Rol tabanl\u0131 eri\u015fim kontrol\u00fc (RBAC) uyguland\u0131.<\/li>\n<li><strong>Anonimle\u015ftirme:<\/strong> Analizler i\u00e7in, hassas ki\u015fisel veriler anonimle\u015ftirilebilir veya maskelenebilir.<\/li>\n<\/ul>\n<h4>Karma\u015f\u0131k \u0130li\u015fkilerin Y\u00f6netimi<\/h4>\n<p>Do\u011fal dilin karma\u015f\u0131kl\u0131\u011f\u0131, do\u011fru ve anlaml\u0131 ili\u015fkiler \u00e7\u0131karmay\u0131 zorla\u015ft\u0131rabilir. Yanl\u0131\u015f pozitifler veya ka\u00e7\u0131r\u0131lan ili\u015fkiler olabilir.<\/p>\n<ul>\n<li><strong>Geli\u015fmi\u015f NLP:<\/strong> Daha sofistike NLP modelleri (\u00f6rne\u011fin, BERT tabanl\u0131 modeller) kullanarak varl\u0131k ve ili\u015fki tan\u0131ma do\u011frulu\u011fu art\u0131r\u0131ld\u0131.<\/li>\n<li><strong>Kullan\u0131c\u0131 Geri Bildirimi:<\/strong> Kullan\u0131c\u0131lar\u0131n yanl\u0131\u015f \u00e7\u0131kar\u0131lan ili\u015fkileri d\u00fczeltebilmesi veya yeni ili\u015fkiler ekleyebilmesi i\u00e7in bir mekanizma eklenebilir. Bu geri bildirimler, NLP modelini zamanla iyile\u015ftirmek i\u00e7in kullan\u0131labilir.<\/li>\n<li><strong>Kural Tabanl\u0131 Sistemler:<\/strong> NLP'nin yetersiz kald\u0131\u011f\u0131 durumlarda, belirli anahtar kelime kombinasyonlar\u0131 veya c\u00fcmle yap\u0131lar\u0131 i\u00e7in kural tabanl\u0131 ili\u015fki \u00e7\u0131kar\u0131m sistemleri devreye sokuldu.<\/li>\n<\/ul>\n<h3>Gelecek Geli\u015ftirmeler ve Potansiyel Uygulamalar<\/h3>\n<p>Bu projenin potansiyeli olduk\u00e7a geni\u015f ve bir\u00e7ok y\u00f6nde geli\u015ftirilebilir.<\/p>\n<h4>Makine \u00d6\u011frenimi Entegrasyonu<\/h4>\n<ul>\n<li><strong>Konu Modelleme:<\/strong> Latent Dirichlet Allocation (LDA) gibi algoritmalarla sohbetlerdeki ana konular\u0131 otomatik olarak tespit etme ve bunlar\u0131 grafik \u00fczerinde ayr\u0131 d\u00fc\u011f\u00fcmler olarak g\u00f6sterme.<\/li>\n<li><strong>Anomali Tespiti:<\/strong> Sohbet ak\u0131\u015f\u0131ndaki veya grafik yap\u0131s\u0131ndaki anormal davran\u0131\u015flar\u0131 (\u00f6rne\u011fin, ani konu de\u011fi\u015fiklikleri, belirli bir kullan\u0131c\u0131n\u0131n a\u015f\u0131r\u0131 etkile\u015fimi) tespit etme.<\/li>\n<li><strong>\u00d6zetleme:<\/strong> Uzun sohbet zincirlerini otomatik olarak \u00f6zetleme ve bu \u00f6zetleri mesaj d\u00fc\u011f\u00fcmlerine ekleme.<\/li>\n<\/ul>\n<h4>Farkl\u0131 Sohbet Platformlar\u0131na Entegrasyon<\/h4>\n<p>Uygulama, Slack, Discord, Microsoft Teams veya WhatsApp gibi mevcut sohbet platformlar\u0131n\u0131n API'leri arac\u0131l\u0131\u011f\u0131yla entegre edilebilir. Bu, kullan\u0131c\u0131lar\u0131n mevcut sohbetlerini bu grafiksel aray\u00fczde g\u00f6rselle\u015ftirmelerine olanak tan\u0131r.<\/p>\n<h4>\u0130\u015f Birli\u011fi Ara\u00e7lar\u0131 \u0130\u00e7in Potansiyel<\/h4>\n<p>Bu teknoloji, proje y\u00f6netimi ve ekip i\u015f birli\u011fi ara\u00e7lar\u0131 i\u00e7in paha bi\u00e7ilmez olabilir:<\/p>\n<ul>\n<li><strong>Toplant\u0131 Notlar\u0131:<\/strong> Toplant\u0131 s\u0131ras\u0131nda al\u0131nan notlar\u0131n veya konu\u015fmalar\u0131n grafiksel bir \u00f6zetini otomatik olarak olu\u015fturma.<\/li>\n<li><strong>Proje Takibi:<\/strong> Proje \u00fcyeleri aras\u0131ndaki etkile\u015fimleri, g\u00f6rev atamalar\u0131n\u0131 ve ilerlemeyi g\u00f6rselle\u015ftirme.<\/li>\n<li><strong>Bilgi Y\u00f6netimi:<\/strong> Kurumsal haf\u0131zay\u0131, farkl\u0131 departmanlar aras\u0131ndaki bilgi ak\u0131\u015f\u0131n\u0131 ve uzmanl\u0131k alanlar\u0131n\u0131 bir grafik olarak haritalama.<\/li>\n<\/ul>\n<h3>Sonu\u00e7<\/h3>\n<p>Kendi kendine grafik \u00e7izen bir grup sohbeti geli\u015ftirmek, sadece teknik bir ba\u015far\u0131 de\u011fil, ayn\u0131 zamanda dijital ileti\u015fimi anlama ve y\u00f6netme bi\u00e7imimize yepyeni bir perspektif kazand\u0131ran bir ad\u0131md\u0131r. Geleneksel sohbetlerin do\u011frusal yap\u0131s\u0131n\u0131n \u00f6tesine ge\u00e7erek, mesajlar aras\u0131ndaki karma\u015f\u0131k ili\u015fkileri, ana konular\u0131 ve kat\u0131l\u0131mc\u0131 dinamiklerini g\u00f6rselle\u015ftirmek, kullan\u0131c\u0131lara paha bi\u00e7ilmez i\u00e7g\u00f6r\u00fcler sunar. Node.js, Neo4j, React ve WebSockets gibi modern teknolojilerin birle\u015fimiyle, ger\u00e7ek zamanl\u0131, etkile\u015fimli ve \u00f6l\u00e7eklenebilir bir sistem in\u015fa etmek m\u00fcmk\u00fcn oldu. Bu proje, gelecekteki i\u015f birli\u011fi ara\u00e7lar\u0131n\u0131n ve ileti\u015fim platformlar\u0131n\u0131n nas\u0131l daha ak\u0131ll\u0131 ve anlaml\u0131 hale getirilebilece\u011fine dair g\u00fc\u00e7l\u00fc bir \u00f6rnek te\u015fkil etmektedir. Sohbetler art\u0131k sadece metin ak\u0131\u015flar\u0131 de\u011fil, etkile\u015fimlerin ve fikirlerin canl\u0131, nefes alan a\u011flar\u0131d\u0131r.<\/p>\n<h3>SSS (S\u0131k Sorulan Sorular)<\/h3>\n<h4>Bu sistemin temel amac\u0131 nedir?<\/h4>\n<p>Temel amac\u0131, grup sohbetlerindeki mesajlar\u0131n ve kat\u0131l\u0131mc\u0131lar\u0131n aras\u0131ndaki gizli ili\u015fkileri, ana konular\u0131 ve dinamikleri g\u00f6rsel bir grafik \u00fczerinde anlaml\u0131 ve ger\u00e7ek zamanl\u0131 olarak sunmakt\u0131r. Bu sayede sohbetlerin anla\u015f\u0131lmas\u0131 ve analiz edilmesi kolayla\u015f\u0131r.<\/p>\n<h4>Hangi teknolojiler kullan\u0131ld\u0131?<\/h4>\n<p>Backend i\u00e7in Node.js ve Socket.IO (WebSockets), veritaban\u0131 olarak Neo4j (grafik veritaban\u0131) ve frontend i\u00e7in React ile birlikte vis.js (grafik g\u00f6rselle\u015ftirme k\u00fct\u00fcphanesi) kullan\u0131ld\u0131.<\/p>\n<h4>Mesajlardan ili\u015fkiler nas\u0131l \u00e7\u0131kar\u0131l\u0131yor?<\/h4>\n<p>Mesajlar, Do\u011fal Dil \u0130\u015fleme (NLP) teknikleri ve kural tabanl\u0131 algoritmalar kullan\u0131larak i\u015flenir. Bu s\u00fcre\u00e7te kullan\u0131c\u0131 bahsetmeleri (@kullan\u0131c\u0131ad\u0131), hashtag'ler (#konu) ve mesaj yan\u0131tlar\u0131 gibi yap\u0131lar tespit edilerek ili\u015fkiler \u00e7\u0131kar\u0131l\u0131r.<\/p>\n<h4>Grafik neden ger\u00e7ek zamanl\u0131 g\u00fcncelleniyor?<\/h4>\n<p>Ger\u00e7ek zamanl\u0131 g\u00fcncelleme, sohbetin canl\u0131 dinamiklerini an\u0131nda yans\u0131tmak i\u00e7in kritik \u00f6neme sahiptir. Yeni bir mesaj geldi\u011finde, ili\u015fkiler \u00e7\u0131kar\u0131l\u0131r ve grafik an\u0131nda g\u00fcncellenerek kullan\u0131c\u0131lar\u0131n en g\u00fcncel etkile\u015fimleri g\u00f6rmesi sa\u011flan\u0131r. Bu, WebSockets teknolojisi sayesinde m\u00fcmk\u00fcn olur.<\/p>\n","protected":false},"excerpt":{"rendered":"G\u00fcn\u00fcm\u00fcz\u00fcn dijital ileti\u015fim d\u00fcnyas\u0131nda grup sohbetleri, hem ki\u015fisel hem de profesyonel etkile\u015fimlerin vazge\u00e7ilmez bir par\u00e7as\u0131 haline geldi. Ancak,&#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":[1],"tags":[],"class_list":{"0":"post-38232","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","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>Kendi Kendine Grafik \u00c7izen Bir Grup Sohbeti Geli\u015ftirdim - \u0130\u015fte Nas\u0131l Yap\u0131ld\u0131\u011f\u0131 - 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\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kendi Kendine Grafik \u00c7izen Bir Grup Sohbeti Geli\u015ftirdim - \u0130\u015fte Nas\u0131l Yap\u0131ld\u0131\u011f\u0131\" \/>\n<meta property=\"og:description\" content=\"G\u00fcn\u00fcm\u00fcz\u00fcn dijital ileti\u015fim d\u00fcnyas\u0131nda grup sohbetleri, hem ki\u015fisel hem de profesyonel etkile\u015fimlerin vazge\u00e7ilmez bir par\u00e7as\u0131 haline geldi. Ancak,...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-26T10:00:44+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=\"14 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Kendi Kendine Grafik \u00c7izen Bir Grup Sohbeti Geli\u015ftirdim &#8211; \u0130\u015fte Nas\u0131l Yap\u0131ld\u0131\u011f\u0131\",\"datePublished\":\"2026-01-26T10:00:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/\"},\"wordCount\":2738,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/\",\"name\":\"Kendi Kendine Grafik \u00c7izen Bir Grup Sohbeti Geli\u015ftirdim - \u0130\u015fte Nas\u0131l Yap\u0131ld\u0131\u011f\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-26T10:00:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kendi Kendine Grafik \u00c7izen Bir Grup Sohbeti Geli\u015ftirdim &#8211; \u0130\u015fte Nas\u0131l Yap\u0131ld\u0131\u011f\u0131\"}]},{\"@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":"Kendi Kendine Grafik \u00c7izen Bir Grup Sohbeti Geli\u015ftirdim - \u0130\u015fte Nas\u0131l Yap\u0131ld\u0131\u011f\u0131 - 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\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/","og_locale":"tr_TR","og_type":"article","og_title":"Kendi Kendine Grafik \u00c7izen Bir Grup Sohbeti Geli\u015ftirdim - \u0130\u015fte Nas\u0131l Yap\u0131ld\u0131\u011f\u0131","og_description":"G\u00fcn\u00fcm\u00fcz\u00fcn dijital ileti\u015fim d\u00fcnyas\u0131nda grup sohbetleri, hem ki\u015fisel hem de profesyonel etkile\u015fimlerin vazge\u00e7ilmez bir par\u00e7as\u0131 haline geldi. Ancak,...","og_url":"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-26T10:00:44+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"14 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Kendi Kendine Grafik \u00c7izen Bir Grup Sohbeti Geli\u015ftirdim &#8211; \u0130\u015fte Nas\u0131l Yap\u0131ld\u0131\u011f\u0131","datePublished":"2026-01-26T10:00:44+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/"},"wordCount":2738,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/","url":"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/","name":"Kendi Kendine Grafik \u00c7izen Bir Grup Sohbeti Geli\u015ftirdim - \u0130\u015fte Nas\u0131l Yap\u0131ld\u0131\u011f\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-26T10:00:44+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/kendi-kendine-grafik-cizen-bir-grup-sohbeti-gelistirdim-iste-nasil-yapildigi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Kendi Kendine Grafik \u00c7izen Bir Grup Sohbeti Geli\u015ftirdim &#8211; \u0130\u015fte Nas\u0131l Yap\u0131ld\u0131\u011f\u0131"}]},{"@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\/38232","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=38232"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38232\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}