| | SLO | ENG | Cookies and privacy

Bigger font | Smaller font

Show document

Title:Development of asynchronous server interface for ActorDB in Rust : magistrsko delo
Authors:Leček, Bruno (Author)
Kosar, Tomaž (Mentor) More about this mentor... New window
Justinek, Denis (Co-mentor)
Files:.pdf MAG_Lecek_Bruno_2019.pdf (1,24 MB)
MD5: 775AAD8270994C44A19A44FA9CF1E326
 
Language:English
Work type:Master's thesis/paper (mb22)
Typology:2.09 - Master's Thesis
Organization:FERI - Faculty of Electrical Engineering and Computer Science
Abstract:The digital world of today is full of new programming languages. One of it is Rust, a relatively new programming language implemented by the Mozilla Foundation. It is an open source procedural programming language and it is very popular among programmers because of its practicality and modernity. This thesis covers the theoretical part of the language where Rust, its features and functionality are explained and compared to other programming languages. The topic of the thesis also includes a model for an asynchronous server API for ActorDB and development of server interface.
Keywords:Rust, ActorDB, asynchronous server, development
Year of publishing:2019
Place of performance:[Maribor
Publisher:B. Leček
Number of pages:VIII, 43 f.
Source:[Maribor
UDC:004.432.2:004.7.032.34(043.2)
COBISS_ID:22322454 New window
NUK URN:URN:SI:UM:DK:FRNFGLTR
Views:460
Downloads:72
Metadata:XML RDF-CHPDL DC-XML DC-RDF
Categories:KTFMB - FERI
:
  
Average score:(0 votes)
Your score:Voting is allowed only for logged in users.
Share:AddThis
AddThis uses cookies that require your consent. Edit consent...

Hover the mouse pointer over a document title to show the abstract or click on the title to get all document metadata.

Licences

License:CC BY-NC-ND 4.0, Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International
Link:http://creativecommons.org/licenses/by-nc-nd/4.0/
Description:The most restrictive Creative Commons license. This only allows people to download and share the work for no commercial gain and for no other purposes.
Licensing start date:18.03.2019

Secondary language

Language:Slovenian
Title:Razvoj asinhronega strežniškega vmesnika za ActorDB v jeziku Rust
Abstract: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.
Keywords:Rust, ActorDB, asynchronous server, razvoj


Comments

Leave comment

You have to log in to leave a comment.

Comments (0)
0 - 0 / 0
 
There are no comments!

Back
Logos of partners University of Maribor University of Ljubljana University of Primorska University of Nova Gorica