Võrgurakendused 2 eksamiteemad 2018: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Resümee puudub
Resümee puudub
 
(ei näidata sama kasutaja 15 vahepealset redaktsiooni)
1. rida: 1. rida:
<b>NB! Siin on hetkel küsimustiku toorik, oota veel valmimist!</b>


Eksamil tuleb ca neli kirjalikku küsimust alltoodud teemade kohta, seejuures ühe teema kohta ei tule mitut küsimust. Vastuses on sul vaja selgitada ja/või tuua näiteid ja/või pseudokoodi. Otseseid programmeerimisülesandeid ei tule. Alltoodud materjalid ei ole nö kohustuslikud, vaid ainult soovituslikud: hea mõte on otsida ja lugeda ise juurde.
Eksamil tuleb neli kirjalikku küsimust alltoodud teemade kohta, seejuures ühe teema kohta ei tule mitut küsimust. Vastuses on sul vaja selgitada ja/või tuua näiteid ja/või pseudokoodi. Otseseid programmeerimisülesandeid ei tule.  


Alltoodud materjalid ei ole nö kohustuslikud, vaid ainult soovituslikud: hea mõte on otsida ja lugeda ise juurde. Samuti leiad siintoodud materjalides - näiteks wikipedia artiklites - väga spetsiifilist tausta ja detaile: seda eksamil ei küsita. Küsimuste fookus on olulistel toimimispõhimõtetel - et sa saaksid aru, mis asi on ja kuidas põhimõtteliselt käib - ning veidi ka rakendamisvaldkondadest/fookusest (ehk, milleks hea).


A) API protokollid, konkreetsemalt HTTP 1.0, JSON, XML-RPC, SOAP, XML Schema, REST (põhipunktid). WSDL, UDDI, WS-I jne küsimusi ei tule.


* Http, Json , XML-RPC: võrgurakenduste protokollid 1: lingikogu
1) API protokollid, konkreetsemalt HTTP 1.0, JSON, XML-RPC, SOAP,  REST (põhipunktid). HTTP 2.0, XML Schema, websockets, WSDL, UDDI, WS-I jne küsimusi ei tule.
* SOAP additional (WSDL etc): võrgurakenduste protokollid 2: lingikogu


B) P2P põhimõtted, konkreetsemalt arusaamine järgmiste süsteemide  põhimõtetest: Esialgne Napster, Gnutella, DHT (näiteks Chord või Kademlia), superpeer mehhanism (näiteks vana Skype), P2P DHT süsteemid (näiteks Chord või Kademlia) ja Bittorrent. Otsingumeetodid ja eri arhitektuuride eelised. Bittorrenti mehhanism ja optimeeringud.
* Memod ja lingikogud loengust: [[võrgurakenduste protokollid 1]],[[võrgurakenduste protokollid 2]], [[võrgurakenduste protokollid 3]]
       
* Otsi ja loe veidi ise juurde.
* [http://www.it.lut.fi/comlab/ssotc/ssotc08/presentations/Lappeenranta_summer_school_Jukka_K_Nurminen.ppt Nurmineni materjal]
 
2) Vanemate P2P süsteemide põhimõtted, konkreetsemalt arusaamine järgmiste süsteemide  põhimõtetest: Esialgne Napster, Gnutella, superpeer mehhanism (näiteks vana Skype).
 
* [http://en.wikipedia.org/wiki/Peer-to-peer vikipeedia ülevaade]
* [[Media:P2p_overview.ppt|Loengus tehtud ülevaade eri P2P tehnoloogiatest]]: esimesed osad       
 
 
3)  DHT (näiteks Chord või Kademlia), Bittorrent ja TOR. Mehhanismid ja eri arhitektuuride eesmärgid/fookused/eelised. Bittorrenti mehhanism ja optimeeringud. NB! Mix networkinduse kohta küsimusi ei tule, erandina võib tulla küsimus TORi kohta.
 
* Sama [[Media:P2p_overview.ppt|Loengus tehtud ülevaade eri P2P tehnoloogiatest]]: järgmised osad
* [http://en.wikipedia.org/wiki/Distributed_hash_table DHT ülevaade wikipedias]
* [http://en.wikipedia.org/wiki/Distributed_hash_table DHT ülevaade wikipedias]
* Chord:
* Chord:
** [http://en.wikipedia.org/wiki/Chord_%28peer-to-peer%29 Chord wikipedias]
** [http://pdos.csail.mit.edu/rtm/slides/harvard02.ppt Põhimaterjal - Chordi põhimõtted] - lugeda kuni Ivy osani (Ivy on antud juhul teemaväline)
** [http://pdos.csail.mit.edu/rtm/slides/harvard02.ppt Põhimaterjal - Chordi põhimõtted] - lugeda kuni Ivy osani (Ivy on antud juhul teemaväline)
** Lisaks tasuks veidi uurida artikleid [http://en.wikipedia.org/wiki/Chord_%28peer-to-peer%29 wikipedia sissekande lõpus] (external links)
* Kademlia:
* Kademlia:
** [http://www.cs.uiowa.edu/~ghosh/kademlia.ppt Põhimaterjal presentatsioon autoritelt]
** [http://www.cs.uiowa.edu/~ghosh/kademlia.ppt Põhimaterjal presentatsioon autoritelt]
22. rida: 29. rida:
** [http://www.cs.uiowa.edu/~ghosh/bittorrent.ppt bittorrenti protokoll ja ülevaade]
** [http://www.cs.uiowa.edu/~ghosh/bittorrent.ppt bittorrenti protokoll ja ülevaade]
** [http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29 täiendavalt wikipediast]
** [http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29 täiendavalt wikipediast]
* TOR
** [http://en.wikipedia.org/wiki/Tor_%28anonymity_network%29 TOR wikipedias]


C) Blockchain ja bitcoin.
4) Blockchain ja bitcoin.
 
* [https://en.wikipedia.org/wiki/Blockchain Wikipedia ülevaade kogu teemast]
* [https://bitsonblocks.net/2015/09/01/a-gentle-introduction-to-bitcoin/ Gentle intro 1]
* [https://bitsonblocks.net/2015/09/09/a-gentle-introduction-to-blockchain-technology/ Gentle intro 2]
* [https://bitsonblocks.net/2015/09/21/a-gentle-introduction-to-bitcoin-mining/ Gentle intro 3]
* [https://bitcoin.stackexchange.com/questions/3536/how-do-bitcoin-clients-find-each-other Bitcoini klientide leidmine]
* [https://anders.com/blockchain/ Blockchaini demo]: vajuta üleval "Hash", "Block", "Blockchain" linkidele ja proovi igal lehel ise datat muuta ja "Mine" nupule vajutada. "Mine" teeb proof-of-worki ehk otsib random stringi (nonce) mille lisamisel datale saame mitme nulliga algava hashi.
      
      
D) Lukustamine, transaktsioonid, optimistlik paralleelsuskontroll
5) Paralleelrehendused (sh Lukustamine, transaktsioonid, spinlock, optimistlik paralleelsuskontroll)
 
* Lukustamise sissejuhatus
* Spinlock detaile
* transaktsioonide sissejuhatus
 
E) Mapreduce ja memcached tööpõhimõtted.


*
* Põhiline [[Media:na2_ccdb_slides.pdf|Paralleelsus andmebaasides: slaidid]].
* [http://www.majordojo.com/2007/03/memcached-howto.php memcached ülevaade]
* Lisaks võib lugeda
**[[Media:na2_ccdb.pdf|Paralleelsus: põhjalikum konspekt]]
**[[Media:11-transactions.pdf|Introduction to Transactions (slaidid)]]
**[[Media:na2_sync_slides.pdf|Sünkroniseerimisprimitiivide slaidid]]
** [http://stackoverflow.com/a/16207592 Thread, Queue ja Lock] Pythonis
** alguses oli [http://www.csl.mtu.edu/cs4411.ck/www/NOTES/process/fork/create.html fork()], hea [https://computing.llnl.gov/tutorials/pthreads/ pthreads tutorial].




F) Andmebaaside koondamine/data warehouses: mis need on ja milleks.
6) Mapreduce ja memcached: mis need on ja tööpõhimõtted.
* [https://en.wikipedia.org/wiki/MapReduce Mapreduce vikipeedias]
* [http://www.majordojo.com/2007/03/memcached-howto.php memcached ülevaade]

Viimane redaktsioon: 17. mai 2018, kell 09:30

Eksamil tuleb neli kirjalikku küsimust alltoodud teemade kohta, seejuures ühe teema kohta ei tule mitut küsimust. Vastuses on sul vaja selgitada ja/või tuua näiteid ja/või pseudokoodi. Otseseid programmeerimisülesandeid ei tule.

Alltoodud materjalid ei ole nö kohustuslikud, vaid ainult soovituslikud: hea mõte on otsida ja lugeda ise juurde. Samuti leiad siintoodud materjalides - näiteks wikipedia artiklites - väga spetsiifilist tausta ja detaile: seda eksamil ei küsita. Küsimuste fookus on olulistel toimimispõhimõtetel - et sa saaksid aru, mis asi on ja kuidas põhimõtteliselt käib - ning veidi ka rakendamisvaldkondadest/fookusest (ehk, milleks hea).


1) API protokollid, konkreetsemalt HTTP 1.0, JSON, XML-RPC, SOAP, REST (põhipunktid). HTTP 2.0, XML Schema, websockets, WSDL, UDDI, WS-I jne küsimusi ei tule.

2) Vanemate P2P süsteemide põhimõtted, konkreetsemalt arusaamine järgmiste süsteemide põhimõtetest: Esialgne Napster, Gnutella, superpeer mehhanism (näiteks vana Skype).


3) DHT (näiteks Chord või Kademlia), Bittorrent ja TOR. Mehhanismid ja eri arhitektuuride eesmärgid/fookused/eelised. Bittorrenti mehhanism ja optimeeringud. NB! Mix networkinduse kohta küsimusi ei tule, erandina võib tulla küsimus TORi kohta.

4) Blockchain ja bitcoin.

5) Paralleelrehendused (sh Lukustamine, transaktsioonid, spinlock, optimistlik paralleelsuskontroll)


6) Mapreduce ja memcached: mis need on ja tööpõhimõtted.