<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=Hajuss%C3%BCsteemid_2025</id>
	<title>Hajussüsteemid 2025 - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=Hajuss%C3%BCsteemid_2025"/>
	<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Hajuss%C3%BCsteemid_2025&amp;action=history"/>
	<updated>2026-11-03T23:42:16Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Hajuss%C3%BCsteemid_2025&amp;diff=22614&amp;oldid=prev</id>
		<title>Tammet: Uus lehekülg: &#039;&lt;table&gt; &lt;tr&gt; &lt;td&gt; revolutsioon &lt;/td&gt; &lt;td&gt; Ainekoodid: ITI0215&lt;br&gt; Aine nimed: Hajussüsteemid&lt;br&gt; Link:  http://lambda.ee/wiki/Hajuss%C3%BCstee...&#039;</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Hajuss%C3%BCsteemid_2025&amp;diff=22614&amp;oldid=prev"/>
		<updated>2026-02-01T17:14:58Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;&amp;lt;table&amp;gt; &amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; &lt;a href=&quot;/wiki/Fail:Revolution_small.jpg&quot; title=&quot;Fail:Revolution small.jpg&quot;&gt;left|revolutsioon&lt;/a&gt; &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ainekoodid: ITI0215&amp;lt;br&amp;gt; Aine nimed: Hajussüsteemid&amp;lt;br&amp;gt; Link:  http://lambda.ee/wiki/Hajuss%C3%BCstee...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
[[Pilt:Revolution_small.jpg|left|revolutsioon]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekoodid: ITI0215&amp;lt;br&amp;gt;&lt;br /&gt;
Aine nimed: Hajussüsteemid&amp;lt;br&amp;gt;&lt;br /&gt;
Link:  http://lambda.ee/wiki/Hajuss%C3%BCsteemid&amp;lt;br&amp;gt;&lt;br /&gt;
Punkte: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
Õppejõud: [https://www.facebook.com/tanel.tammet Tanel Tammet] tanel.tammet@ttu.ee&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumijuhendaja: Martin Verrev&amp;lt;br&amp;gt;&lt;br /&gt;
Olemas on ka [[Hajussüsteemid 2024|2024 aasta materjalide arhiiv]].&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;NB! See on 2025 aasta arhiiv, mitte aktuaalsed materjalid!&amp;lt;/font&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;Exam results&amp;lt;/font&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
* Here are [[distributed systems exam 1 2025|the results after the first exam]], including the current state of labwork points.&lt;br /&gt;
* Here are [[distributed systems exam 2 2025|the results after the second exam]], including the current state of labwork points.&lt;br /&gt;
* Here are [[distributed systems exam 3 2025|the results after the third exam]], including the current state of labwork points.&lt;br /&gt;
* Here are [[distributed systems final grades 2025|final grades after the fourth exam]], currently also in ÕIS.&lt;br /&gt;
&lt;br /&gt;
= Exam date/times =&lt;br /&gt;
&lt;br /&gt;
Exam together with the [http://lambda.ee/wiki/Teadmiste_formaliseerimine Teadmiste formaliseerimine ITI8700]&lt;br /&gt;
&lt;br /&gt;
* 21 May: 11:30 in the room U04-103. &lt;br /&gt;
* 27 May: 11:00 in the room NRG-131&lt;br /&gt;
* 5 June: 15:00 in the room U04-103&lt;br /&gt;
* 10 June: 15:00 in the room U04-103&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The materials below marked with the red &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E1&amp;lt;/font&amp;gt; are the main materials for the exam, while &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E2&amp;lt;/font&amp;gt; materials will also come up, but less and/or in a simpler form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
= &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;NB!&amp;lt;/font&amp;gt; about 22. April =&lt;br /&gt;
&lt;br /&gt;
The 22. April lecture will be given by [https://www.linkedin.com/in/margus-freudenthal/?originalSubdomain=ee Margus Freudenthal] from Cybernetica, in the standard lecture room, on the subject of X-road / UXP.&lt;br /&gt;
&lt;br /&gt;
Margus has been the main developer of the X-road - and later UXP - from the very beginning.&lt;br /&gt;
&lt;br /&gt;
Hopefully the live teams feed will also function.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Aeg, koht =&lt;br /&gt;
&lt;br /&gt;
Semester: kevad&amp;lt;br&amp;gt;&lt;br /&gt;
Tulemus: eksam&amp;lt;br&amp;gt;&lt;br /&gt;
Hindamise meetod: praktikumide tulemused (50%) ja eksam (50%)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Loeng (Tanel): teisipäeval 16:00-17:30 ruumis SOC-312.&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikum (Martin): kolmapäeval kell 14:00-15:30 ruumis U06A-204.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Plaan on teha enamik loenguid kohapeal ja väiksem osa distantsilt. Praksid toimuvad vähemalt esialgu kohapeal, ja võimalik, et osad hiljem distantsilt.  NB! Ei ole garantiid, et teamsi-salvestused alati õnnestuvad.&lt;br /&gt;
&lt;br /&gt;
Kogu info, materjalid ja ülesanded on siinsamas lambda lehel. &lt;br /&gt;
&lt;br /&gt;
Palun liitu kursuse [https://teams.microsoft.com/l/team/19%3Av_xUeIbqt5Mv22ia0rb6gWoxusQR8amjLNws3b2MTWg1%40thread.tacv2/conversations?groupId=370c5e0b-4fc1-453b-894a-50a28cacaba0&amp;amp;tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57 teamsi grupiga]: iseregistreerumise võti on 5ap288s.&lt;br /&gt;
&lt;br /&gt;
Iganädalase [https://teams.microsoft.com/l/message/19:v_xUeIbqt5Mv22ia0rb6gWoxusQR8amjLNws3b2MTWg1@thread.tacv2/1738563420306?tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57&amp;amp;groupId=370c5e0b-4fc1-453b-894a-50a28cacaba0&amp;amp;parentMessageId=1738563420306&amp;amp;teamName=Hajuss%C3%BCsteemid%202025&amp;amp;channelName=General&amp;amp;createdTime=1738563420306 teamsi loengu-meeti link].&lt;br /&gt;
&lt;br /&gt;
Iganädalase [https://teams.microsoft.com/l/message/19:v_xUeIbqt5Mv22ia0rb6gWoxusQR8amjLNws3b2MTWg1@thread.tacv2/1738563547444?tenantId=3efd4d88-9b88-4fc9-b6c0-c7ca50f1db57&amp;amp;groupId=370c5e0b-4fc1-453b-894a-50a28cacaba0&amp;amp;parentMessageId=1738563547444&amp;amp;teamName=Hajuss%C3%BCsteemid%202025&amp;amp;channelName=General&amp;amp;createdTime=1738563547444  teamsi praksi-meeti link].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;NB!&amp;lt;/font&amp;gt; Allpool olev blokkide struktuur on sarnane, kui 2024 aastal, aga mitte päris sama. Toimunud loengute materjalid ja salvestused osaliselt uuendatakse/muudetakse: kogu info veel mitte toimunud loengute ja veel mitte selgitatud/uuendatud prakside kohta on esialgne. &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
= Serverid =&lt;br /&gt;
&lt;br /&gt;
See info on vaja 2025 aasta jaoks uuendada, hetkel võib olla vananenud:&lt;br /&gt;
&lt;br /&gt;
Kui teie meeskonnal on vaja servereid, siis palun täitke ära vorm siin: https://moodle.taltech.ee/mod/assign/view.php?id=444470 &lt;br /&gt;
&lt;br /&gt;
Linuxi ja Maci all leiad avaliku võtme failist `~/.ssh/id_rsa.pub`. Kui seda pole saad selle genereerida `ssh-keygen` käsuga. Windowsi all vaata avaliku võtme leidmiseks või genereerikmiseks seda õpetust: https://docs.acquia.com/cloud-platform/manage/ssh/generate/&lt;br /&gt;
&lt;br /&gt;
Serveri tellinutele on lisatud Moodles kommentaarina selle avalik IP, sisse saate logida kasutajaga ubuntu, nt kui see on 193.40.155.11, siis sisselogimiseks kasuta &amp;lt;code&amp;gt;ubuntu@193.40.156.35&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Serveris on lahti port 22. Muude portide kasutamiseks pead tekitama SSH tunneli. Kuidas seda teha vaata 6. praktikumi loengusalvestist ja neid materjale: https://linuxize.com/post/how-to-setup-ssh-tunneling/ ja https://www.ssh.com/academy/ssh/tunneling/example või vaata seda videot: https://www.youtube.com/watch?v=N8f5zv9UUMI&lt;br /&gt;
&lt;br /&gt;
Loe ka [[Vorgurakendused 2 2022 kevad serveritest | serverite kasutamisest]]:&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
= Hindamine =&lt;br /&gt;
&lt;br /&gt;
Kursuse edukaks sooritamiseks on sul vaja:&lt;br /&gt;
&lt;br /&gt;
* saada arvestatud mõlemid praktikumid&lt;br /&gt;
* teha eksam tasemel vähemalt 1/3 eksami kogupunktidest.&lt;br /&gt;
* saada praktikumid + eksam kokku vähemalt 50 punkti.&lt;br /&gt;
&lt;br /&gt;
Kursuse hinde rehkendamisel annavad praktikumid kokku 50% kogupunktidest ning eksam 50%. &lt;br /&gt;
&amp;lt;!-- NB! Eksamile võtta kaasa pildiga dokument. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The materials below marked with the red &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E1&amp;lt;/font&amp;gt; are the main materials for the exam, while &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E2&amp;lt;/font&amp;gt; materials will also come up, but less and/or in a simpler form.&lt;br /&gt;
&lt;br /&gt;
= Nädala ülesanded =&lt;br /&gt;
&lt;br /&gt;
Mõnel nädalal antakse väike kohustuslik ülesanne: õppejõule tuleb kas saata emailiga kokkuvõte/mikroessee. Ülesanded pannakse kirja siiasamasse.&lt;br /&gt;
&amp;lt;!-- või laadida see Moodlesse vastava nädala ülesande juurde üles. Juhul kui sul on mitu faili, siis palun zipi need enne kokku. Moodlesse ülesselaadimise link on https://moodle.taltech.ee/mod/assign/view.php?id=446226.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Praktikumid =&lt;br /&gt;
&lt;br /&gt;
Kokku on praktikumitöid kaks. Ülesanded jaotatakse kohustuslikuks baasosaks ja valikosadeks: igaühel oma punktiarv. Kumbki praktikum täismahus (baasosa + kõik valikosad) tehtuna annab 25 punkti. Võivad lisanduda ekstrapunktid eriti hästi tehtud osade või täienduste eest. Hilinenud kodutöö eest saab pooled muidu saadaolevad punktid.&lt;br /&gt;
&lt;br /&gt;
Õppejõu poolt praktikumides kirjutatud koodinäited on leitavad siit: https://github.com/martinve/ITI0215_25&lt;br /&gt;
&lt;br /&gt;
Praktikumitööd on järgmised:&lt;br /&gt;
&lt;br /&gt;
* [[Hajussüsteemid prax 1 2025 kevad| 1 praks on P2P rakendus]]: distributed ledgeri komponent.  Grupitöö 1-3 inimest. See on väga sarnane esimesele praktikumile eelmisest aastast. Gruppide registreerimiseks (ka siis kui plaanite teha töö üksinda, täitke ära see vorm: https://forms.gle/cyijmkR5LHWhtfpeA) 26. märtsil toimuvad kaitsmised üle Teamsi. Õppejõud on teile kirjutanud ja andnud teada ligikaudse kaitsmise aja. Õppejõud võtab teiega Teamsis eraldi ühendust, palun veenduge, et teie kaamera ja mikrofon töötavad.&lt;br /&gt;
&lt;br /&gt;
* [[Hajussüsteemid prax 2 2025 kevad| 2 praks on faili või ledgeri konsensus hajutatud süsteemis]]. Sarnaselt eelmise praktikumitöö täitke palun vorm siin: https://forms.gle/2EPpu2qkc3rGfbMV7 Selle alusel moodustab õppejõud 14. mai kell 12:00 kaitsmiste ajakava ja jagab seda Teamsis. Kaitsmised toimuvad nii kohapeal kui Teamsis 15 ja 16 nädala praktikumitundides.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Praktikumitööde tähtajad on (lähevad asap veidi muutmisele)&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* 1. praktikumil - 20. märts 2025, &lt;br /&gt;
* 2. praktikumil - 13. mai 2025. &lt;br /&gt;
&lt;br /&gt;
Praktikumitöö esitamiseks tee järgmist:&lt;br /&gt;
* Pane oma töö TTÜ gitlabi või avalikku githubi või gitlabi reposse.&lt;br /&gt;
* Pane repo esilehele loetav ülevaade protokollidest, mida su töö kasutab, koos töö üldpõhimõtete kirjeldusega.&lt;br /&gt;
* Tee nii, et juhendaja saaks seda repot lugeda: kui ei ole avalik repo, lisa ta developeriks. TTU Gitlabis peab olema developer õigustes, et koodi lugeda.&lt;br /&gt;
&lt;br /&gt;
Praktikumijuhendaja on Martin Verrev.&lt;br /&gt;
&lt;br /&gt;
= Loengukava =&lt;br /&gt;
&lt;br /&gt;
Kursus jaguneb laias laastus kolmeks teemaks: &lt;br /&gt;
&lt;br /&gt;
* P2P ja protokollid (neil teemadel - pluss veidi andme-apidest- esimene praks), sh distributed ledger ehk bitcoini alustehnoloogia&lt;br /&gt;
* Paralleelrehkendused ja konsensus, lukustamine, sünkroniseerimine (selle kohta teine praks)&lt;br /&gt;
* Näited reaalsetest hajutatud süsteemidest&lt;br /&gt;
&lt;br /&gt;
Päris hea õpiku saad tasuta alla laadida [https://www.distributed-systems.net/index.php/books/ds3/  siit].  Meie kursuse sisu on sellest õpikust küllalt erinev, samas on ka ühisosi. Hea mõte on lugeda soenduseks läbi jutt [https://d1.awsstatic.com/builderslibrary/pdfs/challenges-with-distributed-systems.pdf hajussüsteemide probleemide] ühest valdkonnast (aga neid on veel hulga).&lt;br /&gt;
&lt;br /&gt;
Üldist materjali ja kursusi mujalt:&lt;br /&gt;
:http://en.wikipedia.org/wiki/Distributed_computing&lt;br /&gt;
:http://dcg.ethz.ch/lectures/podc_allstars/index.html&lt;br /&gt;
&amp;lt;!-- :http://www.eecs.harvard.edu/cs262/ DEAD --&amp;gt;&lt;br /&gt;
:http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-824-distributed-computer-systems-engineering-spring-2006/index.htm&lt;br /&gt;
:https://www.scs.stanford.edu/24sp-cs244b/&lt;br /&gt;
&lt;br /&gt;
NB! Allolevad loengumaterjalid &amp;lt;b&amp;gt;tuleviku&amp;lt;/b&amp;gt; kohta on pärit 2024 aastast, neid kursuse käigus uuendatakse ja muudetakse. Juba toimunud või antud nädala loengumaterjalid on uuendatud 2025 aasta jaoks.&lt;br /&gt;
&lt;br /&gt;
== Protokollid ja P2P ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  P2P sissejuhatus, 4. veebruar ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;b&amp;gt;Kohustuslikud osad lugeda&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
: loengumaterjal: [[Media:P2p_overview.ppt|pikem ülevaade eri P2P tehnoloogiatest]] &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E1&amp;lt;/font&amp;gt;&lt;br /&gt;
:[http://en.wikipedia.org/wiki/Peer-to-peer vikipeedia ülevaade] &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E2&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;!-- :[http://www.srdc.metu.edu.tr/webpage/seminars/p2p/P2P.ppt hea paraja detailsusega sissejuhatus] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- :[http://www.cs.ucy.ac.cy/courses/EPL420/Slides/Chapter2_4ed-P2P.ppt ülevaatepresentatsioon] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- :[http://www.it.lut.fi/comlab/ssotc/ssotc08/presentations/Lappeenranta_summer_school_Jukka_K_Nurminen.ppt alternatiivne ülevaatepresentatsioon] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- :[http://www14.in.tum.de/personen/schmiste/dynamo08.ppt hea detailne ülevaade eri P2P tehnoloogiatest] --&amp;gt;&lt;br /&gt;
:[http://en.wikipedia.org/wiki/Tor_%28anonymity_network%29 TOR wikipedias] &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E2&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Protokollid: 11. veebruar ===&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;b&amp;gt;Kohustuslikud osad lugeda&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:Http ja json: [[võrgurakenduste protokollid 1]] &amp;lt;!-- (loengus kuni https, edasised osad järgmises loengus) --&amp;gt; &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E1&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;b&amp;gt;Täiendavalt soovitav lugeda&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
:Gaffer on games: [https://gafferongames.com/post/udp_vs_tcp/ UDP vs TCP] ja [https://gafferongames.com/categories/game-networking/ täiendavalt]&lt;br /&gt;
&lt;br /&gt;
:Veidi seotud asi [https://en.wikipedia.org/wiki/Wireless_ad_hoc_network ad hoc networks] vt ka  &amp;lt;!--[http://www.eliko.ee/smart-streetlight-control-system-3/ ELIKO valgustussüsteemid] DEAD ja --&amp;gt; [http://www.freepatentsonline.com/8966046.html Defendeci ja Jürgo Predeni patent]&lt;br /&gt;
&lt;br /&gt;
:Http ja json: [[võrgurakenduste protokollid 1]] lõpuosa alates https&lt;br /&gt;
:Loe lisaks [https://medium.com/@animeshgaitonde/how-https-works-part-1-building-blocks-64f9915b1f39 https kohta]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;b&amp;gt;Võrgunduse baasprotokollide&amp;lt;/b&amp;gt; kohta on soovitav lugeda (aga, need ei ole meie kursuse fookuses) [https://beej.us/guide/ siit: Beej&amp;#039;s guides]:&lt;br /&gt;
&lt;br /&gt;
===  Andmekodeerimine/vahetus:  JSON-based tech, REST and API styles 18 veebruar ===&lt;br /&gt;
&lt;br /&gt;
Old XML-based tech:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
:[[võrgurakenduste protokollid 1]] eriosad: Same origin policy, push/longpoll ja websockets&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* xml protokollid xml-rpc, soap ja seotud tehnoloogiad: [[võrgurakenduste protokollid 2]] &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E1&amp;lt;/font&amp;gt;&lt;br /&gt;
* Väga vanad tekstid SOAPi probleemidest: [[veebiteenuste võlu ja valu]] ja [http://harmful.cat-v.org/software/xml/soap/simple s stands for simple]&lt;br /&gt;
&lt;br /&gt;
Mainstream: REST, JSON, Graphql:&lt;br /&gt;
&lt;br /&gt;
Lugemiseks:&lt;br /&gt;
&lt;br /&gt;
* Päris alustuseks loe süvenemisega läbi Microsofti [https://docs.microsoft.com/en-us/azure/architecture/best-practices/api-design REST api design soovitused]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Representational_state_transfer rest wikipedias] ja [http://www.restapitutorial.com/ rest tutorial (vt linke all!)] &lt;br /&gt;
* [http://www.odata.org/ odata.org: microsoft/oasis recommendations for rest style]&lt;br /&gt;
* [https://graphql.org/ Graphql start] and [https://blog.pusher.com/rest-versus-graphql/ graphql vs rest].&lt;br /&gt;
&lt;br /&gt;
Päris hea ülevaate leiad siit: [https://www.moesif.com/blog/api-guide/ Moesif API guide]&lt;br /&gt;
&lt;br /&gt;
Sul on vaja iseseisval detailsemalt tutvuda (a) REST-stiiliga ja (b) tutvuda natuke graphql päringu/vastustekeelega (need on siis kaks täiesti erinevat asja):&lt;br /&gt;
* tutvuda levinumate soovitustega REST-stiilis APi-de ehitamiseks:&lt;br /&gt;
** Kui sa hästi ei mäleta REST-stiili põhipointe, siis sissejuhatuseks vaata üle [https://en.wikipedia.org/wiki/Representational_state_transfer wikipedia jutt]. &lt;br /&gt;
*** Põhi-idee on kasutada HTTP harilikke get, put, post &amp;quot;käske&amp;quot;, et öelda, kas tahad datat, lisad datat või uuendad datat, identifitseerida data-objekte urli abil stiilis http://miski.org/data/people/25 (siin on variante), anda vigade korral tagasi HTTP veakoode, kodeerida autentimisinfot ja muud metainfot HTTP päistesse ja püüda kodeerida API päringud ja vastused võimalikult kergelt arusaadavalt. &lt;br /&gt;
*** Pane tähele, et viisid otsingupäringu (inimesed nimega &amp;quot;Jaan&amp;quot;), vastuste arvu (ntx max 100) ja akna/batchi (ntx alga 200-ndast), sorteerimise jne indikeerimiseks ei ole RESTi-stiilis konkreetselt soovitatud, igaüks teeb kuidas tahab: ODATA allpool pakub oma soovitusi, aga need ei ole arusaadavalt kohustuslikud või &amp;quot;REST&amp;quot; stiili osad.&lt;br /&gt;
** Tutvu siin peatüki alguses juba viidatud Microsofti [https://docs.microsoft.com/en-us/azure/architecture/best-practices/api-design api design soovitustega], täiendavalt võib uurida [https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md lisadetaile]&lt;br /&gt;
** Hea mõte on lisaks võtta alternatiivina leiad [https://pages.apigee.com/eBook-Web-API-Design-The-Missing-Link-reg.html?int_source=resources-main&amp;amp;int_medium=website&amp;amp;int_campaign=ebook&amp;amp;int_content=web-api-design-missing-link sellelt urlilt] api disaini väike raamat ja sellega tutvuda.&lt;br /&gt;
** Vaata [https://www.odata.org/getting-started/ odata] veidi eksootilisemaid, aga autoriteetse standardiorganisatsiooni oasis soovitusi REST stiilis API ehitamiseks, konkreetselt alusta [https://www.odata.org/getting-started/understand-odata-in-6-steps/ kiirsissejuhatusega], siis loe [https://www.odata.org/getting-started/basic-tutorial/ basic tutorial] ja lõpuks tutvu kiirelt [http://docs.oasis-open.org/odata/odata/v4.0/odata-v4.0-part2-url-conventions.html pika standardidoku] peatükiga 5: [http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part2-url-conventions/odata-v4.0-errata03-os-part2-url-conventions-complete.html#_Toc453752356 query options]&lt;br /&gt;
** Väike [[pure-rest/odata/cgi stiilide võrdlus]]&lt;br /&gt;
* tutvuda lühidalt graphql-ga: tegu siis hoopis teistsuguse asjaga kui REST: graphql ei ole stiil, vaid täiesti konkreetne päringute/vastuste keel a la sql, mille töötas välja facebook:&lt;br /&gt;
** Alusta [https://en.wikipedia.org/wiki/GraphQL wikipedia] kiirülevaatest&lt;br /&gt;
** Tähelepanek: graphql ülesseadmine oma data peale ei ole lihtne ülesanne: ilmselt ei jaksa sa ise programmeerida päringukeele parserit/otsimootorit jne. Levinud lahendused on seada üles [https://www.apollographql.com/docs/apollo-server/getting-started/ Apollo server], ja progeda sinna juurde päringud oma andmebaasi, või seada üles [https://github.com/graphql/graphql-js graphql.js] server ja teha sinna juurde päringud. Kumbki on suurem töö, kui lihtsa REST api ehitamine.&lt;br /&gt;
** Loe läbi [https://phil.tech/api/2017/01/24/graphql-vs-rest-overview/ rest-vs-graphql] jutt&lt;br /&gt;
** Loe läbi [https://graphql.org/learn/ grapqhl kiirtutorial] (lehekülgede lõpus link järgmisele)&lt;br /&gt;
&lt;br /&gt;
Vt ka suured avalikud andme-apid:&lt;br /&gt;
&lt;br /&gt;
: [https://developers.google.com/apis-explorer/#p/ google api explorer]&lt;br /&gt;
: [https://google.aip.dev/ google api style guidelines]&lt;br /&gt;
: [[Andme-apide märkmed loengust|Andme-apide näiteid]]&lt;br /&gt;
: [https://techcrunch.com/2018/04/04/facebook-instagram-api-shut-down/ facebook api limitations/shutdowns in 2018]&lt;br /&gt;
&lt;br /&gt;
== Paralleelrehkendused ja konsensus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data synchronization, DHT, start distributed ledger: 25 veebruar ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;NB!&amp;lt;/font&amp;gt;This lecture will be the following recording from 2024 pluss self-study reading and experiments only, not in the lecture room:&lt;br /&gt;
&lt;br /&gt;
[http://turing.cs.ttu.ee/~tanel.tammet/dht_blockchain_intro.mp4 Recording]&lt;br /&gt;
&lt;br /&gt;
Sissejuhatus teemasse: [[andmete sünkroniseerimine]]. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E1&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Distributed hash tables (DHT) :&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Distributed_hash_table  ülevaade wikipedias] &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E1&amp;lt;/font&amp;gt;&lt;br /&gt;
* Chord:&lt;br /&gt;
:Põhimaterjal: [https://www.cse.buffalo.edu/~okennedy/courses/cse704fa2012/8.1-Chord.ppt Chordi põhimõtted] &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E2&amp;lt;/font&amp;gt;.  Täiendavalt võib vaadata [https://people.eecs.berkeley.edu/~kubitron/courses/cs294-4-F03/slides/lec03-chord.ppt seda presentatsiooni] visualiseeritud algoritmidega (ppt presentatsioonirezhiimis!) ja eriti detailideks [https://www.kth.se/social/upload/51647996f276545db53654c0/3-chord.pdf seda presentatsiooni] (seda varianti kasutame ka loengus!).&lt;br /&gt;
&lt;br /&gt;
:Lisaks tasuks veidi uurida artikleid [http://en.wikipedia.org/wiki/Chord_%28peer-to-peer%29 wikipedia] sissekande lõpus (external links)&lt;br /&gt;
* Kademlia:&lt;br /&gt;
:Materjal [http://www.cs.uiowa.edu/~ghosh/kademlia.ppt presentatsioon autoritelt]&lt;br /&gt;
:Täiendavalt [https://github.com/ntoll/p4p2p/blob/master/papers/maymounkov-kademlia-lncs.pdf autorite artikkel] ja eriti hea [https://www.kth.se/social/upload/516479a5f276545d6a965080/3-kademlia.pdf detailsem presentatsioon]&lt;br /&gt;
* Kademliat kasutav hajutatud failisüsteem: [https://docs.ipfs.io/ IPFS]&lt;br /&gt;
* Natuke sarnase ideega mõõdukalt lihtne andmestruktuur (mitte hajutatud): [https://en.wikipedia.org/wiki/Skip_list skip list]&lt;br /&gt;
&lt;br /&gt;
Blockchaini funktsioneerimine:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plokiahel:&lt;br /&gt;
*Alustame [[Kriitiline taust blockchaini mõistmiseks]] teemadesse. Palun süvene neisse materjalidesse lisaks loengus räägitule.&lt;br /&gt;
&lt;br /&gt;
=== Blockchain continues: 4. March ===&lt;br /&gt;
&lt;br /&gt;
*[[Media:plokiahel_tt.pdf|detailsem plokiahela ülevaade]]  &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E2&amp;lt;/font&amp;gt;&lt;br /&gt;
* Jätkame eelmise loengu lõpu materjalidega.&lt;br /&gt;
&lt;br /&gt;
* Kindlasti süvene [https://andersbrownworth.com/blockchain/ blockchaini põhimõtete demosse]: vajuta üleval &amp;quot;Hash&amp;quot;, &amp;quot;Block&amp;quot;, &amp;quot;Blockchain&amp;quot; linkidele ja proovi igal lehel ise datat muuta ja &amp;quot;Mine&amp;quot; nupule vajutada. &amp;quot;Mine&amp;quot; teeb proof-of-worki ehk otsib random stringi (nonce) mille lisamisel datale saame mitme nulliga algava hashi. Hea mõte on vaadata ka  [https://andersbrownworth.com/blockchain/ sama saidi videosid]&lt;br /&gt;
&lt;br /&gt;
* [http://lambda.ee/w/images/8/84/Blockchain_lecture_1.pdf Dirk Draheimi materjal samal teemal: mitmete komponentide väga head illustratsioonid]&lt;br /&gt;
&lt;br /&gt;
Huvi pärast vaata ka [https://alphabill.org/ Guardtime AlphaBill projekti], [https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9834329 siin artikkel]: üliskaleeritav plokiahela-süsteem.&lt;br /&gt;
&lt;br /&gt;
Kasulikke linke spetsiifilise infoga: [https://coinmarketcap.com/all/views/all/ market cap], [https://www.blockchain.com/explorer blockchain explorer].&lt;br /&gt;
&lt;br /&gt;
=== Konsensus hajutatud süsteemides: 11. March ===&lt;br /&gt;
&lt;br /&gt;
Siin blokis asume tegelema keerumakate teooria-teemade lugemisega: infovahetus ja &amp;lt;b&amp;gt;konsensus hajutatud süsteemides&amp;lt;/b&amp;gt;, kus midagi võib rikki minna. Ehk, kuidas saavutada, et hajutatud süsteem funktsioneeriks ok, kui mingid osad on katki või kui mõni osa teeb meelega jama, et teisi segada? See on üks fundamentaalsemaid hajutatud süsteemide küsimusi üldse.&lt;br /&gt;
&lt;br /&gt;
Bitcoini plokiahela mehhanism ongi üks konkreetne võimalik mehhanism konsenuse saavutamiseks mitte-üleni-usaldusväärses hajutatud süsteemis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Soenduseks loe läbi väga praktilisi hajussüsteemide probleeme kirjeldav [https://aws.amazon.com/builders-library/challenges-with-distributed-systems/ jutt Amazonilt] (siin [https://d1.awsstatic.com/builderslibrary/pdfs/challenges-with-distributed-systems.pdf otselink pdf-le]).&lt;br /&gt;
&lt;br /&gt;
* Lisaks tasub veidi vaadata [https://rai-skumar.medium.com/10000-foot-view-of-consensus-in-distributed-data-systems-145628b17285 kiirülevaadet] konsensuseteema eri harudest (mh hea pilt) ja sarnaselt [https://en.wikipedia.org/wiki/Consensus_(computer_science) wikipedia kiirülevaadet] harudest ja terminitest. Uuri kindlasti välja, mis tähendab sünkroonne/asünkroonne, partition tolerant/nontolerant, permissioned/permissionless.&lt;br /&gt;
&lt;br /&gt;
* Seejärel - põhiasjana - tööta süvenemisega läbi [http://www.di.univaq.it/~proietti/slide_algdist2010/5-Consensus.ppt hea presentatsioon põhjalikumaks arusaamiseks] &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E1&amp;lt;/font&amp;gt;  up to page 73 (allikas [https://people.disim.univaq.it/~guido.proietti/slide_algdist2017/ siin]. Sinu põhiülesanne on see presentatsioon &amp;lt;b&amp;gt;väga aeglaselt&amp;lt;/b&amp;gt; läbi töötada ja järjest slaididest ja asjadest aru saada. Lõpupoole läheb keeruliseks. King algoritmi detaile ei pea oskama, aga põhiideest tuleks aru saada. Ca lk 73 läheb värk päris keeruliseks ja sealt edasi võid katki jätta. Abiks võib olla [https://www.coursera.org/lecture/cloud-computing/3-1-the-consensus-problem-pvqla see coursera loeng] mis juhatab sama probleemi aeglaselt sisse, aga ei jõua veel selle lahendusvariantideni. [https://www.coursera.org/lecture/cloud-computing/3-2-consensus-in-synchronous-systems-71ysl järgmine loeng] selgitab juba ühte lahendusvarianti analoogiliselt powerpoindile. Kui sul rohkem huvi, siis meie kasutatud presentatsiooni autoril on [http://people.disim.univaq.it/guido.proietti/lezioni_algdist2023.html põhjalik kursus] hajutatud süsteemidest.&lt;br /&gt;
&lt;br /&gt;
Kui jõuad ja sul tekib ekstrahuvi teema vastu, siis:&lt;br /&gt;
* [http://people.disim.univaq.it/guido.proietti/Lecture%20notes%20Attiya.pdf põhjalik õpik] aastast 1993.&lt;br /&gt;
&lt;br /&gt;
=== Konsensus hajutatud süsteemides jätkub: 18 March ===&lt;br /&gt;
&lt;br /&gt;
Selle nädala teemaks on &lt;br /&gt;
&lt;br /&gt;
* Rafti konsensusalgoritm&lt;br /&gt;
** [https://en.wikipedia.org/wiki/Raft_(algorithm) raftist] vt ka head [http://thesecretlivesofdata.com/raft/ visualisatsiooni] ja [https://raft.github.io/raft.pdf originaalartikkel] ja detailsemalt selgitav sari [https://codeburst.io/making-sense-of-the-raft-distributed-consensus-algorithm-part-1-3ecf90b0b361 osa 1], [https://codeburst.io/making-sense-of-the-raft-distributed-consensus-algorithm-part-2-4f12057b019a osa 2], [https://codeburst.io/making-sense-of-the-raft-distributed-consensus-algorithm-part-3-9f3a5cdba514 osa 3].&lt;br /&gt;
** ja vbl veidi ka [https://www.alibabacloud.com/blog/paxos-raft-epaxos-how-has-distributed-consensus-technology-evolved_597127 Raft/Paxos võrdlust].&lt;br /&gt;
* ja misasi on [https://en.wikipedia.org/wiki/CAP_theorem CAP theorem]. [https://medium.com/@ngneha090/understanding-the-cap-theorem-balancing-consistency-availability-and-partition-cb11c2b97e2b Lisaks 1 (definitsioonid)] &amp;lt;!-- ja [https://dev.to/katkelly/cap-theorem-why-you-can-t-have-it-all-ga1 lisaks 2] --&amp;gt; ja [https://www.ibm.com/think/topics/cap-theorem lisaks nosql-baasidest] ja [https://medium.com/@ajayverma23/demystifying-the-cap-theorem-understanding-consistency-availability-and-partition-tolerance-446de8452fac veel andmebaaside vaatest]&lt;br /&gt;
&lt;br /&gt;
Pluss:&lt;br /&gt;
* Konsensuse [https://decentralizedthoughts.github.io/start-here/ materjalikogu] ja [https://a16zcrypto.com/posts/article/consensus-canon/ veel üks]&lt;br /&gt;
* Täiendavalt konsensusest, hulk algoritme: [https://ac.informatik.uni-freiburg.de/teaching/ss_15/dist_sys/lectures/06_Consensus_p2.pdf osa 1 (shared memory)] ja edasi message-passing [https://ac.informatik.uni-freiburg.de/teaching/ss_15/dist_sys/lectures/06_Consensus_p2.pdf osa 2] ja [https://ac.informatik.uni-freiburg.de/teaching/ss_15/dist_sys/lectures/06_Consensus_p3.pdf osa 3]&lt;br /&gt;
* veidi [https://www.geeksforgeeks.org/practical-byzantine-fault-tolerancepbft/ byzantine fault tolerance] teemal.&lt;br /&gt;
&lt;br /&gt;
=== Fork ja thread: 25 March ===&lt;br /&gt;
&lt;br /&gt;
Fork/thread loengumaterjal: [[Media:Processes_fork_thread.pptx|Processes_fork_thread.pptx]], [[Media:Processes_fork_thread.pdf|Processes_fork_thread.pdf]]. &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E1&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parallelismi baasmehhanismid tavaprogrammides, konkreetselt fork, thread ja shared memory. Uurime neid asju C/opsüsteemi tasemel: abstraktsemates keeltes kasutatakse neidsamu C/opsüsteemi mehhanisme. Sul on vaja (a) aru saada, mida need  mehhanismid teevad, (b) panna käima näited: &lt;br /&gt;
* [http://www.csl.mtu.edu/cs4411.ck/www/NOTES/process/fork/create.html  fork]&lt;br /&gt;
* [https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html threads] tutorial ja sarnane [https://randu.org/tutorials/threads/ tutorial]&lt;br /&gt;
* [http://www.cs.kent.edu/~ruttan/sysprog/lectures/shmem/shmem.html shared memory]&lt;br /&gt;
* [http://stackoverflow.com/a/16207592 Thread, Queue ja Lock] Pythonis&lt;br /&gt;
* [https://beej.us/guide/bgipc/ Beej&amp;#039;s guide to interprocess communication], vaata ka [https://beej.us/guide/bgc/html/split/multithreading.html#multithreading multithreading chapter] in Beej&amp;#039;s guide to C programming&lt;br /&gt;
&lt;br /&gt;
Viimaste taustaks on kasulik vaadata korra [https://www.tecmint.com/linux-process-management/ protsesside managementi linuxis].&lt;br /&gt;
&lt;br /&gt;
Näidete käimapanekuks on väga soovitav kasutada linuxit või maci: threadid ja shared memory (aga mitte fork) on olemas ka windowsis, aga ülaltoodud materjalide&lt;br /&gt;
näited on linuxi (üldisemalt, unixi) näited. Logi sisse dijkstrasse, kasuta mõnda muud linuxi masinat, millel sulle ligipääs, või pane windows 10s käima wsl (windows subsystem for linux). &lt;br /&gt;
Kui sul juba ei ole installeeritud C kompilaatorit, installeeri gcc või clang.&lt;br /&gt;
&lt;br /&gt;
Soovitus kuulata [https://lexfridman.com/jim-keller/ Jim Kelleri episoodi &amp;quot;Moore’s Law, Microprocessors, Abstractions, and First Principles&amp;quot;] heast ja populaarsest [https://lexfridman.com/ai/ ai podcastist]: Jim räägib mh pikemalt protsessori-sisesest parallelismist ja automaatsest branchi-ennustamisest.&lt;br /&gt;
&lt;br /&gt;
=== Distributed databases and e-government IT systems: 1. April  ===&lt;br /&gt;
&lt;br /&gt;
We will jump into the examples of distributed systems before coming back to low-level stuff such as locking/transactions next week.&lt;br /&gt;
&lt;br /&gt;
Two themes:&lt;br /&gt;
&lt;br /&gt;
* [[Hajutatud andmebaaside teema lahtikirjutus ja lugemisülesanded]]&lt;br /&gt;
* [[Lühiülevaade riigi infosüsteemist]]&lt;br /&gt;
* As for X-road/UXP (see [[x-tee märkmed loengust]]): this will be covered in detail by Margus Freudenthal in a separate lecture.&lt;br /&gt;
&lt;br /&gt;
=== Lukustamine ja paralleelprotsessid: 8. April ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;NB!&amp;lt;/font&amp;gt; Lecture will be given by Priit Järv in teams: there will be no lecture in the physical lecture room!&lt;br /&gt;
&lt;br /&gt;
Selle nädala eesmärk on aru saada lukustamise baasmehhanismidest ja transaktsioonidest. &lt;br /&gt;
&lt;br /&gt;
Lukustamine on vajalik paralleelsete protsesside juures, mis kasutavad ühist&lt;br /&gt;
mälujuppi / muutujat, kas siis näiteks threadide ühises mäluosas või shared memorys.&lt;br /&gt;
&lt;br /&gt;
Lukustamise jaoks on mitu erinevat mehhanismi ja kasutusstenaariumi ning nad&lt;br /&gt;
vajavad veidi tuge protsessorilt spetsiifiliste atomaarsete käskude näol.&lt;br /&gt;
&lt;br /&gt;
Järgmine nädal liigume lukustamise juurest edasi paralleelsusse andmebaasides: seal&lt;br /&gt;
on jällegi hulk võimalikke probleeme ja mitmeid lahendusviise, mis alusena kasutavad&lt;br /&gt;
baas-lukustamismehhanisme.&lt;br /&gt;
&lt;br /&gt;
Loe selles järjekorras ja vaata läbi ka need kolm lühikest loengut:&lt;br /&gt;
&lt;br /&gt;
* [[Media:Locking_v2.ppt|Lukustamise sissejuhatav presentatsioon]]: &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E2&amp;lt;/font&amp;gt; räägib alustuseks praktilistest vajadustest ja põhimehhanismidest.&lt;br /&gt;
* [[Media:na2_sync.pdf|Detailsem konspekt lukustamise kohta]]: semafor, mutexid ja detailselt spinlockist. Loe seda &amp;lt;b&amp;gt;aeglaselt&amp;lt;/b&amp;gt;!&lt;br /&gt;
* [https://www.youtube.com/watch?v=cEcNLfXEaZs&amp;amp;t=2s spinlocki loeng] arusaamise hõlbustamiseks&lt;br /&gt;
* [https://www.youtube.com/watch?v=yB8sm-pwvZo spinlocki riistvara-tuge seletav loeng]&lt;br /&gt;
* [https://www.youtube.com/watch?v=8wcuLCvMmF8&amp;amp;t=440s loeng semafor vs mutex]: mis on mis&lt;br /&gt;
&lt;br /&gt;
Lisaks võib lugeda:&lt;br /&gt;
:[[Media:11-transactions.pdf|Introduction to Transactions (slaidid)]] &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E2&amp;lt;/font&amp;gt; &lt;br /&gt;
:Sünkroniseerimisprimitiivid: [[Media:na2_sync_slides.pdf|slaidid]]&lt;br /&gt;
&lt;br /&gt;
Mittekohustuslik lisalugemine:&lt;br /&gt;
:[[Media:na2_sync.pdf|Konspekt]] pikemalt ja põhjalikumalt loengus läbitud teemadest.&lt;br /&gt;
&lt;br /&gt;
== Näited hajutatud süsteemidest ==&lt;br /&gt;
&lt;br /&gt;
=== Data warehouses, data lineage and related issues: 15. April ===&lt;br /&gt;
&lt;br /&gt;
The talk will be given by Kalle Tomingas from [https://www.oriongovernance.com/ Orion governance]. Vt taustaks ka [https://digikogu.taltech.ee/et/item/a05c55e4-054a-4758-9b0b-e2671105055c dissertatsiooni].&lt;br /&gt;
&lt;br /&gt;
=== X-road / UXP: 22. April ===&lt;br /&gt;
&lt;br /&gt;
The X-road/UXP (see [[x-tee märkmed loengust]]) &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E2&amp;lt;/font&amp;gt; will be covered in detail by Margus Freudenthal.&lt;br /&gt;
&lt;br /&gt;
See &lt;br /&gt;
* [https://livettu.sharepoint.com/:v:/r/sites/Hajusssteemid2025/Shared%20Documents/General/Recordings/Hajuss%C3%BCsteemide%20kursuse%20loeng%202025-20250422_160133-Meeting%20Recording.mp4?csf=1&amp;amp;web=1&amp;amp;e=v16wn1&amp;amp;nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJTdHJlYW1XZWJBcHAiLCJyZWZlcnJhbFZpZXciOiJTaGFyZURpYWxvZy1MaW5rIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXcifX0%3D the recording]&lt;br /&gt;
* [[Media:Distributed-systems-xroad2025.pdf|lecture materials]] &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;E1&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== EU digital passport and the CIRPASS project: 29. April ===&lt;br /&gt;
&lt;br /&gt;
This week the lecture will be on Teams only, not in the lecture room. Tanel will focus on the details of the [https://cirpass2.eu/ digital product passport] architecture, ideas and politics around it.&lt;br /&gt;
&lt;br /&gt;
Links and materials:&lt;br /&gt;
&amp;lt;!-- * [https://data.europa.eu/en/news-events/news/eus-digital-product-passport-advancing-transparency-and-sustainability EU digital passport --&amp;gt;&lt;br /&gt;
* [https://eur-lex.europa.eu/eli/reg/2024/1781/oj  ESPR act: the law introducing EU digital passports]&lt;br /&gt;
* [https://cirpass2.eu/ CIRPASS-2: the EU R&amp;amp;D project for developing the digital passport architecture, knowledge representation etc]&lt;br /&gt;
* [[Media:cirpass_draft.pdf|draft full architecture]]&lt;br /&gt;
* [[Media:dpp_simple.pdf|draft simple architecture]]&lt;br /&gt;
* [[Media:dpp_simple_2024.pdf|early draft of the simple architecture]]&lt;br /&gt;
&lt;br /&gt;
===  Microservices, scaling large systems and related: 6. May ===&lt;br /&gt;
&lt;br /&gt;
Lecture will be on teams only (not the lecture room) and very briefly at the beginning: administrative stuff.&lt;br /&gt;
&lt;br /&gt;
The main task is to look through the whole lecture recording from 2023 about [http://turing.cs.ttu.ee/~tanel.tammet/hajussysteemid_skaleerimine.mp4 scaling large distributed systems]. Slides in English, speech in Estonian.&lt;br /&gt;
&lt;br /&gt;
===  Consultation for the exam: 13. May ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== X-road / UXP: 22. April ===&lt;br /&gt;
&lt;br /&gt;
The X-road/UXP (see [[x-tee märkmed loengust]]) will be covered in detail by Margus Freudenthal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The X-road/UXP (see [[x-tee märkmed loengust]]) will be covered in detail by Margus Freudenthal.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Stream processing, message queues ja Apache Kafka ===&lt;br /&gt;
&lt;br /&gt;
Materials to be added later.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
=== Hajutatud andmebaasid ja riigi it-süsteemid  ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaks teemat:&lt;br /&gt;
&lt;br /&gt;
* [[Hajutatud andmebaaside teema lahtikirjutus ja lugemisülesanded]]&lt;br /&gt;
* [[Lühiülevaade riigi infosüsteemist]] ja [[x-tee märkmed loengust]]&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Kursus]]&lt;/div&gt;</summary>
		<author><name>Tammet</name></author>
	</entry>
</feed>