summaryrefslogtreecommitdiffstats
path: root/inf/rn/dok/lyx/eksperimentalni.lyx
diff options
context:
space:
mode:
Diffstat (limited to 'inf/rn/dok/lyx/eksperimentalni.lyx')
-rw-r--r--inf/rn/dok/lyx/eksperimentalni.lyx105
1 files changed, 54 insertions, 51 deletions
diff --git a/inf/rn/dok/lyx/eksperimentalni.lyx b/inf/rn/dok/lyx/eksperimentalni.lyx
index a547c81..4fd6797 100644
--- a/inf/rn/dok/lyx/eksperimentalni.lyx
+++ b/inf/rn/dok/lyx/eksperimentalni.lyx
@@ -306,8 +306,11 @@ Eksperimentalni del
\end_layout
\begin_layout Standard
-Namen raziskovalne naloge je prenesti čim več info slovarjev iz metainfo
- slovarjev/torrent datotek.
+Namen raziskovalne naloge je prenesti čim več
+\family typewriter
+info
+\family default
+ slovarjev iz metainfo slovarjev/torrent datotek.
V ta namen sem po standardih implementiral odjemalec BitTorrent, vendar
nepopolno, le do te mere, da zna sodelovati v DHT in prenašati metapodatke.
\end_layout
@@ -333,7 +336,7 @@ get_peers
.
Najdene infohashe doda v seznam torrentov, za katere bo poizkušal prejeti
soležnike, ko soležnike prejme, pa enega za drugim sprašuje za metapodatke.
- Ko metapodatke enkrat prenese, jih ne za torrent ne bo več prenašal.
+ Ko metapodatke enkrat prenese, jih za ta torrent ne bo več prenašal.
\end_layout
\begin_layout Standard
@@ -342,16 +345,7 @@ Izdelani program ne implementira možnosti oddajanja metapodatkov, omogoča
\end_layout
\begin_layout Standard
-Izvorna koda programa je dostopna na
-\begin_inset CommandInset href
-LatexCommand href
-name "http://ni.šijanec.eu./sijanec/travnik/"
-target "http://ni.sijanec.eu./sijanec/travnik/"
-literal "false"
-
-\end_inset
-
-.
+Povezava za prenos izvorne kode programa je navedena v prilogi.
\end_layout
\begin_layout Subsection
@@ -367,7 +361,7 @@ Za dekodiranje in enkodiranje bkodiranih objektov sem spisal v C spisal
knjižnico, ki bencoding objekte dekodira v objektno strukturo, na kateri
omogoči osnovne operacije, kot so iskanje ključev, zanka preko celotnega
seznama ali slovarja, vstavljanje novih elementov, brisanje elementov ter
- dupliciranje elementov.
+ podvojevanje elementov.
Deserializirana oblika je drevo elementov strukture bencoding:
\end_layout
@@ -494,8 +488,8 @@ char * b2json (char * dest, struct bencding * b)
\end_inset
JSON sicer ne more popolnoma reprezentirati podatkov, ki jih reprezentira
- bkodiranje, saj morajo biti vsi nizi v obliki UTF-8, česar bencoding ne
- zagotavlja (tam so lahko v nizih poljubni bajti).
+ bkodiranje, saj bi morali biti vsi nizi v obliki UTF-8, česar bencoding
+ ne zagotavlja (tam so lahko v nizih poljubni bajti).
Kljub temu pa obstajajo JSON bralniki, ki podpirajo poljubne bajte v nizih.
\end_layout
@@ -562,7 +556,7 @@ ja
\family typewriter
struct bencoding * bval (struct bencoding * benc, struct bencoding * val)
\family default
-, ki najde vrednost v slovarju/seznamu glede na njeno vrednost
+, ki najde element v slovarju/seznamu glede na njegovo vrednost
\end_layout
\begin_layout Itemize
@@ -587,7 +581,7 @@ Celotno povezovanje z vozlišči je spisano v knjižnici za DHT.
Ureja povezovanje na DHT vozlišča in tudi TCP za prenos metapodatkov.
Vzpostavi eno UDP vtičnico, preko katere komunicira s svetom.
Z bkodiranim seznamom, ki ga uporabnik knjižnice shrani na disk, je omogočena
- tudi obstojna shramba podatkov, da lahko od zagona do zagona DHT ohranja
+ tudi obstojna shramba podatkov, da lahko od izklopa do zagona DHT ohranja
usmerjevalno tabelo, številko vrat in ID vozlišča.
\end_layout
@@ -825,7 +819,7 @@ end{lstlisting}
\end_layout
\begin_layout Standard
-Torrent je reprezentiran v strukturi
+Torrent je predstavljen s strukturo
\family typewriter
torrent
\family default
@@ -998,7 +992,11 @@ Uporabniku knjižnice so med drugim namenjene slednje funkcije:
struct torrent * add_torrent (struct dht * d, struct torrent * t)
\family default
, ki doda torrent v shrambo torrentov.
- Praviloma uporabnik torrentu nastavi type na
+ Praviloma uporabnik torrentu nastavi
+\family typewriter
+type
+\family default
+ na
\family typewriter
peers|info.
\end_layout
@@ -1046,7 +1044,8 @@ void periodic (struct dht * d)
\end_layout
\begin_layout Standard
-Poleg tega mora uporabnik skrbeti še za povratne klice (angl
+Poleg tega mora uporabnik skrbeti še za povratne klice (angl.
+
\shape italic
callback
\shape default
@@ -1128,8 +1127,8 @@ utils/bencoding.c
\family typewriter
utils/info.c
\family default
- pa omogoča prenos metapodatkov torrenta s podanim infohashom iz specifičnega
- naslova IP in vrat.
+ pa omogoča prenos metapodatkov torrenta s podanim infohashom, specifičnim
+ naslovom IP in vrati.
\end_layout
\begin_layout Section
@@ -1137,8 +1136,8 @@ Algoritem prestrezanja podatkov
\end_layout
\begin_layout Standard
-Vedno, ko program zazna novo infohash, ga doda med torrente, katerih metapodatke
- želi prenesti.
+Vedno, ko program zazna novo infohash, izdela nov torrent ter ga doda med
+ torrente, katerih metapodatke želi prenesti.
Vsak cikel desetih sekund (klic funkcije
\family typewriter
periodic
@@ -1177,9 +1176,8 @@ infohash.torrent
\end_layout
\begin_layout Standard
-Da program prvič začne sodelovati z omrežjem, torej da ga sosednja vozlišča
- vpišejo v svoje usmerjevalne tabele, prenese metapodatke vgrajenega torrenta
-
+Da program prvič začne sodelovati z omrežjem — da ga sosednja vozlišča vpišejo
+ v svoje usmerjevalne tabele — prenese metapodatke vgrajenega torrenta
\family typewriter
Big Buck Bunny
\family default
@@ -1193,8 +1191,15 @@ Obdelava podatkov
\begin_layout Standard
Podatke sem sprva mislil obdelati tako, da bi jih shranjeval v relacijski
podatkovni zbirki tipa MySQL, zato sem spisal PHP program, ki s knjižnico
- (citiraj Rhilip/Bencode) za razčlenjevanje metainfo datotek odpre vsako
- datoteko in jo vstavi v podatkovno zbirko s tabelama
+\begin_inset CommandInset citation
+LatexCommand cite
+key "rhilip20"
+literal "false"
+
+\end_inset
+
+ za razčlenjevanje metainfo datotek odpre vsako datoteko in jo vstavi v
+ podatkovno zbirko s tabelama
\family typewriter
torrenti
\family default
@@ -1207,15 +1212,16 @@ datoteke
\family typewriter
JOIN
\family default
- operacije med tabelo s torrenti in tabelo z datotekami prepočasno.
- Relacijske podatkovne zbirke namreč niso narejene za ta namen.
+ operacije med tabelo s torrenti in tabelo z datotekami prepočasne.
+ Relacijske podatkovne zbirke namreč taki uporabi niso namenjene.
Alternativa njim so podatkovne zbirke, ki delajo na nivoju t.
- i dokumentov.
+ i.
+ dokumentov.
\end_layout
\begin_layout Standard
-Sprva sem mislil uporabiti podatkovno orodje MongoDB (citiraj), vendar mi
- je zaradi restriktivne licence in komercialno orientirane narave neprivlačen.
+Sprva sem mislil uporabiti podatkovno orodje MongoDB, vendar mi je zaradi
+ restriktivne licence in komercialno orientirane narave neprivlačno.
\end_layout
\begin_layout Standard
@@ -1235,15 +1241,22 @@ O(n)
\end_inset
- kompleksnost, je v mojem primeru dovolj, če vse torrente hranim kot pythonski
-
+ kompleksnost, je v mojem primeru dovolj, če vse torrente hranim kot
\family typewriter
dict
\family default
- (slovar).
+ (slovar) v programskem jeziku Python.
Za ohranitev tega slovarja v delovnem spominu za daljše časovno obdobje
in za uporaben uporabniški vmesnik sem izbral programsko orodje Jupyter
- Notebook (citiraj), ki uporablja
+ Notebook
+\begin_inset CommandInset citation
+LatexCommand cite
+key "Kluyver2016jupyter"
+literal "false"
+
+\end_inset
+
+, ki uporablja
\family typewriter
ipython
\family default
@@ -1251,19 +1264,9 @@ ipython
\end_layout
\begin_layout Standard
-Python uporabne knjižnice, ki podpira obe obliki torrent datotek, nima,
+Python ustrezne knjižnice, ki podpira obe obliki torrent datotek, nima,
zato sem preprost vmesnik za razčlenjevanje datotek v objektne strukture
- spisal sam (Priloga:
-\begin_inset CommandInset ref
-LatexCommand ref
-reference "sec:travnik.py-razčlenjevalnik-.torr"
-plural "false"
-caps "false"
-noprefix "false"
-
-\end_inset
-
-).
+ spisal sam.
\end_layout
\begin_layout Standard