Vorgurakendused 2 prax 1 2016

Allikas: Lambda
Redaktsioon seisuga 8. september 2016, kell 16:13 kasutajalt PriitJ (arutelu | kaastöö) (→Ettevalmistus)
Mine navigeerimisribale Mine otsikasti

Ülesandeks on implementeerida lihtne P2P protokoll (rakendus selgub lähiajal)

  • realiseeritud HTTP protokolli peale (vaja implementeerida ka HTTP server ja klient)
  • hakkab tööle virtuaalses võrgus (https://rangeforce.com/)
  • eesmärk kõigi rakendused omavahel suhtlema ja ühise võrguna tegutsema panna

Ettevalmistus

Vali arenduseks töövahend: virtuaallaboris on olemas Java (+maven) ning Python 3 tugi. Muud keeled (Haskell, C, Javascript, C#) eeldavad, et tudeng saab ise arenduskeskkonna tööle. Seda on kasulik kohe alguses testida. Virtuaalmasinas jookseb Ubuntu desktop 16.04.

Tee avalikku git SCM teenusesse uus repo. Sobivad teenused on http://gitlab.com, http://github.com, http://bitbucket.com .

Leia tehtud repo URI. Näiteks: git@gitlab.com:priitj/test3.git (SSH), https://gitlab.com/priitj/test3.git (HTTPS).

Üle SSH protokolli reposse pöördumiseks on vaja täiendavalt teha SSH võti. Selleks vaata juhendeid, näit. Githubi puhul https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/ ; https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/ (need juhendid sisaldavad ka konfi Windowsi/Linuxi/Maci git kliendi jaoks).

Töö käigus repo kasutamiseks on kaks alternatiivi:

  1. IDE-sse integreeritud giti klient. IntelliJ/PyCharm puhul tee uus projekt selliselt, et vali VCS->Checkout from Version Control->Git, pane URI (SSH või HTTPS oma) ning uus kataloog. Siis "Clone" ning edaspidi on projekti töökataloog juba seotud eelnevalt tehtud repoga.
  2. Käsurea git klient (GIT bash Windowsi all või git käsk Linuxi/Maci all). Sel puhul järgi Gitlabi/Githubi/Bitbucketi juhiseid repo kohalikku arvutisse kloonimiseks ning selle initsialiseerimiseks.

Virtuaallaborisse sisse logimine

User/pass: student/student

Repo kloonimine virtuaalmasinasse

Rakenduse ideed

  • masspäringute hajutamine
  • content distribution (streaming)
  • maksed
  • maatriksite korrutamine

Praktikumi kirjeldus täieneb jooksvalt semestri käigus