{"id":14164,"date":"2022-04-15T16:08:03","date_gmt":"2022-04-15T14:08:03","guid":{"rendered":"https:\/\/www.ihs.com.tr\/blog\/?p=14164"},"modified":"2022-04-15T16:08:03","modified_gmt":"2022-04-15T14:08:03","slug":"node-js-nedir","status":"publish","type":"post","link":"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/","title":{"rendered":"Node.js Nedir ve Neden Kullanmal\u0131s\u0131n\u0131z?"},"content":{"rendered":"<p>JavaScript, d\u00fcnyadaki en pop\u00fcler programlama dillerinden biridir.\u00a0Bug\u00fcn milyonlarca web sitesine g\u00fc\u00e7 veren ve \u00f6zellikler olu\u015fturmak i\u00e7in geli\u015ftiricileri ve tasar\u0131mc\u0131lar taraf\u0131ndan en \u00e7ok tercih edilen programlama dillerinden biridir.\u00a0Programlamada yeniyseniz, JavaScript kolayca\u00a0\u00f6\u011frenmeye ba\u015flayabilece\u011finiz <a href=\"https:\/\/www.ihs.com.tr\/blog\/en-populer-9-programlama-dili\/\">en\u00a0iyi programlama dillerinden biridir.<\/a><\/p>\n<p>\u0130lk 20 y\u0131l\u0131nda JavaScript, esas olarak istemci taraf\u0131 komut dosyas\u0131 olu\u015fturmak i\u00e7in kullan\u0131ld\u0131.\u00a0JavaScript yaln\u0131zca\u00a0<strong>&lt;script&gt;&lt;\/script&gt;\u00a0<\/strong>etiketi i\u00e7inde kullan\u0131labildi\u011finden, geli\u015ftiricilerin front-end ve back-end bile\u015fenleri aras\u0131nda birden \u00e7ok dilde ve frameworkte \u00e7al\u0131\u015fmas\u0131 gerekiyordu.\u00a0Daha sonra JavaScript ile yaz\u0131lm\u0131\u015f bir program\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in gereken her \u015feyi i\u00e7eren bir \u00e7al\u0131\u015fma zaman\u0131 ortam\u0131 olan Node.js geldi.<\/p>\n<p>Bu makalede Node.js hakk\u0131ndaki her\u015feye de\u011finmeye \u00e7al\u0131\u015faca\u011f\u0131z.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_77 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0130\u00e7erik Tablosu<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69ee8e184bbb7\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\" id=\"ez-toc-cssicon-toggle-item-69ee8e184bbb7\" aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Nodejs-Nedir\" >Node.js Nedir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Nodejs-Hangi-Dilde-Yazilmistir\" >Node.js Hangi Dilde Yaz\u0131lm\u0131\u015ft\u0131r?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Nodejs-Mimarisi-ve-Calisma-Mantigi\" >Node.js Mimarisi ve \u00c7al\u0131\u015fma Mant\u0131\u011f\u0131<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Nodejs-olay-dongusunu-kullanarak-gelen-istekleri-nasil-isler\" >Node.js, olay d\u00f6ng\u00fcs\u00fcn\u00fc kullanarak gelen istekleri nas\u0131l i\u015fler?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Nodejsnin-Ozellikleri\" >Node.js&#8217;nin\u00a0\u00d6zellikleri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Nodejs-Uygulamalari\" >Node.js Uygulamalar\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Nodejs-Bir-Programlama-Dili-mi\" >Node.js Bir Programlama Dili mi?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Nodejs-Front-end-mi-Back-end-mi\" >Node.js Front-end mi?, Back-end mi?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Nodejsye-Baslarken\" >Node.js&#8217;ye Ba\u015flarken<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Nodejs-Nasil-Kurulur\" >Node.js Nas\u0131l Kurulur<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#macOSta-NodeJS-Kurulumu\" >macOS&#8217;ta\u00a0Node.JS Kurulumu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Windowsta-NodeJS-Kurulumu\" >Windows&#8217;ta\u00a0Node.JS Kurulumu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Linuxta-NodeJS-Kurulumu\" >Linux&#8217;ta Node.JS Kurulumu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Yuklu-Nodejs-Surumunu-Kontrol-Edin\" >Y\u00fckl\u00fc Node.js S\u00fcr\u00fcm\u00fcn\u00fc Kontrol Edin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#NPM-Nedir\" >NPM Nedir?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#NPM-Paketlerini-CLI-Uzerinden-Yukleme\" >NPM Paketlerini CLI \u00dczerinden Y\u00fckleme<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.ihs.com.tr\/blog\/node-js-nedir\/#Populer-Paketler\" >Pop\u00fcler Paketler<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Nodejs-Nedir\"><\/span><strong>Node.js Nedir?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Node.js, h\u0131zl\u0131 ve \u00f6l\u00e7eklenebilir sunucu ve a\u011f uygulamalar\u0131 olu\u015fturmak i\u00e7in tek i\u015f par\u00e7ac\u0131kl\u0131, a\u00e7\u0131k kaynakl\u0131, platformlar aras\u0131 bir \u00e7al\u0131\u015fma zaman\u0131 ortam\u0131d\u0131r.\u00a0<\/strong><\/p>\n<p>V8 JavaScript \u00a0motorunda \u00e7al\u0131\u015f\u0131r ve olaya dayal\u0131, engelleme yapmayan G\/\u00c7 mimarisini kullan\u0131r, bu da onu verimli ve ger\u00e7ek zamanl\u0131 uygulamalar i\u00e7in uygun hale getirir.<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Nodejs-Hangi-Dilde-Yazilmistir\"><\/span><strong>Node.js Hangi Dilde Yaz\u0131lm\u0131\u015ft\u0131r?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Node.js, C, C++ ve JavaScript ile yaz\u0131lm\u0131\u015ft\u0131r.<\/strong><\/p>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Node.js\" target=\"_blank\" rel=\"nofollow\">Wikipedia,<\/a>\u00a0Node.js&#8217;yi &#8220;<strong>Google&#8217;\u0131n V8 JavaScript motorunun paketlenmi\u015f bir derlemesi, libuv platformu soyutlama katman\u0131 ve kendisi esas olarak JavaScript ile yaz\u0131lm\u0131\u015f bir \u00e7ekirdek kitapl\u0131k<\/strong>&#8221; olarak tan\u0131mlar.<\/p>\n<p>\u00c7al\u0131\u015fma zaman\u0131, JavaScript y\u00fcr\u00fctme motoru olan\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Chrome_V8\" target=\"_blank\" rel=\"nofollow\">Chrome V8&#8217;i dahili olarak kullan\u0131r ve ayr\u0131ca C++ ile yaz\u0131lm\u0131\u015ft\u0131r.\u00a0<\/a>Bu, Node.js&#8217;nin yeteneklerine dahili sistem i\u015flevlerine eri\u015fim (a\u011f olu\u015fturma gibi) gibi ek kullan\u0131m \u00f6zellikleri ekler.<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Nodejs-Mimarisi-ve-Calisma-Mantigi\"><\/span><strong>Node.js Mimarisi ve \u00c7al\u0131\u015fma Mant\u0131\u011f\u0131<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Node.js, ayn\u0131 anda birden fazla istemciyi i\u015flemek i\u00e7in &#8220;Tek \u0130\u015f par\u00e7ac\u0131kl\u0131 Olay D\u00f6ng\u00fcs\u00fc&#8221; mimarisini kullan\u0131r.\u00a0Bunun di\u011fer \u00e7al\u0131\u015fma zamanlar\u0131ndan nas\u0131l farkl\u0131 oldu\u011funu anlamak i\u00e7in, Java gibi dillerde \u00e7ok i\u015f par\u00e7ac\u0131kl\u0131 e\u015fzamanl\u0131 istemcilerin nas\u0131l i\u015flendi\u011fini anlamam\u0131z gerekir.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-14168\" src=\"https:\/\/www.ihs.com.tr\/blog\/wp-content\/uploads\/2022\/04\/node.js-mimarisi.png\" alt=\"node.js-mimarisi\" width=\"1080\" height=\"500\" srcset=\"https:\/\/www.ihs.com.tr\/blog\/wp-content\/uploads\/2022\/04\/node.js-mimarisi.png 1080w, https:\/\/www.ihs.com.tr\/blog\/wp-content\/uploads\/2022\/04\/node.js-mimarisi-300x139.png 300w, https:\/\/www.ihs.com.tr\/blog\/wp-content\/uploads\/2022\/04\/node.js-mimarisi-1024x474.png 1024w, https:\/\/www.ihs.com.tr\/blog\/wp-content\/uploads\/2022\/04\/node.js-mimarisi-585x271.png 585w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>\u00c7ok i\u015f par\u00e7ac\u0131kl\u0131 istek-yan\u0131t modelinde, birden \u00e7ok istemci bir istek g\u00f6nderir ve sunucu yan\u0131t\u0131 geri g\u00f6ndermeden \u00f6nce her birini i\u015fler.\u00a0Ancak, e\u015fzamanl\u0131 \u00e7a\u011fr\u0131lar\u0131 i\u015flemek i\u00e7in birden \u00e7ok i\u015f par\u00e7ac\u0131\u011f\u0131 kullan\u0131l\u0131r.\u00a0Bu i\u015f par\u00e7ac\u0131klar\u0131, bir i\u015f par\u00e7ac\u0131\u011f\u0131 havuzunda tan\u0131mlan\u0131r ve her istek geldi\u011finde, onu i\u015flemek i\u00e7in ayr\u0131 bir i\u015f par\u00e7ac\u0131\u011f\u0131 atan\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Nodejs-olay-dongusunu-kullanarak-gelen-istekleri-nasil-isler\"><\/span><strong>Node.js, olay d\u00f6ng\u00fcs\u00fcn\u00fc kullanarak gelen istekleri nas\u0131l i\u015fler?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Node.js farkl\u0131 \u015fekilde \u00e7al\u0131\u015f\u0131r.\u00a0Ge\u00e7ti\u011fi her ad\u0131ma bir g\u00f6z atal\u0131m:<\/p>\n<ol>\n<li>js, istekleri sunmak i\u00e7in s\u0131n\u0131rl\u0131 bir i\u015f par\u00e7ac\u0131\u011f\u0131 havuzunu haz\u0131rda tutar.<\/li>\n<li>Bir istek geldi\u011finde, Node.js onu bir kuyru\u011fa yerle\u015ftirir.<\/li>\n<li>\u015eimdi, tek i\u015f par\u00e7ac\u0131kl\u0131 \u201cOlay d\u00f6ng\u00fcs\u00fc\u201d ba\u015flar.\u00a0Bu olay d\u00f6ng\u00fcs\u00fc, istekleri s\u00fcresiz olarak bekler.<\/li>\n<li>Bir istek geldi\u011finde, d\u00f6ng\u00fc onu kuyruktan al\u0131r ve bir engelleme giri\u015f\/\u00e7\u0131k\u0131\u015f (G\/\u00c7) i\u015flemi gerektirip gerektirmedi\u011fini kontrol eder.\u00a0De\u011filse, iste\u011fi i\u015fler ve bir yan\u0131t g\u00f6nderir.<\/li>\n<li>\u0130ste\u011fin ger\u00e7ekle\u015ftirilecek bir engelleme i\u015flemi varsa, olay d\u00f6ng\u00fcs\u00fc, iste\u011fi i\u015flemek i\u00e7in dahili i\u015f par\u00e7ac\u0131\u011f\u0131 havuzundan bir i\u015f par\u00e7ac\u0131\u011f\u0131 atar.\u00a0S\u0131n\u0131rl\u0131 say\u0131da i\u00e7 i\u015f par\u00e7ac\u0131\u011f\u0131 mevcuttur.\u00a0Bu yard\u0131mc\u0131 i\u015f par\u00e7ac\u0131\u011f\u0131 grubuna i\u015f\u00e7i grubu denir.<\/li>\n<li>Olay d\u00f6ng\u00fcs\u00fc, engelleme isteklerini izler ve engelleme g\u00f6revi i\u015flendikten sonra bunlar\u0131 kuyru\u011fa yerle\u015ftirir.\u00a0Bu \u015fekilde bloke edici olmayan yap\u0131s\u0131n\u0131 korur.<\/li>\n<\/ol>\n<p>Node.js daha az i\u015f par\u00e7ac\u0131\u011f\u0131 kulland\u0131\u011f\u0131ndan, daha az kaynak\/bellek kullan\u0131r. Bu da daha h\u0131zl\u0131 g\u00f6rev y\u00fcr\u00fctme sa\u011flar.\u00a0Dolay\u0131s\u0131yla, ama\u00e7lar\u0131n\u0131z i\u00e7in bu tek i\u015f par\u00e7ac\u0131kl\u0131 mimari, \u00e7ok i\u015f par\u00e7ac\u0131kl\u0131 mimariye e\u015fde\u011ferdir.\u00a0Yo\u011fun veriye sahip g\u00f6revlerin i\u015flenmesi gerekti\u011finde, Java gibi \u00e7ok i\u015f par\u00e7ac\u0131kl\u0131 dilleri kullanmak \u00e7ok daha mant\u0131kl\u0131d\u0131r.\u00a0Ancak ger\u00e7ek zamanl\u0131 uygulamalar i\u00e7in Node.js bariz bir se\u00e7imdir.<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Nodejsnin-Ozellikleri\"><\/span><strong>Node.js&#8217;nin<\/strong><strong>\u00a0\u00d6zellikleri<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Node.js, son birka\u00e7 y\u0131lda h\u0131zla b\u00fcy\u00fcd\u00fc.\u00a0Sa\u011flad\u0131\u011f\u0131 geni\u015f \u00f6zellik listesi sayesinde geli\u015ftiricilerin g\u00f6zdesi olmu\u015ftur. Bu \u00f6zelliklere g\u00f6z atal\u0131m:<\/p>\n<ol>\n<li><strong>Kolay<\/strong>: Node.js ile geli\u015ftirmeye ba\u015flamak olduk\u00e7a kolayd\u0131r.\u00a0Web geli\u015ftirmeye yeni ba\u015flayanlar i\u00e7in iyi bir tercihtir.\u00a0\u00c7ok say\u0131da \u00f6\u011fretici i\u00e7erik ve geni\u015f bir toplulukla, k\u0131sacas\u0131 g\u00fc\u00e7l\u00fc bir destekle Node.js \u00f6\u011frenmeye ba\u015flamak \u00e7ok kolayd\u0131r.<\/li>\n<li><strong>\u00d6l\u00e7eklenebilir<\/strong>: Uygulamalar i\u00e7in geni\u015f \u00f6l\u00e7eklenebilirlik sa\u011flar.\u00a0Tek i\u015f par\u00e7ac\u0131kl\u0131 olan Node.js, y\u00fcksek verimle \u00e7ok say\u0131da e\u015fzamanl\u0131 ba\u011flant\u0131y\u0131 i\u015fleyebilir.<\/li>\n<li><strong>H\u0131z<\/strong>: Engellenmeyen i\u015f par\u00e7ac\u0131\u011f\u0131 y\u00fcr\u00fctme, Node.js&#8217;yi daha da h\u0131zl\u0131 ve verimli hale getirir.<\/li>\n<li><strong>Paketler<\/strong>: \u0130\u015finizi basitle\u015ftirebilecek \u00e7ok say\u0131da a\u00e7\u0131k kaynakl\u0131 Node.js paketi mevcuttur.\u00a0Bug\u00fcn <strong>NPM<\/strong> ekosisteminde bir milyondan fazla paket var.<\/li>\n<li><strong>G\u00fc\u00e7l\u00fc Back-end<\/strong>: Node.js, C ve C++ ile yaz\u0131lm\u0131\u015ft\u0131r, bu onu h\u0131zland\u0131r\u0131r ve a\u011f deste\u011fi gibi \u00f6zellikler ekler.<\/li>\n<li><strong>\u00c7oklu platform<\/strong>: Platformlar aras\u0131 destek, t\u00fcm\u00fc Node.js kullanarak SaaS web siteleri, masa\u00fcst\u00fc uygulamalar\u0131 ve hatta mobil uygulamalar olu\u015fturman\u0131za olanak tan\u0131r.<\/li>\n<li><strong>S\u00fcrd\u00fcr\u00fclebilir<\/strong>: Node.js, hem front-end hem de back-end JavaScript ile tek bir dil olarak y\u00f6netilebildi\u011finden, geli\u015ftiriciler i\u00e7in kolay bir se\u00e7imdir.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Nodejs-Uygulamalari\"><\/span><strong>Node.js Uygulamalar\u0131<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Node.js, \u00e7ok \u00e7e\u015fitli uygulamalar i\u00e7in kullan\u0131l\u0131r.\u00a0Node.js&#8217;nin iyi bir se\u00e7im oldu\u011fu baz\u0131 pop\u00fcler kullan\u0131m \u00f6rneklerini inceleyelim:<\/p>\n<ol>\n<li><strong>Ger\u00e7ek zamanl\u0131 sohbetler<\/strong>: Tek i\u015f par\u00e7ac\u0131kl\u0131 e\u015fzamans\u0131z yap\u0131s\u0131 nedeniyle Node.js, ger\u00e7ek zamanl\u0131 ileti\u015fimi i\u015flemek i\u00e7in \u00e7ok uygundur.\u00a0Kolayca \u00f6l\u00e7eklenebilir ve genellikle sohbet robotlar\u0131 olu\u015fturmak i\u00e7in kullan\u0131l\u0131r.\u00a0Node.js ayr\u0131ca \u00e7ok ki\u015fili sohbet ve an\u0131nda iletme bildirimleri gibi ek sohbet \u00f6zellikleri olu\u015fturmay\u0131 da kolayla\u015ft\u0131r\u0131r.<\/li>\n<li><strong>Nesnelerin \u0130nterneti:<\/strong>IoT uygulamalar\u0131, genellikle \u00e7ok say\u0131da istekte y\u0131\u011f\u0131labilen k\u00fc\u00e7\u00fck veri par\u00e7alar\u0131 g\u00f6nderdiklerinden, genellikle birden \u00e7ok sens\u00f6r i\u00e7erir.\u00a0Node.js, bu e\u015fzamanl\u0131 istekleri h\u0131zl\u0131 bir \u015fekilde i\u015fleyebildi\u011fi i\u00e7in iyi bir se\u00e7imdir.<\/li>\n<li><strong>Veri Ak\u0131\u015f\u0131<\/strong>: Netflix gibi \u015firketler streaming amac\u0131yla Node.js kullan\u0131r.\u00a0Bunun ba\u015fl\u0131ca nedeni Node.js&#8217;nin hafif ve h\u0131zl\u0131 olmas\u0131 ve bunun yan\u0131nda Node.js&#8217;nin native stream API&#8217;s\u0131 sa\u011flamas\u0131d\u0131r.\u00a0Bu ak\u0131\u015flar, kullan\u0131c\u0131lar\u0131n istekleri birbirine y\u00f6nlendirmesine izin vererek, verilerin do\u011frudan nihai hedefine aktar\u0131lmas\u0131na neden olur.<\/li>\n<li><strong>Karma\u015f\u0131k tek sayfal\u0131 uygulamalar (SPA&#8217;lar)<\/strong>: SPA&#8217;larda t\u00fcm uygulama tek bir sayfada y\u00fcklenir.\u00a0Bu genellikle belirli bile\u015fenler i\u00e7in arka planda yap\u0131lan birka\u00e7 istek oldu\u011fu anlam\u0131na gelir.\u00a0Node.js&#8217;nin olay d\u00f6ng\u00fcs\u00fc, istekleri engellemeyen bir \u015fekilde i\u015fledi\u011fi i\u00e7in burada kurtar\u0131c\u0131 rol oynar.<\/li>\n<li><strong>REST API tabanl\u0131 uygulamalar<\/strong>: JavaScript, sitelerin hem front-end hem de back-end k\u0131sm\u0131nda kullan\u0131l\u0131r.\u00a0B\u00f6ylece, bir sunucu Node.js kullanarak REST API&#8217;leri arac\u0131l\u0131\u011f\u0131yla front-end ile kolayca ileti\u015fim kurabilir.\u00a0Node.js ayr\u0131ca, web uygulamalar\u0131 olu\u015fturmay\u0131 daha da kolayla\u015ft\u0131ran Express.js ve Koa gibi paketler sa\u011flar.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Nodejs-Bir-Programlama-Dili-mi\"><\/span><strong>Node.js Bir Programlama Dili mi?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Tek kelimeyle:\u00a0<strong>hay\u0131r<\/strong>.<\/p>\n<p>Node.js bir programlama dili de\u011fildir.\u00a0Bunun yerine, JavaScript&#8217;i taray\u0131c\u0131n\u0131n d\u0131\u015f\u0131nda \u00e7al\u0131\u015ft\u0131rmak i\u00e7in kullan\u0131lan bir \u00e7al\u0131\u015fma zaman\u0131 ortam\u0131d\u0131r.<\/p>\n<p>Node.js bir framework (yaz\u0131l\u0131m uygulamalar\u0131 geli\u015ftirmek i\u00e7in bir platform) de\u011fildir.\u00a0Node.js \u00e7al\u0131\u015fma zaman\u0131, bir programlama dili (bu durumda JavaScript) \u00fczerine kurulmu\u015ftur ve frameworklerin kendisinin \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131na yard\u0131mc\u0131 olur.<\/p>\n<p>\u00d6zetlemek gerekirse, Node.js ne bir programlama dili ne de bir frameworkt\u00fcr;\u00a0k\u0131sacas\u0131 node.js bir \u00e7al\u0131\u015fma ortam\u0131d\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Nodejs-Front-end-mi-Back-end-mi\"><\/span><strong>Node.js Front-end mi?, Back-end mi?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Geli\u015ftiriciler aras\u0131nda yayg\u0131n bir yan\u0131lg\u0131, Node.js&#8217;nin bir back-end framework\u00fc oldu\u011fu ve yaln\u0131zca sunucu olu\u015fturmak i\u00e7in kullan\u0131ld\u0131\u011f\u0131d\u0131r.\u00a0Bu do\u011fru de\u011fil: Node.js hem front-end hem de back-end taraf\u0131nda kullan\u0131labilir.<\/p>\n<p>Node.js frameworklerinin, esnek ve \u00f6l\u00e7eklenebilir bir back-end olu\u015fturan geli\u015ftiriciler i\u00e7in pop\u00fcler bir se\u00e7im olmas\u0131n\u0131n nedenlerinden biri, olaya dayal\u0131, engelleyici olmayan do\u011fas\u0131d\u0131r.\u00a0Ancak front-end geli\u015ftiriciler, Node.js&#8217;nin bu faydalar\u0131n\u0131 kendi \u00e7al\u0131\u015fmalar\u0131nda da ayn\u0131 \u015fekilde net bir \u015fekilde g\u00f6receklerdir.<\/p>\n<p>Node.js&#8217;nin neden hem front-end hem de back-end i\u00e7in \u00e7al\u0131\u015ft\u0131\u011f\u0131na bir g\u00f6z atal\u0131m:<\/p>\n<ol>\n<li><strong>Yeniden<\/strong>Kullan\u0131labilirlik: JavaScript, Express.js ve Meteor.js gibi frameworklerin yard\u0131m\u0131yla hem front-end hem de back-end yazmak i\u00e7in kullan\u0131lan ortak bir dildir.\u00a0<a href=\"https:\/\/www.mongodb.com\/mern-stack\" target=\"_blank\" rel=\"nofollow\">MERN<\/a>\u00a0gibi baz\u0131 pop\u00fcler y\u0131\u011f\u0131nlar, back-end (bir Node.js framework\u00fc) olarak Express.js kullan\u0131r.\u00a0Birden \u00e7ok bile\u015fen, front-end ve back-end aras\u0131nda da yeniden kullan\u0131labilir.<\/li>\n<li><strong>\u00dcretkenlik ve geli\u015ftirici verimlili\u011fi<\/strong>: Birden \u00e7ok dil aras\u0131nda ba\u011flam de\u011fi\u015ftirmedeki azalma sayesinde, geli\u015ftirici zamandan b\u00fcy\u00fck \u00f6l\u00e7\u00fcde tasarruf edilebilir.\u00a0JavaScript&#8217;i hem back-end hem de front-end i\u00e7in kullanmak, bir\u00e7ok ara\u00e7 her ikisi i\u00e7in de ortak oldu\u011fundan verimlili\u011fin artmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>B\u00fcy\u00fck topluluk<\/strong>: Ba\u015far\u0131l\u0131 bir geli\u015ftirme d\u00f6ng\u00fcs\u00fcn\u00fcn h\u0131z\u0131nda geli\u015fen bir \u00e7evrimi\u00e7i topluluk fakt\u00f6rleri.\u00a0Bir soruna tak\u0131l\u0131p kald\u0131\u011f\u0131n\u0131zda, birisinin bunu zaten \u00e7\u00f6zm\u00fc\u015f ve \u00e7\u00f6z\u00fcm\u00fc Stack Overflow&#8217;ta payla\u015fm\u0131\u015f olma ihtimali y\u00fcksektir.\u00a0Node.js, pop\u00fcler \u00e7al\u0131\u015fma zaman\u0131 ve paketleri s\u00f6z konusu oldu\u011funda aktif ve me\u015fgul olan bu topluluktan b\u00fcy\u00fck \u00f6l\u00e7\u00fcde yararlan\u0131r.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Nodejsye-Baslarken\"><\/span><strong>Node.js&#8217;ye Ba\u015flarken<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Node.js ile nereden ba\u015flayaca\u011f\u0131n\u0131za karar vermek \u00e7ok zor olabilir.\u00a0Neyse ki, kurulumu yeterince basittir ve ard\u0131ndan kendiniz i\u00e7in test denemeleri yapabilirsiniz.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Nodejs-Nasil-Kurulur\"><\/span><strong>Node.js Nas\u0131l Kurulur<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Node.js zaten kuruluysa, bu b\u00f6l\u00fcm\u00fc ge\u00e7ebilirsiniz.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"macOSta-NodeJS-Kurulumu\"><\/span><strong>macOS&#8217;ta\u00a0<\/strong><strong style=\"letter-spacing: 0px;\">Node.<\/strong><span style=\"letter-spacing: 0px;\">JS Kurulumu<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Mac&#8217;te Bash&#8217;i Kullanma<\/strong><\/p>\n<p><code>curl \"https:\/\/nodejs.org\/dist\/latest\/node-${VERSION:-$(wget -qO- https:\/\/nodejs.org\/dist\/latest\/ | sed -nE 's|.*&gt;node-(.*)\\.pkg.*|\\1|p')}.pkg\" &gt; \"$HOME\/Downloads\/node-latest.pkg\" &amp;&amp; sudo installer -store -pkg \"$HOME\/Downloads\/node-latest.pkg\" -target \"\/\"<\/code><\/p>\n<p><strong>Mac&#8217;te Homebrew kullanma<\/strong><\/p>\n<p><code>brew install node<\/code><\/p>\n<h2><\/h2>\n<h2><span class=\"ez-toc-section\" id=\"Windowsta-NodeJS-Kurulumu\"><\/span><strong>Windows&#8217;ta\u00a0<\/strong><strong style=\"letter-spacing: 0px;\">Node.<\/strong><span style=\"letter-spacing: 0px;\">JS Kurulumu<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/nodejs.org\/en\/#home-downloadhead\" target=\"_blank\" rel=\"nofollow\">Windows Installer&#8217;\u0131<\/a>\u00a0do\u011frudan\u00a0<a href=\"https:\/\/nodejs.org\/\" target=\"_blank\" rel=\"nofollow\">nodejs.org<\/a>\u00a0web sitesinden indirin\u00a0.<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Linuxta-NodeJS-Kurulumu\"><\/span><strong>Linux&#8217;ta Node.<\/strong>JS Kurulumu<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ubuntu 18.04+ \u00fczerinde, a\u015fa\u011f\u0131daki komutlar\u0131 kullanarak Node&#8217;u y\u00fckleyebilirsiniz.<\/p>\n<p><code>sudo apt update<\/code><\/p>\n<p><code>sudo apt install nodejs<\/code><\/p>\n<h2><\/h2>\n<h2><span class=\"ez-toc-section\" id=\"Yuklu-Nodejs-Surumunu-Kontrol-Edin\"><\/span><strong>Y\u00fckl\u00fc Node.js S\u00fcr\u00fcm\u00fcn\u00fc Kontrol Edin<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u00d6nceki b\u00f6l\u00fcmde, Node.js&#8217;yi ba\u015far\u0131yla kurduk.\u00a0Kurulu s\u00fcr\u00fcm\u00fc kontrol ederek do\u011frulayal\u0131m.\u00a0Terminalde a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n.<\/p>\n<p><code>node -v<\/code><\/p>\n<p>Ayr\u0131ca daha uzun flag arac\u0131l\u0131\u011f\u0131yla da kontrol edebilirsiniz.<\/p>\n<p><code>node --version<\/code><\/p>\n<p>S\u00fcr\u00fcm numaras\u0131 de\u011fi\u015fse de, buna benzer bir \u00e7\u0131kt\u0131 g\u00f6rmelisiniz.<\/p>\n<p><strong>v14.16.0<\/strong><\/p>\n<h2><span class=\"ez-toc-section\" id=\"NPM-Nedir\"><\/span><strong>NPM Nedir?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/www.npmjs.com\/\" target=\"_blank\" rel=\"nofollow\">NPM<\/a>\u00a0, Node.js&#8217;nin paket ekosistemidir.\u00a01 milyondan fazla paket ve b\u00fcy\u00fcyen Node.js d\u00fcnyas\u0131ndaki t\u00fcm a\u00e7\u0131k kaynakl\u0131 k\u00fct\u00fcphanelerin en b\u00fcy\u00fck ekosistemidir.\u00a0NPM&#8217;nin kullan\u0131m\u0131 \u00fccretsizdir ve binlerce a\u00e7\u0131k kaynak geli\u015ftiricisi her g\u00fcn buna katk\u0131da bulunur.<\/p>\n<p>NPM, kullan\u0131ma haz\u0131r bir komut sat\u0131r\u0131 yard\u0131mc\u0131 program\u0131yla birlikte gelir.\u00a0<a href=\"https:\/\/www.npmjs.com\/search?q=keywords:packages\" target=\"_blank\" rel=\"nofollow\">\u0130htiyac\u0131n\u0131z olan paketi aramak i\u00e7in NPM web sitesine<\/a>\u00a0gidebilir\u00a0ve tek bir komut kullanarak kurabilirsiniz.\u00a0Ayr\u0131ca bu komut sat\u0131r\u0131 yard\u0131mc\u0131 program\u0131 arac\u0131l\u0131\u011f\u0131yla paketinizin s\u00fcr\u00fcmlerini y\u00f6netebilir, ba\u011f\u0131ml\u0131l\u0131klar\u0131 g\u00f6zden ge\u00e7irebilir ve hatta projelerinizde \u00f6zel komut dosyalar\u0131 olu\u015fturabilirsiniz. \u015e\u00fcphesiz, NPM, Node.js toplulu\u011funun en sevilen m\u00fclk\u00fcd\u00fcr;\u00a0Node.js, b\u00fcy\u00fck \u00f6l\u00e7\u00fcde m\u00fckemmel paket deste\u011fi nedeniyle \u00e7ok say\u0131da geli\u015ftiriciyi kendine \u00e7eker.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"NPM-Paketlerini-CLI-Uzerinden-Yukleme\"><\/span><strong>NPM Paketlerini CLI \u00dczerinden Y\u00fckleme<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Node.js&#8217;yi kurdu\u011funuzda, NPM otomatik olarak onunla birlikte kurulur.\u00a0Node.js&#8217;nin nas\u0131l kurulaca\u011f\u0131n\u0131 \u00f6nceki b\u00f6l\u00fcmlerde ele ald\u0131k, \u015fimdi NPM ile bir paket kurma komutuna bir g\u00f6z atal\u0131m:<\/p>\n<p>npm install &lt;package-name&gt;<\/p>\n<p>Evet, bu kadar kolay!\u00a0Hatta ayn\u0131 anda birden fazla paket kurabilirsiniz:<\/p>\n<p>npm install &lt;pkg-1&gt; &lt;pkg-2&gt; &lt;pkg-3&gt;<\/p>\n<p>Global ba\u011flamda bir paket kurmak istiyorsan\u0131z\u00a0<strong>-g<\/strong>\u00a0(genel) flag\u0131n\u0131 da belirtebilirsiniz.\u00a0Bu, paketi makinenizin herhangi bir yerinde kullanman\u0131za olanak tan\u0131r.<\/p>\n<p>Yeni bir uygulamay\u0131 ba\u015flatt\u0131\u011f\u0131n\u0131zda, NPM otomatik\u00a0olarak t\u00fcm NPM paketlerinden olu\u015fan bir\u00a0<strong>package.json dosyas\u0131 olu\u015fturur.\u00a0<\/strong>Burada s\u00fcr\u00fcmleri, ba\u011f\u0131ml\u0131l\u0131klar\u0131 ve \u00f6zel komut dosyalar\u0131n\u0131 belirtebilirsiniz.<\/p>\n<p>publishNPM yard\u0131mc\u0131 program\u0131yla birlikte gelen ,\u00a0audit,\u00a0run, ve daha fazlas\u0131n\u0131\u00a0i\u00e7eren uzun bir komut listesi vard\u0131r .\u00a0Bunlar\u0131n nas\u0131l kullan\u0131laca\u011f\u0131n\u0131\u00a0npm helpkomutu kullanarak kontrol edebilirsiniz.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Populer-Paketler\"><\/span><strong>Pop\u00fcler Paketler<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bug\u00fcn Node.js i\u00e7in en pop\u00fcler paketlerden baz\u0131lar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong><a href=\"http:\/\/expressjs.com\/\" target=\"_blank\" rel=\"nofollow\">Express<\/a><\/strong>: Express.js veya basit\u00e7e Express, Node.js i\u00e7in Sinatra&#8217;dan ilham alan bir web geli\u015ftirme framework\u00fcd\u00fcr ve g\u00fcn\u00fcm\u00fczde mevcut Node.js uygulamalar\u0131n\u0131n \u00e7o\u011fu i\u00e7in fiili standartt\u0131r.<\/li>\n<li><a href=\"https:\/\/npmjs.org\/package\/mongodb\" target=\"_blank\" rel=\"nofollow\"><strong>MongoDB<\/strong><\/a>: MongoDB&#8217;nin resmi s\u00fcr\u00fcc\u00fcs\u00fc.\u00a0Node.js&#8217;deki MongoDB nesne veritabanlar\u0131 i\u00e7in API sa\u011flar.<\/li>\n<li><a href=\"http:\/\/socket.io\/\" target=\"_blank\" rel=\"nofollow\"><strong>Socket.io<\/strong><\/a>: Socket, ger\u00e7ek zamanl\u0131, \u00e7ift y\u00f6nl\u00fc ve olaya dayal\u0131 ileti\u015fim sa\u011flar.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/lodash\" target=\"_blank\" rel=\"nofollow\"><strong>Lodash<\/strong><\/a>: Lodash, diziler, say\u0131lar, nesneler, dizeler vb. ile \u00e7al\u0131\u015fman\u0131n zorlu\u011funu ortadan kald\u0131rarak JavaScript&#8217;i kolayla\u015ft\u0131r\u0131r.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/moment\" target=\"_blank\" rel=\"nofollow\"><strong>Moment<\/strong><\/a>: Tarihleri \u200b\u200bayr\u0131\u015ft\u0131rmak, do\u011frulamak, i\u015flemek ve bi\u00e7imlendirmek i\u00e7in bir JavaScript tarih kitapl\u0131\u011f\u0131d\u0131r.<\/li>\n<li><a href=\"https:\/\/npmjs.org\/package\/forever\" target=\"_blank\" rel=\"nofollow\"><strong>Forever<\/strong><\/a>: Belirli bir beti\u011fin s\u00fcrekli (yani sonsuza kadar) \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in basit bir CLI arac\u0131.\u00a0Beklenmeyen hatalar kar\u015f\u0131s\u0131nda Node.js s\u00fcrecinizi \u00e7al\u0131\u015f\u0131r vaziyette tutar.<\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/async\" target=\"_blank\" rel=\"nofollow\"><strong>Async<\/strong><\/a>: Asenkron JavaScript ile \u00e7al\u0131\u015fmak i\u00e7in basit, g\u00fc\u00e7l\u00fc i\u015flevler sa\u011flayan bir yard\u0131mc\u0131 program mod\u00fcl\u00fcd\u00fcr.<\/li>\n<li><a href=\"https:\/\/github.com\/mranney\/node_redis\" target=\"_blank\" rel=\"nofollow\"><strong>Redis<\/strong><\/a>: Redis\u00a0veritaban\u0131 entegrasyonunu desteklemek i\u00e7in bir istemci kitapl\u0131\u011f\u0131d\u0131r.<\/li>\n<li><a href=\"https:\/\/github.com\/mochajs\/mocha\" target=\"_blank\" rel=\"nofollow\"><strong>Mocha<\/strong><\/a>: Node.js ve taray\u0131c\u0131 i\u00e7in temiz, esnek bir JavaScript test frmework\u00fcd\u00fcr.<\/li>\n<li><a href=\"https:\/\/github.com\/jaredhanson\/passport\" target=\"_blank\" rel=\"nofollow\"><strong>Passport<\/strong><\/a>: Node.js i\u00e7in basit, g\u00f6ze batmayan kimlik do\u011frulama sa\u011flar.\u00a0Pasaportun tek amac\u0131 istekleri do\u011frulamakt\u0131r.<\/li>\n<\/ul>\n<p><strong>Son olarak;<\/strong><\/p>\n<p>\u00d6zetle, Node.js, birden \u00e7ok e\u015fzamanl\u0131 iste\u011fi desteklemesi gereken y\u00fcksek \u00f6l\u00e7ekli uygulamalar olu\u015fturmak i\u00e7in kullan\u0131labilecek pop\u00fcler bir programlama ortam\u0131d\u0131r.\u00a0Tek i\u015f par\u00e7ac\u0131kl\u0131 engellemesiz G\/\u00c7, onu hem ger\u00e7ek zamanl\u0131 hem de veri ak\u0131\u015f\u0131 uygulamalar\u0131 i\u00e7in m\u00fckemmel bir se\u00e7im haline getirir.<\/p>\n<p>Bunu daha da g\u00fc\u00e7lendirmek i\u00e7in Node.js, aktif geli\u015ftiricilerden olu\u015fan devasa bir toplulu\u011fa sahiptir ve \u015fu anda bir milyondan fazla paket i\u00e7eren d\u00fcnyan\u0131n en b\u00fcy\u00fck a\u00e7\u0131k kaynakl\u0131 paket deposu NPM&#8217;ye sahiptir.<\/p>\n<p>Node.js&#8217;yi kullanmaya ba\u015flamak kolayd\u0131r. Ayr\u0131ca\u00a0<a href=\"https:\/\/nodejs.dev\/learn\" target=\"_blank\" rel=\"nofollow\">nodejs.dev<\/a>\u00a0adresindeki resmi Node.js belgelerini ziyaret ederek bilginizi geni\u015fletebilirsiniz.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript, d\u00fcnyadaki en pop\u00fcler programlama dillerinden biridir.\u00a0Bug\u00fcn milyonlarca web sitesine g\u00fc\u00e7 veren ve \u00f6zellikler olu\u015fturmak i\u00e7in geli\u015ftiricileri ve tasar\u0131mc\u0131lar taraf\u0131ndan en \u00e7ok&hellip;<\/p>\n","protected":false},"author":3,"featured_media":14167,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[417],"tags":[],"class_list":["post-14164","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-yazilim"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/14164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/comments?post=14164"}],"version-history":[{"count":2,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/14164\/revisions"}],"predecessor-version":[{"id":14169,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/14164\/revisions\/14169"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/media\/14167"}],"wp:attachment":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/media?parent=14164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/categories?post=14164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/tags?post=14164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}