{"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\/sl\/blog\/news\/sovremennyj-kurs-po-node-js-v-2020","title":{"rendered":"Sodobni te\u010daj Node.js v 2020","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Sodobni te\u010daj Node.js v 2020\" src=\"\/wp-content\/uploads\/2020\/01\/77b9f16832b724faf6df54b19062808a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dragi in\u017eenjeri, zajednica MetaRhia vam predstavlja modernu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/playlist?list=PLHhi8ymDMrQZmXEqIIlq2S9-Ibh9b_-rQ\">\u043a\u0443\u0440\u0441 \u043f\u043e Node.js<\/a><\/noindex>, koja uklju\u010duje duboku analizu svih mogu\u0107nosti i aspekata platforme. Glavni fokus je na tome kako kreirati pouzdane visoko optere\u0107ene aplikacijske servere i API-je bez vezivanja za odre\u0111eni okvir ili \u010dak protokol, tj. apstrahovati poslovnu logiku u poseban sloj. Priklju\u010deno je mnogo primera koda koji demonstriraju fleksibilnu strukturu aplikacija i arhitektonske tehnike, uklju\u010duju\u0107i rad sa DBMS-om kroz sloj pristupa podacima, kreiranje interaktivnih aplikacija na websockets, obezbe\u0111ivanje bezbednosti, Graceful shutdown, me\u0111uprocesnu interakciju, spre\u010davanje curenja memorije, skaliranje i klasterovanje uz pomo\u0107 procesa i niti. Trenutno kurs sadr\u017ei 38 predavanja (oko 35 i \u00bd sati videa), <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Index\/blob\/master\/Courses\/NodeJS.md\">37 repozitorijuma sa primerima koda<\/a><\/noindex>, 4 PDF-a sa slajdovima. Pre glavnog dela kursa o Node.js, prvo je potrebno delimi\u010dno savladati <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/452974\/\">kurs o asinhronom programiranju<\/a><\/noindex>.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"vvedenie-i-osnovy\">Uvod i osnove<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/WBcHgaoHh1k\">Node.js Uvod u tehnologiju<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/CUU49jjHloM\">Node.js u 2019. godini<\/a><\/noindex>\n<ul>\n<li>Slajdovi: <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>Ovo je samo uvodno predavanje, link ka kursu o asinhronom programiranju<br \/>\nse nalazi iznad, pre sadr\u017eaja<\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/sOkjR-N6IAs\">Pregled ugra\u0111enog Node.js API-ja<\/a><\/noindex>\n<ul>\n<li>Povezava do dokumentacije: <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\">Pode\u0161avanje okru\u017eenja: Node.js, npm, git, eslint<\/a><\/noindex>\n<ul>\n<li>Repozitorijum sa instrumentima: <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>Rad sa datotekama: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Files\">https:\/\/github.com\/HowProgrammingWorks\/Files<\/a><\/noindex><\/li>\n<li>Datote\u010dki tokovi: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Streams\">https:\/\/github.com\/HowProgrammingWorks\/Streams<\/a><\/noindex><\/li>\n<li>Baferi: <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>Datote\u010dki sistem u Node.js: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Files\">https:\/\/github.com\/HowProgrammingWorks\/Files<\/a><\/noindex><\/li>\n<li>Pra\u0107enje datoteka: <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>Primeri koda: <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\">Arhitektonski pristup programiranju<\/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>Primer projekta: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Project\">https:\/\/github.com\/HowProgrammingWorks\/Project<\/a><\/noindex><\/li>\n<li>Apstraktni slojevi: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/AbstractionLayers\">https:\/\/github.com\/HowProgrammingWorks\/AbstractionLayers<\/a><\/noindex><\/li>\n<li>Pesak kutije: <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>Inverzija kontrole: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/InversionOfControl\">https:\/\/github.com\/HowProgrammingWorks\/InversionOfControl<\/a><\/noindex><\/li>\n<li>Ubrizgavanje zavisnosti: <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>Primeri koda: <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\">Slojevi, povezanost i kohezija koda<\/a><\/noindex>\n<ul>\n<li>Primeri koda: <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\">Klijent-server na Node.js TCP i UDP, DNS<\/a><\/noindex>\n<ul>\n<li>Primeri koda: <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\">HTTP server na Node.js (routing, klaster, IP sticky)<\/a><\/noindex>\n<ul>\n<li>Primeri koda: <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>Primeri koda: <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\">HTTP zahtevi u pretra\u017eiva\u010du i Node.js: XMLHttpRequest, fetch<\/a><\/noindex>\n<ul>\n<li>Primeri koda: <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\">Razvoj API-ja na Node.js (klijent i server)<\/a><\/noindex>\n<ul>\n<li>Primeri koda: <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\">WebSocket server na Node.js (tabele i chat)<\/a><\/noindex>\n<ul>\n<li>Websockets: <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\">Skafolding za API, UI i podatke<\/a><\/noindex>\n<ul>\n<li>Primeri koda: <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>Primeri koda i zadaci: <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\">Sloj pristupa podacima, kursor, transakcija<\/a><\/noindex>\n<ul>\n<li>Primeri koda: <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\">Rad sa bazama podataka u Node.js na primeru PostgreSQL<\/a><\/noindex>\n<ul>\n<li>Primeri koda: <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\">Predavanja o CQRS i Event Sourcing<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/vER0vYL4hM4\">Obrazac Komanda (Command) akcija i parametri kao objekat<\/a><\/noindex>\n<ul>\n<li>Ovaj obrazac \u0107e biti potreban za slede\u0107e predavanje<\/li>\n<li>Primeri koda: <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 Razdvajanje upita i modifikacije podataka<\/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\">Primena EventSourcing<\/a><\/noindex>\n<ul>\n<li>Vidi primere iz prethodnog predavanja<\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/xp5MVKEqxY4\">Model glumaca (Actor Model)<\/a><\/noindex>\n<ul>\n<li>Primeri koda: <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\">Upravljanje memorijom i paralelno programiranje<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/0oZa64SB2wM\">Pu\u0161\u010danje pomnilnika v Node.js in JavaScript, zbiranje smeti in profiliranje<\/a><\/noindex>\n<ul>\n<li>Primeri koda: <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>Toki: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Threads\/\">https:\/\/github.com\/HowProgrammingWorks\/Threads\/<\/a><\/noindex><\/li>\n<li>Atomske operacije: <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>Semaforji: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Semaphore\">https:\/\/github.com\/HowProgrammingWorks\/Semaphore<\/a><\/noindex><\/li>\n<li>Mutexi: <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 predstavitev na konferenci JS Fest 2019 Pomlad\n<ul>\n<li>Slajdovi: <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\">Varnost, zanesljivost, uvajanje in infrastruktura<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/1Ml5NE2fsZ8\">Neobvladane napake v obljubah<\/a><\/noindex>\n<ul>\n<li>Primeri koda: <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>Primeri koda: <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\">Zapisovanje v Node.js in JavaScript<\/a><\/noindex>\n<ul>\n<li>Primeri koda: <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>Primeri koda i zadaci: <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>Slajdovi: <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>Slajdovi: <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>Vabimo vas, da pustite svoje povratne informacije o te\u010daju in predloge za raz\u0161iritev gradiv te\u010daja. Hvala za zanimanje za na\u0161e delo in pomo\u010d skupnosti pri izbolj\u0161anju primerov kode. Naro\u010dite se na YouTube kanal z javnimi predavanji tukaj: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/TimurShemsedinov\">https:\/\/www.youtube.com\/TimurShemsedinov<\/a><\/noindex> in na avtorjevem GitHubu tukaj: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tshemsedinov\">https:\/\/github.com\/tshemsedinov<\/a><\/noindex><\/p>\n<p class=\"for_users_only_msg\">Samo registrovani korisnici mogu u\u010destvovati u anketi. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Prijavite se<\/a><\/noindex>, molim vas.<\/p>\n<h2 class=\"default-block__polling-title\">Boste gledali te\u010daj?<\/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>Da, vse me zanima155<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">26,4%<\/strong>Izbir\u010dno bom pogledal58<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">3,2%<\/strong>Ni zanimivo7<\/p>\n<\/li>\n<\/ul>\n<p>    Glasovalo je 220 uporabnikov. 10 uporabnikov se je vzdr\u017ealo.<\/p>\n<h2 class=\"default-block__polling-title\">\u017delite nadaljevanje predavanj?<\/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>Da, seveda191<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">3,0%<\/strong>Da, in predlagal bom teme6<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">2,0%<\/strong>Zame je to dovolj4<\/p>\n<\/li>\n<\/ul>\n<p>    Glasoval je 201 uporabnik. 13 uporabnikov se je vzdr\u017ealo.<br \/>\n<br \/>Izvor: <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-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - 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\/sl\/blog\/news\/sovremennyj-kurs-po-node-js-v-2020\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\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\/sl\/blog\/news\/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\udd47Sodobni te\u010daj o Node.js v 2020 | ProHoster","description":"Dragi in\u017eenirji, skupnost Metarhija.","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/news\/sovremennyj-kurs-po-node-js-v-2020","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","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\/sl\/blog\/news\/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\/sl\/wp-json\/wp\/v2\/posts\/55630","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=55630"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/55630\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/55631"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=55630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=55630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=55630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}