Skip to content

Commit

Permalink
Merge pull request #5 from kamen-u-cesty/cicd
Browse files Browse the repository at this point in the history
Add CI/CD build
  • Loading branch information
jedla97 authored Apr 21, 2021
2 parents 3ddd4cb + c7dab0b commit 3888d59
Show file tree
Hide file tree
Showing 3 changed files with 200 additions and 27 deletions.
168 changes: 168 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
name: Build all subject PDFs

on:
push:
branches:
- main
- ci-debug

jobs:
build:
runs-on: ubuntu-latest

steps:
# Clone the repository
- name: Set up Git repository
uses: actions/checkout@v2

# Make the builds
# If there is a better way to do this, I'll gladly remove this
- name: Build BPC-AKR
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-AKR
root_file: main.tex
if: ${{ always() }}

- name: Build BPC-DAK
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-DAK
root_file: main.tex
if: ${{ always() }}

- name: Build BPC-HWS
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-HWS
root_file: main.tex
if: ${{ always() }}

- name: Build BPC-IC2
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-IC2
root_file: main.tex
if: ${{ always() }}

- name: Build BPC-KKR
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-KKR
root_file: main.tex
if: ${{ always() }}

- name: Build BPC-KOM
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-KOM
root_file: main.tex
if: ${{ always() }}

- name: Build BPC-MDS
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-MDS
root_file: main.tex
if: ${{ always() }}

- name: Build BPC-PNA
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-PNA
root_file: main.tex
if: ${{ always() }}

- name: Build BPC-SOS
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-SOS
root_file: main.tex
if: ${{ always() }}

- name: Build BPC-SPR
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-SPR
root_file: main.tex
if: ${{ always() }}

- name: Build BPC-TIN
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-TIN
root_file: main.tex
if: ${{ always() }}

- name: Build BPC-UP2A
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-UP2A
root_file: main.tex
if: ${{ always() }}

- name: Build BPC-ZSY
uses: xu-cheng/latex-action@v2
with:
latexmk_shell_escape: true
working_directory: BPC-ZSY
root_file: main.tex
if: ${{ always() }}


# Zip the PDF files
- name: Zip PDFs
if: ${{ always() }}
run: |
zip output.zip */main.pdf
# Prepare tag name
- name: Create tag
id: create_tag
run: |
tag=build-$(date +%Y%m%d-%H%M%S)
echo "::set-output name=tag::$tag"
# Create release draft, so we can add the files
- name: Create draft release
id: create_draft_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.create_tag.outputs.tag }}
release_name: ${{ steps.create_tag.outputs.tag }}
draft: true
prerelease: false

# Add the zip to the release
- name: Add PDFs to release
uses: actions/upload-release-asset@v1.0.1
id: add_pdfs
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_draft_release.outputs.upload_url }}
asset_path: ./output.zip
asset_name: generated-PDFs.zip
asset_content_type: application/zip

# Publish the release
- name: Publish release
uses: eregon/publish-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
release_id: ${{ steps.create_draft_release.outputs.id }}
50 changes: 25 additions & 25 deletions BPC-TIN/text/text.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ \section{Správa paměti, statické přidělování paměti, dynamické přiděl
\item Zásobník(Stack)
\vfill
\end{itemize}
\includegraphics[scale=0.3]{BPC-TIN/images/pamet.png}
\includegraphics[scale=0.3]{images/pamet.png}
\end{multicols}
\textbf{Code}\,--\,je to množina strojových instrukcí, které naprosto jednoznačně provádí program. Dle těchto instrukcí PC postupuje ve výpočtu.

Expand Down Expand Up @@ -95,19 +95,19 @@ \section{Jazyk UML a objektově orientovaný návrh - dědičnost, generalizace,
\end{Large}

\textbf{Závislost}\,--\, je dynamický a zároveň nejslabší vztah. Ukazuje jak co na sobě závisí.\\
\includegraphics[scale=1]{BPC-TIN/images/zavislost.PNG}
\includegraphics[scale=1]{images/zavislost.PNG}

\textbf{Asociace}\,--\, je pevný vztah. Určuje vztah mezi dvěma prvky, které mohou existovat nezávisle na sobě. Asociace může mít směr od jednoho prvku k druhému nebo obousměrně. Objekt ve směru šipky může nalézt odkaz na následujíc objekty. \\
\includegraphics[scale=1]{BPC-TIN/images/asociace.PNG}
\includegraphics[scale=1]{images/asociace.PNG}

\textbf{Násobnost asociací}\,--\, určuje kolik vazeb může mít danný objekt. Například 1:n může být 1 objekt a ten mít reference na n objektů ke kterým má asociaci (faktura:n * položka).

\textbf{Agregace}\,--\, je typ asociace. reprezentuje vztah typu celek--část. Zde je u celku umístěn kosočtverec. Celek je entita, která drží kolekci prvků. Část může existovat bez celku nebo být součástí jiných kolekcí. \\\includegraphics[scale=1]{BPC-TIN/images/agregace.PNG}
\textbf{Agregace}\,--\, je typ asociace. reprezentuje vztah typu celek--část. Zde je u celku umístěn kosočtverec. Celek je entita, která drží kolekci prvků. Část může existovat bez celku nebo být součástí jiných kolekcí. \\\includegraphics[scale=1]{images/agregace.PNG}

\textbf{Kompozice}\,--\, je typ asociace. Je to nejsilnější vztah a je podobná agregaci. S rozdílem v tom že část nemá bez celku smysl. pokud zanikne celek zaniknou i části. U celku je násobnost vždy 1.\\ \includegraphics[scale=1]{BPC-TIN/images/kompozice.PNG}
\textbf{Kompozice}\,--\, je typ asociace. Je to nejsilnější vztah a je podobná agregaci. S rozdílem v tom že část nemá bez celku smysl. pokud zanikne celek zaniknou i části. U celku je násobnost vždy 1.\\ \includegraphics[scale=1]{images/kompozice.PNG}

\textbf{Dědičnost/generalizace}\,--\,se využívá jestliže mají některé třídy společné vlastnosti. Tím například nemusíme vytvářet duplicitní kód. Směr šipky udává od koho třída dědí (obrázek b dědí z a). Díky tomuto lze jednodušeji rozšířit třídu o atributy a operace. Neplést si z asociací nijak nesouvisí.\\
\includegraphics[scale=1]{BPC-TIN/images/dedicnost.PNG}
\includegraphics[scale=1]{images/dedicnost.PNG}



Expand Down Expand Up @@ -221,7 +221,7 @@ \section{Abstraktní datový typ (ADT). ADT lineární seznam. ADT cyklický sez
ADT lineární seznam je seznam, kde každý uzel má unikátního následníka.
Výhodou lineárního seznamu je že má efektivní vkládání a mazání ale neefektivní přístup k prvkům. Na rozdíl od pole, kde je rychlá indexace prvků. Každý prvek obsahuje data a ukazatel na další prvek v seznamu.
\begin{center}
\includegraphics[scale=0.5]{BPC-TIN/images/linsez.PNG}
\includegraphics[scale=0.5]{images/linsez.PNG}
\end{center}

Možné operace s ADT seznamem:
Expand All @@ -239,34 +239,34 @@ \section{Abstraktní datový typ (ADT). ADT lineární seznam. ADT cyklický sez
\textbf{Cyklický lineární seznam}\,--\,stejný jako lineární ale poslední prvek nemá ukazatel null ale odkaz na první prvek seznamu.

\begin{center}
\includegraphics[scale=0.5]{BPC-TIN/images/cycsez.PNG}
\includegraphics[scale=0.5]{images/cycsez.PNG}
\end{center}

\textbf{Obousměrně vázaný lineární seznam}\,--\,nemá pouze ukazatel na další prvek ale i na předchozí. Umožňuje procházení v obou směrech.

\begin{center}
\includegraphics[scale=0.5]{BPC-TIN/images/obousez.PNG}
\includegraphics[scale=0.5]{images/obousez.PNG}
\end{center}

\textbf{Vkládaní do lineárního seznamu}\,--\,vložit prvek na určitou pozici funguje tak, že se najde pozice k kde se zde vloží prvek který bude odkazovat na prvek, který byl předtím na pozici k a v prvku k-1 se přepíše ukazatel na nový prvek. Operace fungují stejně jen jsou vázány na obě strany.

\begin{center}

\includegraphics[scale=0.5]{BPC-TIN/images/sezins.PNG}
\includegraphics[scale=0.5]{images/sezins.PNG}
\end{center}

Pokud vkládáme na začátek tak se přepisuje ukazatel pole na první prvek a ve vkládaném prvku se přidá ukazatel na předchozí první prvek.

\begin{center}
\includegraphics[scale=0.5]{BPC-TIN/images/sezinsfirst.PNG}
\includegraphics[scale=0.5]{images/sezinsfirst.PNG}

\vspace{1cm}
\includegraphics[scale=0.5]{BPC-TIN/images/sezinsempty.PNG}
\includegraphics[scale=0.5]{images/sezinsempty.PNG}
\end{center}

\textbf{Mazaní v lineárním seznamu}\,--\,mazaní prvku na pozici k funguje tak že prvek k-1 přepíše ukazatel na prvek k+1. U prvního prvku se přepíše pouze ukazatel na další prvek.
\begin{center}
\includegraphics[scale=0.5]{BPC-TIN/images/sezdel.PNG}
\includegraphics[scale=0.5]{images/sezdel.PNG}
\end{center}

\textbf{Vyhledávaní v lineárním seznamu}\,--\,dá se vyhledávat podle prvku nebo podle dat. Pomalu iteruje seznamem dokud nenarazí na ten prvek nebo konec seznamu. U obousměrného se dá hledat od začátku a od konce.
Expand Down Expand Up @@ -365,12 +365,12 @@ \section{Abstraktní datový typ strom. Abstraktní datový typ binární strom.

PL
\begin{center}
\includegraphics[scale=0.8]{BPC-TIN/images/treePL.PNG}
\includegraphics[scale=0.8]{images/treePL.PNG}
\end{center}

LP
\begin{center}
\includegraphics[scale=0.8]{BPC-TIN/images/treeLP.PNG}
\includegraphics[scale=0.8]{images/treeLP.PNG}
\end{center}


Expand All @@ -380,19 +380,19 @@ \section{Abstraktní datový typ strom. Abstraktní datový typ binární strom.
\section{Průchody stromy in-order, pre-order, post-order.}
\textbf{Pre-order}\,--\,nejprve se zpracuje kořen, poté levý podstrom a nakonec pravý podstrom. Využívá se k vytvoření kopie stromu. Tak aby vypadal stejně.
\begin{center}
\includegraphics[scale=1]{BPC-TIN/images/tree.PNG}
\includegraphics[scale=1]{images/tree.PNG}
\end{center}
Čtení pomocí pre-order bude posloupnost 5, 2, 4, 3, 15, 9, 7, 11, 12, 17.

\textbf{In-order}\,--\,nejprve se zpracuje levý podstrom poté kořen a nakonec pravý podstrom. Výsledkem je v příkladu čísel posloupnost od nejmenšího k největšímu. Využívá se k získaní popořadě jdoucích hodnot závislých tak jak máme vytvořen komparátor.
\begin{center}
\includegraphics[scale=1]{BPC-TIN/images/tree.PNG}
\includegraphics[scale=1]{images/tree.PNG}
\end{center}
Čtení pomocí in-order bude posloupnost 2, 3, 4, 5, 7, 9, 11, 12, 15, 17.

\textbf{Post-order}\,--\,nejprve se zpracuje levý podstrom poté pravý a nakonec kořen. Využívá se k mazání stromu od listů ke kořenu.
\begin{center}
\includegraphics[scale=1]{BPC-TIN/images/tree.PNG}
\includegraphics[scale=1]{images/tree.PNG}
\end{center}
Čtení pomocí post-order bude posloupnost 3, 4, 2, 7, 12, 11, 9, 17, 15, 5.

Expand Down Expand Up @@ -603,8 +603,8 @@ \section{Grafy, formální definice. Vyhledávání v grafech. Algoritmus BFS (p
\textbf{Distribuovaný algoritmus}\,--\,zde se pracuje na principu, že se kostra tvoří na každé množině zároveň. Z každého vrcholu se vyrazí směrem po nejmenší hodnotě hrany. Pokud se vrcholy na cestě potkají tak vytvoří množinu pokud se nepotkají nic se neděje. Dále se pak vysílají znovu po nejmenší hodnotě hrany. Toto se děje dokud se celá kostra nenajde. Tento algoritmus se nejčastěji využívá v telekomunikačních sítích, kde neznáme celou topologii grafu.

\begin{center}
\includegraphics[scale=0.5]{BPC-TIN/images/distributed1.PNG}
\includegraphics[scale=0.5]{BPC-TIN/images/distributed2.PNG}
\includegraphics[scale=0.5]{images/distributed1.PNG}
\includegraphics[scale=0.5]{images/distributed2.PNG}
\end{center}

\begin{Large}\vspace{0,5cm} \textbf{Slepé prohledávání}
Expand Down Expand Up @@ -701,25 +701,25 @@ \section{Evoluční algoritmy. Genetické algoritmy, genetické programování.
\textbf{Elitářství}\,--\,zaručuje monotonní hodnotu fitness nejlepšího jedince, předchází ztrátě nejlepšího řešení.

\begin{center}
\includegraphics[scale=0.7]{BPC-TIN/images/elita.PNG}
\includegraphics[scale=0.7]{images/elita.PNG}
\end{center}

\textbf{Křížení n-bodové}\,--\,dělí se v n bodech a vymění se mezi sebou.

\begin{center}
\includegraphics[scale=0.55]{BPC-TIN/images/1bod.PNG}
\includegraphics[scale=0.55]{BPC-TIN/images/2bod.PNG}
\includegraphics[scale=0.55]{images/1bod.PNG}
\includegraphics[scale=0.55]{images/2bod.PNG}

\end{center}

\textbf{Křížení uniformní}\,--\,rozvrací kód chromozomu, dobrý pro vnešení diverzity.

\begin{center}
\includegraphics[scale=0.7]{BPC-TIN/images/uniform.PNG}
\includegraphics[scale=0.7]{images/uniform.PNG}
\end{center}

\textbf{Mutace}\,--\,Aplikuje se s malou pravděpodobností, důležitá pokud máme málo jedinců.

\begin{center}
\includegraphics[scale=0.7]{BPC-TIN/images/mutace.PNG}
\includegraphics[scale=0.7]{images/mutace.PNG}
\end{center}
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# BPC-IBE-SZZ
Otázky a odpovědi k SZZ (Státní Závěrečné Zkoušce)

Použitá LaTeX šablona na otázky [zde](https://github.com/Czechbol/FEKT.tex) vytvořena uživatelem [Czechbol](https://github.com/Czechbol).
Otázky a odpovědi k státní závěrečné zkoušce (SZZ) oboru Informační bezpečnost na FEKT VUT.

Používáme LaTeX šablonu [FEKT.tex](https://github.com/Czechbol/FEKT.tex) od [Czechbol](https://github.com/Czechbol).

Každá aktualizace spouští automatický build všech předmětových otázek, nejnovější verze je vždy dostupná jako [release](https://github.com/jedla97/BPC-IBE-SZZ/releases/latest). [kamen-u-cesty](https://github.com/kamen-u-cesty) to dělal pozdě v noci, ale mělo by to fungovat.

Aby se tento build zbytečně nepouštěl i ve všech fork repozitářích, je Actions třeba v jejich nastavení vypnout (Settings > Actions > Disable Actions).

0 comments on commit 3888d59

Please sign in to comment.