Made system info requests multi threaded
This commit is contained in:
parent
6e61fc7756
commit
8764e1b45a
@ -54,24 +54,30 @@ namespace Birdmap.API.Controllers
|
|||||||
var serviceInfos = (await _service.GetAllServicesAsync())
|
var serviceInfos = (await _service.GetAllServicesAsync())
|
||||||
.Select(s => new ServiceInfo { Service = _mapper.Map<ServiceRequest>(s) }).ToList();
|
.Select(s => new ServiceInfo { Service = _mapper.Map<ServiceRequest>(s) }).ToList();
|
||||||
|
|
||||||
var client = new HttpClient();
|
var tasks = new List<Task>();
|
||||||
foreach (var si in serviceInfos)
|
foreach (var si in serviceInfos)
|
||||||
{
|
{
|
||||||
try
|
tasks.Add(Task.Run(async () =>
|
||||||
{
|
{
|
||||||
_logger.LogInformation($"Sending a request to service [{si.Service.Name}] with url [{si.Service.Uri}]...");
|
var client = new HttpClient();
|
||||||
var response = await client.GetAsync(si.Service.Uri);
|
try
|
||||||
si.StatusCode = response.StatusCode;
|
{
|
||||||
si.Response = await response.Content.ReadAsStringAsync();
|
_logger.LogInformation($"Sending a request to service [{si.Service.Name}] with url [{si.Service.Uri}]...");
|
||||||
}
|
var response = await client.GetAsync(si.Service.Uri);
|
||||||
catch (Exception ex)
|
si.StatusCode = response.StatusCode;
|
||||||
{
|
si.Response = await response.Content.ReadAsStringAsync();
|
||||||
_logger.LogWarning($"Requesting service [{si.Service.Name}] faulted.");
|
}
|
||||||
si.StatusCode = HttpStatusCode.ServiceUnavailable;
|
catch (Exception ex)
|
||||||
si.Response = ex.ToString();
|
{
|
||||||
}
|
_logger.LogWarning($"Requesting service [{si.Service.Name}] faulted.");
|
||||||
|
si.StatusCode = HttpStatusCode.ServiceUnavailable;
|
||||||
|
si.Response = ex.ToString();
|
||||||
|
}
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
await Task.WhenAll(tasks);
|
||||||
|
|
||||||
serviceInfos.Add(new()
|
serviceInfos.Add(new()
|
||||||
{
|
{
|
||||||
Service = new()
|
Service = new()
|
||||||
|
47
docs/thesis/content/abstract.aux
Normal file
47
docs/thesis/content/abstract.aux
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
\relax
|
||||||
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {chapter}{Kivonat}{i}{chapter*.2}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{english} \contentsline {chapter}{Abstract}{ii}{chapter*.3}\protected@file@percent }
|
||||||
|
\@setckpt{content/abstract}{
|
||||||
|
\setcounter{page}{3}
|
||||||
|
\setcounter{equation}{0}
|
||||||
|
\setcounter{enumi}{0}
|
||||||
|
\setcounter{enumii}{0}
|
||||||
|
\setcounter{enumiii}{0}
|
||||||
|
\setcounter{enumiv}{0}
|
||||||
|
\setcounter{footnote}{0}
|
||||||
|
\setcounter{mpfootnote}{0}
|
||||||
|
\setcounter{part}{0}
|
||||||
|
\setcounter{chapter}{0}
|
||||||
|
\setcounter{section}{0}
|
||||||
|
\setcounter{subsection}{0}
|
||||||
|
\setcounter{subsubsection}{0}
|
||||||
|
\setcounter{paragraph}{0}
|
||||||
|
\setcounter{subparagraph}{0}
|
||||||
|
\setcounter{figure}{0}
|
||||||
|
\setcounter{table}{0}
|
||||||
|
\setcounter{footnote@add}{0}
|
||||||
|
\setcounter{footnote@ch}{0}
|
||||||
|
\setcounter{parentequation}{0}
|
||||||
|
\setcounter{Item}{0}
|
||||||
|
\setcounter{Hfootnote}{0}
|
||||||
|
\setcounter{bookmark@seq@number}{2}
|
||||||
|
\setcounter{lstnumber}{1}
|
||||||
|
\setcounter{endNonectr}{2}
|
||||||
|
\setcounter{currNonectr}{0}
|
||||||
|
\setcounter{caption@flags}{0}
|
||||||
|
\setcounter{continuedfloat}{0}
|
||||||
|
\setcounter{NAT@ctr}{0}
|
||||||
|
\setcounter{currexamplectr}{0}
|
||||||
|
\setcounter{endexamplectr}{0}
|
||||||
|
\setcounter{example}{0}
|
||||||
|
\setcounter{currdefinitionctr}{0}
|
||||||
|
\setcounter{enddefinitionctr}{0}
|
||||||
|
\setcounter{definition}{0}
|
||||||
|
\setcounter{currtheoremctr}{0}
|
||||||
|
\setcounter{endtheoremctr}{0}
|
||||||
|
\setcounter{theorem}{0}
|
||||||
|
\setcounter{section@level}{0}
|
||||||
|
\setcounter{lstlisting}{0}
|
||||||
|
\setcounter{romanPage}{3}
|
||||||
|
}
|
15
docs/thesis/content/birdmap-backend.aux
Normal file
15
docs/thesis/content/birdmap-backend.aux
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
\relax
|
||||||
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {chapter}{\numberline {5}Szerver oldal}{14}{chapter.5}\protected@file@percent }
|
||||||
|
\@writefile{lof}{\select@language{magyar} \addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\select@language{magyar} \addvspace {10\p@ }}
|
||||||
|
\newlabel{chapt:birdmap-backend}{{5}{14}{Google Maps Api}{chapter.5}{}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {5.1}Architektúra}{14}{section.5.1}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {5.2}Adat elérési réteg}{14}{section.5.2}\protected@file@percent }
|
||||||
|
\citation{nswag}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {5.2.1}Entitások}{15}{subsection.5.2.1}\protected@file@percent }
|
||||||
|
\@writefile{lol}{\select@language{magyar} \contentsline {lstlisting}{\numberline {5.1}A User és a Service modell}{15}{lstlisting.5.1}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {5.2.2}Seedelés}{15}{subsection.5.2.2}\protected@file@percent }
|
||||||
|
\newlabel{subsect:seeding}{{5.2.2}{15}{Seedelés}{subsection.5.2.2}{}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {5.3}Üzleti logikai réteg}{15}{section.5.3}\protected@file@percent }
|
||||||
|
\citation{hmacsha512}
|
@ -87,6 +87,33 @@ Minden jelszóhoz generálok egy egyedi kulcsot és azzal egy hash-t, majd ezeke
|
|||||||
Amikor egy felhasználó be akar jelentkezni először megvizsgálom, hogy egyáltalán létezik-e az adatbázisban az adott nevű felhasználó,
|
Amikor egy felhasználó be akar jelentkezni először megvizsgálom, hogy egyáltalán létezik-e az adatbázisban az adott nevű felhasználó,
|
||||||
ha igen, akkor a megadott jelszóból az imént említett folyamattal generált kulcsot és hash-t összehasonlítom az adatbázisban tárolttal.
|
ha igen, akkor a megadott jelszóból az imént említett folyamattal generált kulcsot és hash-t összehasonlítom az adatbázisban tárolttal.
|
||||||
|
|
||||||
|
%----------------------------------------------------------------------------
|
||||||
|
\subsection{Kommunikációs Szolgáltatások}
|
||||||
|
%----------------------------------------------------------------------------
|
||||||
|
A kliensoldal frissítésére több megoldás is létezik. Például bizonyos időközönként lehetne kéréseket indítani a szerver felé a friss adatok megszerzéséért.
|
||||||
|
Egy másik megoldás a SignalR használata, amellyel a klienseket eseményvezérelten lehet értesíteni, megvalósítja a kétoldalú kommunikációt.
|
||||||
|
Így a kliensek csak akkor indítanak kéréseket amikor az adat tényleg változott. Ezzel a technológiával oldottam meg például, hogy az eszközök állapotainak változására
|
||||||
|
frissüljön a felület.
|
||||||
|
|
||||||
|
Egy másik szerveroldalon használt szolgáltatás a Birdnetes MQTT kommunikációért felelős szolgáltatás,
|
||||||
|
mely felregisztrál a \ref{subsect:birdnetes-ai-service}-as alfejezetben bemutatott AI Service által publikált üzenetekre.
|
||||||
|
Ezekben az üzenetekben található a hanganyagok egyedi azonosítója, illetve azok seregélytől való származásának valószínüsége.
|
||||||
|
Ha a szolgáltatás kap egy ilyen üzenetet akkor lekérdezi a \ref{subsect:birdnetes-input-service}-es alfejezetben bemutatott Input Service-től
|
||||||
|
a hanganyag azonosítójához tartozó metaadatokat.
|
||||||
|
Ezekből felhasználva a kihelyezett eszköz azonosítóját, a hanganyag beérkezésének dátumát és az említett valószínüséget új üzenetek készülnek, melyeket egy pufferben tárolódnak.
|
||||||
|
Ezt a folyamatot a \ref{fig:birdmap-mqtt-service}-es ábra szemlélteti.
|
||||||
|
|
||||||
|
\begin{figure}[!ht]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=150mm, keepaspectratio]{figures/mqtt-communication-sequence.png}
|
||||||
|
\caption{A Birdmap MQTT szolgáltatásának szekvenciája}
|
||||||
|
\label{fig:birdmap-mqtt-service}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
A puffer tartalmát másodperces gyakorisággal elküldöm a klienseknek a SignalR segítségével.
|
||||||
|
Azért van szükség a puffer használatára, mert az MQTT-n érkezett üzenetek gyakorisága akár miliszekundum nagyságrendű is lehet.
|
||||||
|
Míg a szerver képes is az üzeneteket feldolgozni, ha ezeket rögtön tovább küldeném a kliensek felé, azok nem biztos, hogy képesek lennének rá.
|
||||||
|
|
||||||
%----------------------------------------------------------------------------
|
%----------------------------------------------------------------------------
|
||||||
\section{Megjelenítési réteg}
|
\section{Megjelenítési réteg}
|
||||||
%----------------------------------------------------------------------------
|
%----------------------------------------------------------------------------
|
||||||
@ -130,33 +157,6 @@ ahol a végpontok kipróbálhatóak, tesztelhetőek kliensoldal nélkül is.
|
|||||||
\label{fig:swagger-ui}
|
\label{fig:swagger-ui}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
%----------------------------------------------------------------------------
|
|
||||||
\subsection{Kommunikációs Szolgáltatások}
|
|
||||||
%----------------------------------------------------------------------------
|
|
||||||
A kliensoldal frissítésére több megoldás is létezik. Például bizonyos időközönként lehetne kéréseket indítani a szerver felé a friss adatok megszerzéséért.
|
|
||||||
Egy másik megoldás a SignalR használata, amellyel a klienseket eseményvezérelten lehet értesíteni, megvalósítja a kétoldalú kommunikációt.
|
|
||||||
Így a kliensek csak akkor indítanak kéréseket amikor az adat tényleg változott. Ezzel a technológiával oldottam meg például, hogy az eszközök állapotainak változására
|
|
||||||
frissüljön a felület.
|
|
||||||
|
|
||||||
Egy másik szerveroldalon használt szolgáltatás a Birdnetes MQTT kommunikációért felelős szolgáltatás,
|
|
||||||
mely felregisztrál a \ref{subsect:birdnetes-ai-service}-as alfejezetben bemutatott AI Service által publikált üzenetekre.
|
|
||||||
Ezekben az üzenetekben található a hanganyagok egyedi azonosítója, illetve azok seregélytől való származásának valószínüsége.
|
|
||||||
Ha a szolgáltatás kap egy ilyen üzenetet akkor lekérdezi a \ref{subsect:birdnetes-input-service}-es alfejezetben bemutatott Input Service-től
|
|
||||||
a hanganyag azonosítójához tartozó metaadatokat.
|
|
||||||
Ezekből felhasználva a kihelyezett eszköz azonosítóját, a hanganyag beérkezésének dátumát és az említett valószínüséget új üzenetek készülnek, melyeket egy pufferben tárolódnak.
|
|
||||||
Ezt a folyamatot a \ref{fig:birdmap-mqtt-service}-es ábra szemlélteti.
|
|
||||||
|
|
||||||
\begin{figure}[!ht]
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=150mm, keepaspectratio]{figures/mqtt-communication-sequence.png}
|
|
||||||
\caption{A Birdmap MQTT szolgáltatásának szekvenciája}
|
|
||||||
\label{fig:birdmap-mqtt-service}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
A puffer tartalmát másodperces gyakorisággal elküldöm a klienseknek a SignalR segítségével.
|
|
||||||
Azért van szükség a puffer használatára, mert az MQTT-n érkezett üzenetek gyakorisága akár miliszekundum nagyságrendű is lehet.
|
|
||||||
Míg a szerver képes is az üzeneteket feldolgozni, ha ezeket rögtön tovább küldeném a kliensek felé, azok nem biztos, hogy képesek lennének rá.
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------------
|
%----------------------------------------------------------------------------
|
||||||
\subsection{Kontrollerek}
|
\subsection{Kontrollerek}
|
||||||
%----------------------------------------------------------------------------
|
%----------------------------------------------------------------------------
|
||||||
@ -180,7 +180,6 @@ Az \verb+Admin+ felhasználók hívhatnak bármilyen végpontot.
|
|||||||
{
|
{
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
64
docs/thesis/content/birdmap-introduction.aux
Normal file
64
docs/thesis/content/birdmap-introduction.aux
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
\relax
|
||||||
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
|
\citation{kubernetes}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {chapter}{\numberline {3}Tervek és alternatívák}{7}{chapter.3}\protected@file@percent }
|
||||||
|
\@writefile{lof}{\select@language{magyar} \addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\select@language{magyar} \addvspace {10\p@ }}
|
||||||
|
\newlabel{chapt:birdmap-introduction}{{3}{7}{Command and Control Service}{chapter.3}{}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {3.1}Tervezés}{7}{section.3.1}\protected@file@percent }
|
||||||
|
\citation{grafana}
|
||||||
|
\citation{kibana}
|
||||||
|
\citation{kubernetes-dashboard}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {3.2}Alternatívák}{8}{section.3.2}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {3.2.1}Grafana}{8}{subsection.3.2.1}\protected@file@percent }
|
||||||
|
\@writefile{lof}{\select@language{magyar} \contentsline {figure}{\numberline {3.1.}{\ignorespaces A Grafana demo oldalának, a \url {https://play.grafana.org}-nak a felülete\relax }}{8}{figure.caption.5}\protected@file@percent }
|
||||||
|
\newlabel{fig:grafana}{{3.1}{8}{A Grafana demo oldalának, a \url {https://play.grafana.org}-nak a felülete\relax }{figure.caption.5}{}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {3.2.2}Kibana}{8}{subsection.3.2.2}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {3.2.3}Kubernetes Dashboard (Web UI)}{8}{subsection.3.2.3}\protected@file@percent }
|
||||||
|
\@writefile{lof}{\select@language{magyar} \contentsline {figure}{\numberline {3.2.}{\ignorespaces Egy példa a Kibana kezelőfelületére\relax }}{9}{figure.caption.6}\protected@file@percent }
|
||||||
|
\newlabel{fig:kibana}{{3.2}{9}{Egy példa a Kibana kezelőfelületére\relax }{figure.caption.6}{}}
|
||||||
|
\@writefile{lof}{\select@language{magyar} \contentsline {figure}{\numberline {3.3.}{\ignorespaces A Kubernetes Dashboard felülete\relax }}{9}{figure.caption.7}\protected@file@percent }
|
||||||
|
\newlabel{fig:kibana}{{3.3}{9}{A Kubernetes Dashboard felülete\relax }{figure.caption.7}{}}
|
||||||
|
\@setckpt{content/birdmap-introduction}{
|
||||||
|
\setcounter{page}{10}
|
||||||
|
\setcounter{equation}{0}
|
||||||
|
\setcounter{enumi}{0}
|
||||||
|
\setcounter{enumii}{0}
|
||||||
|
\setcounter{enumiii}{0}
|
||||||
|
\setcounter{enumiv}{0}
|
||||||
|
\setcounter{footnote}{1}
|
||||||
|
\setcounter{mpfootnote}{0}
|
||||||
|
\setcounter{part}{0}
|
||||||
|
\setcounter{chapter}{3}
|
||||||
|
\setcounter{section}{2}
|
||||||
|
\setcounter{subsection}{3}
|
||||||
|
\setcounter{subsubsection}{0}
|
||||||
|
\setcounter{paragraph}{0}
|
||||||
|
\setcounter{subparagraph}{0}
|
||||||
|
\setcounter{figure}{3}
|
||||||
|
\setcounter{table}{0}
|
||||||
|
\setcounter{footnote@add}{0}
|
||||||
|
\setcounter{footnote@ch}{0}
|
||||||
|
\setcounter{parentequation}{0}
|
||||||
|
\setcounter{Item}{0}
|
||||||
|
\setcounter{Hfootnote}{2}
|
||||||
|
\setcounter{bookmark@seq@number}{27}
|
||||||
|
\setcounter{lstnumber}{1}
|
||||||
|
\setcounter{endNonectr}{4}
|
||||||
|
\setcounter{currNonectr}{0}
|
||||||
|
\setcounter{caption@flags}{0}
|
||||||
|
\setcounter{continuedfloat}{0}
|
||||||
|
\setcounter{NAT@ctr}{0}
|
||||||
|
\setcounter{currexamplectr}{0}
|
||||||
|
\setcounter{endexamplectr}{0}
|
||||||
|
\setcounter{example}{0}
|
||||||
|
\setcounter{currdefinitionctr}{0}
|
||||||
|
\setcounter{enddefinitionctr}{0}
|
||||||
|
\setcounter{definition}{0}
|
||||||
|
\setcounter{currtheoremctr}{0}
|
||||||
|
\setcounter{endtheoremctr}{0}
|
||||||
|
\setcounter{theorem}{0}
|
||||||
|
\setcounter{section@level}{2}
|
||||||
|
\setcounter{lstlisting}{0}
|
||||||
|
\setcounter{romanPage}{3}
|
||||||
|
}
|
79
docs/thesis/content/birdmap-technologies.aux
Normal file
79
docs/thesis/content/birdmap-technologies.aux
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
\relax
|
||||||
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
|
\citation{git}
|
||||||
|
\citation{trello}
|
||||||
|
\citation{vs}
|
||||||
|
\citation{vs-code}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {chapter}{\numberline {4}Használt technológiák}{10}{chapter.4}\protected@file@percent }
|
||||||
|
\@writefile{lof}{\select@language{magyar} \addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\select@language{magyar} \addvspace {10\p@ }}
|
||||||
|
\newlabel{chapt:birdmap-technologies}{{4}{10}{Kubernetes Dashboard (Web UI)}{chapter.4}{}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {4.1}A fejlesztési folyamat technológiái}{10}{section.4.1}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.1.1}Git}{10}{subsection.4.1.1}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.1.2}Trello}{10}{subsection.4.1.2}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.1.3}Visual Studio}{10}{subsection.4.1.3}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.1.4}Visual Studio Code}{10}{subsection.4.1.4}\protected@file@percent }
|
||||||
|
\citation{jwt}
|
||||||
|
\@writefile{lof}{\select@language{magyar} \contentsline {figure}{\numberline {4.1.}{\ignorespaces Egy példa állapot a Trello felületére a fejlesztés során\relax }}{11}{figure.caption.8}\protected@file@percent }
|
||||||
|
\newlabel{fig:trello}{{4.1}{11}{Egy példa állapot a Trello felületére a fejlesztés során\relax }{figure.caption.8}{}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {4.2}Backend technológiák}{11}{section.4.2}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.2.1}ASP.NET Core}{11}{subsection.4.2.1}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.2.2}Entity Framework Core}{11}{subsection.4.2.2}\protected@file@percent }
|
||||||
|
\citation{nlog}
|
||||||
|
\citation{react}
|
||||||
|
\citation{material}
|
||||||
|
\citation{material-ui}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.2.3}JSON Web Token}{12}{subsection.4.2.3}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.2.4}SignalR}{12}{subsection.4.2.4}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.2.5}MQTT.NET}{12}{subsection.4.2.5}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.2.6}NLog}{12}{subsection.4.2.6}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {4.3}Frontend technológiák}{12}{section.4.3}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.3.1}React.js}{12}{subsection.4.3.1}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.3.2}Material UI}{12}{subsection.4.3.2}\protected@file@percent }
|
||||||
|
\citation{apexcharts}
|
||||||
|
\citation{google-map-react}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.3.3}Apexcharts}{13}{subsection.4.3.3}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {4.3.4}Google Maps Api}{13}{subsection.4.3.4}\protected@file@percent }
|
||||||
|
\@setckpt{content/birdmap-technologies}{
|
||||||
|
\setcounter{page}{14}
|
||||||
|
\setcounter{equation}{0}
|
||||||
|
\setcounter{enumi}{0}
|
||||||
|
\setcounter{enumii}{0}
|
||||||
|
\setcounter{enumiii}{0}
|
||||||
|
\setcounter{enumiv}{0}
|
||||||
|
\setcounter{footnote}{0}
|
||||||
|
\setcounter{mpfootnote}{0}
|
||||||
|
\setcounter{part}{0}
|
||||||
|
\setcounter{chapter}{4}
|
||||||
|
\setcounter{section}{3}
|
||||||
|
\setcounter{subsection}{4}
|
||||||
|
\setcounter{subsubsection}{0}
|
||||||
|
\setcounter{paragraph}{0}
|
||||||
|
\setcounter{subparagraph}{0}
|
||||||
|
\setcounter{figure}{1}
|
||||||
|
\setcounter{table}{0}
|
||||||
|
\setcounter{footnote@add}{0}
|
||||||
|
\setcounter{footnote@ch}{0}
|
||||||
|
\setcounter{parentequation}{0}
|
||||||
|
\setcounter{Item}{0}
|
||||||
|
\setcounter{Hfootnote}{2}
|
||||||
|
\setcounter{bookmark@seq@number}{45}
|
||||||
|
\setcounter{lstnumber}{1}
|
||||||
|
\setcounter{endNonectr}{4}
|
||||||
|
\setcounter{currNonectr}{0}
|
||||||
|
\setcounter{caption@flags}{0}
|
||||||
|
\setcounter{continuedfloat}{0}
|
||||||
|
\setcounter{NAT@ctr}{0}
|
||||||
|
\setcounter{currexamplectr}{0}
|
||||||
|
\setcounter{endexamplectr}{0}
|
||||||
|
\setcounter{example}{0}
|
||||||
|
\setcounter{currdefinitionctr}{0}
|
||||||
|
\setcounter{enddefinitionctr}{0}
|
||||||
|
\setcounter{definition}{0}
|
||||||
|
\setcounter{currtheoremctr}{0}
|
||||||
|
\setcounter{endtheoremctr}{0}
|
||||||
|
\setcounter{theorem}{0}
|
||||||
|
\setcounter{section@level}{2}
|
||||||
|
\setcounter{lstlisting}{0}
|
||||||
|
\setcounter{romanPage}{3}
|
||||||
|
}
|
72
docs/thesis/content/birdnetes-introduction.aux
Normal file
72
docs/thesis/content/birdnetes-introduction.aux
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
\relax
|
||||||
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
|
\citation{birdnetes-tdk}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {chapter}{\numberline {2}A Birdnetes bemutatása}{3}{chapter.2}\protected@file@percent }
|
||||||
|
\@writefile{lof}{\select@language{magyar} \addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\select@language{magyar} \addvspace {10\p@ }}
|
||||||
|
\newlabel{chapt:birdnetes-introduction}{{2}{3}{A szakdolgozat felépítése}{chapter.2}{}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {2.1}Gyors elméleti összefoglaló}{3}{section.2.1}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {2.1.1}Cloud, felhő}{3}{subsection.2.1.1}\protected@file@percent }
|
||||||
|
\citation{docker}
|
||||||
|
\citation{kubernetes}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsubsection}{\numberline {2.1.1.1}Mikroszolgáltatások}{4}{subsubsection.2.1.1.1}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsubsection}{\numberline {2.1.1.2}Konténerek}{4}{subsubsection.2.1.1.2}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsubsection}{\numberline {2.1.1.3}Kubernetes}{4}{subsubsection.2.1.1.3}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {2.1.2}MQTT}{4}{subsection.2.1.2}\protected@file@percent }
|
||||||
|
\newlabel{subsect:mqtt}{{2.1.2}{4}{MQTT}{subsection.2.1.2}{}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {2.1.3}Open API}{4}{subsection.2.1.3}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {2.2}Rendszerszintű architektúra}{5}{section.2.2}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsection}{\numberline {2.2.1}Főbb komponensek}{5}{subsection.2.2.1}\protected@file@percent }
|
||||||
|
\@writefile{lof}{\select@language{magyar} \contentsline {figure}{\numberline {2.1.}{\ignorespaces A Birdnetes rendszer architektúrája\relax }}{5}{figure.caption.4}\protected@file@percent }
|
||||||
|
\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
|
||||||
|
\newlabel{fig:birdnetes-components}{{2.1}{5}{A Birdnetes rendszer architektúrája\relax }{figure.caption.4}{}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsubsection}{\numberline {2.2.1.1}IoT eszközök}{5}{subsubsection.2.2.1.1}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsubsection}{\numberline {2.2.1.2}Input Service}{6}{subsubsection.2.2.1.2}\protected@file@percent }
|
||||||
|
\newlabel{subsect:birdnetes-input-service}{{2.2.1.2}{6}{Input Service}{subsubsection.2.2.1.2}{}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsubsection}{\numberline {2.2.1.3}AI Service}{6}{subsubsection.2.2.1.3}\protected@file@percent }
|
||||||
|
\newlabel{subsect:birdnetes-ai-service}{{2.2.1.3}{6}{AI Service}{subsubsection.2.2.1.3}{}}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsubsection}{\numberline {2.2.1.4}Guard Service}{6}{subsubsection.2.2.1.4}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {subsubsection}{\numberline {2.2.1.5}Command and Control Service}{6}{subsubsection.2.2.1.5}\protected@file@percent }
|
||||||
|
\@setckpt{content/birdnetes-introduction}{
|
||||||
|
\setcounter{page}{7}
|
||||||
|
\setcounter{equation}{0}
|
||||||
|
\setcounter{enumi}{0}
|
||||||
|
\setcounter{enumii}{0}
|
||||||
|
\setcounter{enumiii}{0}
|
||||||
|
\setcounter{enumiv}{0}
|
||||||
|
\setcounter{footnote}{1}
|
||||||
|
\setcounter{mpfootnote}{0}
|
||||||
|
\setcounter{part}{0}
|
||||||
|
\setcounter{chapter}{2}
|
||||||
|
\setcounter{section}{2}
|
||||||
|
\setcounter{subsection}{1}
|
||||||
|
\setcounter{subsubsection}{5}
|
||||||
|
\setcounter{paragraph}{0}
|
||||||
|
\setcounter{subparagraph}{0}
|
||||||
|
\setcounter{figure}{1}
|
||||||
|
\setcounter{table}{0}
|
||||||
|
\setcounter{footnote@add}{0}
|
||||||
|
\setcounter{footnote@ch}{0}
|
||||||
|
\setcounter{parentequation}{0}
|
||||||
|
\setcounter{Item}{0}
|
||||||
|
\setcounter{Hfootnote}{1}
|
||||||
|
\setcounter{bookmark@seq@number}{21}
|
||||||
|
\setcounter{lstnumber}{1}
|
||||||
|
\setcounter{endNonectr}{3}
|
||||||
|
\setcounter{currNonectr}{0}
|
||||||
|
\setcounter{caption@flags}{0}
|
||||||
|
\setcounter{continuedfloat}{0}
|
||||||
|
\setcounter{NAT@ctr}{0}
|
||||||
|
\setcounter{currexamplectr}{0}
|
||||||
|
\setcounter{endexamplectr}{0}
|
||||||
|
\setcounter{example}{0}
|
||||||
|
\setcounter{currdefinitionctr}{0}
|
||||||
|
\setcounter{enddefinitionctr}{0}
|
||||||
|
\setcounter{definition}{0}
|
||||||
|
\setcounter{currtheoremctr}{0}
|
||||||
|
\setcounter{endtheoremctr}{0}
|
||||||
|
\setcounter{theorem}{0}
|
||||||
|
\setcounter{section@level}{3}
|
||||||
|
\setcounter{lstlisting}{0}
|
||||||
|
\setcounter{romanPage}{3}
|
||||||
|
}
|
51
docs/thesis/content/introduction.aux
Normal file
51
docs/thesis/content/introduction.aux
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
\relax
|
||||||
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {chapter}{\numberline {1}Bevezetés}{1}{chapter.1}\protected@file@percent }
|
||||||
|
\@writefile{lof}{\select@language{magyar} \addvspace {10\p@ }}
|
||||||
|
\@writefile{lot}{\select@language{magyar} \addvspace {10\p@ }}
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {1.1}A probléma}{1}{section.1.1}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {1.2}A megoldás}{1}{section.1.2}\protected@file@percent }
|
||||||
|
\@writefile{toc}{\select@language{magyar} \contentsline {section}{\numberline {1.3}A szakdolgozat felépítése}{2}{section.1.3}\protected@file@percent }
|
||||||
|
\@setckpt{content/introduction}{
|
||||||
|
\setcounter{page}{3}
|
||||||
|
\setcounter{equation}{0}
|
||||||
|
\setcounter{enumi}{0}
|
||||||
|
\setcounter{enumii}{0}
|
||||||
|
\setcounter{enumiii}{0}
|
||||||
|
\setcounter{enumiv}{0}
|
||||||
|
\setcounter{footnote}{0}
|
||||||
|
\setcounter{mpfootnote}{0}
|
||||||
|
\setcounter{part}{0}
|
||||||
|
\setcounter{chapter}{1}
|
||||||
|
\setcounter{section}{3}
|
||||||
|
\setcounter{subsection}{0}
|
||||||
|
\setcounter{subsubsection}{0}
|
||||||
|
\setcounter{paragraph}{0}
|
||||||
|
\setcounter{subparagraph}{0}
|
||||||
|
\setcounter{figure}{0}
|
||||||
|
\setcounter{table}{0}
|
||||||
|
\setcounter{footnote@add}{0}
|
||||||
|
\setcounter{footnote@ch}{0}
|
||||||
|
\setcounter{parentequation}{0}
|
||||||
|
\setcounter{Item}{0}
|
||||||
|
\setcounter{Hfootnote}{0}
|
||||||
|
\setcounter{bookmark@seq@number}{6}
|
||||||
|
\setcounter{lstnumber}{1}
|
||||||
|
\setcounter{endNonectr}{2}
|
||||||
|
\setcounter{currNonectr}{0}
|
||||||
|
\setcounter{caption@flags}{0}
|
||||||
|
\setcounter{continuedfloat}{0}
|
||||||
|
\setcounter{NAT@ctr}{0}
|
||||||
|
\setcounter{currexamplectr}{0}
|
||||||
|
\setcounter{endexamplectr}{0}
|
||||||
|
\setcounter{example}{0}
|
||||||
|
\setcounter{currdefinitionctr}{0}
|
||||||
|
\setcounter{enddefinitionctr}{0}
|
||||||
|
\setcounter{definition}{0}
|
||||||
|
\setcounter{currtheoremctr}{0}
|
||||||
|
\setcounter{endtheoremctr}{0}
|
||||||
|
\setcounter{theorem}{0}
|
||||||
|
\setcounter{section@level}{1}
|
||||||
|
\setcounter{lstlisting}{0}
|
||||||
|
\setcounter{romanPage}{3}
|
||||||
|
}
|
44
docs/thesis/include/declaration.aux
Normal file
44
docs/thesis/include/declaration.aux
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
\relax
|
||||||
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
|
\@setckpt{include/declaration}{
|
||||||
|
\setcounter{page}{2}
|
||||||
|
\setcounter{equation}{0}
|
||||||
|
\setcounter{enumi}{0}
|
||||||
|
\setcounter{enumii}{0}
|
||||||
|
\setcounter{enumiii}{0}
|
||||||
|
\setcounter{enumiv}{0}
|
||||||
|
\setcounter{footnote}{0}
|
||||||
|
\setcounter{mpfootnote}{0}
|
||||||
|
\setcounter{part}{0}
|
||||||
|
\setcounter{chapter}{0}
|
||||||
|
\setcounter{section}{0}
|
||||||
|
\setcounter{subsection}{0}
|
||||||
|
\setcounter{subsubsection}{0}
|
||||||
|
\setcounter{paragraph}{0}
|
||||||
|
\setcounter{subparagraph}{0}
|
||||||
|
\setcounter{figure}{0}
|
||||||
|
\setcounter{table}{0}
|
||||||
|
\setcounter{footnote@add}{0}
|
||||||
|
\setcounter{footnote@ch}{0}
|
||||||
|
\setcounter{parentequation}{0}
|
||||||
|
\setcounter{Item}{0}
|
||||||
|
\setcounter{Hfootnote}{0}
|
||||||
|
\setcounter{bookmark@seq@number}{0}
|
||||||
|
\setcounter{lstnumber}{1}
|
||||||
|
\setcounter{endNonectr}{2}
|
||||||
|
\setcounter{currNonectr}{0}
|
||||||
|
\setcounter{caption@flags}{0}
|
||||||
|
\setcounter{continuedfloat}{0}
|
||||||
|
\setcounter{NAT@ctr}{0}
|
||||||
|
\setcounter{currexamplectr}{0}
|
||||||
|
\setcounter{endexamplectr}{0}
|
||||||
|
\setcounter{example}{0}
|
||||||
|
\setcounter{currdefinitionctr}{0}
|
||||||
|
\setcounter{enddefinitionctr}{0}
|
||||||
|
\setcounter{definition}{0}
|
||||||
|
\setcounter{currtheoremctr}{0}
|
||||||
|
\setcounter{endtheoremctr}{0}
|
||||||
|
\setcounter{theorem}{0}
|
||||||
|
\setcounter{section@level}{0}
|
||||||
|
\setcounter{lstlisting}{0}
|
||||||
|
}
|
44
docs/thesis/include/titlepage.aux
Normal file
44
docs/thesis/include/titlepage.aux
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
\relax
|
||||||
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
|
\@setckpt{include/titlepage}{
|
||||||
|
\setcounter{page}{1}
|
||||||
|
\setcounter{equation}{0}
|
||||||
|
\setcounter{enumi}{0}
|
||||||
|
\setcounter{enumii}{0}
|
||||||
|
\setcounter{enumiii}{0}
|
||||||
|
\setcounter{enumiv}{0}
|
||||||
|
\setcounter{footnote}{0}
|
||||||
|
\setcounter{mpfootnote}{0}
|
||||||
|
\setcounter{part}{0}
|
||||||
|
\setcounter{chapter}{0}
|
||||||
|
\setcounter{section}{0}
|
||||||
|
\setcounter{subsection}{0}
|
||||||
|
\setcounter{subsubsection}{0}
|
||||||
|
\setcounter{paragraph}{0}
|
||||||
|
\setcounter{subparagraph}{0}
|
||||||
|
\setcounter{figure}{0}
|
||||||
|
\setcounter{table}{0}
|
||||||
|
\setcounter{footnote@add}{0}
|
||||||
|
\setcounter{footnote@ch}{0}
|
||||||
|
\setcounter{parentequation}{0}
|
||||||
|
\setcounter{Item}{0}
|
||||||
|
\setcounter{Hfootnote}{0}
|
||||||
|
\setcounter{bookmark@seq@number}{0}
|
||||||
|
\setcounter{lstnumber}{1}
|
||||||
|
\setcounter{endNonectr}{1}
|
||||||
|
\setcounter{currNonectr}{0}
|
||||||
|
\setcounter{caption@flags}{0}
|
||||||
|
\setcounter{continuedfloat}{0}
|
||||||
|
\setcounter{NAT@ctr}{0}
|
||||||
|
\setcounter{currexamplectr}{0}
|
||||||
|
\setcounter{endexamplectr}{0}
|
||||||
|
\setcounter{example}{0}
|
||||||
|
\setcounter{currdefinitionctr}{0}
|
||||||
|
\setcounter{enddefinitionctr}{0}
|
||||||
|
\setcounter{definition}{0}
|
||||||
|
\setcounter{currtheoremctr}{0}
|
||||||
|
\setcounter{endtheoremctr}{0}
|
||||||
|
\setcounter{theorem}{0}
|
||||||
|
\setcounter{section@level}{0}
|
||||||
|
\setcounter{lstlisting}{0}
|
||||||
|
}
|
30
docs/thesis/thesis.aux
Normal file
30
docs/thesis/thesis.aux
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
\relax
|
||||||
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
|
\providecommand\babel@aux[2]{}
|
||||||
|
\@nameuse{bbl@beforestart}
|
||||||
|
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
|
||||||
|
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
|
||||||
|
\global\let\oldcontentsline\contentsline
|
||||||
|
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
|
||||||
|
\global\let\oldnewlabel\newlabel
|
||||||
|
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
|
||||||
|
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
|
||||||
|
\AtEndDocument{\ifx\hyper@anchor\@undefined
|
||||||
|
\let\contentsline\oldcontentsline
|
||||||
|
\let\newlabel\oldnewlabel
|
||||||
|
\fi}
|
||||||
|
\fi}
|
||||||
|
\global\let\hyper@last\relax
|
||||||
|
\gdef\HyperFirstAtBeginDocument#1{#1}
|
||||||
|
\providecommand\HyField@AuxAddToFields[1]{}
|
||||||
|
\providecommand\HyField@AuxAddToCoFields[2]{}
|
||||||
|
\bibstyle{huplain}
|
||||||
|
\catcode \string ``=12
|
||||||
|
\@input{include/titlepage.aux}
|
||||||
|
\@input{include/declaration.aux}
|
||||||
|
\@input{content/abstract.aux}
|
||||||
|
\@input{content/introduction.aux}
|
||||||
|
\@input{content/birdnetes-introduction.aux}
|
||||||
|
\@input{content/birdmap-introduction.aux}
|
||||||
|
\@input{content/birdmap-technologies.aux}
|
||||||
|
\@input{content/birdmap-backend.aux}
|
51
docs/thesis/thesis.out
Normal file
51
docs/thesis/thesis.out
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
\BOOKMARK [0][-]{chapter*.2}{\376\377\000K\000i\000v\000o\000n\000a\000t}{}% 1
|
||||||
|
\BOOKMARK [0][-]{chapter*.3}{\376\377\000A\000b\000s\000t\000r\000a\000c\000t}{}% 2
|
||||||
|
\BOOKMARK [0][-]{chapter.1}{\376\377\000B\000e\000v\000e\000z\000e\000t\000\351\000s}{}% 3
|
||||||
|
\BOOKMARK [1][-]{section.1.1}{\376\377\000A\000\040\000p\000r\000o\000b\000l\000\351\000m\000a}{chapter.1}% 4
|
||||||
|
\BOOKMARK [1][-]{section.1.2}{\376\377\000A\000\040\000m\000e\000g\000o\000l\000d\000\341\000s}{chapter.1}% 5
|
||||||
|
\BOOKMARK [1][-]{section.1.3}{\376\377\000A\000\040\000s\000z\000a\000k\000d\000o\000l\000g\000o\000z\000a\000t\000\040\000f\000e\000l\000\351\000p\000\355\000t\000\351\000s\000e}{chapter.1}% 6
|
||||||
|
\BOOKMARK [0][-]{chapter.2}{\376\377\000A\000\040\000B\000i\000r\000d\000n\000e\000t\000e\000s\000\040\000b\000e\000m\000u\000t\000a\000t\000\341\000s\000a}{}% 7
|
||||||
|
\BOOKMARK [1][-]{section.2.1}{\376\377\000G\000y\000o\000r\000s\000\040\000e\000l\000m\000\351\000l\000e\000t\000i\000\040\000\366\000s\000s\000z\000e\000f\000o\000g\000l\000a\000l\000\363}{chapter.2}% 8
|
||||||
|
\BOOKMARK [2][-]{subsection.2.1.1}{\376\377\000C\000l\000o\000u\000d\000,\000\040\000f\000e\000l\000h\001\121}{section.2.1}% 9
|
||||||
|
\BOOKMARK [3][-]{subsubsection.2.1.1.1}{\376\377\000M\000i\000k\000r\000o\000s\000z\000o\000l\000g\000\341\000l\000t\000a\000t\000\341\000s\000o\000k}{subsection.2.1.1}% 10
|
||||||
|
\BOOKMARK [3][-]{subsubsection.2.1.1.2}{\376\377\000K\000o\000n\000t\000\351\000n\000e\000r\000e\000k}{subsection.2.1.1}% 11
|
||||||
|
\BOOKMARK [3][-]{subsubsection.2.1.1.3}{\376\377\000K\000u\000b\000e\000r\000n\000e\000t\000e\000s}{subsection.2.1.1}% 12
|
||||||
|
\BOOKMARK [2][-]{subsection.2.1.2}{\376\377\000M\000Q\000T\000T}{section.2.1}% 13
|
||||||
|
\BOOKMARK [2][-]{subsection.2.1.3}{\376\377\000O\000p\000e\000n\000\040\000A\000P\000I}{section.2.1}% 14
|
||||||
|
\BOOKMARK [1][-]{section.2.2}{\376\377\000R\000e\000n\000d\000s\000z\000e\000r\000s\000z\000i\000n\000t\001\161\000\040\000a\000r\000c\000h\000i\000t\000e\000k\000t\000\372\000r\000a}{chapter.2}% 15
|
||||||
|
\BOOKMARK [2][-]{subsection.2.2.1}{\376\377\000F\001\121\000b\000b\000\040\000k\000o\000m\000p\000o\000n\000e\000n\000s\000e\000k}{section.2.2}% 16
|
||||||
|
\BOOKMARK [3][-]{subsubsection.2.2.1.1}{\376\377\000I\000o\000T\000\040\000e\000s\000z\000k\000\366\000z\000\366\000k}{subsection.2.2.1}% 17
|
||||||
|
\BOOKMARK [3][-]{subsubsection.2.2.1.2}{\376\377\000I\000n\000p\000u\000t\000\040\000S\000e\000r\000v\000i\000c\000e}{subsection.2.2.1}% 18
|
||||||
|
\BOOKMARK [3][-]{subsubsection.2.2.1.3}{\376\377\000A\000I\000\040\000S\000e\000r\000v\000i\000c\000e}{subsection.2.2.1}% 19
|
||||||
|
\BOOKMARK [3][-]{subsubsection.2.2.1.4}{\376\377\000G\000u\000a\000r\000d\000\040\000S\000e\000r\000v\000i\000c\000e}{subsection.2.2.1}% 20
|
||||||
|
\BOOKMARK [3][-]{subsubsection.2.2.1.5}{\376\377\000C\000o\000m\000m\000a\000n\000d\000\040\000a\000n\000d\000\040\000C\000o\000n\000t\000r\000o\000l\000\040\000S\000e\000r\000v\000i\000c\000e}{subsection.2.2.1}% 21
|
||||||
|
\BOOKMARK [0][-]{chapter.3}{\376\377\000T\000e\000r\000v\000e\000k\000\040\000\351\000s\000\040\000a\000l\000t\000e\000r\000n\000a\000t\000\355\000v\000\341\000k}{}% 22
|
||||||
|
\BOOKMARK [1][-]{section.3.1}{\376\377\000T\000e\000r\000v\000e\000z\000\351\000s}{chapter.3}% 23
|
||||||
|
\BOOKMARK [1][-]{section.3.2}{\376\377\000A\000l\000t\000e\000r\000n\000a\000t\000\355\000v\000\341\000k}{chapter.3}% 24
|
||||||
|
\BOOKMARK [2][-]{subsection.3.2.1}{\376\377\000G\000r\000a\000f\000a\000n\000a}{section.3.2}% 25
|
||||||
|
\BOOKMARK [2][-]{subsection.3.2.2}{\376\377\000K\000i\000b\000a\000n\000a}{section.3.2}% 26
|
||||||
|
\BOOKMARK [2][-]{subsection.3.2.3}{\376\377\000K\000u\000b\000e\000r\000n\000e\000t\000e\000s\000\040\000D\000a\000s\000h\000b\000o\000a\000r\000d\000\040\000\050\000W\000e\000b\000\040\000U\000I\000\051}{section.3.2}% 27
|
||||||
|
\BOOKMARK [0][-]{chapter.4}{\376\377\000H\000a\000s\000z\000n\000\341\000l\000t\000\040\000t\000e\000c\000h\000n\000o\000l\000\363\000g\000i\000\341\000k}{}% 28
|
||||||
|
\BOOKMARK [1][-]{section.4.1}{\376\377\000A\000\040\000f\000e\000j\000l\000e\000s\000z\000t\000\351\000s\000i\000\040\000f\000o\000l\000y\000a\000m\000a\000t\000\040\000t\000e\000c\000h\000n\000o\000l\000\363\000g\000i\000\341\000i}{chapter.4}% 29
|
||||||
|
\BOOKMARK [2][-]{subsection.4.1.1}{\376\377\000G\000i\000t}{section.4.1}% 30
|
||||||
|
\BOOKMARK [2][-]{subsection.4.1.2}{\376\377\000T\000r\000e\000l\000l\000o}{section.4.1}% 31
|
||||||
|
\BOOKMARK [2][-]{subsection.4.1.3}{\376\377\000V\000i\000s\000u\000a\000l\000\040\000S\000t\000u\000d\000i\000o}{section.4.1}% 32
|
||||||
|
\BOOKMARK [2][-]{subsection.4.1.4}{\376\377\000V\000i\000s\000u\000a\000l\000\040\000S\000t\000u\000d\000i\000o\000\040\000C\000o\000d\000e}{section.4.1}% 33
|
||||||
|
\BOOKMARK [1][-]{section.4.2}{\376\377\000B\000a\000c\000k\000e\000n\000d\000\040\000t\000e\000c\000h\000n\000o\000l\000\363\000g\000i\000\341\000k}{chapter.4}% 34
|
||||||
|
\BOOKMARK [2][-]{subsection.4.2.1}{\376\377\000A\000S\000P\000.\000N\000E\000T\000\040\000C\000o\000r\000e}{section.4.2}% 35
|
||||||
|
\BOOKMARK [2][-]{subsection.4.2.2}{\376\377\000E\000n\000t\000i\000t\000y\000\040\000F\000r\000a\000m\000e\000w\000o\000r\000k\000\040\000C\000o\000r\000e}{section.4.2}% 36
|
||||||
|
\BOOKMARK [2][-]{subsection.4.2.3}{\376\377\000J\000S\000O\000N\000\040\000W\000e\000b\000\040\000T\000o\000k\000e\000n}{section.4.2}% 37
|
||||||
|
\BOOKMARK [2][-]{subsection.4.2.4}{\376\377\000S\000i\000g\000n\000a\000l\000R}{section.4.2}% 38
|
||||||
|
\BOOKMARK [2][-]{subsection.4.2.5}{\376\377\000M\000Q\000T\000T\000.\000N\000E\000T}{section.4.2}% 39
|
||||||
|
\BOOKMARK [2][-]{subsection.4.2.6}{\376\377\000N\000L\000o\000g}{section.4.2}% 40
|
||||||
|
\BOOKMARK [1][-]{section.4.3}{\376\377\000F\000r\000o\000n\000t\000e\000n\000d\000\040\000t\000e\000c\000h\000n\000o\000l\000\363\000g\000i\000\341\000k}{chapter.4}% 41
|
||||||
|
\BOOKMARK [2][-]{subsection.4.3.1}{\376\377\000R\000e\000a\000c\000t\000.\000j\000s}{section.4.3}% 42
|
||||||
|
\BOOKMARK [2][-]{subsection.4.3.2}{\376\377\000M\000a\000t\000e\000r\000i\000a\000l\000\040\000U\000I}{section.4.3}% 43
|
||||||
|
\BOOKMARK [2][-]{subsection.4.3.3}{\376\377\000A\000p\000e\000x\000c\000h\000a\000r\000t\000s}{section.4.3}% 44
|
||||||
|
\BOOKMARK [2][-]{subsection.4.3.4}{\376\377\000G\000o\000o\000g\000l\000e\000\040\000M\000a\000p\000s\000\040\000A\000p\000i}{section.4.3}% 45
|
||||||
|
\BOOKMARK [0][-]{chapter.5}{\376\377\000S\000z\000e\000r\000v\000e\000r\000\040\000o\000l\000d\000a\000l}{}% 46
|
||||||
|
\BOOKMARK [1][-]{section.5.1}{\376\377\000A\000r\000c\000h\000i\000t\000e\000k\000t\000\372\000r\000a}{chapter.5}% 47
|
||||||
|
\BOOKMARK [1][-]{section.5.2}{\376\377\000A\000d\000a\000t\000\040\000e\000l\000\351\000r\000\351\000s\000i\000\040\000r\000\351\000t\000e\000g}{chapter.5}% 48
|
||||||
|
\BOOKMARK [2][-]{subsection.5.2.1}{\376\377\000E\000n\000t\000i\000t\000\341\000s\000o\000k}{section.5.2}% 49
|
||||||
|
\BOOKMARK [2][-]{subsection.5.2.2}{\376\377\000S\000e\000e\000d\000e\000l\000\351\000s}{section.5.2}% 50
|
||||||
|
\BOOKMARK [1][-]{section.5.3}{\376\377\000\334\000z\000l\000e\000t\000i\000\040\000l\000o\000g\000i\000k\000a\000i\000\040\000r\000\351\000t\000e\000g}{chapter.5}% 51
|
Binary file not shown.
0
docs/thesis/thesis.toc
Normal file
0
docs/thesis/thesis.toc
Normal file
Loading…
Reference in New Issue
Block a user