Node.js'in ne zaman kullan─▒laca─č─▒na nas─▒l karar verilir?


Al─▒nan cevaba git


Bu t├╝r ┼čeylerde yeniyim, ancak son zamanlarda Node.js'in ne kadar iyi oldu─ču hakk─▒nda ├žok ┼čey duydum . Genel olarak jQuery ve JavaScript ile ├žal─▒┼čmay─▒ ne kadar sevdi─čimi g├Âz ├Ân├╝nde bulundurarak, Node.js. Akl─▒mdaki web uygulamas─▒ Bitly gibi bir ┼čey - biraz i├žerik al─▒yor, ar┼čivliyor .

Son birka├ž g├╝nd├╝r yapt─▒─č─▒m b├╝t├╝n ev ├Âdevlerinden a┼ča─č─▒daki bilgileri ald─▒m. node.js

  • normal bir web sunucusu olarak ├žal─▒┼čt─▒r─▒labilen ve birinin JavaScript programlar─▒n─▒ ├žal─▒┼čt─▒rmas─▒n─▒ sa─člayan bir komut sat─▒r─▒ arac─▒d─▒r
  • harika V8 JavaScript motorunu kullan─▒yor
  • Ayn─▒ anda birka├ž ┼čey yapman─▒z gerekti─činde ├žok iyidir
  • olay tabanl─▒ oldu─čundan , sunucu taraf─▒nda yap─▒labilecek t├╝m harika Ajax benzeri ┼čeyler yap─▒labilir
  • taray─▒c─▒ ile arka u├ž aras─▒nda kod payla┼čmam─▒za izin veriyor
  • MySQL ile konu┼čal─▒m

Kar┼č─▒la┼čt─▒─č─▒m kaynaklardan baz─▒lar─▒:

Node.jsÔÇÖnin AmazonÔÇÖun EC2 ├Ârneklerinde neredeyse hi├ž t├╝kenmeden ├žal─▒┼čt─▒r─▒labilece─čini g├Âz ├Ân├╝nde bulundurarak, PHP , Python ve Ruby gibi g├╝├žl├╝ krallar─▒n herhangi birinin aksine Node.jsÔÇÖnin ne t├╝r problemler gerektirdi─čini anlamaya ├žal─▒┼č─▒yorum. . Bunun bir dilin sahip oldu─ču uzmanl─▒─ča ba─čl─▒ oldu─čunu biliyorum, ancak sorum daha genel bir kategoriye giriyor: Belirli bir ├žer├ževeyi ne zaman kullanmal─▒ ve ├Âzellikle ne t├╝r problemler i├žin uygundur?


2198









Cevap say─▒s─▒n─▒ say: 17






Node.js. ile ilgili harika ┼čeyleri ├Âzetleyerek ├žok iyi bir i┼č ├ž─▒kard─▒n─▒z. Benim d├╝┼č├╝nceme g├Âre, Node.js ├Âzellikle taray─▒c─▒dan sunucuya kal─▒c─▒ bir ba─člant─▒ kurmak istedi─činiz uygulamalar i├žin uygundur. "Uzun sorgulama" olarak bilinen bir tekni─či kullanarak , kullan─▒c─▒ya ger├žek zamanl─▒ olarak g├╝ncelleme g├Ânderen bir uygulama yazabilirsiniz. Web'deki bir├žok deve uzun s├╝re ara┼čt─▒rma yapmak, Ruby on Rails veya Django gibi , sunucuda devasa bir y├╝k yaratacakt─▒r, ├ž├╝nk├╝ her aktif istemci bir sunucu i┼člemi yiyor. Bu durum bir tarpit sald─▒r─▒s─▒ anlam─▒na geliyor. Node.js gibi bir ┼čey kulland─▒─č─▒n─▒zda, sunucunun her a├ž─▒k ba─člant─▒ i├žin ayr─▒ i┼č par├žac─▒klar─▒ korumaya ihtiyac─▒ yoktur.

Bu , Node.js'de ├žok say─▒da m├╝┼čteriye hizmet vermek i├žin neredeyse hi├ž sistem kayna─č─▒ gerektirmeyen taray─▒c─▒ tabanl─▒ bir sohbet uygulamas─▒ olu┼čturabilece─činiz anlam─▒na gelir . Bu kadar uzun bir oylama yapmak istedi─činizde, Node.js harika bir se├ženektir.

Ruby ve Python'un bu t├╝r bir ┼čeyi yapmak i├žin ara├žlara sahip oldu─čunu ( buna g├Âre s─▒ras─▒yla eventmachine ve twisted ) bahsetmeye de─čer , ancak Node.js bunu son derece iyi ve s─▒f─▒rdan yap─▒yor. JavaScript, geri arama tabanl─▒ e┼čzamanl─▒l─▒k modelinde son derece iyi bir konuma sahiptir ve burada ├Âne ├ž─▒kar. Ayr─▒ca, JSON yerli ile hem istemciye hem de sunucuya serile┼čtirme ve seri hale getirme olduk├ža ┼č─▒k.

Burada di─čer cevaplar─▒ okumak i├žin sab─▒rs─▒zlan─▒yorum, bu harika bir soru.

─░stemci / sunucu bo┼člu─ču boyunca bir├žok kodu tekrar kullanaca─č─▒n─▒z durumlar i├žin Node.js'nin de harika oldu─čunu belirtmekte fayda var. Meteor ├žer├ževe ger├žekten kolay bu yapar ve millet bir s├╝r├╝ bu web geli┼čtirme gelece─či olabilece─čini ├Âne i├žin. Teceor'dan, Meteor'da kod yazman─▒n ├žok e─členceli oldu─čunu s├Âyleyebilirim ve bunun b├╝y├╝k bir k─▒sm─▒ verilerinizi nas─▒l yeniden yap─▒land─▒raca─č─▒n─▒z─▒ d├╝┼č├╝nmek i├žin daha az zaman harcamakt─▒r, b├Âylece taray─▒c─▒da ├žal─▒┼čan kod kolayca manip├╝le ve geri ilet.

─░┼čte, Piramit ve uzun sorgulama hakk─▒nda bir makale: gevent'in k├╝├ž├╝k bir yard─▒m─▒ ile kurman─▒n ├žok kolay oldu─ču ortaya ├ž─▒kt─▒: TicTacToe ve Pyramid ile Uzun ├ça─č─▒rma .


1357







Node.js'nin ger├žek zamanl─▒ uygulamalar i├žin en uygun oldu─čuna inan─▒yorum: ├ževrimi├ži oyunlar, i┼čbirli─či ara├žlar─▒, sohbet odalar─▒ veya bir kullan─▒c─▒n─▒n (veya robotun veya sens├Âr├╝n) uygulaman─▒n di─čer kullan─▒c─▒lar taraf─▒ndan hemen g├Âr├╝lmesi gereken herhangi bir ┼čey oldu─ču, sayfa yenileme olmadan.

Ayr─▒ca Socket.IO'nun Node.js ile birlikte kullan─▒lmas─▒n─▒n, ger├žek zamanl─▒ gecikme s├╝renizi uzun oy kullanmada m├╝mk├╝n olandan daha da azaltaca─č─▒n─▒ da s├Âylemeliyim. Socket.IO, en k├Ât├╝ durum senaryosu olarak uzun oylamaya geri d├Ânecek ve bunun yerine web soketleri veya varsa Flash bile kullanacakt─▒r.

Ancak ┼čunu da belirtmeliyim ki, i┼č par├žac─▒─č─▒ nedeniyle kodun engelleyebilece─či herhangi bir durum Node.js. Ya da uygulaman─▒n olaya y├Ânelik olmas─▒ gereken herhangi bir durum.

Ayr─▒ca, Ryan Dahl bir konu┼čmada, bir keresinde Node.js kriterlerinin d├╝zenli olarak eski HTTP istekleri i├žin Nginx ile yak─▒ndan kar┼č─▒la┼čt─▒─č─▒n─▒ belirtti─čimi s├Âyledi. Dolay─▒s─▒yla Node.js ile in┼ča edersek, normal kaynaklar─▒m─▒z─▒ olduk├ža etkin bir ┼čekilde hizmet edebiliriz ve olaya dayal─▒ olaylara ihtiya├ž duydu─čumuzda, kullan─▒ma haz─▒rd─▒r.

Ayr─▒ca her zaman her ┼čey JavaScript. Lingua Franca b├╝t├╝n y─▒─č─▒nda.


409







NodeJS'i kullanma nedenleri:

  • Javascript'i ├žal─▒┼čt─▒rd─▒─č─▒ndan, ayn─▒ dili sunucuda ve istemcide kullanabilir ve hatta aralar─▒nda baz─▒ kodlar payla┼čabilirsiniz (├Ârne─čin, form do─črulama i├žin veya her iki u├žta da g├Âr├╝n├╝mler olu┼čturmak i├žin).

  • Tek di┼čli olay odakl─▒ bir sistemdir h─▒zl─▒ geleneksel ├žok kanall─▒ k─▒yasla kerede istekleri s├╝r├╝ tutarken bile, hem de basit bir Java veya ROR ├žer├ževeler.

  • ─░stemci ve sunucu taraf─▒ kitapl─▒klar─▒ / mod├╝lleri ve ayr─▒ca web geli┼čtirme i├žin komut sat─▒r─▒ ara├žlar─▒ da dahil olmak ├╝zere, NPM'den eri┼čilebilen, giderek b├╝y├╝yen paketler havuzu . Bunlar─▒n ├žo─ču elveri┼čli bir ┼čekilde github'da bar─▒nd─▒r─▒l─▒yor, burada bazen bir sorunu bildirebilir ve birka├ž saat i├žinde bulabilirsin! Standart sorun bildirimi ve kolay ├žatallama ile her ┼čeyin tek bir ├žat─▒ alt─▒nda olmas─▒ g├╝zel.

  • Javascript ile ilgili ara├žlar─▒n ve g├Ârev ka├žak├ž─▒lar─▒, k├╝├ž├╝k el aletleri, g├╝zelle┼čtiriciler, i┼čaretleyiciler, ├Âni┼člemciler, paketleyiciler ve analitik i┼člemciler dahil olmak ├╝zere web ile ilgili di─čer ara├žlar─▒n ├žal─▒┼čt─▒r─▒ld─▒─č─▒ varsay─▒lan standart olmayan ortam haline geldi .

  • Prototipleme, ├ževik geli┼čim ve h─▒zl─▒ ├╝r├╝n yinelemesi i├žin olduk├ža uygun g├Âr├╝n├╝yor .

Nedenleri de─čil kullan─▒m NodeJS i├žin:

  • Derleme zaman─▒ t├╝r├╝ denetimi olmayan Javascript'i ├žal─▒┼čt─▒r─▒r. B├╝y├╝k, karma┼č─▒k g├╝venlik a├ž─▒s─▒ndan kritik sistemler veya farkl─▒ kurulu┼člar aras─▒ndaki i┼čbirli─čini i├žeren projeler i├žin, s├Âzle┼čmeye ba─čl─▒ arabirimleri te┼čvik eden ve statik t├╝r kontrol├╝ sa─člayan bir dil , uzun vadede size biraz hata ay─▒klama s├╝resi (ve patlamalar ) kazand─▒rabilir. (JVM'nin tak─▒l─▒ kalmas─▒na ra─čmen null n├╝kleer reakt├Ârleriniz i├žin l├╝tfen Haskell kullan─▒n.)

  • Buna ek olarak, NPM'deki paketlerin ├žo─ču biraz ham ve hala h─▒zl─▒ bir geli┼čme i├žinde. Eski ├žer├ževeler i├žin baz─▒ k├╝t├╝phaneler, on y─▒ll─▒k bir test ve hata d├╝zeltme i┼čleminden ge├žmi┼čtir ve ┼čimdiye kadar ├žok kararl─▒d─▒r . Npmjs.org, b├╝y├╝k bir y├╝zdesinin art─▒k muhafaza edilmedi─či, ayn─▒ ┼čeyi yapan paketlerin ├žo─čalmas─▒na neden olan paketleri derecelendirme mekanizmas─▒na sahip de─čildir .

  • ─░├ž i├že geri arama cehennemi. (Tabii ki bunun i├žin 20 farkl─▒ ├ž├Âz├╝m var ...)

  • S├╝rekli b├╝y├╝yen paket havuzu bir NodeJS projesinin di─čerinden k├Âkten farkl─▒ g├Âr├╝nmesine neden olabilir . Mevcut ├žok say─▒da se├ženek nedeniyle uygulamalarda b├╝y├╝k bir ├že┼čitlilik vard─▒r (├Ârn. Express / Sails.js / Meteor / Derby ). Bu bazen yeni bir geli┼čtiricinin bir Node projesine atlamas─▒n─▒ zorla┼čt─▒rabilir. Kontrast bir o Raylar geli┼čtirici varolan projeyi kat─▒lmadan: o olduk├ža h─▒zl─▒ app tan─▒mak gerekir, b├╝t├╝n raylar uygulamalar bir kullanmalar─▒ ├Ânerilir ├ž├╝nk├╝ benzer bir yap─▒ya .

  • Dosyalarla ba┼č etmek biraz ac─▒ verici olabilir. Di─čer dillerde ├Ânemsiz ┼čeyler, bir metin dosyas─▒ndan bir sat─▒r okumak gibi , Node.js ile ilgili 80'den fazla oy alan bir StackOverflow sorusu yapmak i├žin yeterince garip . Orada bir CSV dosyas─▒ndan bir defada bir kayd─▒ okumak i├žin basit bir yolu . Vb.

NodeJS'yi seviyorum, h─▒zl─▒ ve vah┼či ve e─členceli, ancak ispatlanabilir do─črulu─ča ilgisinin az oldu─ču konusunda endi┼čeliyim. Umar─▒z sonunda iki d├╝nyan─▒n da en iyisini birle┼čtirebiliriz. Gelecekte D├╝─č├╝m├╝n yerini alacak olan─▒ g├Ârmeye istekliyim ... :)


209







K─▒sa yapmak i├žin:

Node.js, ├žok say─▒da e┼čzamanl─▒ ba─člant─▒ya sahip uygulamalar i├žin ├žok uygundur ve her istek yaln─▒zca ├žok az CPU d├Âng├╝s├╝ gerektirir, ├ž├╝nk├╝ olay d├Âng├╝s├╝ (di─čer t├╝m istemcilerle birlikte) bir i┼člevin y├╝r├╝t├╝lmesi s─▒ras─▒nda engellenmi┼čtir.

Node.js'deki olay d├Âng├╝s├╝ hakk─▒nda iyi bir makale , Mixu'nun teknoloji blogudur: node.js olay d├Âng├╝s├╝n├╝ anlama .


206







Node.js. kulland─▒─č─▒m ger├žek d├╝nyadan bir ├Ârne─čim var. ├çal─▒┼čt─▒─č─▒m ┼čirket basit bir statik HTML web sitesine sahip olmak isteyen bir m├╝┼čteriye sahipti. Bu web sitesi PayPal kullanarak bir ├╝r├╝n satmak i├žindir ve m├╝┼čteri ayr─▒ca sat─▒lan ├╝r├╝nlerin miktar─▒n─▒ g├Âsteren bir saya├ž almak istedi. M├╝┼čterinin bu web sitesini ├žok say─▒da ziyaret├žisinin olmas─▒ bekleniyor. Sayac─▒ Node.js ve Express.js ├žer├ževesini kullanarak yapmaya karar verdim .

Node.js uygulamas─▒ basitti. Redis veri taban─▒ndan sat─▒lan ├╝r├╝n miktar─▒n─▒ al─▒n, ├╝r├╝n sat─▒ld─▒─č─▒nda sayac─▒ art─▒r─▒n ve saya├ž de─čerini kullan─▒c─▒lara API ├╝zerinden sunun .

Bu durumda Node.js'i kullanmay─▒ se├žmemin baz─▒ nedenleri

  1. ├çok hafif ve h─▒zl─▒. ├ť├ž hafta i├žinde bu web sitesinde 200000'den fazla ziyaret yap─▒ld─▒ ve en az sunucu kayna─č─▒ hepsini kullanabildi.
  2. Saya├ž ger├žek zamanl─▒ olmak ger├žekten kolay.
  3. Node.js yap─▒land─▒rmas─▒ kolayd─▒.
  4. ├ťcretsiz olarak sunulan pek ├žok mod├╝l vard─▒r. ├ľrne─čin, PayPal i├žin bir Node.js mod├╝l├╝ buldum.

Bu durumda, Node.js harika bir se├žimdi.


127







Bir sonraki projenizi D├╝─č├╝m kullanarak ba┼člatman─▒n en ├Ânemli nedenleri ...

  • En haval─▒ adamlar bunun i├žine giriyor ... bu y├╝zden e─členceli olmal─▒ .
  • So─čutucuda Hangout yapabilir ve ├Âv├╝necek ├žok say─▒da D├╝─č├╝m macera ya┼čayabilirsiniz.
  • Bulut bar─▒nd─▒rma maliyetleri s├Âz konusu oldu─čunda bir kuru┼č tutams─▒n.
  • Rails ile orada yapt─▒m
  • IIS da─č─▒t─▒mlar─▒ndan nefret edersiniz
  • Eski BT i┼činiz olduk├ža s─▒k─▒c─▒ olmaya ba┼čl─▒yor ve yeni bir Start Up'da olman─▒z─▒ diliyorum.

Ne bekleyebilece─činizi ...

  • Asla ihtiya├ž duymad─▒─č─▒n─▒z t├╝m sunucu yaz─▒l─▒m─▒ olmadan Express ile kendinizi g├╝vende hissedeceksiniz.
  • Roket gibi ko┼čar ve iyi ├Âl├žeklenir.
  • Hayal et. Sen kurdun. Repo npmjs.org d├╝─č├╝m paketi , d├╝nyadaki a├ž─▒k kaynak k├╝t├╝phanelerinin en b├╝y├╝k ekosistemidir.
  • Beyniniz, yuvalanm─▒┼č geri aramalar─▒n ├╝lkesinde ├žarp─▒t─▒lacak ...
  • ... s├Âzlerini tutmay─▒ ├Â─črenene kadar .
  • Sequelize ve Passport , yeni API arkada┼člar─▒n─▒zd─▒r.
  • ├ço─čunlukla zaman uyumsuz kod hata ay─▒klama umm ... ilgin├ž olacak .
  • T├╝m Noders zaman─▒ master typescript .

Onu kim kullan─▒yor?

  • PayPal, Netflix, Walmart, LinkedIn, Groupon, Uber, GoDaddy, Dow Jones
  • ─░┼čte bu y├╝zden Node'a ge├žtiler .

105







Silver Bullet gibisi yoktur. Her ┼čey onunla ilgili baz─▒ maliyetler ile birlikte geliyor. Ya─čl─▒ yemek yiyorsan─▒z, sa─čl─▒─č─▒n─▒z─▒ tehlikeye atacaks─▒n─▒z ve sa─čl─▒kl─▒ yiyecekler ya─čl─▒ yiyecekler gibi baharatlarla gelmiyor. Yiyeceklerinde oldu─ču gibi sa─čl─▒k ya da baharat istemeleri de bireysel se├žimdir. Ayn─▒ ┼čekilde Node.js, belirli senaryoda kullan─▒lmay─▒ d├╝┼č├╝nmektedir. Uygulaman─▒z bu senaryoya uymuyorsa, uygulama geli┼čtirmeniz i├žin d├╝┼č├╝nmemelisiniz. Ben sadece d├╝┼č├╝ncelerimi ayn─▒ ├╝zerine yaz─▒yorum:

Node.JS ne zaman kullan─▒l─▒r?

  1. Sunucunuzun yan kodu ├žok az i┼člemci d├Âng├╝s├╝ gerektiriyorsa. Di─čer d├╝nyada engelleme yapmayan bir i┼člem yap─▒yorsunuz ve ├žok fazla CPU ├ževrimi t├╝keten a─č─▒r bir algoritma / ─░┼č yok.
  2. Javascript'ten iseniz ve arkada oturuyorsan─▒z ve yaz─▒ yazarken rahat├ža Tek Di┼čli kodunu t─▒pk─▒ m├╝┼čteri taraf─▒ JS'si gibi.

Ne zaman Node.JS kullan─▒lmayacak

  1. Sunucu iste─činiz yo─čun CPU t├╝keten algoritmaya / ─░┼če ba─čl─▒d─▒r.

Node.JS ile ├ľl├žeklendirilebilirlik De─čerlendirmesi

  1. D├╝─č├╝m.JS'nin kendisi, temel sistemin t├╝m ├žekirde─čini kullanmaz ve varsay─▒lan olarak tek i┼č par├žac─▒kl─▒d─▒r, ├žok ├žekirdekli i┼člemciyi kullanmak ve ├žok i┼č par├žac─▒kl─▒ hale getirmek i├žin kendi ba┼č─▒n─▒za mant─▒k yazman─▒z gerekir.

D├╝─č├╝m.JS Alternatifleri

Node.JS yerine kullanmak i├žin ba┼čka bir se├ženek daha var ancak Vert.x olduk├ža ├╝mit verici g├Âr├╝n├╝yor ve polygot ve daha iyi ├Âl├žeklenebilirlik konular─▒ gibi bir├žok ek ├Âzelli─če sahip.


60


2013-04-05





Node.js hakk─▒nda hi├ž kimsenin bahsetmedi─čini d├╝┼č├╝nd├╝─č├╝m bir di─čer harika ┼čey ise inan─▒lmaz topluluk, paket y├Ânetim sistemi (npm) ve bunlar─▒ sadece package.json dosyas─▒na dahil ederek ekleyebilece─činiz mod├╝llerin miktar─▒d─▒r.


41







Benim par├žam: nodejs analitik, sohbet uygulamalar─▒, apis, reklam sunucular─▒ vb. Gibi ger├žek zamanl─▒ sistemler yapmak i├žin harikad─▒r. Cehennem, ilk sohbet uygulamam─▒ nodejs ve socket.io kullanarak 2 saatten k─▒sa bir s├╝redir ve s─▒nav haftas─▒nda da yapt─▒m!

D├╝zenle

D├╝─č├╝mleri kullanmaya ba┼člad─▒─č─▒mdan bu yana birka├ž y─▒l ge├žti ve statik dosya sunucular─▒, basit analizler, sohbet uygulamalar─▒ ve ├žok daha fazlas─▒ dahil olmak ├╝zere bir├žok farkl─▒ ┼čey yap─▒m─▒nda kulland─▒m. Bu benim nodejs kullanmak ne zaman benim ├╝st├╝m

Ne zaman kullan─▒l─▒r?

E┼čzamanl─▒l─▒k ve h─▒za ├Ânem veren sistemi yaparken.

  • Yaln─▒zca sohbet uygulamalar─▒, irc uygulamalar─▒, vb. Gibi sunucular─▒ soketler.
  • Co─črafi konum, video ak─▒┼č─▒, ses ak─▒┼č─▒ gibi ger├žek zamanl─▒ kaynaklara ├Ânem veren sosyal a─člar
  • Analytics webapp gibi k├╝├ž├╝k veri par├žalar─▒n─▒ ger├žekten h─▒zl─▒ bir ┼čekilde kullanma.
  • Sadece bir REST g├Âsterme api olarak.

Ne zaman kullanmamal─▒s─▒n─▒z

Onun ├žok y├Ânl├╝ bir web sunucusu, bu y├╝zden istedi─činiz yerlerde kullanabilirsiniz, ancak muhtemelen bu yerlerde.

  • Basit bloglar ve statik siteler.
  • Sadece statik bir dosya sunucusu olarak.

Sadece nitpicking oldu─čumu unutmay─▒n. Statik dosya sunucular─▒ i├žin, apache daha yayg─▒n olarak bulunabildi─činden daha iyidir. Nodejs toplulu─ču y─▒llar i├žinde daha da b├╝y├╝d├╝ ve olgunla┼čt─▒ ve kendi bar─▒nd─▒rma tercihiniz varsa, d├╝─č├╝mlerin hemen hemen her yerde kullan─▒labilece─čini s├Âylemek g├╝venlidir.


37







Nerede kullan─▒labilir

  • Son derece olay odakl─▒ ve yo─čun G / ├ç ba─člant─▒l─▒ uygulamalar
  • Di─čer sistemlere ├žok say─▒da ba─člant─▒ kullanan uygulamalar
  • Ger├žek zamanl─▒ uygulamalar (Node.js, ger├žek zamanl─▒ olarak s─▒f─▒rdan ba┼člayarak kullan─▒m kolayl─▒─č─▒ sa─člayacak ┼čekilde tasarlanm─▒┼čt─▒r.)
  • Di─čer kaynaklardan ve di─čer kaynaklardan gelen bilgi ak─▒┼č─▒n─▒ engelleyen uygulamalar
  • Y├╝ksek trafik, ├ľl├žeklenebilir uygulamalar
  • ├çok fazla veri analizi yapmak zorunda kalmadan platform API ve veritaban─▒ ile konu┼čmas─▒ gereken mobil uygulamalar
  • A─ča ba─čl─▒ uygulamalar olu┼čturun
  • Arka k─▒s─▒mda konu┼čmas─▒ gereken uygulamalar ├žok s─▒k

Mobil cephesinde, prime-time ┼čirketler mobil ├ž├Âz├╝mleri i├žin Node.js'ye g├╝vendiler. Nedenini kontrol et.

LinkedIn ├Ânde gelen bir kullan─▒c─▒d─▒r. T├╝m mobil y─▒─č─▒nlar─▒ Node.js. Her fiziksel makinede 15 sunucuyla 15 sunucuyu ├žal─▒┼čt─▒rmaktan, trafi─či ikiye katlayabilen sadece 4 ├Ârne─če gittiler!

eBay , ├žal─▒┼čma zaman─▒ y─▒─č─▒n─▒ olarak Node.js kullanan HTTP API'leri i├žin bir web sorgu dili olan ql.io'yu ba┼člatt─▒. Her bir ba─člant─▒ yakla┼č─▒k 2kB bellek harcayarak her bir d├╝─č├╝mde 120.000'den fazla etkin ba─člant─▒y─▒ ele almak i├žin normal geli┼čtirici kalitesinde bir Ubuntu i┼č istasyonunu ayarlayabildiler!

Walmart , Node.js kullanmak i├žin mobil uygulamas─▒n─▒ yeniden tasarlad─▒ ve JavaScript i┼člemesini sunucuya itti.

Daha fazla bilgi i├žin: http://www.pixelatingbits.com/a-closer-look-at-mobile-app-development-with-node-js/


30







E┼čzamanl─▒ istek y├Ânetimi i├žin en iyi d├╝─č├╝m -

├ľyleyse bir hikaye ile ba┼člayal─▒m. Son 2 y─▒ldan beri JavaScript ├╝zerinde ├žal─▒┼č─▒yorum ve web sayfas─▒n─▒ geli┼čtiriyorum ve bundan keyif al─▒yorum. Arka u├ž ├žocuklar bize JavaÔÇÖda yaz─▒lm─▒┼č baz─▒ APIÔÇÖler veriyorlar, python (umrumda de─čil) ve biz sadece bir AJAX ├ža─čr─▒s─▒ yaz─▒yoruz, verilerimizi al─▒yoruz ve tahmin et ne oldu! ─░┼čimiz bitti. Fakat ger├žekte bu o kadar kolay de─čil, Elde etti─čimiz veriler do─čru de─čilse veya bir sunucu hatas─▒ varsa, o zaman s─▒k─▒┼č─▒p kald─▒k ve arka u├ž adamlar─▒m─▒zla posta veya sohbet ├╝zerinden ileti┼čime ge├žmeliyiz (bazen whatsApp de :).) Bu haval─▒ de─čil. API'm─▒z─▒ JavaScriptÔÇÖe yazd─▒ysak ve bu APIÔÇÖleri ├Ân u├žtan ├ža─č─▒r─▒rsak ne olur? Evet bu olduk├ža haval─▒, ├ž├╝nk├╝ API'de herhangi bir sorunla kar┼č─▒la┼č─▒rsak, i├žine bakabiliriz. Bil bakal─▒m ne oldu ! Bunu ┼čimdi yapabilirsin Nas─▒l? - D├╝─č├╝m senin i├žin orada.

Tamam, APIÔÇÖnizi JavaScriptÔÇÖe yazabilece─činizi kabul etti ancak ne sorunum varsa, tamam. ─░stirahat API'si i├žin d├╝─č├╝m├╝ kullanmak i├žin ba┼čka bir nedeniniz var m─▒?

i┼čte sihir ba┼čl─▒yor. Evet, API'lar─▒m─▒z i├žin d├╝─č├╝m├╝ kullanmak i├žin ba┼čka nedenlerim var.

Engelleme i┼člemini veya i┼č par├žac─▒─č─▒n─▒ temel alan geleneksel dinlenme API sistemimize geri d├Ânelim. ─░ki e┼čzamanl─▒ iste─čin (r1 ve r2) olu┼čtu─čunu varsayal─▒m, bunlar─▒n her birinin veritaban─▒ i┼člemi gerektirdi─čini varsayal─▒m. Yani geleneksel sistemde ne olacak:

1. Bekleme Yolu: Sunucumuz r1 istek vermeye ba┼člar ve sorgu yan─▒t─▒n─▒ bekler. tamamland─▒ktan sonra r1 sunucu hizmet vermeye ba┼člar r2 ve ayn─▒ ┼čekilde yapar. Bu y├╝zden beklemek iyi bir fikir de─čil ├ž├╝nk├╝ ├žok fazla zaman─▒m─▒z yok.

2. Threading Yolu: Sunucumuz her iki istek i├žin de iki i┼č par├žac─▒─č─▒ olu┼čturacak r1 ve r2 veritaban─▒n─▒ sorgulad─▒ktan sonra amac─▒n─▒ yerine getirecek kadar h─▒zl─▒ olacakt─▒r. Ancak iki i┼č par├žac─▒─č─▒ ba┼člatt─▒─č─▒m─▒z─▒ g├Ârebilirsiniz ├ž├╝nk├╝ her iki istek de ayn─▒ veriyi sorgularken sorun art─▒yor ├ľyleyse kilitlenme gibi sorunlarla ba┼ča ├ž─▒kmal─▒s─▒n. Bu y├╝zden beklemekten daha iyi ama yine de sorunlar var.

┼×imdi burada, d├╝─č├╝m bunu nas─▒l yapacak:

3. Nodeway: Ayn─▒ e┼čzamanl─▒ istek d├╝─č├╝me geldi─činde, geri ├ža─čr─▒s─▒ ile bir olay─▒ kaydedecek ve ileri do─čru hareket edecek ┼čekilde belirli bir istek i├žin sorgu yan─▒t─▒n─▒ beklemeyecektir. r1 ─░stek geldi─činde d├╝─č├╝m├╝n olay d├Âng├╝s├╝ (evet bir olay d├Âng├╝s├╝ var bu amaca hizmet eden d├╝─č├╝mde.) geri ├ža─č─▒rma i┼čleviyle bir olay─▒ kaydedin ve sunma r2 iste─či i├žin devam edin ve benzer ┼čekilde geri ├ža─č─▒rma olay─▒n─▒ kaydedin. Herhangi bir sorgu bitti─činde ilgili olay─▒ tetikler ve kesintiye u─čramadan geri arama i┼člemini tamamlanana kadar y├╝r├╝t├╝r.

Bu y├╝zden beklemek yok, i┼č par├žac─▒─č─▒ yok, haf─▒za t├╝ketimi yok - evet bu dinlenme API'sine hizmet etmek i├žin bir yol de─čil.


20







Benim bir neden daha yeni bir proje i├žin node.js se├žmektir:

Saf bulut tabanl─▒ geli┼čtirme yapabilir

Ben kulland─▒m Cloud9 IDE bir s├╝re ve ┼čimdi bunun t├╝m geli┼čtirme ya┼čam d├Âng├╝lerini kapsar onsuz d├╝┼č├╝nemiyorum. ─░htiyac─▒n─▒z olan tek ┼čey bir taray─▒c─▒ ve herhangi bir cihazda istedi─činiz zaman istedi─činiz yerde kodlayabilirsiniz. Kodlar─▒ bir Bilgisayarda (evde oldu─ču gibi), sonra ba┼čka bir bilgisayarda (i┼č yerinde oldu─ču gibi) kontrol etmeniz gerekmez.

Elbette, di─čer diller veya platformlar i├žin bulut tabanl─▒ IDE (Cloud 9 IDE, di─čer diller i├žin de destek ekliyor) olabilir, ancak Cloud 9'u Node.js geli┼čtirmesini yapmak i├žin kullanmak benim i├žin ger├žekten harika bir deneyim.


16







D├╝─č├╝m├╝n sa─člad─▒─č─▒ bir ┼čey daha, d├╝─č├╝m├╝n alt s├╝recini ( her biri dok├╝manlar i├žin 10 MB bellek gerektiren her biri i├žin childProcess.fork () ) kullanarak ve b├Âylece sunucuyu ├žal─▒┼čt─▒ran ana i┼člemi etkilemeyen ├žoklu v8 d├╝─č├╝m ├Ârnekleri olu┼čturma yetene─čidir . Bu y├╝zden b├╝y├╝k sunucu y├╝k├╝ gerektiren bir arka plan i┼čini bo┼čaltmak ├žocuk oyunca─č─▒ haline gelir ve gerekti─činde onlar─▒ kolayca ├Âld├╝rebiliriz.

D├╝─č├╝m├╝ ├žok kullan─▒yorum ve olu┼čturdu─čumuz uygulamalar─▒n ├žo─čunda, ayn─▒ anda sunucu ba─člant─▒s─▒ gerektiriyor, bu nedenle de yo─čun bir a─č trafi─či oluyor. Express.js ve yeni Koaj'lar (geri arama cehennemini kald─▒ran) gibi ├žer├ževeler d├╝─č├╝m ├╝zerinde ├žal─▒┼čmay─▒ daha da kolayla┼čt─▒rm─▒┼čt─▒r.


15







Asbeste uzun ceket tak─▒yor ...

D├╝n ba┼čl─▒─č─▒mda Packt Publications, JavaScript ile Reaktif Programlama ba┼čl─▒kl─▒ yaz─▒ . Ger├žekten Node.js merkezli bir ba┼čl─▒k de─čil; ilk b├Âl├╝mler teoriyi ve daha sonra kod a─č─▒rl─▒kl─▒ b├Âl├╝mleri uygulamay─▒ kapsamaktad─▒r. Okuyuculara bir web sunucusu vermekte ba┼čar─▒s─▒z olman─▒n uygun olaca─č─▒n─▒ d├╝┼č├╝nmedi─čim i├žin Node.js ├žok a├ž─▒k bir tercih gibi g├Âr├╝n├╝yordu . Dava a├ž─▒lmadan ├Ânce dava kapand─▒.

Node.js. ile deneyimim hakk─▒nda ├žok pembe bir g├Âr├╝┼č verebilirdim. Bunun yerine kar┼č─▒la┼čt─▒─č─▒m iyi noktalar ve k├Ât├╝ noktalar konusunda d├╝r├╝stt├╝m.

Buraya alakal─▒ birka├ž al─▒nt─▒ ekleyeyim:

Uyar─▒: Node.js ve ekosistemi s─▒cakt─▒r - sizi ├žok yakacak kadar s─▒cak !

Matematik ├Â─čretmeni asistan─▒ oldu─čumda bana s├Âylenen a├ž─▒k olmayan ├Ânerilerden biri ├Â─črenciye bir ┼čeyin ÔÇťkolayÔÇŁ oldu─čunu s├Âylememekti. Bunun nedeni ge├žmi┼če bak─▒ld─▒─č─▒nda biraz a├ž─▒kt─▒: insanlara bir ┼čeyin kolay oldu─čunu s├Âylerseniz bir ├ž├Âz├╝m├╝n aptalca hissetmesine neden olabilece─čini g├Ârm├╝yor, ├ž├╝nk├╝ sadece sorunu nas─▒l ├ž├Âzeceklerini de─čil, ayn─▒ zamanda anlayamayacaklar─▒ aptal olan problemi de kolay bir ├ž├Âz├╝m!

Herhangi bir ┼čeyi de─či┼čtirirseniz, derhal kayna─č─▒ yeniden y├╝kleyen Python / Django'dan gelen insanlar─▒ rahats─▒z etmeyecek baz─▒ ┼čeyler var. Node.js ile, varsay─▒lan davran─▒┼č, bir de─či┼čiklik yaparsan─▒z, eski s├╝r├╝m├╝n zaman─▒n sonuna kadar veya sunucuyu manuel olarak durdurup yeniden ba┼člatana kadar etkin olmaya devam etmesidir. Bu uygunsuz davran─▒┼č sadece Pythonistas'─▒ k─▒zd─▒rmaz; Ayr─▒ca ├že┼čitli ge├žici ├ž├Âz├╝mler sunan yerel Node.js kullan─▒c─▒lar─▒n─▒ da rahats─▒z eder. StackOverflow sorusu ÔÇťNode.js'deki dosyalar─▒n otomatik olarak yeniden y├╝klenmesiÔÇŁ sorusu, bu yaz─▒n─▒n yaz─▒ld─▒─č─▒ s─▒rada 200'├╝n ├╝zerinde oy ve 19 yan─▒t vermi┼č; bir d├╝zenleme, kullan─▒c─▒y─▒ http://tinyurl.com/reactjs-node-supervisor adresindeki ana sayfayla birlikte bir dad─▒ komut dosyas─▒na (node-supervisor) y├Ânlendirir . Bu sorun yeni kullan─▒c─▒lar─▒ aptal hissetme f─▒rsat─▒ buluyor, ├ž├╝nk├╝ sorunu d├╝zelttiklerini d├╝┼č├╝n├╝yorlard─▒, ancak eski, araba davran─▒┼člar─▒ tamamen de─či┼čmedi. Ve sunucuyu z─▒plamay─▒ unutmak kolayd─▒r; Bunu ├žok defa yapt─▒m. Ve vermek istedi─čim mesaj, ÔÇťHay─▒r, aptal de─čilsin ├ž├╝nk├╝ Node.js'nin bu davran─▒┼č─▒ arkan─▒ ─▒s─▒rd─▒; Sadece Node.js tasar─▒mc─▒lar─▒n─▒n burada uygun davran─▒┼č sa─člamak i├žin hi├žbir neden g├Ârmemi┼č olmalar─▒. D├╝─č├╝m denetimcisinden veya ba┼čka bir ├ž├Âz├╝mden biraz yard─▒m alarak, onunla ba┼č etmeye ├žal─▒┼č─▒n, ama l├╝tfen aptal oldu─čunuzu hissetmeyin. Problemi olan sen de─čilsin; sorun Node.js'in varsay─▒lan davran─▒┼č─▒nda. ÔÇŁ

Bir tart─▒┼čmadan sonra, bu b├Âl├╝m tam da a├ž─▒k b─▒rak─▒lm─▒┼čt─▒, ├ž├╝nk├╝ ÔÇťKolayÔÇŁ izlenimini vermek istemiyorum. ─░┼čleri hallederken tekrar tekrar ellerimi kestim ve zorluklar─▒ d├╝zeltmek istemiyorum. Node.js ve ekosisteminin iyi ├žal─▒┼čmas─▒n─▒ sa─člaman─▒n basit bir mesele oldu─čuna ve sizin i├žin de basit olmad─▒─č─▒ takdirde ne yapt─▒─č─▒n─▒z─▒ bilmiyorsunuz. Node.js'i kullan─▒rken i─čren├ž zorluklarla kar┼č─▒la┼čmazsan─▒z, bu harika. Bunu yaparsan─▒z, ÔÇťBen aptal─▒m - bende yanl─▒┼č olan bir ┼čey olmal─▒.ÔÇŁ Hissini b─▒rak─▒p gitmeyece─činizi umuyorum. Node.js. ile ilgili k├Ât├╝ s├╝rprizlerle kar┼č─▒la┼č─▒rsan─▒z aptal de─čilsiniz. Sen de─čilsin! Node.js ve ekosistemi!

Son b├Âl├╝mlerdeki y├╝kselen crescendo'dan ve sonu├žtan sonra ger├žekten istemedi─čim Ek, ekosistemde ne bulabildi─čimden bahsetti ve moronik edebiyat i├žin bir ge├žici ├ž├Âz├╝m sa─člad─▒:

M├╝kemmel bir uyum gibi g├Âr├╝nen ve hen├╝z kullan─▒lamayacak ba┼čka bir veritaban─▒, HTML5 anahtar-de─čer deposunun sunucu taraf─▒ndaki bir uygulamas─▒d─▒r. Bu yakla┼č─▒m, en iyi ├Ân u├ž geli┼čtiricilerin yeterince iyi anlayabildi─či bir API'nin temel avantaj─▒na sahiptir. Bu nedenle, ayn─▒ zamanda pek iyi olmayan ├Ân u├ž geli┼čtiricilerin yeterince iyi anlad─▒─č─▒ bir API. Ancak node-localstorage paketi ile, s├Âzdizimi s├Âzdizimi eri┼čimi sunulmazken (localStorage.setItem (anahtar, de─čer) veya localStorage.getItem (anahtar), localStorage [anahtar] yerine kullanmak istiyorsan─▒z), tam localStorage semantikleri uygulan─▒r. , varsay─▒lan 5 MB kota dahil - NEDEN? Sunucu taraf─▒ JavaScript geli┼čtiricilerin kendilerinden korunmalar─▒ gerekiyor mu?

M├╝┼čteri taraf─▒ veritaban─▒ yetenekleri i├žin, web sitesi ba┼č─▒na 5 MB'l─▒k bir kota, geli┼čtiricilerin onunla ├žal─▒┼čmas─▒na izin vermek i├žin ger├žekten c├Âmert ve kullan─▒┼čl─▒ bir nefes alma odas─▒d─▒r. ├çok daha d├╝┼č├╝k bir kota koyabilir ve geli┼čtiricilere ├žerez y├Ânetimi ile birlikte aksama konusunda ├Âl├ž├╝lemez bir iyile┼čme sunabilirsiniz. 5 MB'l─▒k bir limit, Big Data m├╝┼čteri taraf─▒nda i┼člemeye ├žok h─▒zl─▒ bir ┼čekilde bor├ž vermez, ancak becerikli geli┼čtiricilerin ├žok fazla ┼čey yapabilece─či olduk├ža c├Âmert bir ├Âdenek vard─▒r. Ancak, di─čer taraftan, 5 MB son zamanlarda herhangi bir zamanda sat─▒n al─▒nan ├žo─ču diskin ├Âzellikle b├╝y├╝k bir k─▒sm─▒ de─čildir; bu, e─čer siz ve bir web sitesi, disk alan─▒n─▒ makul bir ┼čekilde kullanman─▒n ne oldu─ču konusunda ya da bir sitenin sadece hoggish oldu─ču konusunda hemfikir olman─▒z anlam─▒na gelir. ├çok fazla ve sabit diskiniz zaten dolu olmad─▒─č─▒ s├╝rece bir sabit disk s├╝r├╝c├╝s├╝ i├žin tehlike alt─▒nda de─čilsiniz. Belki bakiye biraz daha az ya da biraz fazla olsayd─▒ daha iyi durumda olurduk, ama genel olarak m├╝┼čteri taraf─▒ ba─člam─▒nda i├žsel gerilimi ele almak i├žin iyi bir ├ž├Âz├╝m.

Ancak, sunucunuz i├žin bir kod yazarken, veritaban─▒n─▒z─▒ 5 MB'tan daha b├╝y├╝k bir boyuttan daha fazla yapmak i├žin herhangi bir ek korumaya ihtiya├ž duymayaca─č─▒n─▒z belirtilebilir. ├ço─ču geli┼čtirici, dad─▒ g├Ârevi yapan ve 5 MB'tan fazla sunucu taraf─▒ verilerini depolamaktan koruyan ara├žlara ihtiya├ž duymaz ve istemez. Ve istemci taraf─▒nda alt─▒n dengeleyici bir hareket olan 5 MB'l─▒k kota Node.js sunucusunda biraz aptalca. (Ve bu Ek'te ele al─▒nanlar gibi birden fazla kullan─▒c─▒ i├žin bir veritaban─▒ i├žin, her kullan─▒c─▒ hesab─▒ i├žin diskte ayr─▒ bir veritaban─▒ olu┼čturmazsan─▒z, kullan─▒c─▒ hesab─▒ ba┼č─▒na 5 MB olmad─▒─č─▒na, biraz ac─▒ verici bir ┼čekilde belirtilebilir; t├╝m kullan─▒c─▒ yani alabilir. hesaplar─▒n─▒ birbirine a─čr─▒l─▒ siz) kota ├Âzelle┼čtirilebilir oldu─čunu dok├╝mantasyon durumlar─▒n─▒ viral! 'giderseniz, ama geli┼čtirici bir hafta ├Ânce bir e-posta kotas─▒ yan─▒ts─▒z oldu─čunu nas─▒l de─či┼čtirilece─či soran ayn─▒ soran StackOverflow soruydu . Buldu─čum tek cevap, yap─▒c─▒ya iste─če ba─čl─▒ ikinci tamsay─▒ arg├╝man─▒ olarak listelendi─či Github CoffeeScript kayna─č─▒nda. Yani bu kadar kolay ve disk veya b├Âl├╝m boyutuna e┼čit bir kota belirleyebilirsiniz. Ancak, anlam ifade etmeyen bir ├Âzelli─či g├Âstermenin yan─▒ s─▒ra, arac─▒n yazar─▒, bir tamsay─▒n─▒n baz─▒ kaynak kullan─▒m─▒ i├žin bir maksimum s─▒n─▒r belirtece─či bir de─či┼čken veya i┼člev i├žin ÔÇťs─▒n─▒rs─▒zÔÇŁ anlam─▒na gelen 0 yorumunun ├žok standart bir kural─▒na uyma konusunda tamamen ba┼čar─▒s─▒z oldu. Bu yanl─▒┼č ├Âzellik ile yap─▒lacak en iyi ┼čey muhtemelen kotan─▒n Sonsuz oldu─čunu belirtmektir:

 if (typeof localStorage === 'undefined' || localStorage === null)
  {      
  var LocalStorage = require('node-localstorage').LocalStorage;
  localStorage = new LocalStorage(__dirname + '/localStorage',
    Infinity);
  }
 

S─▒ras─▒yla iki yorumu de─či┼čtirmek:

─░nsanlar bir b├╝t├╝n olarak JavaScript'i kullanarak s├╝rekli olarak kendilerini aya─č─▒ndan vurdular ve JavaScript'in sayg─▒n bir dil haline gelmesinin bir par├žas─▒ olarak Douglas Crockford ┼č├Âyle diyordu: ÔÇťBir dil olarak JavaScript'in ger├žekten iyi ve baz─▒ ger├žekten k├Ât├╝ k─▒s─▒mlar─▒ var. ─░┼čte g├╝zel par├žalar. Ba┼čka bir ┼čeyin orada oldu─čunu unutma. Belki de s─▒cak Node.js ekosistemi kendi ÔÇťDouglas CrockfordÔÇŁ una ├ž─▒kacak, ÔÇťNode.js ekosistemi bir Vah┼či Bat─▒'y─▒ kodluyor, ancak bulunacak baz─▒ ger├žek ta┼člar varÔÇŁ diyecek. . ─░┼čte bir yol haritas─▒. Neredeyse hi├žbir ├╝cret ├Âdemeden ka├ž─▒n─▒lmas─▒ gereken alanlar. HERHANG─░ B─░R dilde veya ortamda bulunabilecek en zengin ├Âdemelerin baz─▒lar─▒n─▒n bulundu─ču alanlar. ÔÇŁ

Belki bir ba┼čkas─▒ bu s├Âzleri bir meydan okuma olarak alabilir ve Crockford'un liderli─čini takip edebilir ve Node.js ve ekosistemi i├žin ÔÇťiyi par├žalarÔÇŁ ve / veya ÔÇťdaha ÔÇőÔÇőiyi par├žalarÔÇŁ yazabilir. Bir kopyas─▒n─▒ al─▒rd─▒m!

Ve t├╝m projelerdeki co┼čku ve saf ├žal─▒┼čma saatleri g├Âz ├Ân├╝ne al─▒nd─▒─č─▒nda, bu yaz─▒ s─▒ras─▒nda yap─▒lan olgunla┼čmam─▒┼č bir ekosistem hakk─▒nda herhangi bir konu┼čmay─▒ sert bir ┼čekilde yumu┼čatmak bir ya da iki veya ├╝├ž y─▒l i├žinde garanti edilebilir. ÔÇť2015 Node.js ekosisteminin birka├ž may─▒n tarlas─▒ vard─▒ÔÇŁ demek ger├žekten be┼č y─▒l i├žinde mant─▒kl─▒ olabilir. 2020 Node.js ekosisteminde birden fazla paradez var. ÔÇŁ


15







Uygulaman─▒z ├žo─čunlukla web apislerini veya di─čer io kanallar─▒n─▒ bir araya getiriyorsa, bir kullan─▒c─▒ aray├╝z├╝ verir veya al─▒rsa, node.js sizin i├žin adil bir se├žim olabilir, ├Âzellikle en fazla ├Âl├žeklenebilirli─či s─▒k─▒┼čt─▒rmak istiyorsan─▒z veya hayattaki ana diliniz varsa javascript (veya bir ├že┼čit javascript transpileri). Mikro hizmetler olu┼čturursan─▒z, node.js de sorun de─čil. Node.js, k├╝├ž├╝k veya basit herhangi bir proje i├žin de uygundur.

Ana sat─▒┼č noktas─▒, ├Ân u├ž sahiplerinin tipik u├ž noktalardan ziyade arka u├ž i┼člerinde sorumluluk almalar─▒na izin vermesidir. Bir ba┼čka hakl─▒ sat─▒┼č noktas─▒, i┼čg├╝c├╝n├╝z├╝n ba┼člamak i├žin javascript olmas─▒.

Bununla birlikte, belirli bir noktan─▒n ├Âtesinde, mod├╝lerli─či, okunabilirli─či ve ak─▒┼č kontrol├╝n├╝ zorlamak i├žin korkun├ž kesmeksizin kodunuzu ├Âl├žeklendiremezsiniz. Yine de baz─▒ insanlar bu sald─▒r─▒lar─▒ severler, ├Âzellikle olay odakl─▒ bir javascript arka plan─▒ndan geliyorlar, tan─▒d─▒k veya affedilebilir g├Âr├╝n├╝yorlar.

├ľzellikle, uygulaman─▒z─▒n senkronize ak─▒┼člar ger├žekle┼čtirmesi gerekti─činde, geli┼čtirme s├╝reciniz a├ž─▒s─▒ndan sizi yava┼člatan yar─▒-pi┼čmi┼č ├ž├Âz├╝mlerin ├╝zerinde kanamaya ba┼člars─▒n─▒z. E─čer uygulaman─▒z─▒n yo─čun hesaplama b├Âl├╝mleri varsa, dikkatle toplay─▒n (sadece) node.js. Belki de http://koajs.com/ veya di─čer yenilikler, ba┼člang─▒├žta node.js kulland─▒─č─▒mda veya yazd─▒─č─▒m zamankilerle k─▒yasland─▒─č─▒nda, ba┼člang─▒├žta dikenli olanlar─▒ hafifletiyor.


9







Js d├╝─č├╝m├╝n├╝ ni├žin kullanacaklar─▒n─▒ birka├ž nokta payla┼čabilirim.

  1. Sohbet gibi ger├žek zamanl─▒ uygulamalar i├žin, i┼čbirli─čine dayal─▒ d├╝zenleme daha iyi, yang─▒n olay─▒n─▒n ve sunucudan gelen istemcilere verinin bulundu─ču olay taban─▒ oldu─ču i├žin nodejs ile gideriz.
  2. ─░nsanlar─▒n ├žo─čunun fikir sahibi oldu─ču javascript temeli oldu─ču i├žin basit ve anla┼č─▒lmas─▒ kolayd─▒r.
  3. Mevcut web uygulamalar─▒n─▒n ├žo─ču a├ž─▒sal js ve omurgaya do─čru ilerlemektedir, d├╝─č├╝m├╝ ile her ikisi de json verisini kullanaca─č─▒ i├žin m├╝┼čteri taraf─▒ kodu ile etkile┼čime ge├žmek kolayd─▒r.
  4. Çok sayıda eklenti mevcut.

Dezavantajlar─▒: -

  1. D├╝─č├╝m ├žo─ču veritaban─▒n─▒ destekleyecektir, ancak en iyisi karma┼č─▒k birle┼čtirmeleri ve di─čerlerini desteklemeyen mongodb'dur.
  2. Derleme Hatalar─▒ ... geli┼čtirici, herhangi bir hata anla┼čmas─▒ uygulamas─▒n─▒n, manuel olarak ya da herhangi bir otomasyon arac─▒n─▒ kullanarak tekrar gitmemiz ve ├žal─▒┼čmam─▒z gereken yerlerde ├žal─▒┼čmay─▒ durdurmas─▒ durumunda, her t├╝rl├╝ istisna d─▒┼č─▒nda her t├╝rl├╝ ├Âzel durumu i┼člemelidir.

Sonu├ž: - Basit ve ger├žek zamanl─▒ uygulamalar i├žin kullanmak i├žin en iyi Nodejs. ├çok b├╝y├╝k bir i┼č mant─▒─č─▒na ve karma┼č─▒k i┼člevselli─če sahipseniz daha iyi nodejs kullanmamal─▒s─▒n─▒z. Sohbet ve i┼čbirlik├ži i┼člevsellik ile birlikte bir uygulama olu┼čturmak istiyorsan─▒z, d├╝─č├╝m belirli b├Âl├╝mlerde kullan─▒labilir ve uygunluk teknolojinizle devam etmelidir.


-2







  1. D├╝─č├╝m, h─▒zl─▒ prototipler i├žin m├╝kemmeldir ancak bir daha asla karma┼č─▒k bir ┼čey i├žin kullanmam. 20 y─▒l boyunca bir derleyici ile ili┼čki geli┼čtirdim ve kesinlikle ├Âzl├╝yorum.

  2. D├╝─č├╝m, bir s├╝redir ziyaret etmedi─činiz kodlar─▒ korumak i├žin ├Âzellikle ac─▒ vericidir. T├╝r bilgisi ve derleme zaman─▒ hata tespiti ─░Y─░ ┼×EYLER. Neden hepsini d─▒┼čar─▒ at─▒yorsun? Ne i├žin? Ve sarkan, bir ┼čey g├╝neye gitti─činde, y─▒─č─▒n izleri olduk├ža i┼če yaramaz hale getirir.


-3



─░lgili yay─▒nlar


Jp d├╝─č├╝m├╝ndeki npm mod├╝lleri nas─▒l kald─▒r─▒l─▒r?

Base64 kodlamas─▒ node.js'de nas─▒l yap─▒l─▒r?

POST verileri Node.js'de nas─▒l i┼členir?

Node.js dosyas─▒nda dosyalar─▒ nas─▒l otomatik olarak yeniden y├╝kleyebilirim?

Node.js ile bir dosya nas─▒l indirilir (├╝├ž├╝nc├╝ taraf kitapl─▒klar─▒ kullanmadan)?

Heroku'da bir node.js uygulamas─▒ olu┼čtururken gitmeye node_modules'da check-in yapmal─▒ m─▒y─▒m?

Node.js Mongoose kullanarak belgeleri nas─▒l kald─▒rabilirim?

Node.js i├žinde Mongoose ile sayfaland─▒rma nas─▒l yap─▒l─▒r?

Node.js neden ve ne zaman kullan─▒l─▒r? [├žift]

Node.js ile benzersiz kimlik olu┼čturma

Etiketle ilgili di─čer sorular [javascript]


hata: vcvarsall.bat bulunamad─▒

Java 8'deki map ve flatMap y├Ântemleri aras─▒ndaki fark nedir?

Spring Data JPA'daki CrudRepository ve JpaRepository arabirimleri aras─▒ndaki fark nedir?

Bir PHP dizisinin bir kopyas─▒n─▒ di─čerine yapma i┼člevi var m─▒?

Bir StackOverflowError nedir?

Google Haritalar ve JavaFX: JavaFX d├╝─čmesini t─▒klad─▒ktan sonra haritada i┼čaret├žiyi g├Âr├╝nt├╝leyin

Ggplot2 R alanlar─▒ndaki eksenler i├žin s─▒n─▒rlar nas─▒l belirlenir?

Metnin 1'den fazla sat─▒r almas─▒n─▒ nas─▒l ├Ânleyebilirim?

Elemanlar─▒ duyarl─▒ d├╝zende gizleme?

META-INF'in amac─▒ nedir?