﻿
{"id":8479,"date":"2018-07-09T09:24:44","date_gmt":"2018-07-09T09:24:44","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=8479"},"modified":"2018-07-09T09:24:44","modified_gmt":"2018-07-09T09:24:44","slug":"event-driven-non-blocking-ve-node-js-nedir","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/event-driven-non-blocking-ve-node-js-nedir\/","title":{"rendered":"Event Driven, Non Blocking ve Node.js Nedir?"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m d\u00fcynas\u0131nda <strong>Event Based<\/strong> ve <strong>Thread Based<\/strong> olmak \u00fczere birbirinden farkl\u0131 iki kavram mevcuttur. Bu i\u00e7eri\u011fimizde bu kavramlar\u0131n neler oldu\u011funu, aralar\u0131ndaki fark\u0131 g\u00f6zeterek de\u011ferlendirece\u011fiz ve bunlar\u0131n yan\u0131nda Node.js mimarisinin ne oldu\u011funu a\u00e7\u0131klamaya \u00e7al\u0131\u015faca\u011f\u0131z.<\/p>\n<h2>Event Based<\/h2>\n<p>Olay tabanl\u0131 programlamad\u0131r. Bir yaz\u0131l\u0131m\u0131n ak\u0131\u015f\u0131n\u0131 olaylar belirlemektedir. Tan\u0131mlanan olaylardan herhangi biri ger\u00e7ekle\u015fir yahut tetiklenirse sistemin di\u011fer par\u00e7alar\u0131n\u0131 ilgilendirmeksizin sadece ilgili olaydaki kodlar \u00e7al\u0131\u015ft\u0131r\u0131lacakt\u0131r. Dolay\u0131s\u0131yla bu \u015fekilde sistem asenkron bir \u00f6zellik sergileyecek ve her bir olay sade ve sadece kendi i\u00e7erisindeki kodlarla sistemi me\u015fgul edecektir. \u0130\u015fte olaylar\u0131n birbirlerini ilgilendirmemesi, bir ba\u015fka deyi\u015fle bloklamamas\u0131 <strong>Non Bloking<\/strong> olarak nitelendirilmektedir.<\/p>\n<h3>Thread Based<\/h3>\n<p>Event Based programlamaya nazaran senkron bir \u015fekilde i\u015flevsellik g\u00f6steren programlamad\u0131r. Yap\u0131lacak herhangi bir i\u015flem bitene kadar di\u011fer i\u015flemler ask\u0131ya al\u0131naca\u011f\u0131ndan dolay\u0131 bloklama yarat\u0131lacak ve bu \u015fekilde istenmeyen durum mevzu bahis olacakt\u0131r.<\/p>\n<h2>Node.js Nedir?<\/h2>\n<p>JavaScript ile Back-End servisler yazabilmemizi sa\u011flayan bir JavaScript Runtime platformudur. [Node.js] \u00e7\u0131kana kadar JavaScript sadece Front-End&#8217;de kullan\u0131lan bir script diliydi. [Node.js] sayesinde JavaScript&#8217;e Back-End \u00f6zelli\u011fi kazand\u0131r\u0131lm\u0131\u015ft\u0131r diyebiliriz.<\/p>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/07\/Event-Driven-Non-Blocking-ve-Node.js-Nedir.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/07\/Event-Driven-Non-Blocking-ve-Node.js-Nedir.png\" alt=\"Node.js \u00c7al\u0131\u015fma Mant\u0131\u011f\u0131\" width=\"451\" height=\"235\" class=\"aligncenter size-full wp-image-8482\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/07\/Event-Driven-Non-Blocking-ve-Node.js-Nedir.png 451w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2018\/07\/Event-Driven-Non-Blocking-ve-Node.js-Nedir-300x156.png 300w\" sizes=\"auto, (max-width: 451px) 100vw, 451px\" \/><\/a><\/p>\n<p>Yukar\u0131daki g\u00f6r\u00fcnt\u00fcde Node.js&#8217;in \u00e7al\u0131\u015fma mant\u0131\u011f\u0131 \u015fematize edilmi\u015ftir. \u015eemay\u0131 incelerseniz e\u011fer; Node.js, kendisine gelen t\u00fcm requestleri birbirinden ba\u011f\u0131ms\u0131z bir \u015fekilde devreye almaktad\u0131r. Requestlerden herhangi birinin i\u015flemi bitti\u011fi vakit ilgili requestin fonksiyonu CallBack fonksiyonunu \u00e7al\u0131\u015ft\u0131rmakta ve clienta cevap d\u00f6nmektedir. \u0130\u015fte biz buna asenkron \u00e7al\u0131\u015fma diyoruz ve dikkat ederseniz e\u011fer Event Based yap\u0131s\u0131nda bir yakla\u015f\u0131m oldu\u011funu g\u00f6r\u00fcyoruz. Buradan da \u00e7\u0131karabiliriz ki, Node.js Event Based yakla\u015f\u0131m\u0131n\u0131 benimsemi\u015f bir mimaridir.<\/p>\n<p>\u0130\u00e7eri\u011fimizin ba\u015fl\u0131\u011f\u0131nda belirtilen kavramlar\u0131 elimden geldi\u011fince izah etmeye \u00e7al\u0131\u015fm\u0131\u015f bulunmaktay\u0131m. Umar\u0131m faydal\u0131 ve bilgilendirici bir makale olmu\u015ftur.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek dile\u011fiyle&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, G\u00fcn\u00fcm\u00fcz yaz\u0131l\u0131m d\u00fcynas\u0131nda Event Based ve Thread Based olmak \u00fczere birbirinden farkl\u0131 iki kavram mevcuttur. Bu i\u00e7eri\u011fimizde bu kavramlar\u0131n neler oldu\u011funu, aralar\u0131ndaki fark\u0131 g\u00f6zeterek de\u011ferlendirece\u011fiz ve bunlar\u0131n yan\u0131nda Node.js mimarisinin ne oldu\u011funu a\u00e7\u0131klamaya&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":8482,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2145],"tags":[2433,2435,2147,2439,2434,2436,2437,2438],"class_list":["post-8479","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-node-js","tag-event-driven","tag-event-driven-nedir","tag-node-js","tag-node-js-nedir","tag-non-blocking","tag-non-blocking-nedir","tag-thread-based","tag-thread-based-nedir"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=8479"}],"version-history":[{"count":11,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8479\/revisions"}],"predecessor-version":[{"id":8491,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/8479\/revisions\/8491"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/8482"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=8479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=8479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=8479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}