Võrgurakendused 2 eksamiteemad 2018: erinevus redaktsioonide vahel
Resümee puudub |
Resümee puudub |
||
| 6. rida: | 6. rida: | ||
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. | 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. | ||
* | * Memod ja lingikogud loengust: [[võrgurakenduste protokollid 1]],[[võrgurakenduste protokollid 2]], [[võrgurakenduste protokollid 3]] | ||
B) P2P põhimõtted, konkreetsemalt arusaamine järgmiste süsteemide põhimõtetest: Esialgne Napster, Gnutella | B) 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|ülevaade eri P2P tehnoloogiatest]] | |||
* [http://www.it.lut.fi/comlab/ssotc/ssotc08/presentations/Lappeenranta_summer_school_Jukka_K_Nurminen.ppt Nurmineni materjal] | * [http://www.it.lut.fi/comlab/ssotc/ssotc08/presentations/Lappeenranta_summer_school_Jukka_K_Nurminen.ppt Nurmineni materjal] | ||
C) DHT (näiteks Chord või Kademlia), Bittorrent ja TOR. Mehhanismid ja eri arhitektuuride eesmärgid/fookused/eelised. Bittorrenti mehhanism ja optimeeringud. | |||
* [http://en.wikipedia.org/wiki/Distributed_hash_table DHT ülevaade wikipedias] | * [http://en.wikipedia.org/wiki/Distributed_hash_table DHT ülevaade wikipedias] | ||
* Chord: | * Chord: | ||
| 22. rida: | 27. 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] | |||
D) 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. | |||
E) 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]. | |||
Mittekohustuslik lisalugemine: | |||
:[[Media:na2_sync.pdf|Konspekt]] pikemalt ja põhjalikumalt loengus läbitud teemadest. | |||
:[[Media:Locking_v2.ppt|T.Tammeti slaidid]] | |||
* Skaleeruvus praktikas: [http://merbist.com/2011/01/18/causality-of-scalability/ Causality of Scalability], [http://merbist.com/2011/01/31/designing-for-scalability/ Designing for Scalability]. | |||
* | F) Mapreduce ja memcached: mis need on ja tööpõhimõtted. | ||
* [http://www.majordojo.com/2007/03/memcached-howto.php | * [http://research.google.com/archive/mapreduce.html Mapreduce klassikaline põhiartikkel] | ||
* [http://www.majordojo.com/2007/03/memcached-howto.php memcached ülevaade] | |||
G) Andmebaaside koondamine/data warehouses: mis need on ja milleks. | |||
Redaktsioon: 17. mai 2018, kell 08:27
NB! Siin on hetkel küsimustiku toorik, oota veel valmimist!
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.
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.
- Memod ja lingikogud loengust: võrgurakenduste protokollid 1,võrgurakenduste protokollid 2, võrgurakenduste protokollid 3
B) 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).
C) DHT (näiteks Chord või Kademlia), Bittorrent ja TOR. Mehhanismid ja eri arhitektuuride eesmärgid/fookused/eelised. Bittorrenti mehhanism ja optimeeringud.
- DHT ülevaade wikipedias
- Chord:
- Põhimaterjal - Chordi põhimõtted - lugeda kuni Ivy osani (Ivy on antud juhul teemaväline)
- Lisaks tasuks veidi uurida artikleid wikipedia sissekande lõpus (external links)
- Kademlia:
- Bittorrenti andmevahetuspõhimõtted
- TOR
D) 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.
E) Paralleelrehendused (sh Lukustamine, transaktsioonid, spinlock, optimistlik paralleelsuskontroll)
- Põhiline Paralleelsus andmebaasides: slaidid.
- Lisaks võib lugeda
- Thread, Queue ja Lock Pythonis
- alguses oli fork(), hea pthreads tutorial.
Mittekohustuslik lisalugemine:
- Konspekt pikemalt ja põhjalikumalt loengus läbitud teemadest.
- T.Tammeti slaidid
- Skaleeruvus praktikas: Causality of Scalability, Designing for Scalability.
F) Mapreduce ja memcached: mis need on ja tööpõhimõtted.
G) Andmebaaside koondamine/data warehouses: mis need on ja milleks.