[{"data":1,"prerenderedAt":809},["ShallowReactive",2],{"post-\u002Ftr\u002Fes17-nedir-ecmascript-2026-nedir":3},{"page":4,"translation":640,"nav":656,"related":785,"random":796},{"id":5,"title":6,"body":7,"categories":638,"category":640,"date":641,"description":642,"draft":643,"extension":644,"image":645,"kind":640,"lang":646,"meta":647,"navigation":145,"path":648,"readingTime":149,"seo":649,"slug":650,"stem":651,"tags":652,"translationKey":640,"type":639,"updated":640,"__hash__":655},"postsTr\u002Ftr\u002Fes17-nedir-ecmascript-2026-nedir.md","ES17 nedir? ECMAScript 2026 nedir?",{"type":8,"value":9,"toc":629},"minimark",[10,19,25,30,33,81,85,99,218,221,235,320,323,329,437,441,458,575,579,582,600,603,608,625],[11,12,13,18],"p",{},[14,15,17],"a",{"href":16},"\u002Ftr\u002Fecmascript-nedir-ecmascript-ne-degildir-bilinmesi-gerekenler","ECMAscript",", kısa adıyla ES, Ecma-International tarafından ECMA-262 dokümanında yayınlanan ve her yıl yenilenen JavaScript standardıdır. Bu yazıda, bu satırların yazıldığı Haziran 2026 itibarıyla son aşamada olan ve yayınlanması beklenen ECMAScript 2026 (ES17) sürümüyle gelen\u002Fgelmesi beklenen yenilikleri inceliyoruz.",[11,20,21],{},[22,23,24],"strong",{},"ES17 (ECMAScript 2026), 2026 yılında yayınlanması beklenen 17. ECMAScript sürümüdür.",[26,27,29],"h2",{"id":28},"es17-ile-gelen-yenilikler-ve-adaylar","ES17 ile gelen yenilikler ve adaylar",[11,31,32],{},"ES17 standardı için kesinleşen (Stage 4) ve resmi olarak kabul edilmesi beklenen temel özellikler şunlar;",[34,35,36,44,50,56,67],"ul",{},[37,38,39,43],"li",{},[40,41,42],"code",{},"Math.sumPrecise()"," (Hassas ondalık sayı toplama)",[37,45,46,49],{},[40,47,48],{},"Error.isError()"," (Güvenli Error tipi kontrolü)",[37,51,52,55],{},[40,53,54],{},"Array.fromAsync()"," (Asenkron yineleyicilerden dizi oluşturma)",[37,57,58,59,62,63,66],{},"Explicit Resource Management (",[40,60,61],{},"using"," ve ",[40,64,65],{},"await using"," ile otomatik kaynak temizliği)",[37,68,69,72,73,76,77,80],{},[22,70,71],{},"Aday Aşamasındaki Özellikler:"," ",[40,74,75],{},"Temporal"," API ve ",[40,78,79],{},"Decorators"," (Süreçleri devam eden büyük yenilikler)",[82,83,42],"h3",{"id":84},"mathsumprecise",[11,86,87,88,91,92,95,96,98],{},"JavaScript'te meşhur ",[40,89,90],{},"0.1 + 0.2"," toplamasının ",[40,93,94],{},"0.30000000000000004"," dönmesi, kayan noktalı sayıların (floating-point) saklanma biçiminden kaynaklanan kronik bir sorundur. ES17 ile dile eklenen ",[40,97,42],{}," metodu, bir sayı dizisindeki tüm elemanları kayan nokta hassasiyet kayıpları yaşamadan tam olarak toplar.",[100,101,106],"pre",{"className":102,"code":103,"language":104,"meta":105,"style":105},"language-javascript shiki shiki-themes github-light github-dark","const floatNumbers = [0.1, 0.2];\n\n\u002F\u002F Klasik toplama (Hatalı)\nconsole.log(floatNumbers[0] + floatNumbers[1]); \u002F\u002F 0.30000000000000004\n\n\u002F\u002F ES17 Math.sumPrecise() (Tam doğru sonuç)\nconsole.log(Math.sumPrecise(floatNumbers)); \u002F\u002F 0.3\n","javascript","",[40,107,108,140,147,154,188,193,199],{"__ignoreMap":105},[109,110,113,117,121,124,128,131,134,137],"span",{"class":111,"line":112},"line",1,[109,114,116],{"class":115},"szBVR","const",[109,118,120],{"class":119},"sj4cs"," floatNumbers",[109,122,123],{"class":115}," =",[109,125,127],{"class":126},"sVt8B"," [",[109,129,130],{"class":119},"0.1",[109,132,133],{"class":126},", ",[109,135,136],{"class":119},"0.2",[109,138,139],{"class":126},"];\n",[109,141,143],{"class":111,"line":142},2,[109,144,146],{"emptyLinePlaceholder":145},true,"\n",[109,148,150],{"class":111,"line":149},3,[109,151,153],{"class":152},"sJ8bj","\u002F\u002F Klasik toplama (Hatalı)\n",[109,155,157,160,164,167,170,173,176,179,182,185],{"class":111,"line":156},4,[109,158,159],{"class":126},"console.",[109,161,163],{"class":162},"sScJk","log",[109,165,166],{"class":126},"(floatNumbers[",[109,168,169],{"class":119},"0",[109,171,172],{"class":126},"] ",[109,174,175],{"class":115},"+",[109,177,178],{"class":126}," floatNumbers[",[109,180,181],{"class":119},"1",[109,183,184],{"class":126},"]); ",[109,186,187],{"class":152},"\u002F\u002F 0.30000000000000004\n",[109,189,191],{"class":111,"line":190},5,[109,192,146],{"emptyLinePlaceholder":145},[109,194,196],{"class":111,"line":195},6,[109,197,198],{"class":152},"\u002F\u002F ES17 Math.sumPrecise() (Tam doğru sonuç)\n",[109,200,202,204,206,209,212,215],{"class":111,"line":201},7,[109,203,159],{"class":126},[109,205,163],{"class":162},[109,207,208],{"class":126},"(Math.",[109,210,211],{"class":162},"sumPrecise",[109,213,214],{"class":126},"(floatNumbers)); ",[109,216,217],{"class":152},"\u002F\u002F 0.3\n",[82,219,48],{"id":220},"erroriserror",[11,222,223,224,227,228,231,232,234],{},"Geleneksel olarak bir nesnenin gerçekten bir ",[40,225,226],{},"Error"," örneği (instance) olup olmadığını kontrol etmek için ",[40,229,230],{},"instanceof Error"," kullanıyorduk. Ancak iframe'ler, farklı pencere bağlamları (window contexts) veya cross-realm ortamlarda bu kontrol güvenilmez hale geliyordu. ",[40,233,48],{}," metodu, cross-realm dahil her ortamda nesnenin geçerli bir hata nesnesi olup olmadığını güvenle test etmeyi sağlar.",[100,236,238],{"className":102,"code":237,"language":104,"meta":105,"style":105},"const myError = new TypeError(\"Bir hata oluştu\");\nconst normalObject = { message: \"Bir hata oluştu\" };\n\nconsole.log(Error.isError(myError)); \u002F\u002F true\nconsole.log(Error.isError(normalObject)); \u002F\u002F false\n",[40,239,240,265,282,286,304],{"__ignoreMap":105},[109,241,242,244,247,249,252,255,258,262],{"class":111,"line":112},[109,243,116],{"class":115},[109,245,246],{"class":119}," myError",[109,248,123],{"class":115},[109,250,251],{"class":115}," new",[109,253,254],{"class":162}," TypeError",[109,256,257],{"class":126},"(",[109,259,261],{"class":260},"sZZnC","\"Bir hata oluştu\"",[109,263,264],{"class":126},");\n",[109,266,267,269,272,274,277,279],{"class":111,"line":142},[109,268,116],{"class":115},[109,270,271],{"class":119}," normalObject",[109,273,123],{"class":115},[109,275,276],{"class":126}," { message: ",[109,278,261],{"class":260},[109,280,281],{"class":126}," };\n",[109,283,284],{"class":111,"line":149},[109,285,146],{"emptyLinePlaceholder":145},[109,287,288,290,292,295,298,301],{"class":111,"line":156},[109,289,159],{"class":126},[109,291,163],{"class":162},[109,293,294],{"class":126},"(Error.",[109,296,297],{"class":162},"isError",[109,299,300],{"class":126},"(myError)); ",[109,302,303],{"class":152},"\u002F\u002F true\n",[109,305,306,308,310,312,314,317],{"class":111,"line":190},[109,307,159],{"class":126},[109,309,163],{"class":162},[109,311,294],{"class":126},[109,313,297],{"class":162},[109,315,316],{"class":126},"(normalObject)); ",[109,318,319],{"class":152},"\u002F\u002F false\n",[82,321,54],{"id":322},"arrayfromasync",[11,324,325,326,328],{},"Asenkron veri akışlarından (readable streams veya async generators) gelen verileri diziye dönüştürmek için manuel döngüler yazmak gerekiyordu. ",[40,327,54],{}," asenkron yineleyici (async iterable) üzerinden tüm elemanları okuyarak asenkron olarak bir dizi oluşturur ve bu diziyi döner.",[100,330,332],{"className":102,"code":331,"language":104,"meta":105,"style":105},"\u002F\u002F Örnek bir asenkron generator\nasync function* getPrices() {\n  yield 100;\n  yield 200;\n  yield 300;\n}\n\n\u002F\u002F Asenkron elemanları toplayarak dizi oluşturuyoruz\nconst prices = await Array.fromAsync(getPrices());\nconsole.log(prices); \u002F\u002F [100, 200, 300]\n",[40,333,334,339,353,364,373,382,387,391,397,424],{"__ignoreMap":105},[109,335,336],{"class":111,"line":112},[109,337,338],{"class":152},"\u002F\u002F Örnek bir asenkron generator\n",[109,340,341,344,347,350],{"class":111,"line":142},[109,342,343],{"class":115},"async",[109,345,346],{"class":115}," function*",[109,348,349],{"class":162}," getPrices",[109,351,352],{"class":126},"() {\n",[109,354,355,358,361],{"class":111,"line":149},[109,356,357],{"class":115},"  yield",[109,359,360],{"class":119}," 100",[109,362,363],{"class":126},";\n",[109,365,366,368,371],{"class":111,"line":156},[109,367,357],{"class":115},[109,369,370],{"class":119}," 200",[109,372,363],{"class":126},[109,374,375,377,380],{"class":111,"line":190},[109,376,357],{"class":115},[109,378,379],{"class":119}," 300",[109,381,363],{"class":126},[109,383,384],{"class":111,"line":195},[109,385,386],{"class":126},"}\n",[109,388,389],{"class":111,"line":201},[109,390,146],{"emptyLinePlaceholder":145},[109,392,394],{"class":111,"line":393},8,[109,395,396],{"class":152},"\u002F\u002F Asenkron elemanları toplayarak dizi oluşturuyoruz\n",[109,398,400,402,405,407,410,413,416,418,421],{"class":111,"line":399},9,[109,401,116],{"class":115},[109,403,404],{"class":119}," prices",[109,406,123],{"class":115},[109,408,409],{"class":115}," await",[109,411,412],{"class":126}," Array.",[109,414,415],{"class":162},"fromAsync",[109,417,257],{"class":126},[109,419,420],{"class":162},"getPrices",[109,422,423],{"class":126},"());\n",[109,425,427,429,431,434],{"class":111,"line":426},10,[109,428,159],{"class":126},[109,430,163],{"class":162},[109,432,433],{"class":126},"(prices); ",[109,435,436],{"class":152},"\u002F\u002F [100, 200, 300]\n",[82,438,440],{"id":439},"explicit-resource-management-using-ve-await-using","Explicit Resource Management (using ve await using)",[11,442,443,444,446,447,450,451,453,454,457],{},"Diğer dillerden (C# ",[40,445,61],{},", Python ",[40,448,449],{},"with",") aşina olduğumuz bu özellik, açılan veritabanı bağlantıları, dosya handle'ları gibi kaynakların işlemler bittiğinde otomatik olarak kapatılmasını\u002Ftemizlenmesini sağlar. ",[40,452,61],{}," anahtar kelimesiyle tanımlanan nesneler kapsamdan (scope) çıktığı anda yerleşik ",[40,455,456],{},"Symbol.dispose"," metodu otomatik çağrılır.",[100,459,461],{"className":102,"code":460,"language":104,"meta":105,"style":105},"\u002F\u002F Kaynak nesnesi tanımı\nconst resource = {\n  [Symbol.dispose]() {\n    console.log(\"Kaynak otomatik olarak kapatıldı ve temizlendi!\");\n  }\n};\n\n{\n  \u002F\u002F using ile tanımlanan kaynak blok bittiğinde otomatik temizlenecektir\n  using myRes = resource;\n  console.log(\"Kaynak kullanılıyor...\");\n} \n\u002F\u002F Çıktı: \n\u002F\u002F \"Kaynak kullanılıyor...\"\n\u002F\u002F \"Kaynak otomatik olarak kapatıldı ve temizlendi!\"\n",[40,462,463,468,480,485,499,504,509,513,518,523,536,551,557,563,569],{"__ignoreMap":105},[109,464,465],{"class":111,"line":112},[109,466,467],{"class":152},"\u002F\u002F Kaynak nesnesi tanımı\n",[109,469,470,472,475,477],{"class":111,"line":142},[109,471,116],{"class":115},[109,473,474],{"class":119}," resource",[109,476,123],{"class":115},[109,478,479],{"class":126}," {\n",[109,481,482],{"class":111,"line":149},[109,483,484],{"class":126},"  [Symbol.dispose]() {\n",[109,486,487,490,492,494,497],{"class":111,"line":156},[109,488,489],{"class":126},"    console.",[109,491,163],{"class":162},[109,493,257],{"class":126},[109,495,496],{"class":260},"\"Kaynak otomatik olarak kapatıldı ve temizlendi!\"",[109,498,264],{"class":126},[109,500,501],{"class":111,"line":190},[109,502,503],{"class":126},"  }\n",[109,505,506],{"class":111,"line":195},[109,507,508],{"class":126},"};\n",[109,510,511],{"class":111,"line":201},[109,512,146],{"emptyLinePlaceholder":145},[109,514,515],{"class":111,"line":393},[109,516,517],{"class":126},"{\n",[109,519,520],{"class":111,"line":399},[109,521,522],{"class":152},"  \u002F\u002F using ile tanımlanan kaynak blok bittiğinde otomatik temizlenecektir\n",[109,524,525,528,531,533],{"class":111,"line":426},[109,526,527],{"class":115},"  using",[109,529,530],{"class":119}," myRes",[109,532,123],{"class":115},[109,534,535],{"class":126}," resource;\n",[109,537,539,542,544,546,549],{"class":111,"line":538},11,[109,540,541],{"class":126},"  console.",[109,543,163],{"class":162},[109,545,257],{"class":126},[109,547,548],{"class":260},"\"Kaynak kullanılıyor...\"",[109,550,264],{"class":126},[109,552,554],{"class":111,"line":553},12,[109,555,556],{"class":126},"} \n",[109,558,560],{"class":111,"line":559},13,[109,561,562],{"class":152},"\u002F\u002F Çıktı: \n",[109,564,566],{"class":111,"line":565},14,[109,567,568],{"class":152},"\u002F\u002F \"Kaynak kullanılıyor...\"\n",[109,570,572],{"class":111,"line":571},15,[109,573,574],{"class":152},"\u002F\u002F \"Kaynak otomatik olarak kapatıldı ve temizlendi!\"\n",[82,576,578],{"id":577},"aday-aşamasındaki-büyük-özellikler-stage-3","Aday Aşamasındaki Büyük Özellikler (Stage 3)",[11,580,581],{},"ES17 sürümü yayınlanırken henüz kesinleşmemiş (Stage 4 olmamış) fakat topluluk tarafından heyecanla beklenen bazı aday özellikler de bulunuyor:",[34,583,584,594],{},[37,585,586,589,590,593],{},[22,587,588],{},"Temporal API:"," JavaScript'in 1995'ten beri var olan ve kronik olarak hatalı kabul edilen ",[40,591,592],{},"Date"," nesnesini tamamen emekliye ayıracak olan modern tarih ve saat kütüphanesidir. Zaman dilimleri, takvimler ve süre hesaplamalarını yerleşik olarak hatasız yönetmeyi hedefler.",[37,595,596,599],{},[22,597,598],{},"Decorators:"," Sınıf tanımlarını, metotları veya özellikleri sarmalayarak davranışlarını değiştirmeyi veya genişletmeyi sağlayan (TypeScript ve Angular dünyasında uzun yıllardır kullanılan) dekoratörlerin JavaScript'e resmi olarak eklenmesi sürecidir.",[601,602],"hr",{},[604,605,607],"h5",{"id":606},"bu-yazıda-yapılan-değişiklikler","Bu Yazıda Yapılan Değişiklikler",[34,609,610],{},[37,611,612,613,133,616,133,619,133,622,624],{},"20.06.2026: Yazı oluşturuldu. ES2026 (ES17) kesinleşen özellikleri (",[40,614,615],{},"Math.sumPrecise",[40,617,618],{},"Error.isError",[40,620,621],{},"Array.fromAsync",[40,623,61],{},") detaylandırıldı. Temporal ve Decorators adaylarının son durumları eklendi.",[626,627,628],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":105,"searchDepth":142,"depth":142,"links":630},[631],{"id":28,"depth":142,"text":29,"children":632},[633,634,635,636,637],{"id":84,"depth":149,"text":42},{"id":220,"depth":149,"text":48},{"id":322,"depth":149,"text":54},{"id":439,"depth":149,"text":440},{"id":577,"depth":149,"text":578},[639],"technical",null,"2026-06-20","ECMAScript 2026 (ES17) ile gelen yenilikler. (İçerik hazırlanıyor.)",false,"md","\u002Fimages\u002Fhero\u002Fes17.avif","tr",{},"\u002Ftr\u002Fes17-nedir-ecmascript-2026-nedir",{"title":6,"description":642},"es17-nedir-ecmascript-2026-nedir","tr\u002Fes17-nedir-ecmascript-2026-nedir",[653,654,104],"ecma","ecmascript","hOq113IhWoWNKbhoj7HnfHLr_TEasazd8FCATZiRY-c",{"prev":657,"next":660,"others":663,"lucky":782,"readingTime":149},{"path":658,"title":659},"\u002Ftr\u002Fes16-nedir-ecmascript-2025-nedir","ES16 nedir? ECMAScript 2025 nedir?",{"path":661,"title":662},"\u002Ftr\u002Fphp-generator-ve-iterator-farki","PHP'de Generator ve Iterator Arasındaki Temel Farklar",[664,667,670,673,676,679,682,685,688,691,694,697,700,703,706,709,712,715,718,721,722,725,728,731,734,737,740,743,746,749,752,755,758,761,764,767,770,773,776,779],{"path":665,"title":666},"\u002Ftr\u002Fstrategy-tasarim-deseni-nedir","Strategy Tasarım Deseni Nedir?",{"path":668,"title":669},"\u002Ftr\u002Fubuntu-24-04-uzerinde-cyberpanel-kurulumu","Ubuntu 24.04 LTS ve 22.04 LTS Üzerinde CyberPanel Kurulumu",{"path":671,"title":672},"\u002Ftr\u002Fgarbage-collection-ve-golang","Garbage Collection ve Go (Golang)",{"path":674,"title":675},"\u002Ftr\u002Fheadless-wordpress-hakkinda-her-sey","Headless WordPress Hakkında Her Şey",{"path":677,"title":678},"\u002Ftr\u002Fes6-nedir-ecmascript-2015-nedir","ES6 Nedir? ECMAScript 2015 Nedir?",{"path":680,"title":681},"\u002Ftr\u002Fflyweight-tasarim-deseni-nedir","Flyweight Tasarım Deseni Nedir?",{"path":683,"title":684},"\u002Ftr\u002Fjwt-guvenli-mi-guvenlik-acigi-olusturmayin","JWT Güvenli Derken Güvenlik Açığı Oluşturmayın",{"path":686,"title":687},"\u002Ftr\u002Fphp-ve-makine-ogrenimi-php-ml-kutuphanesi","PHP ve Makine Öğrenimi: PHP-ML Kütüphanesi ile Pratik Çözümler",{"path":689,"title":690},"\u002Ftr\u002Fvisitor-tasarim-deseni-nedir","Visitor Tasarım Deseni Nedir?",{"path":692,"title":693},"\u002Ftr\u002Fiterator-tasarim-deseni-nedir","Iterator Tasarım Deseni Nedir?",{"path":695,"title":696},"\u002Ftr\u002Fgo-veri-tipleri-string-integer-float-complex-boolean-ve-array","Go Veri Tipleri - String, Integer, Float, Complex, Boolean ve Array",{"path":698,"title":699},"\u002Ftr\u002Fgo-ve-degiskenler","Go ve Değişkenler",{"path":701,"title":702},"\u002Ftr\u002Fself-hosted-api-gateway-nasil-kurulur-kapsamli-rehber","Self-Hosted API Gateway Nasıl Kurulur? Kapsamlı Rehber",{"path":704,"title":705},"\u002Ftr\u002Fcomposite-tasarim-deseni-nedir","Composite Tasarım Deseni Nedir?",{"path":707,"title":708},"\u002Ftr\u002Fgo-veri-tipleri-struct","Go Veri Tipleri: Struct",{"path":710,"title":711},"\u002Ftr\u002Fes10-nedir-ecmascript-2019-nedir","ES10 Nedir? ECMAScript 2019 Nedir?",{"path":713,"title":714},"\u002Ftr\u002Fgo-slice-veri-tipi","Go Veri Tipleri: Slice",{"path":716,"title":717},"\u002Ftr\u002Fcommand-tasarim-deseni-nedir","Command Tasarım Deseni Nedir?",{"path":719,"title":720},"\u002Ftr\u002Ftailwind-css-nerede-kullanilir-tailwind-css-nerede-kullanilmaz","Tailwind CSS Nerede Kullanılır? Tailwind CSS Nerede Kullanılmaz?",{"path":658,"title":659},{"path":723,"title":724},"\u002Ftr\u002Fmediator-tasarim-deseni-nedir","Mediator Tasarım Deseni Nedir?",{"path":726,"title":727},"\u002Ftr\u002Fubuntu-guncellemesi-sonrasi-cyberpanele-ulasilamama-sorunlarini-giderme","Ubuntu Güncellemesi Sonrası CyberPanel'e Ulaşılamama Sorunlarını Giderme",{"path":729,"title":730},"\u002Ftr\u002Fes9-nedir-ecmascript-2018-nedir","ES9 Nedir? ECMAScript 2018 Nedir?",{"path":732,"title":733},"\u002Ftr\u002Fnext-js-on-bellegi-nasil-yenilenir-on-demand-cache-regeneration","Next.js Önbelleği Nasıl Yenilenir? \"On-Demand Cache Regeneration\"",{"path":735,"title":736},"\u002Ftr\u002Ffull-stack-proje-gelistiriyoruz","Full Stack Proje Geliştiriyoruz",{"path":738,"title":739},"\u002Ftr\u002Fjavascriptde-moduller","JavaScript'te Modüller",{"path":741,"title":742},"\u002Ftr\u002Fwebpack-nedir","Webpack Nedir? Modern JavaScript Paketleyici Ekosistemi",{"path":744,"title":745},"\u002Ftr\u002Ftricolor-garbage-collection-algoritmasi-nedir","Tricolor Garbage Collection Algoritması Nedir?",{"path":747,"title":748},"\u002Ftr\u002Frest-api-tasarimi","REST API Tasarım İncelikleri",{"path":750,"title":751},"\u002Ftr\u002Ftailwind-css-just-in-time-modu","Tailwind CSS Just-in-Time (JIT) Modu Nedir?",{"path":753,"title":754},"\u002Ftr\u002Fmerhaba-gluster","Merhaba Gluster: Dağıtık Dosya Sistemi Nedir?",{"path":756,"title":757},"\u002Ftr\u002Frest-api-guvenligi-nasil-saglanir","REST Api Güvenliği Nasıl Sağlanır?",{"path":759,"title":760},"\u002Ftr\u002Fdocker-ile-redis-kurulumu","Docker ile Redis Kurulumu",{"path":762,"title":763},"\u002Ftr\u002Fvue-3-hakkinda-bilmeniz-gerekenler-yenilikler","Vue 3 Hakkında Bilmeniz Gerekenler ve Yenilikler",{"path":765,"title":766},"\u002Ftr\u002Fgraylog-nedir-docker-ile-nasil-kurulur","Graylog Nedir? Docker Compose ile Adım Adım Kurulum Rehberi",{"path":768,"title":769},"\u002Ftr\u002Frestapi-ve-hateoas-kavrami","RestApi ve HATEOAS Kavramı",{"path":771,"title":772},"\u002Ftr\u002Fes11-nedir-ecmascript-2020-nedir","ES11 Nedir? ECMAScript 2020 Nedir?",{"path":774,"title":775},"\u002Ftr\u002Fphalcon-frameworkun-gelecegi","Phalcon Framework'ün Geleceği: Bir Devrin Sonu",{"path":777,"title":778},"\u002Ftr\u002Frabbitmq-nedir","RabbitMQ Nedir?",{"path":780,"title":781},"\u002Ftr\u002Fgoda-iota-nedir-iota-ne-zaman-ve-nerede-kullanilir","Go'da iota Nedir? iota Ne Zaman ve Nerede Kullanılır?",{"path":783,"title":784},"\u002Ftr\u002Fproxy-tasarim-deseni-nedir","Proxy Tasarım Deseni Nedir?",[786,789,792,795],{"path":787,"title":788,"date":641},"\u002Ftr\u002Fes13-nedir-ecmascript-2022-nedir","ES13 nedir? ECMAScript 2022 nedir?",{"path":790,"title":791,"date":641},"\u002Ftr\u002Fes14-nedir-ecmascript-2023-nedir","ES14 nedir? ECMAScript 2023 nedir?",{"path":793,"title":794,"date":641},"\u002Ftr\u002Fes15-nedir-ecmascript-2024-nedir","ES15 nedir? ECMAScript 2024 nedir?",{"path":658,"title":659,"date":641},[797,801,805],{"path":798,"title":799,"date":800},"\u002Ftr\u002Fyeni-tema-honeywind","Yeni WordPress Temam Honeywind: Tailwind CSS ve Minimalizm","2021-07-23",{"path":802,"title":803,"date":804},"\u002Ftr\u002Flinuxda-golang-kurulumu","Linux'ta Golang Kurulumu","2021-09-28",{"path":806,"title":807,"date":808},"\u002Ftr\u002Fadapter-tasarim-deseni-nedir","Adapter Tasarım Deseni Nedir?","2021-08-21",1782141997715]