{"id":81559,"date":"2020-05-14T19:42:16","date_gmt":"2020-05-14T17:42:16","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0"},"modified":"2020-05-14T19:42:16","modified_gmt":"2020-05-14T17:42:16","slug":"avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0","title":{"rendered":"Autor Node.js p\u0159edstavil zabezpe\u010denou JavaScriptovou platformu Deno 1.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po dvou letech v\u00fdvoje <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/v1\">byl p\u0159edstaven<\/a><\/noindex> prvn\u00ed v\u00fdznamn\u00e9 vyd\u00e1n\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/\">Deno 1.0<\/a><\/noindex>, platformy pro izolovan\u00e9 spou\u0161t\u011bn\u00ed aplikac\u00ed v jazyc\u00edch JavaScript a TypeScript, kterou lze pou\u017e\u00edt k vytv\u00e1\u0159en\u00ed serverov\u00fdch handler\u016f. Platformu vyv\u00edj\u00ed Ryan Dahl (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Ryan_Dahl\">Ryan Dahl<\/a><\/noindex>), tv\u016frce Node.js. Stejn\u011b jako v Node.js je v Deno pou\u017eit JavaScriptov\u00fd engine <noindex><a rel=\"nofollow\" href=\"https:\/\/v8.dev\/\">V8<\/a><\/noindex>, kter\u00fd je tak\u00e9 pou\u017e\u00edv\u00e1n v prohl\u00ed\u017ee\u010d\u00edch na b\u00e1zi Chromium. Deno v\u0161ak nen\u00ed v\u011btv\u00ed Node.js, ale p\u0159edstavuje nov\u00fd projekt vytvo\u0159en\u00fd od z\u00e1kladu. K\u00f3d projektu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\">distribuov\u00e1no<\/a><\/noindex> je licencov\u00e1n pod MIT. Sestaven\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\/releases\/tag\/v1.0.0\">jsou p\u0159ipraveny<\/a><\/noindex> pro Linux, Windows a macOS.<\/p>\n<p>V\u00fdznamn\u00e9 \u010d\u00edslo verze je spojeno se stabilizac\u00ed API v jmenn\u00e9m prostoru Deno, kter\u00e9 m\u00e1 na starosti interakci aplikac\u00ed s opera\u010dn\u00edm syst\u00e9mem. Programov\u00e9 rozhran\u00ed, kter\u00e9 zat\u00edm <noindex><a rel=\"nofollow\" href=\"https:\/\/doc.deno.land\/https\/raw.githubusercontent.com\/denoland\/deno\/master\/cli\/js\/lib.deno.unstable.d.ts\">nen\u00ed stabilizov\u00e1no<\/a><\/noindex>, ve v\u00fdchoz\u00edm nastaven\u00ed skryt\u00e9 a dostupn\u00e9 pouze p\u0159i spu\u0161t\u011bn\u00ed v re\u017eimu &#171;&#8212;unstable&#187;. Jak se vytv\u00e1\u0159ej\u00ed nov\u00e9 verze, budou podobn\u00e9 API postupn\u011b p\u0159evedena do kategorie stabiln\u00edch. API ve glob\u00e1ln\u00edm prostoru jmen, kter\u00e9 zahrnuje takov\u00e9 b\u011b\u017en\u00e9 funkce jako setTimeout() a fetch(), se co nejv\u00edce p\u0159ibli\u017euje API b\u011b\u017en\u00fdch webov\u00fdch prohl\u00ed\u017ee\u010d\u016f a vyv\u00edj\u00ed se v souladu s webov\u00fdmi standardy pro prohl\u00ed\u017ee\u010de. Poskytovan\u00e1 Rust API, kter\u00e1 se pou\u017e\u00edvaj\u00ed p\u0159\u00edmo v k\u00f3du platformy, stejn\u011b jako rozhran\u00ed pro v\u00fdvoj plugin\u016f pro b\u011bhov\u00e9 prost\u0159ed\u00ed Deno, dosud nejsou stabilizov\u00e1na a nad\u00e1le se vyv\u00edjej\u00ed.<\/p>\n<p>Kl\u00ed\u010dov\u00fdmi motivy pro vytvo\u0159en\u00ed nov\u00e9 JavaScriptov\u00e9 platformy bylo odstranit konceptu\u00e1ln\u00ed chyby, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=M3BM9TB-8yA\">kter\u00e9 byly<\/a><\/noindex> dopust\u011bny <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tokio-rs\/tokio\">v architektu\u0159e Node.js, a poskytnout u\u017eivatel\u016fm bezpe\u010dn\u011bj\u0161\u00ed prost\u0159ed\u00ed. Pro zv\u00fd\u0161en\u00ed bezpe\u010dnosti je obal kolem engine V8 naps\u00e1n v jazyce Rust, kter\u00fd umo\u017e\u0148uje vyhnout se mnoha zranitelnostem zp\u016fsoben\u00fdm n\u00edzko\u00farov\u0148ovou prac\u00ed s pam\u011bt\u00ed, jako je p\u0159\u00edstup do oblasti pam\u011bti po jej\u00edm uvoln\u011bn\u00ed, dereferencov\u00e1n\u00ed nullov\u00fdch ukazatel\u016f a p\u0159ekro\u010den\u00ed mez\u00ed bufferu. Pro zpracov\u00e1n\u00ed po\u017eadavk\u016f v neblokuj\u00edc\u00edm re\u017eimu se pou\u017e\u00edv\u00e1 platforma<\/a><\/noindex>Tokio<\/p>\n<p>Hlavn\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/manual\">vlastnosti<\/a><\/noindex> , tak\u00e9 napsan\u00e1 v jazyce Rust. Tokio umo\u017e\u0148uje vytv\u00e1\u0159en\u00ed vysoce v\u00fdkonn\u00fdch aplikac\u00ed zalo\u017een\u00fdch na architektu\u0159e orientovan\u00e9 na ud\u00e1losti (Event-driven), kter\u00e9 podporuj\u00ed v\u00edcerozpracov\u00e1n\u00ed a asynchronn\u00ed zpracov\u00e1n\u00ed s\u00ed\u0165ov\u00fdch po\u017eadavk\u016f.\n<\/p>\n<ul>\n<li class=\"l\"> Zam\u011b\u0159en\u00ed na bezpe\u010dnost v konfiguraci podle v\u00fdchoz\u00edho nastaven\u00ed. P\u0159\u00edstupy k soubor\u016fm, s\u00ed\u0165ov\u00e9 schopnosti a p\u0159\u00edstup k prom\u011bnn\u00fdm prost\u0159ed\u00ed jsou ve v\u00fdchoz\u00edm nastaven\u00ed blokov\u00e1ny a vy\u017eaduj\u00ed explicitn\u00ed povolen\u00ed. Aplikace se ve v\u00fdchoz\u00edm nastaven\u00ed spou\u0161t\u011bj\u00ed v izolovan\u00fdch sandboxov\u00fdch prost\u0159ed\u00edch a nemohou p\u0159istupovat k syst\u00e9mov\u00fdm schopnostem bez ud\u011blen\u00ed jasn\u00fdch opr\u00e1vn\u011bn\u00ed;\n<\/li>\n<li class=\"l\"> Vestav\u011bn\u00e1 podpora pro jazyk TypeScript krom\u011b JavaScriptu. Pro kontrolu typ\u016f a generaci JavaScriptu je pou\u017eit standardn\u00ed kompil\u00e1tor TypeScript, co\u017e vede k poklesu v\u00fdkonu ve srovn\u00e1n\u00ed s anal\u00fdzou JavaScriptu v V8. V budoucnu se pl\u00e1nuje p\u0159\u00edprava vlastn\u00ed implementace syst\u00e9mu kontroly typ\u016f TypeScript, kter\u00e1 v\u00fdrazn\u011b zvy\u0161\u00ed v\u00fdkon zpracov\u00e1n\u00ed TypeScript;\n<\/li>\n<li class=\"l\"> B\u011bhov\u00e9 prost\u0159ed\u00ed je dod\u00e1v\u00e1no ve form\u011b jednoho samostatn\u00e9ho spustiteln\u00e9ho souboru (&#171;deno&#187;). Pro spu\u0161t\u011bn\u00ed aplikac\u00ed pomoc\u00ed Deno sta\u010d\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\/releases\">st\u00e1hnout<\/a><\/noindex> pro svou platformu jeden spustiteln\u00fd soubor o velikosti p\u0159ibli\u017en\u011b 20 MB, kter\u00fd nem\u00e1 \u017e\u00e1dn\u00e9 extern\u00ed z\u00e1vislosti a nevy\u017eaduje \u017e\u00e1dnou zvl\u00e1\u0161tn\u00ed instalaci do syst\u00e9mu. P\u0159itom deno nen\u00ed monolitn\u00ed aplikace, ale p\u0159edstavuje kolekci crate bal\u00ed\u010dk\u016f na Rust (<noindex><a rel=\"nofollow\" href=\"https:\/\/crates.io\/crates\/deno_core\">deno_core<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/crates.io\/crates\/rusty_v8\">rusty_v8<\/a><\/noindex>), kter\u00e9 mohou b\u00fdt pou\u017e\u00edv\u00e1ny samostatn\u011b;\n<\/li>\n<li class=\"l\"> P\u0159i spu\u0161t\u011bn\u00ed programu a tak\u00e9 pro na\u010d\u00edt\u00e1n\u00ed modul\u016f lze pou\u017e\u00edt adresaci p\u0159es URL. Nap\u0159\u00edklad pro spu\u0161t\u011bn\u00ed programu welcome.js lze pou\u017e\u00edt p\u0159\u00edkaz &#171;deno https:\/\/deno.land\/std\/examples\/welcome.js&#187;. K\u00f3d z extern\u00edch zdroj\u016f se na\u010d\u00edt\u00e1 a ukl\u00e1d\u00e1 do mezipam\u011bti na m\u00edstn\u00edm syst\u00e9mu, ale nikdy se automaticky neaktualizuje (pro aktualizaci je nutn\u00e9 v\u00fdslovn\u011b spustit aplikaci s p\u0159\u00edznakem &#171;&#8212;reload&#187;);\n<\/li>\n<li class=\"l\"> Efektivn\u00ed zpracov\u00e1n\u00ed s\u00ed\u0165ov\u00fdch po\u017eadavk\u016f p\u0159es HTTP, platforma je navr\u017eena pro vytv\u00e1\u0159en\u00ed vysoce v\u00fdkonn\u00fdch s\u00ed\u0165ov\u00fdch aplikac\u00ed;\n<\/li>\n<li class=\"l\"> Mo\u017enost vytv\u00e1\u0159en\u00ed univerz\u00e1ln\u00edch webov\u00fdch aplikac\u00ed, kter\u00e9 mohou b\u011b\u017eet jak v Deno, tak v b\u011b\u017en\u00e9m webov\u00e9m prohl\u00ed\u017ee\u010di;\n<li class=\"l\"> P\u0159\u00edtomnost <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/std\">standardn\u00ed sady modul\u016f<\/a><\/noindex>, jejich\u017e pou\u017eit\u00ed nevy\u017eaduje vazbu na extern\u00ed z\u00e1vislosti. Moduly ze standardn\u00ed sb\u00edrky pro\u0161ly dodate\u010dn\u00fdm auditem a kontrolou kompatibility;\n<\/li>\n<li class=\"l\"> Krom\u011b b\u011bhov\u00e9ho prost\u0159ed\u00ed platforma Deno tak\u00e9 pln\u00ed roli spr\u00e1vce bal\u00ed\u010dk\u016f a umo\u017e\u0148uje v k\u00f3du odkazovat na moduly pomoc\u00ed URL. Nap\u0159\u00edklad pro na\u010dten\u00ed modulu lze v k\u00f3du uv\u00e9st &#171;import * as log from &#171;https:\/\/deno.land\/std\/log\/mod.ts&#187;. Soubory na\u010dten\u00e9 z extern\u00edch server\u016f p\u0159es URL se ukl\u00e1daj\u00ed do mezipam\u011bti. V\u00e1z\u00e1n\u00ed na verze modul\u016f se ur\u010duje pomoc\u00ed \u010d\u00edsel verz\u00ed v URL, nap\u0159\u00edklad &#171;https:\/\/unpkg.com\/liltest@0.0.5\/dist\/liltest.js&#187;;\n<\/li>\n<li class=\"l\"> Sou\u010d\u00e1st\u00ed integrovan\u00e9ho syst\u00e9mu je tak\u00e9 syst\u00e9m inspekce z\u00e1vislost\u00ed (p\u0159\u00edkaz &#171;deno info&#187;) a n\u00e1stroj pro form\u00e1tov\u00e1n\u00ed k\u00f3du (deno fmt);\n<\/li>\n<li class=\"l\"> V\u0161echny skripty aplikace mohou b\u00fdt spojeny do jednoho JavaScriptov\u00e9ho souboru.\n<\/li>\n<\/ul>\n<p> Rozd\u00edly oproti Node.js:\n<\/p>\n<ul>\n<li class=\"l\"> Deno nepou\u017e\u00edv\u00e1 spr\u00e1vce bal\u00ed\u010dk\u016f npm<br \/>\n a nen\u00ed v\u00e1z\u00e1no na repozit\u00e1\u0159e, adresace modul\u016f se prov\u00e1d\u00ed prost\u0159ednictv\u00edm URL nebo dle souborov\u00e9 cesty, p\u0159i\u010dem\u017e moduly mohou b\u00fdt um\u00edst\u011bny na jak\u00e9mkoli webu;\n<\/li>\n<li class=\"l\"> V Deno se pro definici modul\u016f nepou\u017e\u00edv\u00e1 &#171;package.json&#187;.\n<\/li>\n<li class=\"l\"> Rozd\u00edln\u00e9 API, v\u0161echny asynchronn\u00ed akce v Deno vracej\u00ed promise;\n<\/li>\n<li class=\"l\"> Deno vy\u017eaduje explicitn\u00ed ur\u010den\u00ed v\u0161ech pot\u0159ebn\u00fdch opr\u00e1vn\u011bn\u00ed pro soubory, s\u00ed\u0165 a prom\u011bnn\u00e9 prost\u0159ed\u00ed;\n<\/li>\n<li class=\"l\"> Ve\u0161ker\u00e9 chyby, kter\u00e9 nemaj\u00ed obsluhova\u010de, vedou k ukon\u010den\u00ed b\u011bhu aplikace;\n<\/li>\n<li class=\"l\"> V Deno se pou\u017e\u00edv\u00e1 syst\u00e9m modul\u016f ECMAScript a nepodporuje require();\n<li class=\"l\"> Vestav\u011bn\u00fd HTTP server Deno je naps\u00e1n v TypeScriptu a funguje nad nativn\u00edmi TCP sockety, zat\u00edmco HTTP server Node.js je naps\u00e1n v C a poskytuje vazby pro JavaScript. V\u00fdvoj\u00e1\u0159i Deno se zam\u011b\u0159ili na optimalizaci cel\u00e9ho TCP socketov\u00e9ho vrstvy a poskytov\u00e1n\u00ed obecn\u011bj\u0161\u00edho rozhran\u00ed. HTTP server Deno zaji\u0161\u0165uje ni\u017e\u0161\u00ed propustnost, ale zaru\u010duje p\u0159edv\u00eddateln\u011b n\u00edzk\u00e9 latence. Nap\u0159\u00edklad v testu jednoduch\u00e1 aplikace na b\u00e1zi Deno HTTP serveru dok\u00e1zala zpracovat 25 tis\u00edc po\u017eadavk\u016f za sekundu s maxim\u00e1ln\u00ed latenc\u00ed 1,3 milisekundy. V Node.js obdobn\u00e1 aplikace zpracovala 34 tis\u00edc po\u017eadavk\u016f za sekundu, ale latence se pohybovaly od 2 do 300 milisekund.\n<li class=\"l\"> Deno nen\u00ed kompatibiln\u00ed s bal\u00ed\u010dky pro Node.js (NPM), ale vyv\u00edj\u00ed se odd\u011blen\u011b <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/std\/node\/\">vrstva<\/a><\/noindex> pro zaji\u0161t\u011bn\u00ed kompatibility se standardn\u00ed knihovnou Node.js, v pr\u016fb\u011bhu jej\u00edho v\u00fdvoje se v Deno budou moci spou\u0161t\u011bt st\u00e1le v\u00edce aplikac\u00ed napsan\u00fdch pro Node.js.\n<\/li>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Zdroj: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52947\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Deno 1.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 JavaScript \u0438 TypeScript, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0420\u0430\u0439\u0430\u043d \u0414\u0430\u043b\u044c (Ryan Dahl), \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c Node.js. \u041a\u0430\u043a \u0438 \u0432 Node.js \u0432 Deno \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a V8, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 Chromium. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-81559","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Deno 1.0.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0410\u0432\u0442\u043e\u0440 Node.js \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u0443\u044e JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Deno 1.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Deno 1.0.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-14T17:42:16+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-14T17:42:16+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Zakladatel Node.js p\u0159edstavil zabezpe\u010denou JavaScriptovou platformu Deno 1.0 | ProHoster","description":"Po dvou letech v\u00fdvoje byl p\u0159edstaven prvn\u00ed v\u00fdznamn\u00fd vyd\u00e1n\u00ed Deno 1.0.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0410\u0432\u0442\u043e\u0440 Node.js \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u0443\u044e JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Deno 1.0 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Deno 1.0.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-14T17:42:16+00:00","article:modified_time":"2020-05-14T17:42:16+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81559","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:56:23","updated":"2022-09-29 01:12:15","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/81559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=81559"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/81559\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=81559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=81559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=81559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}