{"id":25934,"date":"2025-07-16T03:45:30","date_gmt":"2025-07-16T00:45:30","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/"},"modified":"2025-07-16T03:45:30","modified_gmt":"2025-07-16T00:45:30","slug":"bashte-demetlerde-dongu-olusturma-orneklerle","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/","title":{"rendered":"Bash&#8217;te Demetlerde D\u00f6ng\u00fc Olu\u015fturma (\u00d6rneklerle)"},"content":{"rendered":"<p># Bash&#8217;te Tuple&#8217;lar \u00dczerinde D\u00f6ng\u00fc Olu\u015fturma: Ad\u0131m Ad\u0131m K\u0131lavuz<\/p>\n<p>Bash betiklerinde, verileri d\u00fczenli bir \u015fekilde saklamak ve i\u015flemek i\u00e7in tuple&#8217;lar\u0131 (demetleri) kullanmak olduk\u00e7a yayg\u0131nd\u0131r. Ancak, Bash&#8217;in yerle\u015fik bir tuple veri yap\u0131s\u0131 olmad\u0131\u011f\u0131n\u0131 belirtmekte fayda var.  Tuple benzeri yap\u0131lar\u0131, diziler veya de\u011fi\u015fken k\u00fcmeleri kullanarak sim\u00fcle edebiliriz. Bu makalede, Bash&#8217;te tuple benzeri yap\u0131larda nas\u0131l d\u00f6ng\u00fc olu\u015fturaca\u011f\u0131n\u0131z\u0131, farkl\u0131 y\u00f6ntemleri ve performans optimizasyonlar\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131z.  Bash betiklerinizde verimlili\u011fi art\u0131rmak ve karma\u015f\u0131k i\u015flemleri kolayla\u015ft\u0131rmak i\u00e7in bu rehberi kullanabilirsiniz.<\/p>\n<p><strong>Bash&#8217;te Tuple Kavram\u0131 ve Dizilerle Benzerli\u011fi<\/strong><\/p>\n<p>Bash, Python veya di\u011fer dillerdeki tuple&#8217;lar gibi do\u011frudan bir tuple veri yap\u0131s\u0131na sahip de\u011fildir. Bunun yerine, tuple&#8217;lar\u0131n \u00f6zelliklerini taklit etmek i\u00e7in dizileri kullan\u0131r.  Bir dizi, s\u0131ral\u0131 bir veri koleksiyonudur ve her elemana bir indeks numaras\u0131yla eri\u015febilirsiniz.  Tuple&#8217;lar\u0131n \u00f6nemli \u00f6zelli\u011fi, elemanlar\u0131n\u0131n de\u011fi\u015ftirilemez olmas\u0131d\u0131r.  Bash dizilerinde de elemanlar\u0131 de\u011fi\u015ftirmek m\u00fcmk\u00fcnd\u00fcr, ancak tuple mant\u0131\u011f\u0131n\u0131 taklit etmek i\u00e7in dizinin elemanlar\u0131n\u0131 de\u011fi\u015ftirmeden i\u015flemlerimizi yapmam\u0131z gerekir.<\/p>\n<p><strong>Bash&#8217;te Tuple Benzeri Yap\u0131lar Nas\u0131l Olu\u015fturulur?<\/strong><\/p>\n<p>Tuple benzeri bir yap\u0131 olu\u015fturmak i\u00e7in, elemanlar\u0131 bo\u015fluklarla ayr\u0131lm\u0131\u015f bir dizide saklayabiliriz.  \u00d6rne\u011fin, <code class=\"language-\">(ad soyad yas)<\/code> gibi bir tuple&#8217;\u0131, <code class=\"language-\">ad=\"Ahmet\"; soyad=\"Soylu\"; yas=\"30\"<\/code> \u015feklinde \u00fc\u00e7 ayr\u0131 de\u011fi\u015fkende veya <code class=\"language-\">tuple=(\"Ahmet\" \"Soylu\" \"30\")<\/code> gibi bir dizi de\u011fi\u015fkeninde saklayabiliriz. \u0130kinci y\u00f6ntem, tuple benzeri bir yap\u0131y\u0131 daha d\u00fczenli bir \u015fekilde temsil etmemizi sa\u011flar.<\/p>\n<p><strong>1. Y\u00f6ntem: <code class=\"language-\">for<\/code> D\u00f6ng\u00fcs\u00fc ile Tuple&#8217;lar \u00dczerinde \u0130terasyon<\/strong><\/p>\n<p>En basit y\u00f6ntem, <code class=\"language-\">for<\/code> d\u00f6ng\u00fcs\u00fc kullanmakt\u0131r. Bu y\u00f6ntem, dizi elemanlar\u0131n\u0131 s\u0131rayla i\u015fler.<\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong><\/p>\n<pre class=\"language-bash\"><code>tuple=(&quot;elma&quot; &quot;armut&quot; &quot;muz&quot;)\n\nfor meyve in &quot;${tuple[@]}&quot;; do\n  echo &quot;Meyve: $meyve&quot;\ndone<\/code><\/pre>\n<p>Bu kod, <code class=\"language-\">tuple<\/code> dizisinin her eleman\u0131n\u0131 <code class=\"language-\">meyve<\/code> de\u011fi\u015fkenine atayarak ekrana yazar.  <code class=\"language-\">\"${tuple[@]}\"<\/code> ifadesi, dizinin t\u00fcm elemanlar\u0131n\u0131 do\u011fru bir \u015fekilde i\u015fler.  Tek t\u0131rnaklar, bo\u015fluk i\u00e7eren elemanlar\u0131n do\u011fru \u015fekilde i\u015flenmesini sa\u011flar.<\/p>\n<p><strong>Orta:<\/strong><\/p>\n<p>\u015eimdi, bir dosyadaki her sat\u0131r\u0131 okuyarak, her sat\u0131rdaki kelimeleri bir &#8220;tuple&#8221; gibi ele alal\u0131m.  \u00d6rne\u011fin, bir kullan\u0131c\u0131 veritaban\u0131 dosyas\u0131 d\u00fc\u015f\u00fcnelim:<\/p>\n<pre class=\"language-bash\"><code>while IFS= read -r line; do\n  tuple=($line)  # Sat\u0131r\u0131 bo\u015fluklara g\u00f6re ay\u0131r\u0131p diziye atar\n  ad=&quot;${tuple[0]}&quot;\n  soyad=&quot;${tuple[1]}&quot;\n  yas=&quot;${tuple[2]}&quot;\n  echo &quot;Kullan\u0131c\u0131: $ad $soyad, Ya\u015f: $yas&quot;\ndone &lt; kullanicilar.txt<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">kullanicilar.txt<\/code> dosyas\u0131n\u0131n her sat\u0131r\u0131 bir kullan\u0131c\u0131 bilgisini temsil eder ve bu bilgiler bo\u015fluklara g\u00f6re ayr\u0131lm\u0131\u015ft\u0131r.  <code class=\"language-\">IFS= read -r line<\/code> komutu, her sat\u0131r\u0131 do\u011fru bir \u015fekilde okur ve <code class=\"language-\">tuple=($line)<\/code> komutu ise sat\u0131r\u0131 bo\u015fluklara g\u00f6re par\u00e7alayarak bir dizi olu\u015fturur.<\/p>\n<p><strong>\u0130leri D\u00fczey:<\/strong><\/p>\n<p>Performans a\u00e7\u0131s\u0131ndan, \u00e7ok b\u00fcy\u00fck dosyalar i\u00e7in bu y\u00f6ntem yava\u015f olabilir.  Daha b\u00fcy\u00fck dosyalar i\u00e7in, <code class=\"language-\">awk<\/code> veya <code class=\"language-\">sed<\/code> gibi daha verimli ara\u00e7lar\u0131 kullanmak daha uygun olabilir.  Ayr\u0131ca, hata y\u00f6netimi (\u00f6rne\u011fin, sat\u0131r say\u0131s\u0131n\u0131n beklenenden farkl\u0131 olmas\u0131 durumu) eklenmelidir.<\/p>\n<p><strong>2. Y\u00f6ntem: \u0130ndeks Kullanarak D\u00f6ng\u00fc Olu\u015fturma<\/strong><\/p>\n<p>Dizi elemanlar\u0131na indeks numaralar\u0131yla eri\u015ferek de bir d\u00f6ng\u00fc olu\u015fturabiliriz. Bu y\u00f6ntem, elemanlar\u0131n indekslerine g\u00f6re i\u015flem yap\u0131lmas\u0131 gerekti\u011finde daha kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong><\/p>\n<pre class=\"language-bash\"><code>tuple=(&quot;elma&quot; &quot;armut&quot; &quot;muz&quot;)\ndizi_uzunlugu=${#tuple[@]}\n\nfor (( i=0; i&lt;dizi_uzunlugu; i++ )); do\n  echo &quot;Meyve ($i): ${tuple[i]}&quot;\ndone<\/code><\/pre>\n<p>Bu kod, <code class=\"language-\">for<\/code> d\u00f6ng\u00fcs\u00fc kullanarak dizinin indeks numaralar\u0131n\u0131 s\u0131rayla i\u015fler ve her bir eleman\u0131 ekrana yazar.  <code class=\"language-\">#tuple[@]<\/code> ifadesi, dizinin uzunlu\u011funu verir.<\/p>\n<p><strong>Orta:<\/strong><\/p>\n<p>Bu y\u00f6ntemi, her eleman\u0131n bir i\u015fleve g\u00f6nderilmesi gereken durumlarda kullanabiliriz.  \u00d6rne\u011fin, her meyvenin fiyat\u0131n\u0131 hesaplayan bir fonksiyonumuz olsun:<\/p>\n<pre class=\"language-bash\"><code>meyve_fiyatlari=(10 15 20)\n\nfor (( i=0; i&lt;${#tuple[@]}; i++ )); do\n  fiyat=$(hesapla_fiyat &quot;${tuple[i]}&quot; &quot;${meyve_fiyatlari[i]}&quot;)\n  echo &quot;${tuple[i]} fiyat\u0131: $fiyat&quot;\ndone\n\nhesapla_fiyat() {\n  echo &quot;$2&quot; # Basit bir hesaplama \u00f6rne\u011fi\n}<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">hesapla_fiyat<\/code> fonksiyonu, meyve ad\u0131 ve fiyat\u0131n\u0131 alarak bir fiyat hesaplamas\u0131 yapar.<\/p>\n<p><strong>\u0130leri D\u00fczey:<\/strong><\/p>\n<p>Hata y\u00f6netimi eklemek \u00f6nemlidir.  \u00d6rne\u011fin, dizinin indeks d\u0131\u015f\u0131 bir elemana eri\u015fim denemesi durumunda hata mesaj\u0131 g\u00f6sterilebilir.  Ayr\u0131ca, b\u00fcy\u00fck diziler i\u00e7in performans analizi yaparak daha verimli bir y\u00f6ntem se\u00e7ilmelidir.<\/p>\n<p><strong>3. Y\u00f6ntem: <code class=\"language-\">while<\/code> D\u00f6ng\u00fcs\u00fc ile \u0130ndeks Kullanarak \u0130terasyon<\/strong><\/p>\n<p><code class=\"language-\">while<\/code> d\u00f6ng\u00fcs\u00fc kullanarak da indeks numaralar\u0131yla dizi elemanlar\u0131na eri\u015febiliriz. Bu y\u00f6ntem, d\u00f6ng\u00fcn\u00fcn ko\u015fuluna daha fazla kontrol sa\u011flamak istedi\u011fimizde kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong><\/p>\n<pre class=\"language-bash\"><code>tuple=(&quot;elma&quot; &quot;armut&quot; &quot;muz&quot;)\ni=0\n\nwhile [ $i -lt ${#tuple[@]} ]; do\n  echo &quot;Meyve ($i): ${tuple[i]}&quot;\n  i=$((i+1))\ndone<\/code><\/pre>\n<p>Bu kod, <code class=\"language-\">while<\/code> d\u00f6ng\u00fcs\u00fc kullanarak dizinin indeks numaralar\u0131n\u0131 s\u0131rayla i\u015fler.  <code class=\"language-\">$i -lt ${#tuple[@]}<\/code> ko\u015fulu, d\u00f6ng\u00fcn\u00fcn dizinin sonuna kadar devam etmesini sa\u011flar.<\/p>\n<p><strong>Orta:<\/strong><\/p>\n<p>Bu y\u00f6ntem, d\u00f6ng\u00fcy\u00fc belirli bir ko\u015fula ba\u011fl\u0131 olarak durdurmak istedi\u011fimizde kullan\u0131\u015fl\u0131d\u0131r.  \u00d6rne\u011fin, belirli bir meyve bulundu\u011funda d\u00f6ng\u00fcy\u00fc sonland\u0131rabiliriz:<\/p>\n<pre class=\"language-bash\"><code>tuple=(&quot;elma&quot; &quot;armut&quot; &quot;muz&quot; &quot;elma&quot;)\ni=0\n\nwhile [ $i -lt ${#tuple[@]} ]; do\n  if [ &quot;${tuple[i]}&quot; == &quot;muz&quot; ]; then\n    break\n  fi\n  echo &quot;Meyve ($i): ${tuple[i]}&quot;\n  i=$((i+1))\ndone<\/code><\/pre>\n<p><strong>\u0130leri D\u00fczey:<\/strong><\/p>\n<p><code class=\"language-\">while<\/code> d\u00f6ng\u00fcs\u00fcn\u00fcn performans\u0131, <code class=\"language-\">for<\/code> d\u00f6ng\u00fcs\u00fcyle kar\u015f\u0131la\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda genellikle benzerdir.  Ancak, karma\u015f\u0131k ko\u015fullar\u0131n kullan\u0131ld\u0131\u011f\u0131 durumlarda, kodun okunabilirli\u011fi ve bak\u0131m\u0131 daha zor olabilir.  Bu nedenle, kodun okunabilirli\u011fi ve bak\u0131m\u0131 aras\u0131nda denge kurmak \u00f6nemlidir.<\/p>\n<p><strong>Performans Optimizasyonu \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p>B\u00fcy\u00fck tuple&#8217;lar (diziler) \u00fczerinde \u00e7al\u0131\u015f\u0131rken performans \u00f6nemli bir fakt\u00f6rd\u00fcr.  A\u015fa\u011f\u0131daki ipu\u00e7lar\u0131 performans\u0131 art\u0131rman\u0131za yard\u0131mc\u0131 olabilir:<\/p>\n<p>* <strong>Do\u011fru indeksleme:<\/strong> Dizi elemanlar\u0131na do\u011fru indeksleme y\u00f6ntemini kullan\u0131n.  <code class=\"language-\">\"${tuple[@]}\"<\/code> t\u00fcm elemanlar\u0131 d\u00f6nd\u00fcr\u00fcrken, <code class=\"language-\">\"${tuple[i]}\"<\/code> belirli bir eleman\u0131 d\u00f6nd\u00fcr\u00fcr.  \u0130htiyac\u0131n\u0131z olan eleman\u0131 se\u00e7in.<br \/>\n* <strong><code class=\"language-\">awk<\/code> veya <code class=\"language-\">sed<\/code> kullan\u0131m\u0131:<\/strong>  B\u00fcy\u00fck dosyalar\u0131 i\u015flemek i\u00e7in <code class=\"language-\">awk<\/code> veya <code class=\"language-\">sed<\/code> gibi daha verimli ara\u00e7lar\u0131 kullan\u0131n.  Bu ara\u00e7lar, metin i\u015fleme i\u015flemlerini \u00e7ok daha h\u0131zl\u0131 bir \u015fekilde ger\u00e7ekle\u015ftirir.<br \/>\n* <strong>\u00d6nbellekleme:<\/strong>  Ayn\u0131 veriye tekrar tekrar eri\u015fmeniz gerekiyorsa, verileri \u00f6nbelle\u011fe al\u0131n.  Bu, verilerin tekrar tekrar okunmas\u0131n\u0131 \u00f6nleyerek performans\u0131 art\u0131r\u0131r.<br \/>\n* <strong>Gereksiz i\u015flemlerden ka\u00e7\u0131n\u0131n:<\/strong> Gereksiz i\u015flemlerden ka\u00e7\u0131n\u0131n ve kodunuzu optimize edin.  \u00d6rne\u011fin, d\u00f6ng\u00fc i\u00e7inde gereksiz fonksiyon \u00e7a\u011fr\u0131lar\u0131 yapmaktan ka\u00e7\u0131n\u0131n.<\/p>\n<p><strong>Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ve Vaka \u00c7al\u0131\u015fmalar\u0131<\/strong><\/p>\n<p><strong>Senaryo 1: Log Dosyas\u0131 Analizi:<\/strong>  B\u00fcy\u00fck bir log dosyas\u0131nda, her sat\u0131r bir tuple gibi d\u00fc\u015f\u00fcn\u00fclebilir (tarih, saat, olay, kullan\u0131c\u0131 gibi).  Bash betikleri, bu tuple&#8217;lar\u0131 i\u015fleyerek log dosyas\u0131ndaki belirli olaylar\u0131 sayabilir veya hata mesajlar\u0131n\u0131 filtreleyebilir.  Bu i\u015flemde, <code class=\"language-\">awk<\/code> veya <code class=\"language-\">sed<\/code> gibi ara\u00e7lar performans\u0131 art\u0131rmak i\u00e7in kullan\u0131labilir.<\/p>\n<p><strong>Senaryo 2: Veritaban\u0131 \u0130\u015flemleri:<\/strong>  Basit bir veritaban\u0131 dosyas\u0131nda her sat\u0131r, kullan\u0131c\u0131 bilgilerini i\u00e7eren bir tuple olarak d\u00fc\u015f\u00fcn\u00fclebilir.  Bash betikleri, bu tuple&#8217;lar\u0131 kullanarak kullan\u0131c\u0131 ekleme, silme veya g\u00fcncelleme gibi i\u015flemler ger\u00e7ekle\u015ftirebilir.  Bu durumda, veritaban\u0131 dosyas\u0131n\u0131n boyutu b\u00fcy\u00fcd\u00fck\u00e7e performans optimizasyonu \u00f6nemli hale gelir.<\/p>\n<p><strong>Senaryo 3: Konfig\u00fcrasyon Dosyas\u0131 \u0130\u015fleme:<\/strong>  Bir konfig\u00fcrasyon dosyas\u0131nda, her sat\u0131r bir ayar (anahtar-de\u011fer \u00e7ifti) i\u00e7eren bir tuple olarak d\u00fc\u015f\u00fcn\u00fclebilir.  Bash betikleri, bu tuple&#8217;lar\u0131 kullanarak konfig\u00fcrasyon ayarlar\u0131n\u0131 okuyabilir ve i\u015fleyebilir.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/strong><\/p>\n<p>1. <strong>Bash&#8217;te tuple&#8217;lar ger\u00e7ekten destekleniyor mu?<\/strong> Hay\u0131r, Bash&#8217;te yerle\u015fik bir tuple veri yap\u0131s\u0131 yoktur. Ancak dizileri kullanarak tuple benzeri yap\u0131lar olu\u015fturabiliriz.<\/p>\n<p>2. <strong>Hangi d\u00f6ng\u00fc t\u00fcr\u00fc daha verimlidir?<\/strong> Genellikle <code class=\"language-\">for<\/code> d\u00f6ng\u00fcs\u00fc, <code class=\"language-\">while<\/code> d\u00f6ng\u00fcs\u00fcnden daha verimlidir. Ancak, belirli durumlarda <code class=\"language-\">while<\/code> d\u00f6ng\u00fcs\u00fc daha uygun olabilir.<\/p>\n<p>3. <strong>B\u00fcy\u00fck dosyalar i\u00e7in hangi y\u00f6ntem \u00f6nerilir?<\/strong> B\u00fcy\u00fck dosyalar i\u00e7in <code class=\"language-\">awk<\/code> veya <code class=\"language-\">sed<\/code> gibi daha verimli ara\u00e7lar\u0131 kullanmak daha iyidir.<\/p>\n<p>4. <strong>Hata y\u00f6netimi nas\u0131l yap\u0131l\u0131r?<\/strong> Hata y\u00f6netimi i\u00e7in, <code class=\"language-\">if<\/code> ko\u015fullar\u0131 ve hata mesajlar\u0131 kullanarak olas\u0131 hatalar\u0131 yakalayabilirsiniz.<\/p>\n<p>5. <strong>Performans\u0131 nas\u0131l art\u0131rabilirim?<\/strong> Performans\u0131 art\u0131rmak i\u00e7in yukar\u0131da bahsedilen performans optimizasyonu ipu\u00e7lar\u0131n\u0131 kullanabilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# Bash&#8217;te Tuple&#8217;lar \u00dczerinde D\u00f6ng\u00fc Olu\u015fturma: Ad\u0131m Ad\u0131m K\u0131lavuz Bash betiklerinde, verileri d\u00fczenli bir \u015fekilde saklamak ve i\u015flemek&hellip;","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":[1328],"tags":[],"class_list":{"0":"post-25934","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-bash","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>Bash&#039;te Demetlerde D\u00f6ng\u00fc Olu\u015fturma (\u00d6rneklerle)<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\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\/bashte-demetlerde-dongu-olusturma-orneklerle\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bash&#039;te Demetlerde D\u00f6ng\u00fc Olu\u015fturma (\u00d6rneklerle)\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-16T00:45:30+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=\"7 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Bash&#8217;te Demetlerde D\u00f6ng\u00fc Olu\u015fturma (\u00d6rneklerle)\",\"datePublished\":\"2025-07-16T00:45:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/\"},\"wordCount\":1226,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Bash\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/\",\"name\":\"Bash'te Demetlerde D\u00f6ng\u00fc Olu\u015fturma (\u00d6rneklerle)\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-07-16T00:45:30+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bash&#8217;te Demetlerde D\u00f6ng\u00fc Olu\u015fturma (\u00d6rneklerle)\"}]},{\"@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":"Bash'te Demetlerde D\u00f6ng\u00fc Olu\u015fturma (\u00d6rneklerle)","description":"Hi\u00e7bir etiketi bulunamad\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\/bashte-demetlerde-dongu-olusturma-orneklerle\/","og_locale":"tr_TR","og_type":"article","og_title":"Bash'te Demetlerde D\u00f6ng\u00fc Olu\u015fturma (\u00d6rneklerle)","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-07-16T00:45:30+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"7 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Bash&#8217;te Demetlerde D\u00f6ng\u00fc Olu\u015fturma (\u00d6rneklerle)","datePublished":"2025-07-16T00:45:30+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/"},"wordCount":1226,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Bash"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/","url":"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/","name":"Bash'te Demetlerde D\u00f6ng\u00fc Olu\u015fturma (\u00d6rneklerle)","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-07-16T00:45:30+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/bashte-demetlerde-dongu-olusturma-orneklerle\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bash&#8217;te Demetlerde D\u00f6ng\u00fc Olu\u015fturma (\u00d6rneklerle)"}]},{"@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\/25934","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=25934"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/25934\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=25934"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=25934"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=25934"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}