Skip to content

Commit 48fab02

Browse files
authored
Merge pull request #421 from davidhozic/develop
Discriminator defaults
2 parents 20e2eca + 7fb7ab9 commit 48fab02

File tree

13 files changed

+58
-59
lines changed

13 files changed

+58
-59
lines changed

.github/workflows/python-tests.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ jobs:
2626
with:
2727
python-version: ${{ matrix.python-version }}
2828
cache: 'pip'
29-
- name: Patch pyproject.toml (remove nuitka build)
30-
run: python setup-universal.py
3129
- name: Install APT dependencies
3230
run: |
3331
sudo apt-get update

.readthedocs.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,5 @@ build:
1515
python: "3.8"
1616
jobs:
1717
pre_build:
18-
- python ./setup-universal.py
1918
- pip install .[all] .[docs]
2019
- python3 ./docs/setup.py --start-dir source

docs/thesis/IzjavaOAvtorstvu.pdf

-56.3 KB
Binary file not shown.

docs/thesis/conf.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@
142142
"babel": r"\usepackage[slovene]{babel}",
143143
'preamble':
144144
r'''
145+
% Packages
146+
\usepackage[final]{pdfpages}
147+
145148
% Spacing
146149
\textheight 215mm
147150
\textwidth 145mm
@@ -170,7 +173,13 @@
170173
\newpage
171174
}
172175
''',
173-
"maketitle": latex_title_page,
176+
"maketitle": r"""
177+
\pagenumbering{roman}
178+
\includepdf{NaslovnaStranDiplome.pdf}
179+
\includepdf{IzjavaOAvtorstvu.pdf}
180+
\includepdf{NaslovnaStranDiplome.pdf}
181+
\blankpage
182+
""",
174183
"printindex": ''
175184
}
176185

@@ -188,6 +197,9 @@
188197
numfig_format = numfig_format[language]
189198

190199

200+
latex_additional_files = ["./NaslovnaStranDiplome.pdf", "./IzjavaOAvtorstvu.pdf"]
201+
202+
191203
# ----------- Docx ----------- #
192204
docx_documents = [
193205
(f'{language}/index', 'docxbuilder.docx', {}, True),
-1.55 MB
Binary file not shown.

docs/thesis/sl/abstract.rst

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -12,40 +12,43 @@
1212
\chapter*{Povzetek}
1313

1414

15-
Nezamenljivi žetoni (angl. *Non fungible tokens*) so edinstvena digitalna sredstva, ki živijo na verigi blokov brez možnosti replikacije.
16-
Obstaja več pristopov za njihovo oglaševanje, kjer je eden izmed teh oglaševanje po socialnem omrežju Discord s pristopom agresivnega oglaševanja.
17-
Diplomsko delo se fokusira na proces oglaševanja in se navezuje na projekt Ogrodje za oglaševanje po Discordu (angl. Discord Advertisement Framework),
18-
ki je implementirano v programskem jeziku Python.
19-
20-
Najprej so v delu opisani nezamenljivi žetoni oziroma pristopi k njihovem oglaševanju.
21-
Zatem je predstavljeno socialno omrežje Discord in pristop oglaševanja na tem omrežju.
22-
Sledi predstavitev samega projekta diplomske naloge, kjer je cilj naloge izdelava ogrodja za oglaševanje po Discordu,
23-
ki lahko deluje samodejno brez posredovanja uporabnika, se ustrezno odziva na napake, nudi beleženje sporočil in je konfigurabilno,
24-
da lahko deluje na več načinov.
25-
26-
V poglavju vezanem na projekt diplomskega dela so predstavljeni zasnova in razvoj projekta, njegova dokumentacija in avtomatično testiranje.
27-
28-
Ogrodje se na najvišjem nivoju deli na jedro in grafični vmesnik, kjer jedro lahko deluje neprekinjeno na strežniku in
29-
je sposobno na daljavo procesirati ukaze iz grafičnega vmesnika. Oglaševalske podatke in parametre se v jedru
30-
nastavi kar preko Python skripte / programa, kjer je potrebno minimalno znanje Python jezika.
31-
Jedro se deli na več sektorjev za lažji razvoj in nadgrajevanje.
32-
Grafični vmesnik je prav tako implementiran v Pythonu. Opisan je razvoj grafičnega vmesnika,
33-
opisana je njegova struktura in na koncu je opisan oddaljen dostop do jedra ogrodja.
34-
Objekte (račune, sporočila, ipd.) se v grafičnem vmesniku definira preko novega okna, ki se samodejno generira na podlagi
35-
podatkovnih tipov prebranih iz izvorne kode funkcij in razredov v jedru ogrodja. Definirane objekte je mogoče shraniti v JSON datoteko oz.
36-
omogočeno je tudi generiranje Python oglaševalske skripte, ki deluje v jedru ogrodja.
37-
38-
Po opisu razvoja in zasnove jedra ter grafičnega vmesnika ogrodja, je opisan proces dokumentacije.
39-
Dokumentacija je izdelana s sistemom Sphinx, in se avtomatično gradi in objavlja ob vsaki izdaji projekta
15+
Nezamenljivi žetoni (angl. *Non-fungible tokens*) so edinstvena digitalna sredstva,
16+
ki obstajajo na verigi blokov brez možnosti replikacije.
17+
Obstaja več pristopov za njihovo oglaševanje, pri čemer je eden izmed njih oglaševanje preko socialnega omrežja Discord
18+
z agresivnim pristopom.
19+
Diplomsko delo se osredotoča na proces oglaševanja in se nanaša na projekt Ogrodje za oglaševanje preko Discord omrežja
20+
(angl. *Discord Advertisement Framework*), ki je implementirano v programskem jeziku Python.
21+
22+
Najprej so v delu opisani nezamenljivi žetoni in pristopi k njihovemu oglaševanju.
23+
Nato je predstavljeno socialno omrežje Discord in pristop k oglaševanju na tem omrežju.
24+
Sledi predstavitev samega projekta diplomske naloge, katerega cilj je izdelava ogrodja za oglaševanje preko Discord omrežja,
25+
ki lahko deluje samodejno brez posredovanja uporabnika, se ustrezno odziva na napake, nudi beleženje sporočil in je
26+
nastavljivo za različne načine delovanja.
27+
28+
V poglavju, ki se nanaša na projekt diplomskega dela, so predstavljeni zasnova in razvoj projekta,
29+
njegova dokumentacija ter avtomatizirano testiranje.
30+
Ogrodje se na najvišji ravni deli na jedro in grafični vmesnik, pri čemer lahko jedro deluje neprekinjeno na strežniku
31+
in je sposobno procesirati ukaze iz grafičnega vmesnika na daljavo.
32+
Oglaševalske podatke in parametre se v jedru nastavi preko Python datoteke, kar zahteva
33+
minimalno znanje Python jezika. Jedro je razdeljeno na več sektorjev za lažji razvoj in nadgradnjo.
34+
Grafični vmesnik je prav tako implementiran v jeziku Python.
35+
Opisan je razvoj grafičnega vmesnika, predstavljena je njegova struktura, na koncu pa je opisan tudi oddaljen dostop
36+
do jedra ogrodja. Objekte (račune, sporočila ipd.) je mogoče v grafičnem vmesniku definirati preko novega okna,
37+
ki se samodejno generira na podlagi podatkovnih tipov, prebranih iz izvorne kode funkcij in razredov v jedru ogrodja.
38+
Definirane objekte je mogoče shraniti v JSON datoteko, prav tako je omogočeno generiranje Python oglaševalske skripte, ki deluje v jedru ogrodja.
39+
40+
Po opisu razvoja in zasnove jedra ter grafičnega vmesnika ogrodja je opisan proces dokumentiranja.
41+
Dokumentacija je izdelana s sistemom Sphinx in se avtomatično gradi ter objavlja ob vsaki izdaji projekta
4042
preko platforme GitHub. Opis vseh javnih razredov in funkcij (programskega vmesnika) se samodejno generira iz same kode projekta.
4143

42-
Na koncu poglavja o projektu diplomskega dela je opisan še proces avtomatičnega testiranja, kjer je ta implementiran z ogrodjem za
43-
avtomatično testiranje pytest. Ogrodje se, ob vsakem zahtevku za združitev vej na GitHubu, avtomatično testira in zavrne združitev veje, če
44-
katerikoli od testov ne uspe. Z avtomatičnem testiranjem se zmanjšajo možnosti za izdajo nove verzije ogrodja z napakami v delovanju.
44+
Na koncu poglavja o projektu diplomskega dela je opisano še avtomatizirano testiranje kode, ki je implementirano z
45+
ogrodjem za avtomatizirano testiranje pytest. Ogrodje se na platformi GitHub avtomatično testira ob vsakem zahtevku za
46+
združitev veje, pri čemer se združitev zavrne, če kateri koli od testov ne uspe. Z avtomatiziranim testiranjem se
47+
zmanjšajo možnosti za izdajo nove verzije ogrodja z napakami v delovanju.
4548

46-
Zaključim lahko da je ogrodje izjemno uporabno ne le za oglaševanje NFT, a tudi za oglaševanje katere koli druge vsebine.
47-
Ker v času pisanja ne obstaja skoraj nobeno brezplačno oglaševalsko ogrodje, ki bi bilo sposobno vsega kar je sposobno to ogrodje,
48-
je smiselno sklepati da je projekt izjemno uporabne narave.
49+
Sklepam, da je ogrodje izjemno uporabno ne le za oglaševanje NFT-jev, temveč tudi za oglaševanje katere koli druge vsebine.
50+
Ker v času pisanja ni na voljo skoraj nobenega brezplačnega ogrodja za oglaševanje, ki bi bilo sposobno vsega, kar je sposobno to
51+
ogrodje, je smiselno sklepati, da je projekt izjemno uporabne narave.
4952

5053

5154
**Ključne besede:** Python, grafični vmesnik, oddaljen dostop,
@@ -60,9 +63,6 @@ shranjevanje v datoteko, dokumentacija, avtomatično testiranje, beleženje spor
6063

6164
\chapter*{Abstract}
6265

63-
Non-fungible tokens (NFTs) are unique digital assets that exist on a blockchain without the ability of replication.
64-
There are several approaches of advertising them, one of which is advertising on the social network Discord using the shilling approach.
65-
The thesis focuses on the advertisement process and relates to the Discord Advertisement Framework project, implemented in the Python programming language.
6666

6767
First, the thesis describes non-fungible tokens and approaches to their advertisement.
6868
Next, it presents the social network Discord and the advertisement approach on this social network. It also explains the types of user accounts and channel types where advertisement can take place.

docs/thesis/sl/appendix.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ Pošiljanje tekstovnega sporočila s periodo naključno med 1 uro in 2 urama, z
4747

4848

4949

50-
Avtomatsko odkrivanje (angl. discovery) cehov in kanalov
51-
---------------------------------------------------------
50+
Avtomatsko odkrivanje (angl. *discovery*) cehov in kanalov
51+
-----------------------------------------------------------
5252
Pošiljanje s fiksno periodo dveh ur in avtomatično odkrivanje pridruženih cehov in kanalov na podlagi RegEx vzorca.
5353

5454
.. literalinclude:: ./DEP/Examples/example-autoguild-autochannel.py

docs/thesis/sl/daf/design_development/core.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ AsyncIO
2626
===============
2727
Jedro ogrodja je zasnovano za sočasno (angl. *concurrent*) večopravilnost, kar pomeni da se lahko na videz več opravil izvaja na enkrat, v
2828
resnici pa se med njimi zelo hitro preklaplja. To je omogočeno s knjižnico :mod:`asyncio`.
29-
AsyncIO omogoča ustvarjanje ``async`` funkcij, ki vrnejo korutine (angl. coroutine). Te korutine lahko potem zaženemo v opravilih,
29+
AsyncIO omogoča ustvarjanje ``async`` funkcij, ki vrnejo korutine (angl. *coroutine*). Te korutine lahko potem zaženemo v opravilih,
3030
med katerimi bo program preklopil vsakič, ko v trenutnem opravilu z ``await`` besedo na primer čakamo:
3131

3232
- na konec neke asinhrone komunikacije (angl. *Async I/O*)

docs/thesis/sl/discord.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ Nekaj primerov Discord skupnosti, povezanih s Univerzo v Ljubljani:
4848
\newpage
4949

5050

51-
Discordova struktura
52-
======================
51+
Struktura omrežja Discord
52+
==========================
5353

5454
Discord aplikacija je v osnovi sestavljena iz gumba za direktna (osebna) sporočila, seznama cehov / strežnikov, seznama kanalov
5555
in seznama uporabnikov (uporabniških računov), ki so pridruženi v ceh. :ref:`discord_interface`.
@@ -118,9 +118,9 @@ vsiljiv oz. agresiven način prepovedano v Discordovih pogojih uporabe, kar pome
118118

119119

120120

121-
Oglaševanje po Discordu
122-
==========================
123-
Po Discordu se lahko oglašuje širok nabor tem, med katerimi so
121+
Oglaševanje po omrežju Discord
122+
===============================
123+
Po Discord omrežju se lahko oglašuje širok nabor tem, med katerimi so
124124
video igre, kreativni projekti, produkti, usluge, ipd. Ne sme pa se oglaševati nelegalnih vsebin oz. vsebin,
125125
ki spodbujajo kršenje zakona in vsebin, ki bi lahko povzročile škodo posameznikom :ref:`discord_guidelines`.
126126

setup-universal.py

Lines changed: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)