{"id":1255,"date":"2026-10-22T12:45:18","date_gmt":"2026-10-22T12:45:18","guid":{"rendered":"https:\/\/serhatdiker.com\/?p=1255"},"modified":"2026-10-22T12:45:20","modified_gmt":"2026-10-22T12:45:20","slug":"anthropic-neden-kendi-surum-kontrol-sistemini-gelistirdi","status":"publish","type":"post","link":"https:\/\/serhatdiker.com\/index.php\/2026\/10\/22\/anthropic-neden-kendi-surum-kontrol-sistemini-gelistirdi\/","title":{"rendered":"Anthropic Neden Kendi S\u00fcr\u00fcm Kontrol Sistemini Geli\u015ftirdi?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Yapay zek\u00e2 destekli yaz\u0131l\u0131m geli\u015ftirmeyi konu\u015furken genellikle modelin ne kadar iyi kod yazd\u0131\u011f\u0131na odaklan\u0131yoruz. Daha do\u011fru sonu\u00e7 veren, daha b\u00fcy\u00fck ba\u011flam\u0131 anlayan, daha az m\u00fcdahale isteyen ara\u00e7lar\u0131 kar\u015f\u0131la\u015ft\u0131r\u0131yoruz. Ben ise bu h\u0131z art\u0131\u015f\u0131n\u0131n geli\u015ftirme s\u00fcrecinin geri kalan\u0131nda neyi de\u011fi\u015ftirdi\u011fini daha ilgin\u00e7 buluyorum.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bir ekip eskisinden \u00e7ok daha fazla kod \u00fcretebiliyorsa o kodun incelenmesi, test edilmesi, birle\u015ftirilmesi ve g\u00fcvenle yay\u0131na al\u0131nmas\u0131 da ayn\u0131 \u00f6l\u00e7\u00fcde \u00f6nem kazan\u0131yor. \u00dcretim kapasitesi artt\u0131\u011f\u0131nda sistemin ba\u015fka bir yerinde bekleme olu\u015fabiliyor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anthropic\u2019in Scion karar\u0131, bu durumu kaynak kontrol\u00fc \u00fczerinden incelemek i\u00e7in iyi bir \u00f6rnek.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u015eirketin 13 Ekim 2026 tarihli a\u00e7\u0131klamas\u0131na g\u00f6re g\u00fcnl\u00fck birle\u015ftirilen kod de\u011fi\u015fikli\u011fi say\u0131s\u0131 may\u0131sta yakla\u015f\u0131k 2.500 iken eyl\u00fclde 30.000\u2019i a\u015fm\u0131\u015f. Anthropic, ana kod deposunu kendi geli\u015ftirdi\u011fi Scion\u2019a be\u015f ayda ta\u015f\u0131m\u0131\u015f. Bunlar \u015firketin kendi i\u015f y\u00fck\u00fc i\u00e7in a\u00e7\u0131klad\u0131\u011f\u0131 veriler. <a href=\"https:\/\/www.anthropic.com\/research\/redesigning-source-control\">Anthropic\u2019in teknik a\u00e7\u0131klamas\u0131<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bu \u00f6l\u00e7ekte benim dikkatimi \u00e7eken nokta, kaynak kodun b\u00fcy\u00fckl\u00fc\u011f\u00fc kadar ona eri\u015fme s\u0131kl\u0131\u011f\u0131. Tek bir geli\u015ftiricinin bilgisayar\u0131nda kabul edilebilir olan haz\u0131rl\u0131k maliyeti, \u00e7ok say\u0131da ge\u00e7ici \u00e7al\u0131\u015fma ortam\u0131nda tekrarland\u0131\u011f\u0131nda \u00f6nemli bir altyap\u0131 giderine d\u00f6n\u00fc\u015febilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Git\u2019in tasar\u0131m\u0131n\u0131 bu a\u00e7\u0131dan d\u00fc\u015f\u00fcnmek gerekiyor. Git, bir\u00e7ok i\u015flemi yerel verilerle yapabilmemizi sa\u011fl\u0131yor. Ge\u00e7mi\u015fi incelemek, s\u00fcr\u00fcmler aras\u0131ndaki farklar\u0131 g\u00f6rmek ve commit olu\u015fturmak i\u00e7in s\u00fcrekli sunucuya ba\u011fl\u0131 kalmak zorunda de\u011filiz. Bu \u00f6zellik, geli\u015ftiriciye ba\u011f\u0131ms\u0131zl\u0131k kazand\u0131ran temel avantajlardan biri. <a href=\"https:\/\/git-scm.com\/book\/en\/v2\/Getting-Started-What-is-Git%3F\">Git\u2019in \u00e7al\u0131\u015fma modeli<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ancak birka\u00e7 dakikal\u0131\u011f\u0131na olu\u015fturulup sonra silinen bir otomasyon ortam\u0131n\u0131n ihtiya\u00e7lar\u0131 farkl\u0131 olabilir. Yaln\u0131zca belirli bir de\u011fi\u015fikli\u011fi inceleyecek bir i\u015f i\u00e7in hangi verilerin ger\u00e7ekten gerekli oldu\u011funu sorgulamak, bu y\u00fczden \u00f6nemli.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Burada Git\u2019in mevcut optimizasyonlar\u0131n\u0131 da do\u011fru ay\u0131rmak laz\u0131m:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Y\u00f6ntem<\/th><th>Azaltmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131 y\u00fck<\/th><\/tr><\/thead><tbody><tr><td><strong>Shallow clone<\/strong><\/td><td>\u0130ndirilen ge\u00e7mi\u015fin derinli\u011fi<\/td><\/tr><tr><td><strong>Partial clone<\/strong><\/td><td>Ba\u015flang\u0131\u00e7ta getirilen nesnelerin kapsam\u0131<\/td><\/tr><tr><td><strong>Sparse checkout<\/strong><\/td><td>\u00c7al\u0131\u015fma dizininde bulunan dosyalar\u0131n kapsam\u0131<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6rne\u011fin, sunucunun ilgili \u00f6zellikleri destekledi\u011fi bir depoda \u015f\u00f6yle bir ba\u015flang\u0131\u00e7 yap\u0131labilir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone --filter=blob:none --sparse \\\n  https:\/\/example.com\/team\/platform.git\n\ncd platform\n\ngit sparse-checkout set src\/Identity tests\/Identity<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bu \u00f6rnekte dosya i\u00e7erikleri ba\u015flang\u0131\u00e7ta filtrelenir; \u00e7al\u0131\u015fma dizini de se\u00e7ilen klas\u00f6rlerle s\u0131n\u0131rland\u0131r\u0131l\u0131r. \u0130htiya\u00e7 duyulan eksik i\u00e7erikler daha sonra getirilebilir. Derleme ortak k\u00fct\u00fcphanelere veya k\u00f6k dizindeki yap\u0131land\u0131rmalara ba\u011fl\u0131ysa se\u00e7imin buna g\u00f6re geni\u015fletilmesi gerekir. <a href=\"https:\/\/git-scm.com\/docs\/partial-clone\">Partial clone<\/a>, <a href=\"https:\/\/git-scm.com\/docs\/git-sparse-checkout\">sparse checkout<\/a>, <a href=\"https:\/\/git-scm.com\/docs\/git-clone\">clone se\u00e7enekleri<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dolay\u0131s\u0131yla b\u00fcy\u00fck bir depoyla kar\u015f\u0131la\u015f\u0131ld\u0131\u011f\u0131nda ilk ad\u0131m\u0131n yeni bir s\u00fcr\u00fcm kontrol sistemi yazmak olmas\u0131 gerekti\u011fini d\u00fc\u015f\u00fcnm\u00fcyorum. \u00d6nce mevcut ara\u00e7lar\u0131n do\u011fru kullan\u0131ld\u0131\u011f\u0131ndan ve maliyetin ger\u00e7ekten nerede olu\u015ftu\u011fundan emin olmak gerekir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anthropic\u2019in Scion\u2019da se\u00e7ti\u011fi mimari ise baz\u0131 sorumluluklar\u0131 sunucuya ta\u015f\u0131yor:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Alan<\/th><th>Scion\u2019un yakla\u015f\u0131m\u0131<\/th><\/tr><\/thead><tbody><tr><td>\u0130\u015flemler<\/td><td>Commit, merge ve rebase sunucuda y\u00fcr\u00fct\u00fcl\u00fcyor.<\/td><\/tr><tr><td>\u0130stemci<\/td><td>S\u0131n\u0131rl\u0131 yerel \u00f6nbellek tutuyor; veriyi ihtiya\u00e7 olduk\u00e7a al\u0131yor.<\/td><\/tr><tr><td>Sorgular<\/td><td>Diff, ge\u00e7mi\u015f ve ortak ata sorgular\u0131 API \u00fczerinden sunuluyor.<\/td><\/tr><tr><td>\u00c7al\u0131\u015fma kopyas\u0131<\/td><td>Baz\u0131 otomasyonlar yerel depo olu\u015fturmadan \u00e7al\u0131\u015fabiliyor.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">De\u011fi\u015fiklikler, write-ahead log i\u00e7indeki <strong>changeset<\/strong> kay\u0131tlar\u0131yla temsil ediliyor. Bu kay\u0131tlar ilk ebeveyne g\u00f6re de\u011fi\u015fen dosyalar\u0131 ve i\u00e7erik referanslar\u0131n\u0131 ta\u015f\u0131yor. Ge\u00e7mi\u015f ve blame gibi sorgular i\u00e7in ayr\u0131ca t\u00fcretilmi\u015f veri yap\u0131lar\u0131 olu\u015fturuluyor. <a href=\"https:\/\/www.anthropic.com\/research\/redesigning-source-control\">Scion\u2019un veri modeli ve mimarisi<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bu ayr\u0131m bana uygulama mimarisinde s\u0131k kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir tercihi hat\u0131rlat\u0131yor: Veriyi g\u00fcvenilir bi\u00e7imde kaydetmek i\u00e7in uygun olan yap\u0131 ile o veri \u00fczerinde h\u0131zl\u0131 sorgu yapmak i\u00e7in uygun olan yap\u0131 her zaman ayn\u0131 olmayabilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00d6rne\u011fin de\u011fi\u015fiklik ge\u00e7mi\u015fini saklamak ba\u015fka, belirli bir dosyan\u0131n ge\u00e7mi\u015fini d\u00fc\u015f\u00fck gecikmeyle sorgulamak ba\u015fka bir eri\u015fim ihtiyac\u0131d\u0131r. Sorgu desenleri belirginle\u015fti\u011finde bunlara \u00f6zel indeksler tasarlamak mant\u0131kl\u0131 hale gelir. Buna kar\u015f\u0131l\u0131k indekslerin olu\u015fturulmas\u0131, g\u00fcncelli\u011fi ve yeniden \u00fcretilebilmesi de sistemin sorumlulu\u011funa eklenir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0130\u00e7erik adresleme konusunda da bir ayr\u0131m\u0131 \u00f6nemsiyorum. \u0130\u00e7eri\u011fin hash \u00fczerinden tan\u0131mlanmas\u0131 Git\u2019te zaten bulunan temel bir \u00f6zellik. B\u00f6yle bir yap\u0131 ayn\u0131 i\u00e7eri\u011fin yeniden tan\u0131nmas\u0131n\u0131 ve payla\u015f\u0131lmas\u0131n\u0131 kolayla\u015ft\u0131r\u0131r. Tek ba\u015f\u0131na bu \u00f6zelli\u011fin varl\u0131\u011f\u0131, b\u00fct\u00fcn eri\u015fim ve \u00f6l\u00e7ekleme problemlerini \u00e7\u00f6zmez. <a href=\"https:\/\/git-scm.com\/book\/en\/v2\/Git-Internals-Git-Objects\">Git\u2019in nesne modeli<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ben bir mimariyi de\u011ferlendirirken hangi verinin de\u011fi\u015fmez oldu\u011funu, hangi bilginin zaman i\u00e7inde de\u011fi\u015febildi\u011fini ayr\u0131 ele al\u0131r\u0131m. Belirli bir i\u00e7erik nesnesini \u00f6nbelle\u011fe almak ile bir dal\u0131n en g\u00fcncel durumunu \u00f6nbelle\u011fe almak ayn\u0131 tutarl\u0131l\u0131k ihtiyac\u0131na sahip de\u011fildir. Benzer bi\u00e7imde, i\u00e7eri\u011fin do\u011frulanabilir olmas\u0131 kullan\u0131c\u0131n\u0131n o i\u00e7eri\u011fe eri\u015fmeye yetkili oldu\u011funu g\u00f6stermez.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Performans tasar\u0131m\u0131; tutarl\u0131l\u0131k, yetkilendirme ve hata durumlar\u0131yla birlikte d\u00fc\u015f\u00fcn\u00fclmek zorunda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bunun ekonomik taraf\u0131 da olduk\u00e7a somut. Tamamen \u00f6rnek bir hesap yapal\u0131m: Bir otomasyon i\u015fi, ihtiya\u00e7 duymad\u0131\u011f\u0131 200 MB veriyi indiriyorsa ve bu i\u015flem g\u00fcnde 10.000 kez tekrarlan\u0131yorsa yakla\u015f\u0131k 2 TB gereksiz aktar\u0131m olu\u015fur. Bu, Anthropic\u2019in \u00f6l\u00e7\u00fcm\u00fc de\u011fil; k\u00fc\u00e7\u00fck birim maliyetlerin tekrar say\u0131s\u0131yla nas\u0131l b\u00fcy\u00fcd\u00fc\u011f\u00fcn\u00fc g\u00f6stermek i\u00e7in verdi\u011fim varsay\u0131msal bir \u00f6rnek.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00dcstelik maliyet yaln\u0131zca a\u011f trafi\u011fi de\u011fildir. Dosyalar\u0131n a\u00e7\u0131lmas\u0131, diske yaz\u0131lmas\u0131, taranmas\u0131 ve ortam\u0131n i\u015fe haz\u0131r hale gelmesi de kaynak t\u00fcketir. Bu nedenle ben bir CI s\u00fcresini incelerken test s\u00fcresiyle haz\u0131rl\u0131k s\u00fcresini ayr\u0131 g\u00f6rmek isterim. Testleri h\u0131zland\u0131rmaya \u00e7al\u0131\u015f\u0131rken as\u0131l bekleme kaynak kodun haz\u0131rlanmas\u0131nda ya\u015fan\u0131yor olabilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kaynak kontrol\u00fc h\u0131zland\u0131\u011f\u0131nda da geli\u015ftirme s\u00fcrecinin tamam\u0131 otomatik olarak h\u0131zlanm\u0131\u015f say\u0131lmaz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bunu bir kuyruk problemi olarak d\u00fc\u015f\u00fcnmek m\u00fcmk\u00fcn. Bir do\u011frulama hatt\u0131na dakikada 100 de\u011fi\u015fiklik geliyor, hat dakikada 80 de\u011fi\u015fikli\u011fi tamamlayabiliyorsa basitle\u015ftirilmi\u015f hesapla her dakika 20 de\u011fi\u015fiklik birikir. Daha fazla kod \u00fcreten ajan eklemek, bu hatt\u0131n kapasitesini art\u0131rmad\u0131\u011f\u0131n\u0131z s\u00fcrece beklemeyi b\u00fcy\u00fct\u00fcr.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bu y\u00fczden benim AI destekli geli\u015ftirme s\u00fcre\u00e7lerinde izlemek isteyece\u011fim metrikler \u015funlar olur:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>De\u011fi\u015fikli\u011fin olu\u015fturulmas\u0131ndan do\u011frulanmas\u0131na kadar ge\u00e7en s\u00fcre.<\/li>\n\n<li>\u0130nceleme bekleyen de\u011fi\u015fikliklerin say\u0131s\u0131 ve ya\u015f\u0131.<\/li>\n\n<li>Hatal\u0131 de\u011fi\u015fikliklerin hangi a\u015famada yakaland\u0131\u011f\u0131.<\/li>\n\n<li>De\u011fi\u015fiklik ba\u015f\u0131na kullan\u0131lan altyap\u0131 kayna\u011f\u0131.<\/li>\n\n<li>Canl\u0131ya \u00e7\u0131kan de\u011fi\u015fikliklerin geri al\u0131nma oran\u0131.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Bu metrikler olmadan g\u00fcnl\u00fck commit say\u0131s\u0131ndaki art\u0131\u015f\u0131n i\u015fletmeye ne kazand\u0131rd\u0131\u011f\u0131n\u0131 de\u011ferlendirmek zorla\u015f\u0131r. \u00c7ok say\u0131da k\u00fc\u00e7\u00fck ve g\u00fcvenilir de\u011fi\u015fiklik de\u011ferli olabilir. Birbirini bozan, s\u00fcrekli yeniden test isteyen de\u011fi\u015fiklikler ise ayn\u0131 hacimde farkl\u0131 bir sonu\u00e7 \u00fcretir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GitLab\u2019\u0131n ayn\u0131 d\u00f6nemde a\u00e7\u0131klad\u0131\u011f\u0131 \u00e7al\u0131\u015fma da bu a\u00e7\u0131dan dikkate de\u011fer. \u015eirket, Git uyumlulu\u011funu koruyarak sunucu mimarisini ve ajanlar\u0131n veri eri\u015fimini geli\u015ftiren yeni kaynak kontrol altyap\u0131s\u0131n\u0131 \u00f6zel beta a\u015famas\u0131nda sundu\u011funu belirtiyor. B\u00f6ylece sekt\u00f6r\u00fcn \u00f6n\u00fcnde farkl\u0131 ge\u00e7i\u015f yollar\u0131 bulundu\u011funu g\u00f6r\u00fcyoruz. <a href=\"https:\/\/about.gitlab.com\/blog\/scaling-git-for-the-agentic-software-factory\/\">GitLab\u2019\u0131n a\u00e7\u0131klamas\u0131<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ben kurumsal bir ekip i\u00e7in karar verecek olsam \u00f6nce darbo\u011faz\u0131n \u00f6l\u00e7\u00fcm\u00fcn\u00fc isterim. Mevcut Git sunucusunun, runner yap\u0131s\u0131n\u0131n, \u00f6nbelleklerin ve pipeline tasar\u0131m\u0131n\u0131n hangi noktada yetersiz kald\u0131\u011f\u0131n\u0131 g\u00f6rmeden altyap\u0131y\u0131 de\u011fi\u015ftirmek istemem. Yeni sistemin performans kazanc\u0131yla birlikte yedekleme, felaket kurtarma, eri\u015fim y\u00f6netimi, ara\u00e7 entegrasyonu ve bak\u0131m maliyetini de hesaba katar\u0131m.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anthropic de Scion\u2019u genel kullan\u0131m i\u00e7in uygun bir Git ikamesi olarak konumland\u0131rm\u0131yor; \u00e7\u00f6z\u00fcm\u00fcn devasa depolar ve yo\u011fun ajan i\u015f y\u00fckleri i\u00e7in tasarland\u0131\u011f\u0131n\u0131 a\u00e7\u0131k\u00e7a s\u00f6yl\u00fcyor. <a href=\"https:\/\/www.anthropic.com\/research\/redesigning-source-control\">Scion\u2019un kullan\u0131m s\u0131n\u0131rlar\u0131<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bu \u00f6rnekten \u00e7\u0131kard\u0131\u011f\u0131m m\u00fchendislik dersi, kulland\u0131\u011f\u0131m\u0131z ara\u00e7lar\u0131n varsay\u0131mlar\u0131n\u0131 d\u00fczenli olarak yeniden de\u011ferlendirmek. Kullan\u0131c\u0131 profili, i\u015flem hacmi ve eri\u015fim bi\u00e7imi de\u011fi\u015fti\u011finde y\u0131llard\u0131r do\u011fru \u00e7al\u0131\u015fan bir mimarinin maliyet dengesi de de\u011fi\u015febilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Benim i\u00e7in iyi bir AI geli\u015ftirme altyap\u0131s\u0131n\u0131n ba\u015far\u0131s\u0131, daha fazla kod \u00fcretebilmenin yan\u0131nda o kodun gerek\u00e7esini anlayabilmek, do\u011frulu\u011funu s\u0131nayabilmek ve etkisini g\u00fcvenle y\u00f6netebilmekle \u00f6l\u00e7\u00fcl\u00fcr. Scion\u2019u ilgin\u00e7 bulmam\u0131n nedeni de kaynak kontrol\u00fcn\u00fc bu daha geni\u015f s\u00fcrecin i\u00e7inde yeniden d\u00fc\u015f\u00fcnmeye zorlamas\u0131.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Anthropic\u2019in Scion karar\u0131n\u0131; Git\u2019in da\u011f\u0131t\u0131k modeli, partial clone ve sparse checkout, sunucu taraf\u0131ndaki i\u015flemler ve AI ajanlar\u0131n\u0131n b\u00fcy\u00fctt\u00fc\u011f\u00fc CI y\u00fck\u00fc \u00fczerinden inceliyorum.<\/p>\n","protected":false},"author":1,"featured_media":1258,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"Anthropic\u2019in Scion mimarisi: Git optimizasyonlar\u0131, changeset veri modeli ve AI ajanlar\u0131n\u0131n kaynak kontrol\u00fc ile CI s\u00fcre\u00e7lerine etkisi.","jetpack_seo_html_title":"Anthropic Neden Kendi S\u00fcr\u00fcm Kontrol Sistemini Geli\u015ftirdi?","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":false,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[260],"tags":[281,277,279,282,280,278],"class_list":["post-1255","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-yazilim-muhendisligi","tag-ai-ajanlari","tag-anthropic","tag-ci-cd","tag-devops","tag-git","tag-scion"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/serhatdiker.com\/wp-content\/uploads\/2026\/10\/cover-scion-patch-panel.jpg","_links":{"self":[{"href":"https:\/\/serhatdiker.com\/index.php\/wp-json\/wp\/v2\/posts\/1255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/serhatdiker.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/serhatdiker.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/serhatdiker.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/serhatdiker.com\/index.php\/wp-json\/wp\/v2\/comments?post=1255"}],"version-history":[{"count":2,"href":"https:\/\/serhatdiker.com\/index.php\/wp-json\/wp\/v2\/posts\/1255\/revisions"}],"predecessor-version":[{"id":1257,"href":"https:\/\/serhatdiker.com\/index.php\/wp-json\/wp\/v2\/posts\/1255\/revisions\/1257"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/serhatdiker.com\/index.php\/wp-json\/wp\/v2\/media\/1258"}],"wp:attachment":[{"href":"https:\/\/serhatdiker.com\/index.php\/wp-json\/wp\/v2\/media?parent=1255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/serhatdiker.com\/index.php\/wp-json\/wp\/v2\/categories?post=1255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/serhatdiker.com\/index.php\/wp-json\/wp\/v2\/tags?post=1255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}