- Kompanija: ICT Cortex
- Broj modula: 22
Šta ćeš naučiti na kursu
- Naučićete kako web funkcioniše i kako da počnete karijeru kao back end web programer;
- Naučićete da izgradite pozadinske procese sa NodeJS, Ekpress & SQL + NoSQL bazama podataka;
- Naučićete da dodate napredne funkcije kao što su autentifikacija korisnika, otpremanje datoteka ili upiti za bazu podataka na web-sajtove;
- Naučićete rad sa relacionim i nerelacionim bazama podataka
- Nije potrebno prethodno znanje u programiranju;
- Sposobnost da koristite računar i instalirate softver;
- Pristup Windows PC ili Mac-u;
- Engleski jezik
Opis kursa
Želite da postanete web programer?
OVAJ KURS JE ZA POČETNIKE I NAPREDNE PROGRAMERE!
Naučiće vas web razvoju i pretvoriti vas u back end web programera ili će vam omogućiti da osvježite ključne stvari i proširite svoje postojeće znanje!
Postati web programer je odličan izbor jer web razvoj otvara mnoge karijerne puteve, a vještine razvoja weba su potrebne u skoro svakom poslu koji danas postoji – i naravno to će se samo povećati u budućnosti!
Ne radi se samo o websajtovima – radi se i o uslugama „iza kulisa“ koje koriste mobilne aplikacije kao što su Uber ili AirBnB. Riječ je o bogatim web aplikacijama kao što su Google dokumenti, kao i igrama pretraživača. I naravno takođe o redovnim websajtovima kao što je Facebook, onlajn blogovima, onlajn prodavnicama kao što je Amazon i mnogo, mnogo više!
Stoga nije ni čudo što su web programeri veoma traženi! I pored sjajnih perspektiva za posao, kao web programer, možete, naravno, lako da izgradite sopstveni digitalni posao!
Ovaj kurs je za vas!
Za početak ovog kursa nije potrebno nikakvo prethodno znanje o web razvoju. Istražićemo sve važne osnove i sve ključne koncepte zajedno, korak po korak.
Ali ovaj kurs je takođe za napredne studente koji već imaju znanje o veb razvoju! To je dubinski kurs i stoga ćete moći da proširite svoje postojeće znanje tako što ćete dublje uroniti u ključne osnove NodeJS-a, kao i tako što ćete istražiti napredne koncepte kao što su rukovanje plaćanjima, izgradnja REST API-ja ili bezbijednost websajta.
Pošto je to ogroman kurs, kurs je izgrađen na modularan način. To znači da možete da idete korak po korak, predavanje po predavanje, ali takođe možete da skočite direktno u djelove kursa koji su vam najinteresantniji. Naravno, preporučujemo pristup „korak po korak“ za početnike – jednostavno zato što se sva predavanja i sekcije nadograđuju jedni na druge. Ali kao iskusniji programer, naravno možete preskočiti osnove koje vam nisu zanimljive!
Ovo je ogroman kurs, prepun sadržaja i to je početni kamp za web razvoj koji bismo voljeli da imamo kada smo učili web razvoj.
Evo rezimea ključnih koncepata koje ćemo istražiti u okviru ovog kursa:
- Kako web funkcioniše
- Uronite u razvoj pozadinskog dijela uz NodeJS i EkpressJS
- Saznajte šta je NodeJS i kako funkcioniše
- Napravite osnovne web-sajtove vođene pozadinom sa naprednim konceptima kao što su dinamičko rutiranje ili dinamički šabloni
- Naučite kako da radite sa bazama podataka – SQL & NoSQL (i šta je to)
- Vježbajte kako da koristite SQL / NoSQL sa NodeJS & Ekpress-om
- Uronite u napredne koncepte kao što su autentifikacija, bezbijednost veb lokacije, obrasci kodiranja, otpremanje datoteka, validacija korisničkog unosa i još mnogo toga!
- Napravite mnogo projekata (npr. kompletnu prodavnicu na mreži, od samog početka!) da biste takođe vježbali sve napredne koncepte
- Naučite kako da koristite pakete i usluge treće strane (npr. Stripe za plaćanja) na svojim veb lokacijama
- Pređite na specijalizovanije, naprednije koncepte kao što je pravljenje REST API-ja
- Istražite frontend JavaScript okvire kao što je Vue.js da biste napravili još moćniji veb korisnički interfejs
- I još mnogo toga – jednostavno pogledajte cijeli nastavni plan i program da biste dobili kompletnu listu!
Kome je ovaj kurs namjenjen?
- Početnicima i naprednim programerima koji se bave web razvojem;
- Polaznicima koji nemaju apsolutno nikakvo iskustvo u razvoju web-a i žele da postanu web programeri;
- Iskusnim web programerima kojima je potrebna sveobuhvatna referenca ili žele da zarone u naprednije teme, kao i da osvježe osnove;
Plan i program
- Uvod u modul;
- Šta je „pozadinski dio“ i zašto nam je potreban kod na strani servera?;
- Dinamičke web stranice protiv statičkih websajtova;
- Frontend vs Backend vs Fullstack razvoj;
- Izbor pozadinskog (na strani servera) programskog jezika;
- Provjera naučenog: Frontend vs Backend;
- Uvod u modul;
- Instaliranje NodeJS-a;
- Izvršavanje NodeJS koda;
- Kreiranje prilagođenog NodeJS servera;
- Obrada zahtjeva i kreiranje prilagođenih odgovora;
- Radite više poslova na strani servera;
- Provjera naučenog: Osnove NodeJS;
- Rezime;
- Uvod u modul;
- Instaliranje Express-a sa “npm”;
- Kreiranje servera sa ekspresnim i rukovanjem zahtevima + odgovorima;
- Parsing korisničkih podataka pomoću Ekpress-a;
- Čuvanje podataka u fajlovima (na strani servera);
- Više o „JSON“ formatu;
- Čitanje podataka datoteke i vraćanje dinamičkih odgovora (dinamički HTML kod);
- Poboljšanje toka rada programera pomoću “nodemona”;
- Rezime;
- Provjera naučenog: Osnove ExpressJS-a;
- Uvod u modul;
- Kreiranje početnog projekta i šta treba da se promijeni;
- Podešavanje osnovne exspres aplikacije (uključujući vježbu);
- Posluživanje HTML datoteka uz Node & Express;
- Posluživanje statičkih datoteka (CSS & JavaScript);
- Raščlanjivanje podataka obrasca i zahtjeva za preusmjeravanje;
- Renderovanje dinamičkog sadržaja sa šablonima;
- Izlaz ponovljenog sadržaja sa EJS i petljama;
- Renderovanje uslovnog sadržaja;
- Uključujući djelimični sadržaj;
- EJS i IDE podrška;
- Rezime modula;
- Provjera naučenog: statički i dinamički sadržaj;
- Uvod u modul;
- Predstavljamo dinamičke rute;
- Upravljanje podacima sa jedinstvenim ID-ovima;
- Učitavanje i prikaz detaljnih podataka;
- Prikazuje se stranica 404 za slučajeve „Nije pronađeno“;
- Više korišćenja stranice 404 (nepostojeće rute);
- Rukovanje greškama na strani servera (500 statusni kod);
- Rad sa statusnim kodovima;
- Refaktorisanje koda i dodavanje više funkcija;
- Uvoz i izvoz koda u NodeJS;
- Korišćenje ekspresnog rutera za razdvajanje konfiguracije rute;
- Predstavljamo parametre upita (i skrivena polja obrasca);
- Parametri upita naspram parametara rute;
- Rezime modula;
- Provjera naučenog: napredne ekspres funkcije;
- Uvod u modul;
- Funkcije i podrazumijevani parametri;
- Rest Parameters & The Spread Operator;
- Funkcije su objekti!;
- Rad sa literalima šablona;
- Primitiv u odnosu na referentne vrijednosti;
- Prilagođeno rukovanje greškama sa try/catch;
- Podaci o grešci i odbacivanje prilagođenih grešaka;
- Promjenljivi opseg i senčenje;
- Provjera naučenog: Napredniji JavaScript koncepti;
- Predstavljamo klase kao nacrte objekata;
- Časovi i metode (i „ovo“);
- Destrukturiranje objekata i nizova;
- Provjera naučenog: Više o objektima;
- Uronjenje u asinhroni kod i funkcije povratnog poziva;
- Predstavljamo obećanja;
- Asinhroni kod i rukovanje greškama;
- Poboljšanje koda sa async / await;
- Provjera naučenog: Asinhroni kod;
- Rezime modula;
- Uvod u modul;
- Zašto baze podataka? A šta su uopšte baze podataka?;
- Kratak uvod u SQL baze podataka (RDBMS);
- Kratak uvod u NoSQL baze podataka;
- SQL vs NoSQL baze podataka;
- Provjera naučenog: Uvod u baze podataka;
- Uvod u modul;
- Šta i zašto?;
- RDBMS opcije;
- Instaliranje MySQL-a i koraci podešavanja;
- Server baze podataka protiv baza podataka protiv tabela;
- Pisanje našeg prvog SQL koda i kreiranje baze podataka;
- Kreiranje tabele i strukture tabele;
- Ubacivanje podataka u tabelu;
- Čitanje podataka iz tabele (uključujući filtriranje);
- Ažuriranje i brisanje podataka;
- Dizajniranje složenije baze podataka;
- Dodavanje nove tabele;
- Implementacija složenijeg dizajna sa odnosima;
- Umetanje povezanih podataka;
- Vježbanje: Umetanje povezanih podataka;
- Upiti i pridružiti srodnim podacima;
- Vježbanje: spajanje podataka;
- Rezime modula i više o odnosima;
- Provjera naučenog: Uvod u SQL;
- Uvod u modul;
- Zašto bi kod za pristup bazi podataka trebalo da se pokreće na pozadini?;
- Šta ćemo izgraditi u ovom odeljku;
- Planiranje strukture naše baze podataka;
- Inicijalizacija baze podataka;
- Podešavanje projekta;
- Kreiranje naših prvih ruta;
- Povezivanje sa bazom podataka i ispitivanje podataka;
- Umetanje podataka sa čuvarima mjesta (ubacivanje dinamičkih podataka);
- Preuzimanje i prikazivanje liste postova na blogu;
- Preuzimanje i prikazivanje jednog posta na blogu;
- Formatiranje i transformacija preuzetih podataka;
- Priprema stranice „Ažuriraj post“;
- Ažuriranje postova;
- Brisanje postova;
- Rezime modula;
- Uvod u modul;
- Ideja iza NoSQL sistema baza podataka;
- Predstavljamo MongoDB;
- Opšta uputstva za podešavanje i instaliranje MongoDB-a na macOS;
- Instaliranje MongoDB na Windows;
- Instaliranje MongoDB Shell-a;
- Umetanje podataka sa MongoDB;
- Čitanje i filtriranje podataka;
- Ažuriranje dokumenata u bazi podataka MongoDB;
- Brisanje dokumenata pomoću MongoDB;
- Planiranje kompletnog dizajna / rasporeda baze podataka;
- Implementacija planiranog dizajna i rasporeda;
- Vježbajte vrijeme i više operatera za filtriranje;
- Uvod u modul;
- Planiranje strukture i rasporeda baze podataka;
- Inicijalizacija projekta i baze podataka;
- Povezivanje na MongoDB (iznutra NodeJS);
- Preuzimanje i prikazivanje liste autora;
- Umetanje dokumenata (novi postovi);
- Preuzimanje i prikazivanje dokumenata;
- Preuzimanje jednog dokumenta;
- Transformisanje i priprema podataka;
- Ažuriranje dokumenata;
- Brisanje dokumenata;
- ExpressJS i rukovanje greškama asinhronog koda;
- Uvod u modul;
- Dvije strane otpremanja datoteka i podešavanja početnog projekta;
- Dodavanje birača datoteke u obrazac;
- Raščlanjujemo otpremljene dolazne datoteke sa paketom “multer”;
- Kako da skladištite datoteke na pozadinu;
- Detaljno konfigurisanje Multer-a;
- Čuvanje podataka datoteke u bazi podataka (i šta NE čuvati);
- Posluživanje otpremljenih datoteka posetiocima websajta;
- Dodavanje funkcije pregleda slike;
- Rezime modula;
- Provjera naučenog: otpremanja datoteka;
- Uvod u modul;
- Šta je Ajax? I zašto bi nam to trebalo?;
- Šta je “Ajax”?;
- Početak projekta i problem;
- Slanje i rukovanje GET Ajax zahteva;
- Ažuriranje DOM-a na osnovu odgovora;
- Priprema podataka za POST zahtev;
- Slanje i rukovanje POST Ajax zahtjevom;
- Poboljšanje korisničkog iskustva (UKS);
- Rukovanje greškama (na strani servera i tehničkim);
- Sada imamo više HTTP metoda!;
- Rezime modula;
- Provera učenja: Http zahtjevi vođeni Ajax-om / JS;
- Uvod u modul;
- Šta je „Autentifikacija“ i zašto biste je željeli da dodate na websajt?;
- Naš početni projekat;
- Dodavanje osnovne funkcije registracije;
- Obavezno: heširanje lozinki;
- Dodavanje funkcionalnosti za prijavljivanje korisnika;
- Potvrđivanje informacija o registraciji;
- Predstavljamo sesije i kolačiće – zvijezde autentifikacije;
- Dodavanje podrške za sesije na naš websajt;
- Čuvanje podataka o autentifikaciji u sesijama;
- Korišćenje sesija i kolačića za kontrolu pristupa;
- Dodavanje funkcije odjave;
- Bliži pogled na kolačiće;
- Zaroniti dublje u sesije (izvan autentifikacije);
- Autorizacija naspram autentifikacije;
- Vježbanje sesija i rad sa sesijama;
- Pisanje prilagođenih Middlewares-a i korišćenje “res.locals”;
- Rezime modula;
- Provera učenja: autentifikacija;
- Uvod u modul;
- Autentifikacija naspram bezbijednosti websajta;
- Razumevanje CSRF napada;
- Delimična CSRF zaštita sa kolačićima „isti sajt“;
- Implementacija bolje CSRF zaštite;
- Razumevanje KSSS napada;
- Zaštita od KSSS napada;
- Razumijevanje napada SQL injekcijom;
- Zaštita od napada SQL injekcijom;
- Reč o NoSQL injekciji;
- IzbJegavajte slučajno izlaganje koda ili podataka na strani servera!;
- Rezime modula;
- Provjera naučenog: bezbjednost
- Uvod u modul;
- Naš početni projekat (duboko ronjenje);
- Šta nije u redu sa našim kodom?;
- Razdvajanje naših ruta;
- Ekstrahovanje podešavanja konfiguracije;
- Izvlačenje prilagođenog Middleware-a;
- Uvod u MVC obrazac;
- Kreiranje našeg prvog modela;
- Dodavanje funkcionalnosti ažuriranja i brisanja modelu;
- Dodavanje funkcija preuzimanja modelu;
- Dodavanje prvog kontrolera i radnji kontrolera;
- Refaktorisanje funkcionalnosti grešaka u sesijama i validaciji unosa;
- Refaktorisanje rukovanja CSRF tokenom;
- Migracija funkcije „autentifikacije“ u MVC;
- Poboljšanje asinhronog rukovanja greškama;
- Zaštita ruta sa prilagođenim srednjim softverom;
- Provjera naučenog: Refactoring in MVC;
- Uvod u modul;
- Planiranje projekta;
- Vaš izazov!;
- Podešavanje projekta kursa;
- Kreiranje fascikli, datoteka i prvog skupa ruta;
- Dodavanje EJS-a i prvih pregleda;
- Popunjavanje i prikazivanje prvog prikaza;
- Dodavanje osnovnih CSS datoteka i posluživanje statičkih datoteka;
- Dodavanje CSS promenljivih i teme web sajta;
- Više osnovnih CSS stilova za web sajt;
- Oblikovanje elemenata prve forme;
- Dodavanje MongoDB servera baze podataka i veze;
- Dodavanje registracije korisnika;
- Sigurnosno vrijeme: Dodavanje CSRF zaštite;
- Implementacija pravilnog rukovanja greškama pomoću srednjeg softvera za obradu grešaka;
- Predstavljamo sesije i konfigurisanje sesija;
- Implementacija autentifikacije i prijavljivanja korisnika;
- Završavanje autentifikacije i provjera statusa autentifikacije (prilagođeni međuverski softver);
- Dodavanje funkcije odjave;
- Rukovanje greškama u asinhronom kodu;
- Dodavanje validacije korisničkog unosa;
- Treperenje grešaka i unos podataka u sesije;
- Prikaz poruka o grešci i čuvanje korisničkog unosa;
- Ovlašćenje administratora i zaštićena navigacija;
- Podešavanje osnovnih stilova navigacije;
- Pravljenje responzivne web stranice;
- Frontend JavaScript za uključivanje mobilnog menija;
- Dodavanje stranica i obrazaca za administratore proizvoda;
- Dodavanje funkcije za otpremanje slika;
- Više podataka: Dodavanje modela proizvoda i skladištenje proizvoda u bazi podataka;
- Preuzimanje i iznošenje stavki proizvoda;
- Stilski proizvodi;
- Dodavanje stranice „Detalji o proizvodu“ (pojedinačni proizvod);
- Ažuriranje proizvoda (kao administrator);
- Dodavanje pregleda „Otpremanje datoteke“;
- Omogućavanje brisanja proizvoda;
- Korišćenje Ajax / Frontend JS zahtjeva i ažuriranje DOM-a;
- Razne popravke i odgovarajuća zaštita rute;
- Izlaz proizvoda za kupce;
- Iznošenje detalja o proizvodu;
- Dodavanje modela kolica;
- Rad na logici kolica za kupovinu;
- Dodavanje artikala u korpu putem Ajax zahtjeva;
- Dodavanje stranice u korpu;
- Stiling The Cart Page;
- Ažuriranje artikala u korpi (promena količina);
- Ažuriranje kolica putem Ajax zahtjeva (zahtevi za zakrpu);
- Ažuriranje DOM-a nakon ažuriranja artikala u korpu;
- JavaScript i aritmetika sa plutajućim zarezom;
- Dodavanje kontrolora naloga i osnovnog modela narudžbi;
- Čuvanje naloga u bazi podataka;
- Prikaz porudžbina (za kupce i administratore);
- Upravljanje nalozima kao administrator;
- Ažuriranje artikala u korpi;
- Ispravljanje grešaka i poliranje;
- Rezime modula;
- Uvod u modul [48. dan];
- Instaliranje Express-a sa “npm” [48. dan];
- Uvod u modul;
- Šta su „Usluge“ i „API“?;
- Zašto biste koristili usluge i API-je?;
- Predstavljamo Stripe;
- Kreiranje Stripe naloga;
- Podešavanje zahteva za Stripe API;
- Konfigurisanje Stripe zahtjeva i rukovanje isplatama;
- Rezime modula;
- Više usluga: prijavljivanje na društvene mreže (Google, Facebook), Google analitika i više;
- Uvod u modul;
- Kako su web stranice dostupne javnosti?;
- Statički protiv dinamičkih websajtova;
- Hosting servera baza podataka;
- Koraci raspoređivanja (priprema);
- Primjeri projekata;
- Testiranje i priprema koda (uključujući varijable okruženja);
- Procjena podrške za više pregledača;
- Optimizacija pretraživača (SEO);
- Dodavanje favikon-a;
- Poboljšanje performansi i smanjenje sredstava (JS, slike);
- Primjer primjene: statičkog websajta (osvježavanje);
- Primjer primjene: dinamičkog websajta sa pozadinskim kodom;
- Primjena MongoDB baze podataka sa Atlasom;
- Završavanje dinamičke implementacije websajta;
- Uvod u modul;
- API-ji i usluge: šta i zašto?;
- JS paketi naspram API-ja zasnovanih na URL-u: šta ćemo ovde izgraditi;
- API-ji naspram „tradicionalnih veb lokacija“;
- Predstavljamo REST API-je;
- Pravljenje prvog osnovnog REST API-ja;
- Poboljšati API i učiniti ga realističnijim;
- Složeniji REST API: Prvi koraci;
- Završavanje prvih API krajnjih tačaka;
- Testiranje API-ja sa poštarom;
- Dodavanje ruta / krajnjih tačaka PATCH & DELETE;
- Dodavanje odvojenog frontend websajta (SPA) :
- Zašto biste koristili odvojeni frontend / SPA?;
- Razumijevanje grešaka CORS;
- Ispravljanje grešaka CORS i povezivanje Frontend SPA sa REST API-jem;
- Provjera naučenog: prilagođeni (REST) API-ji;
- Uvod u modul;
- Zašto biste koristili Frontend JavaScript UI Frameworks?;
- React vs Vue vs Angular: koji okvir treba da koristite?;
- Prvi koraci sa Vue.js („Vue“);
- Slušanje događaja i ažuriranje podataka + DOM;
- Predstavljamo „Two-Way-Binding“;
- Izlaz liste podataka;
- Izlaz sadržaja uslovno;
- Ažuriranje podataka;
- Brisanje podataka;
- Slanje POST Http zahtjeva;
- Učitavanje podataka i upravljanje državama učitavanja;
- Učitavam Vue drugačije;
- Slanje zahtjeva PATCH + DELETE i rezimea modula;
- Provjera naučenog: JavaScript Frameworks & Vue.js
- Bonus: mogući naredni koraci, mogućnosti za vježbu i ideje za projekte;