Võrgurakendused 2 eksamiteemad 2018: erinevus redaktsioonide vahel
Resümee puudub |
Resümee puudub |
||
| (ei näidata sama kasutaja 20 vahepealset redaktsiooni) | |||
| 1. rida: | 1. rida: | ||
Eksamil tuleb | 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. | |||
* Memod ja lingikogud loengust: [[võrgurakenduste protokollid 1]],[[võrgurakenduste protokollid 2]], [[võrgurakenduste protokollid 3]] | |||
* Otsi ja loe veidi ise juurde. | |||
* | |||
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] | |||
* 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) | |||
* Kademlia: | * Kademlia: | ||
** | ** [http://www.cs.uiowa.edu/~ghosh/kademlia.ppt Põhimaterjal presentatsioon autoritelt] | ||
** | ** [http://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf Täiendavalt autorite artikkel] | ||
* Bittorrenti andmevahetuspõhimõtted | * Bittorrenti andmevahetuspõhimõtted | ||
** | ** [http://www.cs.uiowa.edu/~ghosh/bittorrent.ppt bittorrenti protokoll ja ülevaade] | ||
** | ** [http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29 täiendavalt wikipediast] | ||
* TOR | |||
** [http://en.wikipedia.org/wiki/Tor_%28anonymity_network%29 TOR wikipedias] | |||
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. | |||
5) Paralleelrehendused (sh Lukustamine, transaktsioonid, spinlock, optimistlik paralleelsuskontroll) | |||
* | * Põhiline [[Media:na2_ccdb_slides.pdf|Paralleelsus andmebaasides: slaidid]]. | ||
* | * 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]. | |||
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.
- Memod ja lingikogud loengust: võrgurakenduste protokollid 1,võrgurakenduste protokollid 2, võrgurakenduste protokollid 3
- Otsi ja loe veidi ise juurde.
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.
- Sama Loengus tehtud ülevaade eri P2P tehnoloogiatest: järgmised osad
- DHT ülevaade wikipedias
- Chord:
- Chord wikipedias
- Põhimaterjal - Chordi põhimõtted - lugeda kuni Ivy osani (Ivy on antud juhul teemaväline)
- Kademlia:
- Bittorrenti andmevahetuspõhimõtted
- TOR
4) Blockchain ja bitcoin.
- Wikipedia ülevaade kogu teemast
- Gentle intro 1
- Gentle intro 2
- Gentle intro 3
- Bitcoini klientide leidmine
- 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.
5) Paralleelrehendused (sh Lukustamine, transaktsioonid, spinlock, optimistlik paralleelsuskontroll)
- Põhiline Paralleelsus andmebaasides: slaidid.
- Lisaks võib lugeda
6) Mapreduce ja memcached: mis need on ja tööpõhimõtted.