Opis: | Kljub že obstoječim in konvencionalnim programskim jezikom, kot so C++ ali C#, se programerji danes pogosto odločajo za nove, vse bolj popularne programske jezike. Na trgu je danes velika množica novih programskih jezikov z različnimi funkcionalnostmi in značilnostmi in se pogosto medsebojno zelo razlikujejo. Eden od teh jezikov je Rust, programski jezik, ki je predstavljen v magistrski nalogi. V Rust-u je tudi izdelan praktični del naloge. Kot relativno nov programski jezik Rust prinaša številne olajšave pri uporabi in je prava osvežitev za programerje. Razvila ga je fundacija Mozilla, je odprtokoden, praktičen in sodoben, ter vse bolj priljubljen. Ena od najpomembnejših značilnosti je zaznavanje napak pri programiranju na preprosti način. Napredne funkcije, ki zagotavljajo visoko varnost in krmiljenje pomnilnika, so prav tako prednost in razlogi za vse večjo popularnost. Ta funkcionalnost se znotraj Rust-a imenuje Unsafe Rust in deluje enako kot sam programski jezik, vendar pa ima še dodatne funkcionalnosti.
Značilnosti in funkcionalnosti Rust-a kot so varovanje pomnilnika, polimorfizem in upravljanje s lastništvom, so podrobno predstavljene v magistrski nalogi. Rust uporablja številne funkcije, generične vrste podatkovnih tipov, Cargo File, itd. Poleg tega Rust definira nekatere vrste podatkov, ki se razlikujejo od drugih programskih jezikov. Rust, tako kot drugi programski jeziki, vsebuje funkcije, ki se nanašajo na programsko enoto, katerih naloga je pretvoriti podatke na podlagi algoritma v smiselne rezultate. V Rust-u ni dejanskega zaporedja funkcij in zaradi tega, razvijalci ne rabijo razmišljati o tem, kje je funkcija definirana.
Motivacija za izdelavo magistrske naloge in aplikacije, ki temelji na Rust-u, je prišla zaradi številnih funkcionalnosti, značilnosti ter popularnosti in sodobnosti omenjenega jezika. Rust je še neraziskan in programiranje v tem jeziku je zanimivo in koristno za lasten razvoj znanja in spretnosti. Poleg tega je namen samega dela raziskovanje in preučevanje Rust-a na številne druge načine, da bi izkoristile njegove zmožnosti, kot predvsem hitrost, stabilnost in varnost. Rust je mogoče uporabiti na več načinov, od katerih je vsak specifičen in zanimiv. Z programiranjem in koriščenjem tega programskega jezika smo se naučili nekaj novega, kar nam bo vsekakor koristilo v bodočnosti.
Poleg preučevanja programskega jezika Rust, tema magistrskega dela zajema asinhrone strežnike in razvoj aplikacijskega vmesnika (API) za podatkovno bazo ActorDB. Asinhroni strežniki se v zadnjih nekaj letih vedno bolj pogosto uporabljajo, kar je ugodna sprememba v primerjavi s prejšnjim obdobjem stagnacije. Implementacija asinhronega strežnika se lahko naredi v kombinaciji z API-jem na podatkovno bazo ActorDB. V skladu s tem, je programski del te magistrske naloge razvoj API vmesnikov za ActorDB. Zraven je še implementirana enostavna povezava z določeno bazo podatkov ter pošiljanje zahtevkov in sprejemanje odgovorov. Uporabljena podatkovna baza ActorDB je relacijska podatkovna baza SQL, katere najpomembnejša značilnost je, da zahteva drugačen način organiziranja podatkov kot tradicionalna baza podatkov SQL. ActorDB je odprtokoden in njegova poglavitna prednost je, da lahko hrani veliko količino podatkov. Za uporabo podatkovne baze je potrebno prenesti zahtevane datoteke za namestitev iz spletne strani in po nastavitvi strežnika je bila baza podatkov pripravljena za uporabo.
Ker gre za relacijsko podatkovno bazo, ukazi v ActorDB delujejo zelo podobno kot MySQL. Actor, kot najpomembnejši del sistema, je enostaven modul za administracijo in konfiguracijo podatkovne baze ActorDB. Kot že omenjeno, je Actor glavna enota podatkovne baze ActorDB ali mini relacijska SQL podatkovna baza. Ena taka enota lahko naredi, shrani in prebere več tisoč zapisov na sekundo. Deluje na ravni grozdov in uporabnik lahko uporabi toliko skupin, kot je potrebno. Actor je, zaradi takšne arhitekture, v enem ali v več grozdih. |
---|