{"id":55630,"date":"2020-01-24T00:00:00","date_gmt":"2020-01-23T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/sovremennyj-kurs-po-node-js-v-2020"},"modified":"2020-02-18T14:03:46","modified_gmt":"2020-02-18T11:03:46","slug":"sovremennyj-kurs-po-node-js-v-2020","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/sovremennyj-kurs-po-node-js-v-2020","title":{"rendered":"Il corso moderno su Node.js nel 2020","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Il corso moderno su Node.js nel 2020\" src=\"\/wp-content\/uploads\/2020\/01\/77b9f16832b724faf6df54b19062808a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Cari colleghi ingegneri, la comunit\u00e0 Metarchia \u00e8 lieta di presentarvi un moderno <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/playlist?list=PLHhi8ymDMrQZmXEqIIlq2S9-Ibh9b_-rQ\">\u043a\u0443\u0440\u0441 \u043f\u043e Node.js<\/a><\/noindex>, che offre un'analisi approfondita di tutte le funzionalit\u00e0 e gli aspetti della piattaforma. L'attenzione principale \u00e8 rivolta a come creare server di applicazioni e API ad alta capacit\u00e0 senza legarsi a un framework specifico o persino a un protocollo, cio\u00e8 astrarre la logica di business in un layer separato. Alle lezioni sono allegati numerosi esempi di codice che dimostrano una struttura flessibile delle applicazioni e tecniche architetturali, inclusi l'interazione con i DBMS tramite un layer di accesso ai dati, la creazione di applicazioni interattive utilizzando WebSocket, l'assicurazione della sicurezza, il Graceful shutdown, la comunicazione tra processi, la prevenzione delle perdite di memoria, la scalabilit\u00e0 e il clustering tramite processi e thread. Attualmente, il corso comprende 38 lezioni (circa 35 e \u00bd ore di video), <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Index\/blob\/master\/Courses\/NodeJS.md\">37 repository con esempi di codice<\/a><\/noindex>, 4 PDF con le slide. Prima della parte principale del corso su Node.js, \u00e8 necessario prima acquisire almeno parzialmente <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/452974\/\">il corso di programmazione asincrona<\/a><\/noindex>.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"vvedenie-i-osnovy\">Introduzione e fondamenti<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/WBcHgaoHh1k\">Node.js Introduzione alla tecnologia<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/CUU49jjHloM\">Node.js nel 2019<\/a><\/noindex>\n<ul>\n<li>Slide: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/tshemsedinov\/nodejs-in-2019\">https:\/\/www.slideshare.net\/tshemsedinov\/nodejs-in-2019<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/hY6Z6qNYzmc\">\u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Questa \u00e8 solo una lezione di panoramica, il link al corso di programmazione asincrona<br \/>\nsi trova above, prima dell'indice<\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/sOkjR-N6IAs\">Panoramica dell'API incorporato di Node.js<\/a><\/noindex>\n<ul>\n<li>Collegamento alla documentazione: <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/api\/documentation.html\">https:\/\/nodejs.org\/api\/documentation.html<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/hSyA7tcNaCE\">Impostazione dell'ambiente: Node.js, npm, git, eslint<\/a><\/noindex>\n<ul>\n<li>Repository con strumenti: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Tools\">https:\/\/github.com\/HowProgrammingWorks\/Tools<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/eQGBS15vUac\">\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u0431\u0443\u0444\u0435\u0440\u0430\u043c\u0438 \u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u043c\u0438 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Lavorare con i file: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Files\">https:\/\/github.com\/HowProgrammingWorks\/Files<\/a><\/noindex><\/li>\n<li>Flussi di file: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Streams\">https:\/\/github.com\/HowProgrammingWorks\/Streams<\/a><\/noindex><\/li>\n<li>Buffer: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Buffers\">https:\/\/github.com\/HowProgrammingWorks\/Buffers<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/29QINR9rruQ\">\u041d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u0437\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Il file system in Node.js: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Files\">https:\/\/github.com\/HowProgrammingWorks\/Files<\/a><\/noindex><\/li>\n<li>Monitoraggio dei file: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/FilesystemWatch\">https:\/\/github.com\/HowProgrammingWorks\/FilesystemWatch<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/5aSZyKi5BmE\">\u041a\u043e\u043d\u0441\u043e\u043b\u044c \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 JavaScript \u0438 Node.js<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/CommandLine\">https:\/\/github.com\/HowProgrammingWorks\/CommandLine<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"struktura-i-arhitektura-prilozheniy-na-nodejs\">\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 Node.js<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/d_vyO2CkiOc\">Approccio architetturale alla programmazione<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/O7A9chb573E\">\u041c\u043e\u0434\u0443\u043b\u0438, \u0441\u043b\u043e\u0438, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 JavaScript \u0438 Node.js<\/a><\/noindex>\n<ul>\n<li>Esempio di progetto: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Project\">https:\/\/github.com\/HowProgrammingWorks\/Project<\/a><\/noindex><\/li>\n<li>Strati astratti: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/AbstractionLayers\">https:\/\/github.com\/HowProgrammingWorks\/AbstractionLayers<\/a><\/noindex><\/li>\n<li>Sandbox: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Sandboxes\">https:\/\/github.com\/HowProgrammingWorks\/Sandboxes<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/Fz86Fdjz-LM\">\u0418\u043d\u0432\u0435\u0440\u0441\u0438\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Inversione del controllo: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/InversionOfControl\">https:\/\/github.com\/HowProgrammingWorks\/InversionOfControl<\/a><\/noindex><\/li>\n<li>Iniezione delle dipendenze: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/DependencyInjection\">https:\/\/github.com\/HowProgrammingWorks\/DependencyInjection<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/2OXWZFMvfbc\">\u041c\u0435\u0436\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432\u043e\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/InterProcessCommunication\">https:\/\/github.com\/HowProgrammingWorks\/InterProcessCommunication<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/A3RpwNlVeyY\">Strati, accoppiamento e coesione del codice<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Abstractions\">https:\/\/github.com\/HowProgrammingWorks\/Abstractions<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"razrabotka-serverov-prilozheniy-i-api-na-nodejs\">\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 API \u043d\u0430 Node.js<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/bHn-wTlTTR0\">Client-server su Node.js TCP e UDP, DNS<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Socket\">https:\/\/github.com\/HowProgrammingWorks\/Socket<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/7Ufxj0oTaUo\">Server HTTP su Node.js (routing, cluster, IP sticky)<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/NodeServer\">https:\/\/github.com\/HowProgrammingWorks\/NodeServer<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/T_wKXuWW4Wo\">HTTP \u0441\u0435\u0441\u0441\u0438\u0438 \u0438 cookies \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c Node.js<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Session\">https:\/\/github.com\/HowProgrammingWorks\/Session<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/wMMki2FEYGY\">Richieste HTTP nel browser e in Node.js: XMLHttpRequest, fetch<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/HttpRequest\">https:\/\/github.com\/HowProgrammingWorks\/HttpRequest<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/-az912XBCu8\">Sviluppo API su Node.js (client e server)<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/API\">https:\/\/github.com\/HowProgrammingWorks\/API<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/Sf7ln3n16ws\">Server WebSocket su Node.js (fogli elettronici e chat)<\/a><\/noindex>\n<ul>\n<li>WebSocket: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/WebsocketChat\">https:\/\/github.com\/HowProgrammingWorks\/WebsocketChat<\/a><\/noindex><\/li>\n<li>Chat: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/LiveTable\">https:\/\/github.com\/HowProgrammingWorks\/LiveTable<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/lipkLQVqDd8\">Scaffolding per API, UI e dati<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Scaffolding\">https:\/\/github.com\/HowProgrammingWorks\/Scaffolding<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/7tfZDABPvVs\">\u0412\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Node.js<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/n_AdKIzbpBc\">\u041e\u0442\u0434\u0430\u0447\u0430 \u0441\u0442\u0430\u0442\u0438\u043a\u0438 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Esempi di codice e problemi: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/ServeStatic\">https:\/\/github.com\/HowProgrammingWorks\/ServeStatic<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"rabota-s-bazami-dannyh-na-nodejs\">\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 Node.js<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/CRcSWtWVvrA\">Strato di accesso ai dati, cursore, transazione<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Transaction\">https:\/\/github.com\/HowProgrammingWorks\/Transaction<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/2tDvHQCBt3w\">Lavorare con i database in Node.js utilizzando PostgreSQL<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Databases\">https:\/\/github.com\/HowProgrammingWorks\/Databases<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"lekcii-po-cqrs-i-event-sourcing\">Lezioni su CQRS e Event Sourcing<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/vER0vYL4hM4\">Pattern Comando (Command) azione e parametri come oggetto<\/a><\/noindex>\n<ul>\n<li>Questo pattern sar\u00e0 necessario per la prossima lezione<\/li>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Command\">https:\/\/github.com\/HowProgrammingWorks\/Command<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/T2tRc80Q8Qw\">CQS, CQRS, Event Sourcing \u2014 Separazione di richieste e modifiche ai dati<\/a><\/noindex>\n<ul>\n<li>CQS: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/CQS\">https:\/\/github.com\/HowProgrammingWorks\/CQS<\/a><\/noindex><\/li>\n<li>CQRS: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/CQRS\">https:\/\/github.com\/HowProgrammingWorks\/CQRS<\/a><\/noindex><\/li>\n<li>EventSourcing: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/EventSourcing\">https:\/\/github.com\/HowProgrammingWorks\/EventSourcing<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/kFNtKiK2SPs\">Applicazione di EventSourcing<\/a><\/noindex>\n<ul>\n<li>Vedi esempi dalla lezione precedente<\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/xp5MVKEqxY4\">Modello attore (Actor Model)<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/ActorModel\">https:\/\/github.com\/HowProgrammingWorks\/ActorModel<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"upravlenie-pamyatyu-i-parallelnoe-programmirovanie\">Gestione della memoria e programmazione concorrente<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/0oZa64SB2wM\">Fughe di memoria in Node.js e JavaScript, garbage collection e profilazione<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/MemoryLeaks\">https:\/\/github.com\/HowProgrammingWorks\/MemoryLeaks<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/zLm8pnbxSII\">Atomics, SharedArrayBuffer, worker_threads \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Thread: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Threads\/\">https:\/\/github.com\/HowProgrammingWorks\/Threads\/<\/a><\/noindex><\/li>\n<li>Operazioni atomiche: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Atomics\/\">https:\/\/github.com\/HowProgrammingWorks\/Atomics\/<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/JNLrITevhRI\">\u0421\u0435\u043c\u0430\u0444\u043e\u0440\u044b \u0438 \u043c\u044c\u044e\u0442\u0435\u043a\u0441\u044b \u0432 JavaScript \u0438 Node.js<\/a><\/noindex>\n<ul>\n<li>Semafori: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Semaphore\">https:\/\/github.com\/HowProgrammingWorks\/Semaphore<\/a><\/noindex><\/li>\n<li>Mutex: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Mutex\">https:\/\/github.com\/HowProgrammingWorks\/Mutex<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/KNsm_iIQt7U\">\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c \u0432 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u043c Node.js<\/a><\/noindex> \u2014 conferenza JS Fest 2019 Primavera\n<ul>\n<li>Slide: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/JSFestUA\/js-fest-2019-nodejs\">https:\/\/www.slideshare.net\/JSFestUA\/js-fest-2019-nodejs<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"bezopasnost-nadezhnost-razvertyvanie-i-infrastruktura\">Sicurezza, affidabilit\u00e0, distribuzione e infrastruttura<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/1Ml5NE2fsZ8\">Errori non gestiti nelle promesse<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/PromiseError\">https:\/\/github.com\/HowProgrammingWorks\/PromiseError<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/pfiHTx3j87Y\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0442\u0440\u0435\u0439\u0441\u0430 \u0432 JavaScript \u0438 Node.js<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/StackTrace\">https:\/\/github.com\/HowProgrammingWorks\/StackTrace<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/4DkZj2Cdokc\">Logging in Node.js e JavaScript<\/a><\/noindex>\n<ul>\n<li>Esempi di codice: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Logging\">https:\/\/github.com\/HowProgrammingWorks\/Logging<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/ZstnowFeCe0\">Graceful Shutdown \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Esempi di codice e problemi: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/GracefulShutdown\">https:\/\/github.com\/HowProgrammingWorks\/GracefulShutdown<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/Pdfo1G-gI6s\">\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Node.js<\/a><\/noindex>\n<ul>\n<li>Slide: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/tshemsedinov\/nodejs-security-199004963\">https:\/\/www.slideshare.net\/tshemsedinov\/nodejs-security-199004963<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/x-Rd6fPV6L8\">Serverless Clouds (FaaS) \u0438 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Slide: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/tshemsedinov\/serverless-clouds-faas-and-request-context-isolation-in-nodejs\">https:\/\/www.slideshare.net\/tshemsedinov\/serverless-clouds-faas-and-request-context-isolation-in-nodejs<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<p>Vi chiediamo di lasciare le vostre recensioni sul corso e suggerimenti per ampliare i materiali del corso. Grazie per l'interesse nel nostro lavoro e per l'aiuto della comunit\u00e0 nel migliorare gli esempi di codice. Potete iscrivervi al canale YouTube con le lezioni aperte qui: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/TimurShemsedinov\">https:\/\/www.youtube.com\/TimurShemsedinov<\/a><\/noindex> e su GitHub dell'autore qui: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tshemsedinov\">https:\/\/github.com\/tshemsedinov<\/a><\/noindex><\/p>\n<p class=\"for_users_only_msg\">Solo gli utenti registrati possono partecipare al sondaggio. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Accedi<\/a><\/noindex>, per favore.<\/p>\n<h2 class=\"default-block__polling-title\">Guarderete il corso?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">70,4%<\/strong>S\u00ec, sono interessato a tutto155<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">26,4%<\/strong>Guarda selettivamente58<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">3,2%<\/strong>Non sono interessato7<\/p>\n<\/li>\n<\/ul>\n<p>    Hanno votato 220 utenti. 10 utenti si sono astenuti.<\/p>\n<h2 class=\"default-block__polling-title\">Volete la continuazione delle lezioni?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">95,0%<\/strong>S\u00ec, certamente191<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">3,0%<\/strong>S\u00ec, e suggerir\u00f2 argomenti6<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">2,0%<\/strong>Basta cos\u00ec4<\/p>\n<\/li>\n<\/ul>\n<p>    Hanno votato 201 utenti. 13 utenti si sono astenuti.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/485294\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0440\u043e\u0433\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b, \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u041c\u0435\u0442\u0430\u0440\u0445\u0438\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043a\u0443\u0440\u0441 \u043f\u043e Node.js, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0439 \u0440\u0430\u0437\u0431\u043e\u0440 \u0432\u0441\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0443\u043f\u043e\u0440 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0442\u043e, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 API \u0431\u0435\u0437 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0443 \u0438 \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443, \u0442.\u0435. \u0430\u0431\u0441\u0442\u0440\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0443 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u043e\u0439. \u041a \u043b\u0435\u043a\u0446\u0438\u044f\u043c \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043a\u043e\u0434\u0430, \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":55631,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-55630","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0440\u043e\u0433\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b, \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u041c\u0435\u0442\u0430\u0440\u0445\u0438\u044f.\" \/>\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\/it\/blog\/novosti-interneta\/sovremennyj-kurs-po-node-js-v-2020\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043a\u0443\u0440\u0441 \u043f\u043e Node.js \u0432 2020 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0440\u043e\u0433\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b, \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u041c\u0435\u0442\u0430\u0440\u0445\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/sovremennyj-kurs-po-node-js-v-2020\" \/>\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-01-23T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:46+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\udd47Corso moderno di Node.js nel 2020 | ProHoster","description":"Cari compagni ingegneri, comunit\u00e0 di Metarchia.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/sovremennyj-kurs-po-node-js-v-2020","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043a\u0443\u0440\u0441 \u043f\u043e Node.js \u0432 2020 | ProHoster","og:description":"\u0414\u043e\u0440\u043e\u0433\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b, \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u041c\u0435\u0442\u0430\u0440\u0445\u0438\u044f.","og:url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/sovremennyj-kurs-po-node-js-v-2020","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-01-23T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55630","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 19:40:27","updated":"2022-10-06 09:56:03","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/55630","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=55630"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/55630\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/55631"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=55630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=55630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=55630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}