Node.js , web geliştiricilerini ölçeklenebilir ve hızlı ağ programları oluşturmaya teşvik eden açık kaynaklı ve tamamen ücretsiz bir yazılımdır. Chrome'un JavaScript çalışma zamanına dayanan Node.js yazılımı, özellikle engellenmeyen, olay odaklı bir G / Ç modeli kullandığından, son derece verimli ve hafiftir.
Sunucu tarafı JavaScript kodunu çalıştırmak için en iyi platform
Node.js şu anda Google, eBay, Yahoo, LinkedIn, Microsoft, Cloud9 ve daha bir çok büyük şirkette üretimde kullanılan sunucu tarafı JavaScript kodunu çalıştırmak için en üst platform olarak kabul edilmektedir.
Zorunlu örnek
Aşağıdaki kod, her istek için "Merhaba Dünya" ile yanıt veren basit bir web sunucusu oluşturacaktır.
var http = gerekli ('http');
http.createServer (işlev (req, res) {
res.writeHead (200, {'Content-Type': 'text / plain'});
res.end ('Merhaba Worldn');
}) dinle (1337, '127.0.0.1');
console.log ('Sunucu çalışıyor http://127.0.0.1:1337/');
HTTP sunucusunu çalıştırmak için yukarıdaki kodun & ldquo; example.js & rdquo; (tırnak işareti olmadan) ve bir terminal öykünücüsünden düğüm komutunu kullanarak çalıştır:
% node example.js
Sunucu şu adresten çalışıyor: http://127.0.0.1:1337/
Desteklenen işletim sistemleri
Node.js, Debian, Ubuntu, Arch Linux, Fedora, Red Hat Enterprise Linux, openSUSE, Mageia, Slackware ve diğerleri de dahil olmak üzere çok sayıda GNU / Linux dağıtımında başarılı bir şekilde test edilen çok platformlu bir uygulamadır. Ticari Mac OS X ve Microsoft Windows işletim sistemlerinde olduğu gibi. Hem 64 bit hem de 32 bit komut seti mimarileri şu anda desteklenmektedir.
Kaputun altında, ihtiyaçlar ve kullanılabilirlik
Belirtildiği gibi, bu çok platformlu bir yazılımdır. Mac OS X, GNU / Linux ve Microsoft Windows işletim sistemleri için önceden oluşturulmuş montajcılar ve Python'un desteklendiği neredeyse tüm işletim sistemlerinde derlenebilen ve kurulabilen evrensel bir kaynak arşivi olarak indirilebilir.
Bu sürümde yeni :
- konsolu:
- console.timeLog () yöntemi uygulandı. # 21312
- deps:
- libuv 1.22.0’a yükseltin. # 21731
- ICU 62.1'e yükselt (Unicode 11, CLDR 33.1). # 21728
- http:
- Hem zaman aşımı hem de aracı seçeneklerini http.request'e geçirmek için destek eklendi. # 21204
- müfettiş:
- Gerektiğinde ('denetçi') konsolda orijinal konsol API'sini gösterin. # 21659
- NAPI:
- bigint numaraları ile ilgili işlevler için deneysel destek eklendi. # 21226
- süreç:
- process.hrtime.bigint () yöntemi uygulandı. # 21256
- Başlangıçta işlem başlığını ayarlamak için --title komut satırı argümanı eklendi. # 21477
- trace_events:
- process_name meta verileri eklendi. # 21477
- Yeni ortak çalışanlar eklendi
- codebytere - Shelley Vohr
10.0.0 sürümünde yeni :
- N-API için tam destek
- Time-Travel Hata Ayıklaması ile yeni bir Visual Studio Kod Uzantısı ile kolayca başlayabilirsiniz
- Jeneratör ve zaman uyumsuz işlevleri için TTD desteği
- Müfettiş protokolüne destek
- Artan kararlılık ve diğer çeşitli iyileştirmeler
Sürümde yeni: :
- async_hooks:
- async_hooks'a takip etkinlikleri ekle (Andreas Madsen) # 15538
- ağ sunucusu için sağlayıcı türleri ekle (Andreas Madsen) # 17157
- konsolu:
- console.debug şimdi denetçinin dışında kullanılabilir (Benjamin Zaslavsky) # 17033
- deps:
- libuv'u 1.18.0'a yükselt (cjihrig) # 17282
- V8 ila 6.2.414.46 (Myles Borins) için yama # 17206
- modülü:
- module.builtinModules, yerleşik modüllerin bir listesini döndürür (Jon Moss) # 16386
- n-api:
- etkinlik döngüsünü almak için eklentilerin yardımcılarını ekleyin (Anna Henningsen) # 17109
- süreç:
- process.setUncaughtExceptionCaptureCallback şimdi, yakalanamayan istisnai durum (Anna Henningsen) için davranışı özelleştirmek için kullanılabilir # 17159
- Bir sinyal işleyicisi artık işleyiciyi tetikleyen sinyal kodunu alabilir. (Robert Rossmann) # 15606
- src:
- gömücüler artık NodePlatform (Cheng Zhao) # 16981 örneğini oluşturmak için Düğüm :: CreatePlatform'u kullanabilirler
- akış:
- writable.writableHighWaterMark ve okunabilir.readableHighWaterMark, stream nesnesinin (Calvin Metcalf) # 12860 ile eşleştirildiği değerleri döndürür
- Yeni ortak çalışanlar eklendi
- maclover7 Jon Moss
- Guybedford Guy Bedford
- Yang Guo'yu öldürdü
Sürüm 9.2.0’da yeni :
- kripto:
- Hem 1.1.0 hem de 1.0.2 ile bina desteği (David Benjamin) # 16130
- fs:
- fs.realpathSync.native ve fs.realpath.native şimdi açıklandı (Ben Noordhuis) # 15776
- süreç:
- process.ppid açığa çıkar (cjihrig) # 16839
- build:
- Anlık görüntüler artık V8 # 14875’te yeniden etkinleştirildi
- konsolu:
- En az console.group () öğesini uygulayın. # 14910
- deps:
- libuv'u 1.14.1’e yükseltin # 14866
- nghttp2’yi v1.25.0’a güncelle # 14955
- dns:
- dns.lookup () öğesine isteğe bağlı seçenek ekle. Gerçek olduğunda, DNS çözümleyicisinden alınan sonuçlar, Node.js'nin IPv4 adreslerinden önce IPv4 adresleri koyarken yeniden biçimlendirmesi yapılmadan yeniden olarak gönderilir. # 14731
- fs:
- Dosyaların daha verimli kopyalanmasını sağlayan fs.copyFile ve fs.copyFileSync ekleyin. # 15034
- müfettiş:
- Eşzamansız yığın izlerini etkinleştirin # 13870
- modülü:
- ESM için destek ekleyin. Bu şu anda -experimental-modules bayrağı arkasında ve .mjs uzantısı gerektirir. node --experimental-modules index.mjs # 14369
- NAPI:
- söz ver "14365
- os:
- CIDR gösterimi için networkInterfaces () yönteminin çıktısına destek ekleyin. # 14307
- perf_hooks:
- Node.js. için Performans Zamanlaması API'sinin ilk uygulaması. Bu, bir dizi Node.js özelliğine sahip modern tarayıcılar tarafından uygulanan Performans Zamanlaması API'sidir. Kullanıcı Zamanlaması işareti () ve önlem () API'leri uygulanır. # 14680
- tls:
- createSecureContext # 14793 içinde birden fazla PFX
- Yeni ortak çalışanlar eklendi:
- BridgeAR - Ruben Bridgewater
- V8 motoru, önemli ölçüde değiştirilmiş bir performans profiline sahip olan 6.0 sürümüne yükseltildi.
- Diğer önemli değişiklikler:
- DNS:
- Karşılık gelen istekleri iptal etme desteği ile artık bağımsız DNS çözümleyici örnekleri destekleniyor.
- N-API:
- Hata işleme için birden çok N-API işlevi, hata kodlarının atanmasını destekleyecek şekilde değiştirildi.
- REPL:
- require () için otomatik tamamlama desteği geliştirildi.
- Yardımcı Programlar:
- WHATWG Kodlama Standardı (TextDecoder ve TextEncoder) deneysel bir özellik olarak uygulandı.
- Akış Akış modülü ile iki regresyon düzeltildi:
- Bitiş olayı, yayınlandığında hata olayından sonra her zaman yayınlanacaktır: [0a9e96e86c] # 13850
- Nesne modunda, okunabilir akışlar artık tanımsız tekrar kullanabilir. [5840138e70] # 13760
- 8.1.1'deki kırık process.release özelliklerini, Windows dışındaki platformlarda yerel eklentilerin derlenmemesine neden olacak şekilde düzeltin. Bu, Node.js oluşturma işleminde bir düzeltmedir, bu nedenle 8.1.1'in üstünde ek kod ekleri yoktur.
- [c8e34b61f6] - derleme: eksik src / izleme başlık dosyalarını ekle (Daniel Bevenius) # 10851
- [96f55f9e59] - src: trace_event.h dosyasını dahili başlığa taşı (Ben Noordhuis) # 10959
- [30c80cbe6f] - src: düzeltme TracingController temizleme (Jason Ginchereau) # 10623
- [b89b2a7d36] - src: her zaman izleme denetleyicisini aracı olarak başlat (Matt Loring) # 10507
- [54e55e05ca] - test: test-intl-no-icu-verileri daha güçlü hale getir (Michael Zasso) # 10992
- [7b253eb3ed] - test: test-izleme etkinliği için katılığı artırın (Zengin Trott) # 11065
- [3dc4a5f1f4] - izleme: düzeltme - Beklenen özel alan uyarısı (Santiago Gimeno) # 10416
- [8a918bf411] - izleme: düzeltme - Önyükleme uyarısı (Santiago Gimeno) # 10416
- tamponu:
- Tampon ayırma performansını% 11 artırın. (Brian White) # 10443
- Buffer.from () 'un performansını% 50 artırın. (Brian White) # 10443
- olaylar: EventEmitter.once () öğesinin performansını% 27 artırın. (Brian White) # 10445
- fs: Uint8Array'in arabelleklerin desteklendiği fs yöntemlerine geçirilmesine izin ver. (Anna Henningsen) # 10382
- http: http sunucusunun performansını% 7 artırın. (Brian White) # 6533
- npm: v4.0.5 sürümüne yükseltin (Kat Marchan) # 10330
- tamponu:
- Buffer () öğesinin yeni olmadan kullanılmasının çalışma zamanı kullanımdan kaldırılmasını geri döndürdü. (Anna Henningsen) # 9529
- UCS2'ye tek baytlık karakter kodlamaları için sabit buffer.transcode (). (Anna Henningsen) # 9838
- vaadi: --trace-warnings artık Promise uyarıları için yararlı yığınlar üretiyor. (Anna Henningsen) # 9525
- repl: Jeneratör fonksiyonlarının doğru ayrıştırılmasını önleyen bir hata düzeltildi. (Teddy Katz) # 9852
- V8: Önemli bir performans sabitlemesi düzeltildi. (Franziska Hinkelmann) # 9730
- kripto: Decute yöntemleri setAuthTag () ve setAAD şimdi bunu döndürür.
- dns: resol4 () ve resol6 (). için {ttl: true} uygulandı.
- libuv: v1.10.1 sürümüne yükseltin
- Windows 10'da konsola veri yazarken potansiyel bir arabellek taşması düzeltildi (CVE-2016-9551)
- süreç: memoryUsage () tarafından döndürülen verilere yeni bir dış özellik eklendi.
- tls: El sıkışma sırasında tahrip edilen TLS bağlantısında yazma sıraya alındığında bir bellek sızıntısı düzeltildi.
- V8 (dep): v5.4.500.43 sürümüne yükseltin
- v8: getHeapStatistics () tarafından döndürülen veriler artık üç yeni alan içerir: malloced_memory, peak_malloced_memory ve does_zap_garbage.
- build: zlib sembolleri ve ek OpenSSL sembolleri artık Windows platformlarında açığa çıkıyor. (Alex Hultman) # 7983 ve # 7576
- child_process, cluster: Forked alt süreçler ve küme çalışanları artık stdio yapılandırmasını destekliyor. (Colin Ihrig) # 7811 ve # 7838
- child_process: argv [0] artık, ortaya çıkmış süreçlerdeki rasgele değerlere ayarlanabilir. (Pat Pannuto) # 7696
- fs: fs.ReadStream, şu ana kadar okuduğu bayt sayısını ortaya koyuyor. (Linus Unneback) # 7942
- repl: REPL artık editör modunu destekliyor. (Prens J Wesley) # 7275
- util: inspect () şimdi util.inspect.defaultOptions kullanarak global olarak yapılandırılabilir. (Roman Reiss) # 8013
- arabellek: swap16'yı tamamlamak için buffer.swap64 () eklendi () & amp; swap32 (). (Zach Bjornson) # 7157
- derleme: Node.js'yi paylaşılan bir kitaplık olarak oluşturmak için yeni yapılandırma seçenekleri eklendi. (Stefan Budeanu) # 6994
- Seçenekler şunlardır: - paylaşma, --without-v8-platform & amp; --without-paketlenmiş-v8.
- kripto: Kök sertifikaları güncellendi. (Ben Noordhuis) # 7363
- hata ayıklayıcı: Sunucu adresi şimdi --debug =: ile yapılandırılabilir. (Ben Noordhuis) # 3316
- npm: npm'den v3.10.3'e yükseltildi (Kat Marchan) # 7515 & amp; (Rebecca Turner) # 7410
- readline: Readline kurucusuna komut istemi seçeneği eklendi. (Evan Lucas) # 7125
- repl / vm: sigint / ctrl + c artık Node.js örneğini durdurmadan sonsuz döngülerden ayrılacak. (Anna Henningsen) # 6635
- src:
- Bir düğüm :: FreeEnvironment genel C ++ API'si eklendi. (Cheng Zhao) # 3098
- Yeniden yapılandırılmış gereksinimler ('sabitler'), sabitler artık ilgili modüllerden doğrudan edinilebilir. (James M Snell) # 6534
- akış: Geliştirilmiş okunabilir.read () performansı% 70'e kadar. (Brian White) # 7077
- zamanlayıcılar: setImmediate () bazı durumlarda% 150'ye kadar daha hızlıdır. (Andras) # 6436
- use: Nesnelerin satırlar arasında nasıl biçimlendirildiğini kontrol etmek için util.inspect () öğesine bir breakLength seçeneği eklendi. (cjihrig) # 7499
- v8-denetçisi: Node.js'nin denetleyici protokolü üzerinden hata ayıklaması için deneysel destek eklendi. (Ali İjaz Şeyh) # 6792
- Not: Bu özellik deneyseldir ve değiştirilebilir veya kaldırılabilir.
- Node.js dosyasını --inspect bayrağıyla çalıştırarak bu özelliği deneyebilirsiniz.
- Tamponu:
- Yeni Tampon yapıcıları # 4682 ve # 5833 eklendi.
- Mevcut Buffer () ve SlowBuffer () yapıcıları, # 4682 ve # 5833 numaralı dokümanlarda kullanımdan kaldırılmıştır.
- Önceden kullanımdan kaldırılan Arabellek API'leri kaldırıldı # 5048, # 4594.
- Geliştirilmiş hata işleme # 4514.
- Buffer.prototype.lastIndexOf () yöntemi # 4846 eklendi.
- Küme:
- İşçi, 'ileti' etkinliği # 5361’de ilk bağımsız değişken olarak yayınlandı.
- worker.exitedAfterDisconnect özelliğinin worker.suicide # 3743 yerini alır.
- Konsolu:
- Bilinmeyen bir etikete sahip console.timeEnd () çağrısı, # 5901 değerini atmak yerine artık bir işlem uyarısı yayar.
- Kripto:
- Geliştirilmiş hata işleme # 3100, # 5611.
- Basitleştirilmiş Sertifika sınıfı bağlantıları # 5382.
- FIPS modu üzerinde iyileştirilmiş kontrol # 5181.
- pbkdf2 özet aşırı yükleme kullanımdan kaldırıldı # 4047.
- Bağımlılıklar:
- Paylaşılan c-ares desteğini yeniden oluşturma # 5775.
- V8 5.0.71.35 # 6372 olarak güncellendi.
- DNS:
- Düz DNS PTR kayıtlarını sorgulamak için dns.resolvePtr () API'sini ekleyin # 4921.
- Alan adları:
- Hata işleyicisi yokken yığını temizle # 4659.
- Olaylar:
- EventEmitter.prototype._events nesnesi artık Object.prototype # 6092'den miras almamaktadır.
- EventEmitter.prototype.prependListener () ve EventEmitter.prototype.prependOnceListener () yöntemleri # 6032 eklendi.
- Dosya Sistemi:
- fs.realpath () ve fs.realpathSync () yöntemlerinin daha verimli bir libuv tabanlı uygulama kullanması için güncelleştirildi. Bu değişiklik, önbellek argümanının kaldırılmasını içerir ve yöntem yeni hatalar atabilir # 3594.
- FS apis şimdi yolları Buffers # 5616 olarak kabul edebilir ve döndürebilir.
- Hata giderme ve yazma denetlemelerinde hata oluştu. # 5616, # 5590, # 4518, # 3917.
- fs.read'in dize arayüzü kullanımdan kaldırıldı. # 4525.
- HTTP:
- 'clientError' artık bir HTTP sunucusundan # 4557 özel hataları döndürmek için kullanılabilir.
- Modüller:
- Şu anki rehberler artık yerel aramalar için önceliklendirildi # 5689.
- # 5950 modülleri gerektiğinde sembolik bağlantılar korunur.
- Net:
- DNS ipuçları artık gizli olarak # 6021 olarak ayarlandı.
- Geliştirilmiş hata işleme ve yazım denetimi # 5981, # 5733, # 2904.
- OS X:
- MACOSX_DEPLOYMENT_TARGET, 10.7 # 6402'ye çarptı.
- Yol:
- Geliştirilmiş tip denetimi # 5348.
- Süreci:
- İşlem uyarıları API'sı # 4782.
- İşlevi olmayan işlevler nextTick # 3860'a geçtiğinde istisna atın.
- sorgu dizesi:
- querystring.parse () tarafından döndürülen nesne artık Object.prototype # 6055 öğesinden miras almamaktadır.
- Readline:
- Anahtar bilgiler koşulsuz olarak yayınlandı # 6024.
- Tarih artık açıkça devre dışı bırakılabilir # 6352.
- REPL:
- A öğesine, # 5535 uyarısı verilecek.
- Değerlendirme başarısız olduğunda # 6328 başarısız olur.
- Zamanlayıcılar:
- Geri arama işlevi bir işlev olmadığı zaman erken başarısız # 4362.
- Akışları:
- null artık nesne modunda # 6170 yazmak için geçersiz bir yığın.
- TLS:
- 'clientError' öğesini 'tlsClientError' # 4557 olarak yeniden adlandırın.
- SHI1, sessionIdContext # 3866 için kullanıldı.
- TTY:
- Önceden kullanımdan kaldırılmış setRawMode sarmalayıcı # 2528 kaldırıldı.
- URL:
- Ana makine # 1480 olarak değişirse, kullanıcı adı ve şifre url.resolve () tarafından bırakılır.
- Util:
- Hata nesne biçimlendirmesi # 4582 olarak değiştirildi.
- util._extend () yöntemi kullanımdan kaldırıldı # 4903
- util.log () yöntemi # 6161'den kullanımdan kaldırıldı.
- Pencereler:
- Windows XP ve Vista artık desteklenmiyor # 5167.
- Zlib:
- Zlib'in # 5883 ve # 5707 numaralı işlemlerinde çoklu iyileştirmeler yapıldı.
- Python
Sürüm 8.5.0’da yeni: :
Sürüm 8.3.0’da yeni: :
Sürüm 8.1.3’de yeni: :
Sürüm 8.1.2’de yeni:
:7.7.1 sürümünde
neyin yeni olduğu :
Yeni sürüm nedir? , 7.4.0 sürümünde:
Sürüm 7.2.1’de yeni: :
Sürüm 7.2.0’da yeni: :
Yeni olan nedir 6.4.0 sürümünde:
<6>
6.0.0 sürümünde yeni :
Gereksinimleri :
Yorum Bulunamadı