-
Notifications
You must be signed in to change notification settings - Fork 0
/
DP_Louka_Ladislav_2023.tex
executable file
·175 lines (141 loc) · 6.26 KB
/
DP_Louka_Ladislav_2023.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
% options:
% thesis=B bachelor's thesis
% thesis=M master's thesis
% czech thesis in Czech language
% english thesis in English language
% hidelinks remove colour boxes around hyperlinks
\documentclass[thesis=M,english]{FITthesis}[2019/12/23]
\usepackage[utf8]{inputenc} % LaTeX source encoded as UTF-8
% \usepackage[latin2]{inputenc} % LaTeX source encoded as ISO-8859-2
% \usepackage[cp1250]{inputenc} % LaTeX source encoded as Windows-1250
\usepackage{subfig} %subfigures
\usepackage{pdfpages}
\usepackage{fvextra}
\usepackage{csquotes}
\usepackage{amsmath} %advanced maths
\usepackage{amssymb} %additional math symbols
\usepackage{amsthm}
\usepackage{dirtree} %directory tree visualisation
\usepackage{todonotes}
\usepackage[outputdir=./tmp]{minted}
\usepackage{xcolor}
\usepackage{pdflscape}
\usepackage{booktabs}
\usepackage{adjustbox}
\usepackage{threeparttable}
\usepackage{makecell}
\usepackage{pgfplots}
\usepackage{tabularx}
\usepackage{url}
\usepackage{float}
\usepackage[sorting=none,backend=biber,bibencoding=utf8,style=iso-numeric]{biblatex}
\addbibresource{mybibliographyfile.bib}
\graphicspath{ {./content/img}}
\setcounter{biburllcpenalty}{100}
\setcounter{biburlucpenalty}{100}
\setcounter{biburlnumpenalty}{100}
\biburlnumskip=0mu plus 1mu\relax
\biburlucskip=0mu plus 1mu\relax
\biburllcskip=0mu plus 1mu\relax
\renewcommand\listingscaption{Listing}
\providecommand*{\listingautorefname}{Listing}
\addto\extrasenglish{
\def\chapterautorefname{Chapter}
}
\newcommand{\tg}{\mathop{\mathrm{tg}}} %cesky tangens
\newcommand{\cotg}{\mathop{\mathrm{cotg}}} %cesky cotangens
% % list of acronyms
% \usepackage[acronym,nonumberlist,toc,numberedsection=autolabel]{glossaries}
% \iflanguage{czech}{\renewcommand*{\acronymname}{Seznam pou{\v z}it{\' y}ch zkratek}}{}
% \makeglossaries
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
% EDIT THIS
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
\pgfplotsset{compat=1.17}
\department{Department of Software Engineering}
\title{Object-relational mapping for database access in JavaScript}
\authorGN{Ladislav} %author's given name/names
\authorFN{Louka} %author's surname
\author{Ladislav Louka} %author's name without academic degrees
\authorWithDegrees{Bc. Ladislav Louka} %author's name with academic degrees
\supervisor{Ing. Jan Matoušek}
\acknowledgements{I want to express my gratitude to my supervisor, Ing. Jan Matoušek, for his guidance and expertise throughout the development of this thesis. His ideas helped me to explore new avenues for expansion, significantly enhancing the quality of my work.
My heartfelt thanks also go to Lucie Procházková for her constant encouragement and invaluable assistance in editing the thesis. Her keen eye and attention to detail greatly enhanced the clarity and coherence of the final document.
I would also like to thank Ackee for generously providing a working environment and the flexibility to utilize their facilities. Their support enabled me to focus on my research and complete this thesis on time.
Finally, I thank my friends, family, and colleagues for their continuous support and encouragement throughout my academic journey.}
\abstractEN{In this thesis, we investigate the role of Object Relational Mapping
(ORM) and query builder packages in JavaScript, focusing on the support of
TypeScript. The study aims to compare various packages, assessing their
flexibility and performance overhead to facilitate an informed decision-making
process for developers. Such comparison is important due to modern applications'
proliferation of database access.}
\abstractCS{Tato práce se zabývá balíčky a frameworky pro objektově relační
mapování a tvorbu SQL dotazů pro technologii JavaScript, se zaměřením na podporu
jazyka TypeScript. Cílem práce je porovnat podporu jazyka, schopnosti
jednotlivých balíčků a jejich výkon. Práce poskytuje vývojářům informace, které
jim pomohou při výběru vhodného balíčku pro jejich aplikaci.}
\placeForDeclarationOfAuthenticity{Prague}
\keywordsEN{SQL, ORM, Object-relational mapping, Query builder, JavaScript, TypeScript}
\keywordsCS{SQL, ORM, Objektově-relační mapování, Query builder, JavaScript, TypeScript}
\declarationOfAuthenticityOption{5}
%select as appropriate, according to the desired license (integer 1-6)
% \website{http://site.example/thesis} %optional thesis URL
\linespread{1.3}
\newtheorem{definition}{Definition}
\begin{document}
% \newacronym{CVUT}{{\v C}VUT}{{\v C}esk{\' e} vysok{\' e} u{\v c}en{\' i} technick{\' e} v Praze}
% \newacronym{FIT}{FIT}{Fakulta informa{\v c}n{\' i}ch technologi{\' i}}
\setsecnumdepth{part}
\chapter*{Acronyms}
% \printglossaries
\begin{description}
\item[API] Application Programming Interface
\item[BSD] Berkeley Software Distribution
\item[CLI] Command Line Interface
\item[HTML] Hypertext Markup Language
\item[I/O] Input / Output
\item[JSON] JavaScript Object Notation
\item[MVC] Model - View - Controller
\item[OOP] Object-Oriented Programming
\item[ORM] Object relational mapping
\item[QB] Query builder
\item[RDBMS] Relational Database Management System
\item[SQL] Structured Query Language
\item[XML] Extensible Markup Language
\end{description}
\include{content/0-Introduction.tex}
\setsecnumdepth{all}
\include{content/1-terminology.tex}
\include{content/2-framework-selection.tex}
\include{content/3-evaluation-criteria.tex}
\include{content/4-benchmark-database.tex}
\include{content/5-benchmark-design.tex}
\include{content/6-benchmark-classes.tex}
\include{content/7-packages.tex}
% Packages are included inside the 7 - packages.tex file)
\include{content/21-observations.tex}
\setsecnumdepth{part}
\include{content/22-conclusion.tex}
% \setsecnumdepth{part}
% \bibliographystyle{assets/iso690}
% \bibliography{mybibliographyfile}
\setsecnumdepth{all}
\appendix
{
\setlength{\emergencystretch}{1em}
\printbibliography
}
\include{content/99-Apendix.tex}
\chapter{Structure of attachments}
%change appropriately
\begin{figure}
\dirtree{%
.1 readme.txt\DTcomment{file with the attachment structure}.
.1 src\DTcomment{the directory of source codes}.
.2 benchmark\DTcomment{implementation sources}.
.2 thesis\DTcomment{the directory of \LaTeX{} source codes of the thesis}.
.1 thesis.pdf\DTcomment{the thesis text in PDF format}.
}
\end{figure}
\nocite{*}
\end{document}