Itv0120 2016
Ainekood: ITV0120 |
Sisukord
- 1 NB! See on 2016 aasta arhiiv, mitte 2018 kevadesemestri variant!
- 2 Aeg, koht
- 3 Praktilised tööd ja tähtajad
- 4 Loengukava
- 4.1 Ülevaade kursuse sisust, sissejuhatus 1. praktikumi, protokollide algus, http, json
- 4.2 Protokollide jätk
- 4.3 2016 eri: paralleelprogrammeerimine
- 4.4 P2P esimene osa
- 4.5 P2P teine osa: DHT (distributed hash tables) ja bittorrent
- 4.6 Suured avalikud andme-apid
- 4.7 X-tee, RIHA ja riigi IT-infrastruktuur
- 4.8 Autentimine 1. osa
- 4.9 Autentimine 2. osa ja veebiserver
- 4.10 Autentimine 3. osa
- 4.11 Pilvekeskkonnad
- 4.12 Paralleliseerimine ja efektiivsus
- 4.13 Paralleliseerimise automatiseerimine ja klastrid
- 5 Lisamaterjalid
NB! See on 2016 aasta arhiiv, mitte 2018 kevadesemestri variant!
Aeg, koht
Semester: sügis
Tulemus: eksam
Hindamise meetod: praktikumide tulemused (pool) pluss eksam (teine pool)
Loeng: neljapäeval 8:00-9:30 ruumis CYB-VEENUS
IATM31, IAPB53, IAPB54 praktikum: esmaspäeval 19:30-21:00 arvutiklassis ICT-501
IAPB51, IAPB52 praktikum: kolmapäeval 17:45-19:15 arvutiklassis ICT-501
Eksamiajad:
- 9. jaanuar 2017 kell 11 - ICT-A1
- 18. jaanuar 2017 kell 18 - ICT-A1
registreeri ÕIS-is hiljemalt 24h enne eksamit.
Järeleksam:
- 23. jaanuar 2017 kell 13 - ICT-312
Praktilised tööd ja tähtajad
Kokku on töid 2. Kumbki praktikum täismahus tehtuna annab 25 punkti, sellele võivad lisanduda ekstrapunktid. Puudulikult tehtud töö punktiarv jääb alla 25 punkti. Hilinenud kodutöö eest saab pooled muidu saadaolevad punktid.
- 1. Tähtaeg 16-18. oktoober.
Kaks alternatiivi, mille vahel võid ise valida:- 1 praks (individuaalne)
- Teha kokkuleppel õppejõuga ~30 min ettekanne loengus (vabu teemasid enam pole). Ettekanne toimub esialgse kava järgi 27. oktoobril.
- 2. Tähtaeg 5.-7. detsember. Grupitöö 1-3 inimest. Kaks alternatiivi, mille vahel võid ise valida:
- 2 praks (grupp 1-3 inimest)
Tulemused
Hinded ei ole veel sisse kantud ning võivad eksamisessiooni jooksul või järeleksami tõttu muutuda/täieneda.
matrikkel | 1kt | 2kt | eksam | hinne |
134108 | ||||
135056 | 25 | 25 | 50 | 5 |
153604 | 25 | 25 | 47 | 5 |
153667 | 13 | 25 | 49 | 4 |
153525 | 25 | 25 | 48 | 5 |
142379 | ||||
142458 | ||||
143056 | ||||
167764 | 25 | 25 | 43 | 5 |
155377 | ||||
142772 | 25 | 15 | 47 | 4 |
143076 | 25 | 25 | 32 | 4 |
142852 | 25 | 25 | 45 | 5 |
142684 | 25 | 15 | 49 | 4 |
143068 | 25 | 28 | 49 | 5 |
134574 | ||||
142653 | 25 | 30 | 50 | 5 |
164127 | 25 | 25 | 50 | 5 |
134437 | 10 | 16 | 32 | 1 |
144114 | 25 | 25 | 42 | 5 |
162043 | ||||
142463 | 25 | 30 | 1 | |
134296 | 25 | 16 | 46 | 4 |
142855 | ||||
155133 | 25 | 12 | 47 | 4 |
120951 | 13 | 10 | 42 | 2 |
142853 | 25 | 25 | 50 | 5 |
134666 | 25 | |||
166667 | 15 | 25 | 43 | 4 |
166566 | 15 | 25 | 36 | 3 |
Loengukava
Kursus jaguneb laias laastus neljaks teemaks:
- Protokollid ja P2P (neil teemadel - pluss veidi andme-apidest- esimene praks),
- Andme-apid, autentimine ja pilvekeskkonnad
- Paralleelrehkendused
- Andmete hajutamine ja hajutatud andmete koondamine
Ülevaade kursuse sisust, sissejuhatus 1. praktikumi, protokollide algus, http, json
- Http ja json: võrgurakenduste protokollid 1
- Üldist materjali ja kursusi mujalt:
- http://en.wikipedia.org/wiki/Distributed_computing
- http://dcg.ethz.ch/lectures/podc_allstars/index.html
- http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-824-distributed-computer-systems-engineering-spring-2006/index.htm
- http://www.stanford.edu/class/cs244b/
Protokollide jätk
- Xml põhised protokollid, REST ja binaarsed protokollid
- xml protokollid xml-rpc, soap ja seotud tehnoloogiad: võrgurakenduste protokollid 2
- Probleemidest: veebiteenuste võlu ja valu ja s stands for simple
- REST, binary protokollid, XMPP: võrgurakenduste protokollid 3
- Gaffer on games: UDP vs TCP ja selle jätk
- Veidi seotud asi ad hoc networks vt ka Defendeci ja Jürgo Predeni patent
2016 eri: paralleelprogrammeerimine
Thread, Queue ja Lock Pythonis
C: alguses oli fork(), hea pthreads tutorial.
P2P esimene osa
- P2P sissejuhatus:
- vikipeedia ülevaade
- ülevaade eri P2P tehnoloogiatest
P2P teine osa: DHT (distributed hash tables) ja bittorrent
- ü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:
- Põhimaterjal presentatsioon autoritelt
- Täiendavalt autorite artikkel
- Bittorrent:
- bittorrenti protokoll ja ülevaade
- täiendavalt wikipediast
- TOR:
- TOR wikipedias
Suured avalikud andme-apid
- Andme-apide märkmed loengust
- Read an OK short book on web api design
- Check out odata.org
X-tee, RIHA ja riigi IT-infrastruktuur
- Ahto Kalja detailne ülevaade X-tee projektist aastast 2004
- X-road official page
- X-road security server manual (detailed)
- X-tee from the Finnish perspective and the X-tee/Json gateway and a nice REST api example from Finland
- newest X-road message protocol and corresponding metainfo protocol
- Example: X-road oriented Soap call tool for Python
- RIHA ja jutud RIHA kohta
Autentimine 1. osa
- facebook, google, pangalink.
- Autentimise märkmed: facebook ja google
Autentimine 2. osa ja veebiserver
- veebiserveri seadistamine id-kaardi jaoks ja abistavad koodijupid
- taustaks id-kaardi kasutusstsenaariumid
Autentimine 3. osa
Autentimise märkmed: mobiil-ID
Pilvekeskkonnad
Suured:
Pilveteenuse tarkvara:
Näide: Azure
Google appengine, database api, google bigtable and file system stack
http://cloud.google.com/appengine/ AppEngine on nüüd osa Google Cloud platvormist
Hajutatud failisüsteemide märkmed loengust
Paralleliseerimine ja efektiivsus
Loengunäide: TCP (HTTP) socket server
Kuidas TCP server elementaarsel tasemel töötab (Java tutorialid): Socket serveri sissejuhatus, threadidega server.
Skaleeruvus praktikas: Causality of Scalability, Designing for Scalability.
Paralleliseerimise automatiseerimine ja klastrid
- Mapreduce framework
- Mapreduce katsetused Azure platvormil
- Mapreduce klassikaline põhiartikkel
- memcached
- memcached ülevaade
Lisamaterjalid
here be dragonsSiit edasi on materjalid revideerimata ning 2016 aasta kursuses ei sisaldu
Paralleelrehkendused 1. osa
- Paralleelsus andmebaasides: slaidid.
Lisaks võib lugeda:
- Konspekt, käsitleb teemat oluliselt põhjalikumalt kui loeng/slaidid
- Introduction to Transactions (slaidid)
Paralleelrehkendused 2. osa
- Sünkroniseerimisprimitiivid: slaidid
Mittekohustuslik lisalugemine:
- Konspekt pikemalt ja põhjalikumalt loengus läbitud teemadest.
- T.Tammeti slaidid
Andmelaod
Hajutatud andmekogude integreerimine
- Postgres replication intro
- Postgres clustering and replication
- Postgres high availability
- Integrating distributed sem web data
- Oracle information integration