Summary

This document contains questions about internet concepts, protocols (e.g., TCP/IP, HTTP, FTP, SMTP), and the OSI model. It includes a description of internet protocols and their functions.

Full Transcript

1. Opiši Pojem internet? internet je računalniško omrežje ki je sestavljeno iz več medsebojno povezanih omrežji ki uporabljajo internetni protokol TCP/IP za pogovarjanje med omrežji in napravami. 2. Mrežni protokoli in kateri so najbolj znani internetni protokoli? Mrežni protokoli so dovgovor...

1. Opiši Pojem internet? internet je računalniško omrežje ki je sestavljeno iz več medsebojno povezanih omrežji ki uporabljajo internetni protokol TCP/IP za pogovarjanje med omrežji in napravami. 2. Mrežni protokoli in kateri so najbolj znani internetni protokoli? Mrežni protokoli so dovgovorjena pravila, standardi in postopki, ki določajo, kako naprave komunicirajo in prenešajo podatke v računalniških omrežji. Najbolj znani protokoli so TCP/IP (Transmission Control Protocol / Internet Protocol) - Osnova za delovanje interneta - IP: skrbi za naslovitev in dostavo podatkovnih paketo med napravami. - TCP: zagotavlja zanesljiv prenos podatkov za nadzorom povezav in odpravo napak. HTTP (HyperText Transfer Protocol) - Protokol za prenos spletnih vsebim na spletu. - HTTPS: varnejša različica HTTP, ki uporablja šifriranje (SSL/TLS). FTP (File Transfer Protocol) - Omogoča preos datotek med napravami v omrežju. Uporablja se za nalaganje in prenašanje datotek. SMTP (Simple Mail Transfer Protocol) - Protokol za pošiljanje e-pošte med odjemalci in poštnimi strežniki IMAP (Intenet Message Access Protocol) in POP3 (Post Office Protocol) - IMAP: omogoča dostop do e-pošte na strežniku in delo z njo brez prenosa na lokalni računalnik. - POP3: prenese e-pošto na lokalni računalnik in jo izbriže s strežnika. DNS (Domain Name System) - Pretvori spletne naslove v IP naslova da računalniki se lahko kominunicirajo. DHCP (Dynamic HOst COnfiguration Protocol) - Samodejno dodeluje IP, Masko, DNS, Gatawey; Napravam v omrežju. UDP (User Datagram Protocol) - Podoben TCP, vendar brez nadzora povezav, hitrejši vendar manj zanesljiv. TLS/SSL (Transport Layer Security / Secure Sockets Layer) - Uporablja se za šifriranje podatkov, ki se prenašajo po omrežju, SSH (Secure Shell Protocol) - Omogoča varna oddaljeno prijavo in upravljanje strežnikov preko šifriranje povezave. ICMP (Internet Control Message Protocol) - Uporabljanje se za diagnostiko omrežji, npr. s ping ukazon, za preverjanje povezljivosti. SNMP (Simple Network Manangment Protocol) - Protokol za nadzor in uporavljanje naprav v omrežju 3. OSI layer model in navedite posamezne nivoje. The Open Systems Interconnection model (OSI model) is a conceptual model that characterizes and standardises the communication functions of a telecommunication or computing system without regard to its underlying internal structure and technology. Nivoji 7 - Aplication (All) / Aplikacijska plast - End User Layer - HTTP, FTP, IRC, SSH, DNS Aplikacijska plast je plast OSI, ki je najbližja končnemu uporabniku, kar pomeni aplikacijsko plast OSI in uporabnik neposredno komunicira s programsko aplikacijo 6 - Presentation (People) / Predstavitnevna plast - Syntax Layer - SSL, SSH, IMAP, FTP, MPEG, JPEG Predstavitvena plast vzpostavlja kontekst med entitetami aplikacijske plasti, v kateri aplikacijska plast entitete lahko uporabljajo drugačno sintakso in semantiko, če predstavitvena storitev zagotavlja preslikavo med njimi. 5 - Session (Seems) / Sejna Plast - Synch & send to port - API's, Sockets, WinSock Plast seje nadzoruje dialoge (povezave) med računalniki. Ustanavlja, upravlja in prekine povezave med lokalno in oddaljeno aplikacijo. 4 - Transport (To) / Transportna Plast - End-to-end connections - TCP, UDP Transportna plast zagotavlja funkcionalna in proceduralna sredstva za prenos podatkovnih zaporedij spremenljive dolžine od vira do ciljnega gostitelja, pri čemer ohranja kakovost storitev 3 - Network (Need) / Omrežna Plast - Packets - IP, ICMP, IPSec, IGMP Omrežna plast zagotavlja funkcionalna in proceduralna sredstva za prenos paketov iz enega vozlišča v drugi povezan v "različna omrežja" 2 - Data Link (Data) / Podatkovne povezave - Frames - Etherent, PPP, Switch, Bridge Sloj podatkovne povezave zagotavlja prenos podatkov od vozlišča do vozlišča – povezavo med dvema neposredno povezanima vozliščema. Zaznava in po možnosti popravlja napake, ki se lahko pojavijo na fizični ravni 1 - Physical (Process) / Fizična Plast - Physical Stracture - Coax, FIber, Wireless, Hubs, Repeaters Fizična plast je odgovorna za prenos in sprejem nestrukturiranih neobdelanih podatkov med napravo in a fizični prenosni medij 4. Model TCP/IP protokola, navedite posamzne nivoje TCP/IP ima samo 4 nivoje in sicer: Application Layer - FTTP, HTTP,... TCP/IP - Application OSI - Aplication, Presentation, Sesion Transport Layer - TCP, VDP, SCTP TCP/IP - Transport OSI - Transport Network LAyer - ARP, RARP, ICMP, IGMP TCP/IP - Network OSI - Network Network Interface Layer TCP/IP - Network Interface OSI - Data Link & Physical 5. Protokoli in nihov namen, HTTP, DNS, SMTP, IMAP HTTP (HyperText Transfer Protocol) - Protokol za prenos spletnih vsebim na spletu. - HTTPS: varnejša različica HTTP, ki uporablja šifriranje (SSL/TLS). DNS (Domain Name System) - Pretvori spletne naslove (www.google.com) v IP naslova (8.8.8.8) da se lahko naprave kominunicirajo med seboj. - ReverseDNS: Spremeni pa IP nalove v spletne nalove SMTP (Simple Mail Transfer Protocol) - Protokol za pošiljanje e-pošte med odjemalci in poštnimi strežniki IMAP (Intenet Message Access Protocol) in POP3 (Post Office Protocol) - IMAP: omogoča dostop do e-pošte na strežniku in delo z njo brez prenosa na lokalni računalnik. - POP3: prenese e-pošto na lokalni računalnik in jo izbriže s strežnika. 6. WWW, Kratka zgodovina nastanka in kako se razlikuje od interneta Zgodovina - Angleški znanstvenik Tim Berners-Lee je leta 1989 izumil svetovni splet. - Napisal je prvi spletni brskalnik leta 1990, ko je bil zaposlen v CERN blizu Ženeve v Švici. - Od januarja 1991 je bil brskalnik objavljen zunaj CERN-a drugim raziskovalnim ustanovam nato pa širši javnosti avgusta 1991 - Splet je začel vstopati v vsakodnevno uporabo v letih 1993-4, ko so spletne strani začele postajati dostopna spletna mesta za splošno uporabo Razlike od interneta 1. Opredelitev - Internet: je globalno omrežje medsebojno povezanih računalnikov in naprav, ki omogočajo prenos podatkov. - WWW (World Wide Web): je storitev, ki deluje na internetu in omogoča dostop do spletnih strani ter infromacij prek brskalnikov. 2. Funkcija - Internet: služi kot infrastruktura, ki omogoča komunikacijo med napravami (e-pošta, prenos datotek, video klici itd.) - WWW: je aplikacijski sloj interneta, ki omogoča uporabnikom ogled spletnih vsebin prek HTTP/HTTPS protokolov. 3. Sestavni deli - Internet: vključuje strojno opremo (usmerjevalnike, stikala, strežnike, kable), protokole (npr. TCP/IP, UDP) in sotritve. - WWW: sestavljajo spletne strani, povezane (URL-ji), spletni brskalniki (npr. Chrone, Firefox) in standardi, kot je HTMl 4. Odvisnost - Internet: Obsata neodvisno od WWW in vključuje tudi druge storitve, kot so e-pošta, FTP, VoIP in omrećnba orodja. - WWW: ne more obstaji brez interneta, saj potrebuje omrežno povezavo za dostop do spletnih strani. 5. Čas razvoja - Intranet: je bil zasnovan prej (v 1960-ih), sprva kot vojaški in raizkobalni projekt (ARPANET). - WWW; je bil raziv kasneje, leta 1990 ga je prestavil Tim Berners-Lee kot način za dostop infromacij na internetu prek povezav. 7. Pojem programske licence in naštej 5 glavnih skupin. Licenca programske opreme je pravni instrument (običajno na podlagi pogodbenega prava, s tiskanim ali brez njega), ki ureja uporabo ali redistribucijo programske opreme Tipična licenca za programsko opremo podeljuje pridobitelju licence, običajno končnemu uporabniku, dovoljenje za uporabo enega ali več kopije programske opreme na načine, kjer bi taka uporaba sicer lahko predstavljala avtorsko pravico kršitev izključnih avtorskih pravic lastnika programske opreme. Vrste Licenc Public doamin - Des: podeljuje vse pravice - Sof: PD, CCO Permissive licence - Des: Podeljuje pravice do uporabe, vključno s pravico do ponovne licence - Sof: MIT, Apache, MPL Copyleft - Des: Podeljuje pravice uporabe, prepoveduje lastninjenje - Sof: GPL, AGPL Noncommercial licence - Des: Podeljuje pravice samo za nekomercialno uporabo. Lahko se kombinira s copyleftom - Sof: JRL, AFPL Proprietary licence - Des: Tradicionalna uporaba avtorskih pravic; nobenih pravic ni treba podeliti - Sof: lastniška programska oprema, brez javne licence Trade secret - Des: Nobena informacija ni javno objavljena - Sof: Zasebna, interna programska oprema 8. Spletne brskalnik, funkcije in glavne predstavnike. Spletni brskalnik (splošno imenovan brskalnik) je programska aplikacija za dostop do informacij na svetovnem spletu. Namen spletnega brskalnika je pridobivanje informacijskih virov iz spleta in jih prikazati na uporabnikovi napravi. Spletne strani običajno vsebujejo hiperpovezave do drugih strani in virov. Vsaka povezava vsebuje URL, ko ga kliknete, se brskalnik premakne na nov vir. Glavni predstavniki - Chrome 67,48% - Safari 18,22% - Edge 4,84% - Firefox 2,6% - Samsung internet 2,18% - Opera 2% 9. Spletni strežnik, funckije in glavne predstanike Spletni strežnik je računalniška programska oprema in osnovna strojna oprema, ki sprejema zahteve prek HTTP (omrežni protokol, ustvarjen za distribucijo spletne vsebine) ali njegova varna različica HTTPS. Strojna oprema, ki se uporablja za delovanje spletnega strežnika, se lahko razlikuje glede na količino zahtev, ki jih potrebuje ročaj. Glavni predstavniki - Nignx - Apache - Cloudfare Server - LiteSpeed 10. Pojem spletnega programiranje strežnika in glavne programske jezike. Strežniško skriptiranje je tehnika, ki se uporablja pri spletnem razvoju in vključuje uporabo skriptov na spletnem strežniku, ki ustvarijo odziv, prilagojen za vsakega uporabnikovo (naročnikovo) zahtevo na spletno stran. V prejšnjih dneh spleta je bilo skriptiranje na strani strežnika skoraj izključno izvajajo z uporabo kombinacije programov C, skriptov Perl in skriptov lupine z uporabo vmesnika skupnega prehoda (CGI). Skripte na strani strežnika v celoti obdelajo strežniki namesto odjemalci. Glavni programski jeziki - ASP - Java via JavaServer Pages - JS using Server-side JS - PHP - Python - Ruby - APS.NET - Google Apps Script 11. Pojem spletnega programiranje brskalnika in glavne programske jezike. Spletno programiranje v brskalniku se nanaša na razvoj interaktivnih in dinamičnih spletnih aplikacij, ki se izvajajo neposredno v spletnem brskalniku na strani odjemalca (client-side). Spletno programiranje v brskalniku temelji na uporabi programskih jezikov in tehnologij, ki jih brskalnik podpira. Glavni Programski jeziki - HTML - CSS - JS - AJAX - TypeScript - WebAssembly - JSON - DOM - API 12. Pojem WCMS in glavne značilnosti. Sistem za upravljanje spletne vsebine (WCM ali WCMS) je programska vsebina sistem za upravljanje (CMS) posebej za spletne vsebine. WCMS zagotavlja osnovo za sodelovanje, uporabnikom omogoča upravljanje dokumentov in izpisov za več avtorjev urejanje in sodelovanje. Predstavitveni sloj (motor predlog) prikazuje vsebino obiskovalcem spletnega mesta temelji na nizu predlog, ki so včasih datoteke XSLT. Večina sistemov uporablja predpomnjenje na strani strežnika za izboljšanje zmogljivosti. To najbolje deluje ko se WCMS ne spreminja pogosto, vendar se obiski redno dogajajo. Glavne Funkcije - Avtomatizirane predloge - Nadzor dostopa - Razširljiva razširitev - Enostavno urejanje vsebine - Prilagodljivi nabori funkcij - Nadgradnje spletnih standardov - Upravljanje poteka dela - Sodelovanje - Delegacija - Upravljanje z dokumenti - Virtualizacija vsebine - Sindiciranje vsebine - Večjezični - Versioning 13. Model odjemalec - strežnik Model odjemalec–strežnik je porazdeljena struktura aplikacije, ki particionira naloge oz delovne obremenitve med ponudniki vira ali storitve, imenovanimi strežniki, in zahtevalci storitev, imenovani odjemalci. Stranka ne deli nobenih svojih virov, ampak jo od strežnika zahteva vsebino ali storitev. Stranke torej sprožijo komunikacijo seje s strežniki, ki čakajo na dohodne zahteve. 14. HTML in glavne značilnosti, elementi Hypertext Markup Language (HTML) je standardni označevalni jezik za dokumenti, ki so zasnovani za prikaz v spletnem brskalniku. Spletni brskalniki prejmejo dokumente HTML iz spletnega strežnika ali lokalnega shranjevanje in upodabljanje dokumentov v multimedijske spletne strani. Elementi HTML so gradniki strani HTML. S HTML konstrukti, slike in drugi predmeti, kot so interaktivne oblike vdelan v upodobljeno stran. Elementi HTML so razmejeni z oznakami, zapisanimi v oglatih oklepajih. Oznake kot sta in neposredno uvajata vsebino na stran. drugo oznake, kot je , obdajajo in zagotavljajo informacije o besedilu dokumenta in lahko vključuje druge oznake kot podelemente. Imamo več možnih skupin elementov 1. Strukturni elementi - - - - 2. Naslovni elemnti -... 3. Besedilni elementi - - - / - / - - itd. 15. CSS in glavne značilnosti, elementi CSS (Cascading Style Sheets) je jezik za oblikovanje spletnih strani. Omogoča ločevanje vsebine (HTML) od oblikovanja, kar pomeni, da lahko vizualno podobo spletne strani urejamo neodvisno od njene strukture. CSS določa, kako naj se elementi HTML prikažejo na zaslonu, papirju ali drugih napravah. Glavne značilnosti CSS Ločevanje vsebine od oblikovanja - Omogoča boljšo organizacijo kode, saj se HTML uporablja za strukturo, CSS pa za oblikovanje. Kaskadni učinek (Cascading) - Določa, katero pravilo CSS se uporabi, če obstaja več pravil za isti element. Pravila imajo prioriteto glede na specifičnost, izvor in vrstni red. Ponovna uporaba - Slogovne datoteke (npr. style.css) lahko ponovno uporabimo na več spletnih straneh. Prilagodljivost in odzivnost - Omogoča odzivno oblikovanje (Responsive Design) za različne naprave (računalniki, tablice, telefoni). Natančen nadzor nad oblikovanjem - Omogoča spreminjanje barv, pisav, velikosti, postavitve in drugih vizualnih lastnosti. Elemeni CSS 1. Selektorji h1, body, #naslov,.naslov 2. Lastnosti color: red; background: #000000; margin: 20px; border: 1px solid black; 3. Zunanji, notranji in vgrajeni Zunanji - Notranji - p { color: red; } Vgrajeni - Rdeče besedilo 16. Načela načrtovnja uporabnosti spletnih strani (Design principles) Načrtovanje uporabnosti spletnih strani temelji na ustvarjanju takšne spletne izkušnje, ki je jasna, enostavna za uporabo in prilagojena potrebam uporabnikov. Dobra uporabniška izkušnja (UX) omogoča obiskovalcem, da hitro in intuitivno dosežejo svoje cilje na spletni strani. 1. Jasnost in preprostost (Clarity & Simplicity) Cilj: Stran mora biti enostavna za razumevanje in uporabo. Manj je več – preveč elementov lahko zmede uporabnika. Načela: - Jasna navigacija in struktura strani. - Preprosta besedila in intuitivni ukazi. - Izogibanje nepotrebnim informacijam ali dizajnerskim zapletom. Primer: - Uporaba čistih in minimalističnih dizajnov z dovolj beline. - Jasni gumbi, ki imajo opise, kot so: "Pošlji obrazec" ali "Več informacij". 2. Doslednost (Consistency) Cilj: Uporabniki pričakujejo, da se elementi obnašajo enako skozi celotno spletno stran. Načela: - Enoten slog pisav, barv, gumbov in ikon. - Dosledna navigacija – enaka na vsaki strani. - Določanje vzorcev za interakcijo (npr. gumbi na istem mestu). Primer: - Če so povezave vedno modre in podčrtane, jih ne spreminjamo. - Enak meni na vrhu strani za vse podstrani. 3. Uporabniku prijazna navigacija (User-Friendly Navigation) Cilj: Uporabniki morajo hitro najti informacije ali funkcije, ki jih potrebujejo. Načela: - Jasna struktura menijev in podmenijev. - Iskalno polje na vidnem mestu. - Klici k dejanju (Call-to-Action - CTA) morajo biti izpostavljeni. Primer: - Navigacijska vrstica na vrhu strani z oznakami, kot so: Domov, O nas, Storitve, Kontakt. - Dodajanje "krušnih drobtin" (breadcrumbs) za sledenje lokaciji na strani. 4. Prilagodljivost (Responsive Design) Cilj: Spletna stran mora delovati in izgledati dobro na različnih napravah (računalnik, tablica, mobilni telefon). Načela: - Prilagodljiva postavitev s pomočjo CSS Media Queries. - Preverjanje uporabniške izkušnje na manjših zaslonih. - Uporaba slik in pisav, ki se prilagodijo velikosti zaslona. Primer: - Meniji se na mobilnih napravah spremenijo v "hamburger meni". - Stran samodejno prilagaja širino slik glede na napravo. 5. Hitra odzivnost (Performance & Speed) Cilj: Spletna stran mora hitro nalagati vsebino, saj počasne strani odganjajo uporabnike. Načela: - Optimizacija slik (zmanjšanje velikosti datotek). - Uporaba hitrih strežnikov in predpomnjenja (caching). - Odstranitev nepotrebnih skript ali kode. Primer: - Uporaba lazy loading za nalaganje slik šele, ko so vidne na zaslonu. - Stran se naloži v manj kot 3 sekundah. 6. Berljivost in dostopnost (Readability & Accessibility) Cilj: Vsebina mora biti razumljiva vsem uporabnikom, vključno z osebam s posebnimi potrebami. Načela: - Dovolj velik kontrast med besedilom in ozadjem. - Uporaba jasnih, berljivih pisav (npr. Arial, Verdana). - Podpora screen readerjem in dostopnim standardom (WCAG). Primer: - Gumbi z opisi za slepe osebe z uporabo atributa aria-label. - Zagotovitev, da besedilo ni premajhno (najmanj 16px). 7. Osredotočenost na uporabnika (User-Centered Design) Cilj: Načrtovanje mora biti osredotočeno na potrebe in cilje uporabnikov. Načela: - Razumevanje ciljne publike (analize, ankete, uporabniški testi). - Oblikovanje intuitivne uporabniške izkušnje (UX). - Testiranje strani s pravimi uporabniki. Primer: - Dodajanje funkcionalnosti, kot so: "Najpogosteje iskani odgovori" na strani za podporo. 8. Vizualna hierarhija (Visual Hierarchy) Cilj: Pomembne informacije morajo izstopati, manj pomembne naj ostanejo v ozadju. Načela: - Večji naslovi za pomembne informacije. - Uporaba kontrasta (barv, velikosti, razmikov). - Organizacija vsebine z uporabo sekcij in podnaslovov. Primer: - Glavni naslov () je največji, podnaslovi (, ) so manjši. - Gumbi "Prijavi se zdaj" izstopajo z močno barvo. 9. Povratne informacije uporabniku (Feedback to Users) Cilj: Uporabnik mora vedeti, kaj se dogaja, ko izvede neko dejanje. Načela: - Jasna sporočila o napakah ali uspešnih dejanjih. - Vizualni indikatorji (npr. nalagalniki, potrditvena sporočila). Primer: - Po oddaji obrazca se prikaže sporočilo: "Vaše sporočilo je bilo uspešno poslano." - Gumb spremeni barvo, ko nanj kliknemo. 10. Varnost in zaupanje (Security & Trust) Cilj: Spletna stran mora biti varna, saj zaupanje uporabnika vpliva na njegovo izkušnjo. Načela: - Uporaba varne povezave (HTTPS). - Jasne politike zasebnosti in piškotkov. - Oblikovanje, ki deluje profesionalno. Primer: - Prikaz SSL certifikata (zaklenjena ključavnica v naslovni vrstici). - Informacije o varnosti osebnih podatkov pri obrazcih. 17. JavaScript, uporabnost, nastanek, značilnosti. JavaScript je eden najpomembnejših programskih jezikov na spletu. Omogoča interaktivnost, dinamičnost in boljšo uporabniško izkušnjo na spletnih straneh. Skupaj z HTML (za strukturo) in CSS (za oblikovanje) tvori temelj spletnega razvoja. Nastanek JavaScripta - Leto nastanka: 1995 - Razvijalec: Brendan Eich iz podjetja Netscape Communications - Namen: Omogočiti enostavno programiranje interaktivnosti znotraj brskalnikov. - Prva različica: Imenovana Mocha, kasneje LiveScript, nazadnje preimenovana v JavaScript zaradi marketinških razlogov (zaradi priljubljenosti programskega jezika Java). - Standardizacija: Leta 1997 je bil standardiziran kot ECMAScript (ES) s strani organizacije ECMA International. Uporabnost JavaScripta JavaScript je vsestranski jezik, ki ga uporabljamo za različne namene: Interaktivnost na spletnih straneh - Omogoča odzivanje na uporabniške dogodke, kot so kliki, premiki miške ali vnos podatkov. - Primer: Dinamični meniji, obrazci s preverjanjem (npr. preverjanje e-pošte). Dinamična vsebina in manipulacija DOM - Z JavaScriptom lahko spreminjamo vsebino, strukturo in stil elementov na spletni strani. - Primer: Spreminjanje besedila, dodajanje slik ali spreminjanje barv na strani. Upravljanje z animacijami - Ustvarjanje vizualnih animacij brez uporabe dodatnih tehnologij (npr. s pomočjo knjižnice GSAP ali CSS animacij). Izdelava spletnih aplikacij (Front-End in Back-End) - Front-End: Dinamične spletne strani in aplikacije z uporabo ogrodij, kot so React, Angular in Vue.js. - Back-End: JavaScript lahko uporabljamo tudi na strežniški strani s tehnologijami, kot je Node.js. Razvoj mobilnih in namiznih aplikacij - Z orodji, kot sta React Native in Electron, lahko razvijamo mobilne aplikacije ali namizne programe. Igre in multimedija - JavaScript podpira razvoj preprostih iger (npr. z uporabo Canvas API) ter nadzor nad zvokom in video vsebinami Značilnosti JavaScripta 1. Interperitiran jezik - JAvaScript se izvaja neposredno v brskalniku brez potrebe po prevajanju. 2. Dinamični tipiziran jezik - Spremeljivke v JavaScriptu nimajo dolečene tipa od deklaracij - tip podatka se določi med izvajanjem 3. Objektno usmerjen jezik - JavaScript uporablja objekte za shranjevanje in organizacijo podatkov. Omogoča tudi prototipno deldovanje namesto klasičnega dedovanjea 4. Digidkovno usmerjen jezik - Omogoča odziv na dodgodke, kot so kliki, premik miške, tipkanje in drugih dogodki uporabnika. 5. Asinhrono programiranje - JavaScripz podpria asinhrono izvajanje s pomočjo funkcij, kot sta setTimeout in setinterval, ter z uporabo Promises in async/await 6. Neodvosen od platforme - JavaScript lahko deluje v skoraj vsakem brskalniku ali okoljiu (npr. Node.js) 7. Razšljivost z kjnižnicami in ogrodji - Na voljo so številne knjižnice in ogrodja za lajže programiranje: - jQuery: Poenostavi delo z DOM - Reac, Angluat, Vue.js: Orodja za ravoj aplikacij. - Node.js: Strežniski razvoj 8. Podpora za različne API-je - JavScript omogoča dostop do spletnih API-jev, kot so: - DOM API za spreminjanje HTML strukture. - Fetch API za pošiljanje HTTP zahtevkov. - Canvas API za grafiko 18. TypScript, uporabnost, nastanek, značilnosti. TypeScript je odprtokoden programski jezik, ki ga je razvilo podjetje Microsoft. Gre za nadgradnjo JavaScripta, ki dodaja statično tipiziranje in napredne funkcionalnosti za večjo zanesljivost in lažje vzdrževanje kode. TypeScript se uporablja za razvoj večjih in kompleksnejših aplikacij, kjer je pomembna jasna struktura kode. Nastanek TypeScripta - Leto nastanka: 2012 - Razvijalec: Microsoft - Namen: Odpraviti pomanjkljivosti JavaScripta pri večjih projektih, predvsem pomanjkanje statičnega tipiziranja. - Razvoj: - TypeScript se prevaja v standardni JavaScript (ES3, ES5, ES6 ali novejše). - Deluje v vseh brskalnikih in okoljih, kjer je podprt JavaScript. - Različica: TypeScript se redno posodablja, najnovejše različice prinašajo dodatne funkcionalnosti. Uporabnost TypeScripta - TypeScript je posebej priljubljen v večjih projektih in razvoju kompleksnih aplikacij, saj izboljšuje produktivnost razvijalcev in zmanjšuje število napak. Razvoj velikih aplikacij - Zaradi statičnega tipiziranja in boljše organizacije kode je TypeScript idealen za večje projekte z veliko razvijalci. Podpora za sodobne JavaScript funkcionalnosti - TypeScript podpira najnovejše različice ECMAScript (ES6, ES7 itd.), tudi če brskalniki še ne podpirajo teh funkcionalnosti. Razvoj spletnih aplikacij (Front-End) - Uporablja se v priljubljenih ogrodjih, kot so Angular, React (v kombinaciji z JSX) in Vue.js. Razvoj strežniških aplikacij (Back-End) - S pomočjo Node.js lahko TypeScript uporabljamo tudi na strežniški strani. Večja varnost kode - Zaradi statične analize kode razvijalci lažje odkrijejo napake že med pisanjem kode, preden se projekt izvaja. Integracija s sistemi za avtomatizacijo in testiranje - Uporablja se z orodji, kot so Webpack, Jest in Mocha za testiranje in optimizacijo aplikacij. Značilnosti TypeScripta 1. Statično tipiziranje (Static Typing) - TypeScript omogoča statično tiiziranje, kar pomeni, da se tipi spremenljivk določijo v času pisanje kode. - Tipi vključujejo: string, number, boolean, array, object, any, void, enum, itd. 2. Prisilno tipiziranje za funkcije - TypeScript omogoča definiranje tipov za vhodne parametre in izhodne vrednost funckij. 3. Razširitev JAvaScripta (Superset) - TypeScript vjkučuje vse funkcionalnosti JavaScripta, obenem pa dodaja nove funkcionalnosti, kot so tipi in napredne lastnosti objektno usmerjenega programiranja. 4. Preverjanje v JavScript - Koda, napisana v TypeScriptu, se prevede (transpila) v standardni JavaScript, ki ga podirajo vsi brskalniki in okolja 5. Podpora za objektno usmerjeno programiranje (OOP) - TypeScript podpira OOP kocepte, kot so: - Razredi - Interfaci - Dedovanje - Generiki 6. Interfaci - TypeScript omogoča definiranje struktur za ibjekte z upoirabo interface. 7. Enostavna itegracija z obstoječimi JavaScript knjižnicami - TypeScript omogoča uporabo obstojočih JavaScript knjižnic s pomočjo deklaracijskih datotek (*.d.ts) 8. Napredno orodje za razvijalce - Boljša podpora v urejevalnikih kode, kot so Visual Studio Code in WebStrom Razlike med TypeScriptom in JAvaScriptom Lastnost / JavaSctipt / TypeScript - Tipiziranje / Dinamično (brez tipov) / Statično (tipi so dolečeni vnaprej) - OOP podpora / Omejena podpora za razrede / Popolna podpora za razrede, interfase itd. - Napake v kodi / Odkrite med izvajanjem / Odkrite že med pisanjem kode - Uporaba / Primeren za manjše projekte / Idealno za velike projekte - Prevajanje / Ni potrebe po prevajanju / Zahteva prevajanje v JavaScript 19. JavaScript ogrodja (JS framework, WAF), značilnosti, primeri in razlika od JS knjižnic. JavaScript ogrodja (frameworks) in knjižnice (libraries) so pomembni deli sodobnega spletnega razvoja. Omogočajo hitrejše, učinkovitejše in bolj strukturirano pisanje JavaScript kode za razvoj spletnih aplikacij in spletnih strani. Kaj je JavaScript ogrodje (JS Framework)? - Ogrodje (framework) je vnaprej pripravljen sklop kode in pravil, ki razvijalcem zagotavlja osnovno strukturo za gradnjo aplikacije. Ogrodje ponuja celovit pristop k razvoju, vključno z organizacijo kode, vzorci in arhitekturo. Značilnosti JS ogrodja: - Ponuja celovito strukturo za razvoj aplikacije. - Sledi "inverziji nadzora": Ogrodje določa, kako bo vaša aplikacija strukturirana, in kliče vašo kodo. - Ponuja komponente, usmerjanje (routing), podatkovne povezave in delovanje z API-ji. - Večja stopnja avtomatizacije pri razvoju. Kaj je JavaScript knjižnica (JS Library)? - Knjižnica je zbirka funkcij in orodij, ki jih razvijalec lahko uporablja po potrebi. Razvijalec ima več nadzora, saj kliče funkcije knjižnice znotraj svoje aplikacije. Značilnosti JS knjižnice: - Zagotavlja specifične funkcionalnosti (npr. manipulacija DOM, animacije, klici API-jev). - Uporabnik kliče knjižnico (nadzor je v rokah razvijalca). - Knjižnice so manj obsežne kot ogrodja. - Primer: jQuery omogoča manipulacijo DOM, vendar ne ponuja celotne strukture za razvoj aplikacije. Razlike med JS orodjem in JS knižnico Značilnost / JavaScript Ogrodje / Javascript Knjižnica - Nadzor / Ogrodje kliče vsako kodo / Vaša kode kliče knjižnico - Uporaba / Celovit pristopi za celotno aplikacijo / Specifične funkcionalnosti po potrebi - Velikost / Obsežnejše, več koponent / Lažje, manjše in ciljno usmeranje - Arhitektura / Ponuja osnovno strukturo aplikacije / Strukturo določa razvijalec - Primeri / Angluar, Vue.js React(čeprev pogosto knjižnica) / jQuery, Lodash, Axios Primeri JS ogrodij in njihove značilnosti 1. Angluar - Razivl: Google - Vrsta: Full-stack front-end ogrodje (SPA - Single PAge Application). - Jezik: Napisano v TypeScript - Značilnosti: - Močno dvostransko vezanje podatkov - Modularna arhitektura - Podpira komponente, dependency injection in usmerjanje - Primeren za velike projekte. 2. React - Razvil: Facebook - Vrsta: Knjižnica za gradnjo uporabniških vmesnikov - Značilnosti: - Komponentno usmerjen razvoj - Uporablja Virtual DOM za optimizacijo hitrosti. - Podpira JSX - Možnost integracije z drugimi knjižnicami 3. Vue.js - Razvil: Evan You - Vrsta: Lahko ogrodje za gradnjo uporabniških vmesnikov. - Značinlnosti: - Enostavno učenje in uporaba - Dvostransko vezanje podatkov - Prilagodljivo - lahko se uporablja za enostavne ali kimpleksne aplikacije - Podpira komponente in reaktivnost 4. Svelte - Razvil: Rich Harris - Vrsta: Kompajčer za gradnji aplikacij - Značilnosti: - Kode se prevede v vanila JavaScript brez virtual DOM-a - Hitrejša izvedba in manjša velikost aplikacije - Primerna za manjše aplikacije 5. Node.js (Back-End) - Vrsta: Strežnisko okolje, ki omogoča izvajanje JAvaScript kode na strežniku. - Značilnosti: - Uporablja V8 JavaScript pogon - Asinhrono izvajanje s pomočjo dogodkov in non-blocking I/O - Primeren za gradnjo strežnikov in API-jev. 21. JS AJAX, značilnosti in primeri uporabe. AJAX je tehnika za komunikacijo med brskalnikom in strežnikom brez ponovnega nalaganja celotne spletne strani. Značilnosti AJAX-a 1. Asinhrona komunukacija - Podakti se pridobiji ali pošljejo brez osvežitve strani 2. Uporaba obstojočih tehnologij - Ajax ni nov programski jezik, temveč kombinicaja tehnologij: - HTML/CSS - JavaScript - XMLHtttpRequest - JSON/XML - DOM 3. Podatki v realnem času - Omogoča posodabljanje vsebine brez ponovnega nalaganja. 4. Uporaba z različnimi podatkovnimi formati - Podpira prenos podatkov v JSON, XML, HTML ali navadnem besedilnem formatu. 5. Hitrejša interakcija z uporabnikom - Preprečuje nepotrebno nalaganje strani, saj osveži le specifičen del strani. Kako deluje AJAX? 1. Uporabnik sproži dogodek 2. JavaScript ustvari XMLHtttpRequest objekt. 3. Zahtevek se pošlje strežniku 4. Strežnik obdela zahtevek in pošlje odgovor 5. JavaScript prejme odgovor in posodboi stran brez osvežitve. Pogoste metode v AJAX-u 1. open() - Odpre povezavo s strežnikom 2. send() - Pošlje zahtevek strežniku. 3. onreadystatechange - Določi funkcijo, ki se zažene ob spremembi stanja zahtevka. 4. status - Vrne stanje odgovora 5. responseText - Vsebuje besedilni odgovor strežnika Prednosti AJAX-a 1. Izboljšana uporabniška izkušnja zaradi hitejšega odziva. 2. Dinamična posodobitev vsebine strani. 3. Manjaobremenitve za strežnik in pasovno širino. 4. Deluje z različnimi formati podatkov Slabosti AJAX-a 1. Ni podprt v starejših brskalnikih. 2. Možni so varnostni problemi, npr. CSRF napadi 3. Kompleksnost pri večjih projektih 22. JSON, značilnosti in primeri uporabe. JSON je lahek format za izmenjavo podatkov, ki je enostaven za branje in pisanje za ljudi ter enostaven za interpretacijo in ustvarjanje za računalnike. Uporablja se za shranjevanje, pošiljanje in prenos podatkov med strežniki in odjemalci (npr. med API-ji in aplikacijami). Značilnosti JSON-a 1. Preprostost - JSON je preprost za branje in pisanje, saj uporablja sitankso podobno JavaScript objektom. 2. Lahka struktura - Je lažji od XML in porabi manj prostora, kar je pomembno pri prenosu podatkov. 3. Združljivost - JSON je neodvisen od programskega jezika in je podprt v skoraj vseh sodobnih programskih jezikih 4. Format ključ-vrednost - Podatki so organizirani v parih ključ : vrednost. 5. Podatkovne structure - JSON podpira osnovne podatkovne strukture: - Objekti (v oglatih {} ogklepajih) - Seznami/Polja (v olatih [] oklepajih) - Števila, nizi, logične vrednosti (true, false) in null. 6. Široka uporaba - JSON se pogosto uporabalja z API-je, konfiguracijske datoteke in shranjevanje podatkov v datotekah. struktura JSON-a JSON uporablja nasljednje sintaktične elemente: - Objekti: zapisani v zavitih oklepajih {}, vsebujejo ključ : vrednost pare. - Polja (seznami): zapisani v oglatih oklepajih [], vsebujejo vrednosti, ločene z vejico. - Ključi: morajo biti vedno zapisani v narekovajih " (npr. "ime":"Janez"). - Vrednosti so lahko: - Nizi: "besedilo" - Števila: 123 - Logične vrednosti: true ali false - Null: null - Objekti: {} - Polja: [] Primer enostavnega JSON objkta { "ime": "Janez", "starotst": 30, "porocen": true, "otroci": ["Ana", "Miha"], "naslov" : { "ulica": "Glavna cesta 10", "mesto": "Ljubljana", "postna_stevilka": 100 } } Razlaga: - "ime" je kjuč, vrednost je niz "Janez" - "starst" ima vrednost 30 (Število) - "porocen" ima vrednost true (Logična vrednost). - "otroci" je polje, ki vsebuje nize "Ana" in "Miha". - "nalsov" je ugnezden objekt z več ključi in vrednostmi Prednosti JSON-a 1. Enostaven za uporabo in branje 2. Združljivost z vsemi programskimi jeziki 3. Manjša velikost v primerjavi z XML 4. Enostavno prenašanje podatkov preko HTTP Slabosti JSON-a 1. Brez komentajev: JSON ne podpira komentarjev za opombe. 2. Majša podpora za kompleksnejše podatkovne tipe (npt. datume). 3. Ne zagotavlja sheme za validacijo podatkov Uporaba JSON-a v praksi 1. API-ji: Spletne storitve (npr. REST API) pogosto cračajo podatke v SJON formatu. 2. Shranjevanje podatkov: JSON datoteke se uporabljajo za shranjevanje konfiguracij. 3. Prenost podatkov: Med odjemalcem (brskalnikom) in strežnikom v asinhronih zahtevkih 4. Konfiguracija datoteke: JSON je priljubljen za konfiguracijske datoteke. 23. XML, značilnosti in primeri uporabe. XML je oznakovni jezik, zasnovan za shranjevanje, strukturiranje in izmenjavo podatkov na način, ki je berljiv tako za ljudi kot za računalnike. XML je zelo fleksibilen, saj omogoča uporabnikom, da sami definirajo svoje oznake Značilnosti XML-a 1. Razširljivost - Uporabnik lahko ustvari lastne oznake ki ustrezajo potrebam aplikacije. 2. Strukturiran zapis podatkov - Podatko so orhanizirani hierahično z elmenti in podrejenimi elemnti 3. Berljivost - XML datoteko so berljive za ljudi, saj so podakti predstavljeni v jansi in razumljivi strukturi. 4. Nodvisnost od platforme in jezika - XML je tekstovni format, zato ga podirajo skoraj vsi programski jeziki in sistemi. 5. Podatkovne strukture - XML podpira različne strukture, kot so hierahični podatki in atribute. 6. Samopojasnjujoč format - Oznake opisujejo vsebino podatkov, kar omogoča lažje razumenvanje in obdelavo. Primer osnovne XML strukture Janez Novak 30 Glavna cesta 10 Ljubljana 1000 Razlaga: - 6. Prazni elementi - elementi brez vsebine:

Use Quizgecko on...
Browser
Browser