Started writing introduction and first chapters

This commit is contained in:
Marko Korhonen 2020-03-05 22:11:09 +02:00
parent 5ae8118b34
commit 1bce441a0e
No known key found for this signature in database
GPG key ID: 911B85FBC6003FE5
9 changed files with 73 additions and 114 deletions

View file

@ -1,36 +1,8 @@
%---------------------------------------------------------------------------------------- @article{medium:javascript,
% BOOK title = "The Top 10 Things Wrong with JavaScript",
%---------------------------------------------------------------------------------------- author = "Richard Kenneth Eng",
publisher = "Medium",
%@book{tobias:book, year = "2016",
%author = "{Tobias Oetiker} and {Hubert Partl} and {Irene Hyna} and {Elisabeth Schlegl}", url = "https://medium.com/javascript-non-grata/the-top-10-things-wrong-with-javascript-58f440d6b3d8",
%title = "The {N}ot {S}o {S}hort {I}ntroduction to \LaTeX{}2e", lastchecked = "5. Maaliskuuta, 2020"
%year = "2011", }
%address = "Switzerland"
%}
publisher = "???",
isbn = {1234}
%----------------------------------------------------------------------------------------
% ARTICLE
%----------------------------------------------------------------------------------------
%@article{un:udhr,
% author = {international community, United Nations},
% title = {The Universal Declaration of Human Rights},
% url = {http://www.un.org/en/documents/udhr},
% year = 1948
%}
%----------------------------------------------------------------------------------------
% WEB
%----------------------------------------------------------------------------------------
%@online{wikibooks:latex,
%title = "\LaTeX{}",
%year = "2012",
%publisher = "{wikibooks.org}",
%url = "http://en.wikibooks.org/wiki/LaTeX",
%lastchecked = "November~05, 2012"
%}
%author = "{???}",

View file

@ -4,33 +4,20 @@
% Acronyms, abbreviations, etc. % Acronyms, abbreviations, etc.
\newacronym{html}{HTML}{HyperText Markup Language} \newacronym{html}{HTML}{HyperText Markup Language}
\newacronym{sql}{SQL}{Structured Query Language}
\newacronym{io}{I/O}{Input/Output}
\newacronym{ram}{RAM}{Random Access Memory}
\newacronym{php}{PHP}{Hypertext Preprocessor} \newacronym{php}{PHP}{Hypertext Preprocessor}
% Glossary entries % Glossary entries
\newglossaryentry{part_key}{ \newglossaryentry{asiakaspuoli}{
name={partition key}, name={asiakaspuoli},
description={a column or set of columns from the same table whose consolidated value decide the partition for a given data} plural={asiakaspuolen},
} description={Nettiselaimessa pyörivät ohjelmointikielet, esimerkiksi JavaScript}
\newglossaryentry{thesis}{
name=thesis,
description={a written essay one submitted for a university degree},
plural=theses
}
\newglossaryentry{latex}
{
name=\LaTeX{},
description={Is a mark up language specially suited for scientific documents}
} }
\newglossaryentry{maths} \newglossaryentry{palvelinpuoli}{
{ name={palvelinpuoli},
name=mathematics, plural={palvelinpuolen},
description={Test} description={Palvelimella pyörivät ohjelmointikielet, esimerkiksi PHP}
} }
\glsaddall

View file

@ -4,8 +4,8 @@
\pagestyle{abstract} \pagestyle{abstract}
\begin{otherlanguage}{english} \begin{otherlanguage}{english}
{\renewcommand{\arraystretch}{2}% {\renewcommand{\arraystretch}{2}%
\begin{tabular}{ | p{4,7cm} | p{10,3cm} |} \begin{tabular}{ | p{4,7cm} | p{10,3cm} |}
\hline \hline
Author(s) \newline Author(s) \newline
Title \newline\newline Title \newline\newline
@ -28,14 +28,14 @@
Instructor(s) & \metropoliainstructors Instructor(s) & \metropoliainstructors
\\ \hline \\ \hline
\multicolumn{2}{|p{15cm}|}{\vspace{-22pt} \multicolumn{2}{|p{15cm}|}{\vspace{-22pt}
Abstract content. To force newline between paragraph in the abstract, you must have both a empty line and the newline command. \newline The purpose of this thesis was to evaluate the suitability of the Rust programming language for web programming.\newline
beginning of second paragraph\ldots During the thesis, a project was carried out, in which both the frontend and backend was written in Rust.
} \\[14cm] \hline } \\[14cm] \hline
Keywords & \metropoliakeywords Keywords & \metropoliakeywords
\\ \hline \\ \hline
\end{tabular} \end{tabular}
} }
\end{otherlanguage} \end{otherlanguage}
\clearpage \clearpage

View file

@ -28,9 +28,9 @@
Ohjaaja(t) & \ohjaajat Ohjaaja(t) & \ohjaajat
\\ \hline \\ \hline
\multicolumn{2}{|p{15cm}|}{\vspace{-22pt} \multicolumn{2}{|p{15cm}|}{\vspace{-22pt}
Tämä on tiivistelmän ensimmäinen kappale. Tiivistelmän kappaleet loppuvat komentoon newline, jotta saadaan yksi tyhjä rivi aikaiseksi. \newline Tämän opinnäytetyön tavoitteena on selvittää Rust-ohjelmointikielen soveltuvuutta web-ohjelmointiin.\newline
Tämä on tiivistlemän toinen kappale. Opinnäytetyön yhteydessä tehtiin projekti, missä frontend ja backend toteutetaan molemmat Rustilla. Tämän pohjalta arvioitiin kielen soveltuvuutta web-ojelmointiin.
} \\[14cm] \hline } \\[14cm] \hline
Avainsanat & \avainsanat Avainsanat & \avainsanat
\\ \hline \\ \hline

View file

@ -0,0 +1,10 @@
% Johdanto
\chapter{Johjanto}
Älylaitteiden ja tietokoneiden kehityksen sekä internetin parantuneen saatavuuden seurauksena netin kautta käytettävien palveluiden kysyntä ja tarjonta ovat kasvaneet todella kovalla vauhdilla viime vuosina. Tästä johtuen koko internetin luonne on muuttunut täysin. Olemme todella kaukana 90-luvun dokumenttipohjaisesta internetistä. Nykyaikaiset nettisivut ovat täysiverisiä ohjelmia.
Tämän takia myös web-ohjelmoinnissa käytettävissä teknologioissa on tapahtunut paljon muutoksia. Jotta nettisivuista saatiin pelkkien HTML-dokumenttien sijasta ohjelmia, 90-luvun puolivälissä julkaistiin PHP (palvelinpuolen kieli) ja JavaScript (asiakaspuolen kieli). Tänä päivänä näistä kahdesta JavaScript on ehdottomasti suositumpi, minkä takia keskityn tässä opinnäytetyössä sen vertailuun Rustin kanssa.
Vaikka JavaScript onkin suosittu, siinä on paljon ongelmia\cite{medium:javascript}. Suurimmat ongelmat liittyvät kielen heikkoon tyypitykseen, mikä saattaa aiheuttaa ongelmia jotka ilmenevät vasta ajon aikana ja vain tietyissä rajatapauksissa. Tämän takia koodin testaamiseen ja laadun ylläpitämiseen pitää panostaa enemmän. Toinen iso ongelma on se, että JavaScript ei ole tarkka koodin tyylistä. Tämä hankaloittaa projekteissa kommunikointia ja työtoverien koodin lukemista.
\clearpage

7
tex/chapters/2rust.tex Normal file
View file

@ -0,0 +1,7 @@
\chapter{Rust}
Rust on Mozillan 2010 julkaisema ohjelmointikieli. Se on hyvin suorituskykyinen järjestelmätason ohjelmointikieli, muistuttaen monilta osin C ja C++ kieliä. Rustin tarkoituksena on säilyttää näiden vanhojen kielien suorituskyky, mutta kuitenkin tarjoten samalla muun muassa vahvan tyypityksen, ratkaista C-kielille tyypilliset muistinhallintaongelmat ja taatun turvallisen rinnakkaisajon.
Lisäksi Rust-koodia voi koota WebAssemblyksi, mikä on omalta osaltaan kerännyt hyvin paljon kiinnostusta lähivuosina. Sitä on suunniteltu JavaScriptin seuraajaksi. Sen etuna huomattavasti parempi suorituskyky, koska se on etukäteen konekieleksi koottu kieli, eikä tulkittu niinkuin JavaScript on.
\clearpage

View file

@ -1,13 +0,0 @@
% Johdanto
\chapter{Johjanto}
Opinnäytetyön tavoitteena on selvittää Rust-ohjelmointikielen soveltuvuutta web-ohjelmointiin.
Opinnäytetyön yhteydessä tarkoituksena tehdä projekti, missä frontend ja backend toteutetaan molemmat Rustilla.
Rust on Mozillan 2010 julkaisema ohjelmointikieli. Se on hyvin suorituskykyinen järjestelmätason ohjelmointikieli, muistuttaen monilta osin C ja C++ kieliä. Rustin tarkoituksena on säilyttää näiden vanhojen kielien suorituskyky, mutta kuitenkin tarjoten samalla muun muassa vahvan tyypityksen, ratkaista tyypilliset C-kielien muistinhallintaongelmat, turvallisen rinnakkaisajon.
Lisäksi Rust kokoontuu suoraan WebAssemblyksi, mikä on omalta osaltaan kerännyt kanssa hyvin paljon kiinnostusta lähivuosina. Sitä on suunniteltu JavaScriptin seuraajaksi ja sen etuna on Rustin tavoin huomattavasti parempi tehokkuus ja suorituskyky.
\clearpage %force the next chapter to start on a new page. Keep that as the last line of your chapter!

View file

@ -112,7 +112,7 @@
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% If you don't use abbreviations/glossary, remove the following line. % If you don't use abbreviations/glossary, remove the following line.
%\input{style/abbr.tex} \input{style/abbr.tex}
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% CONTENT % CONTENT
@ -122,13 +122,8 @@
% Thesis content if you strictly follow the "Final Year Project guide". Of course, you % Thesis content if you strictly follow the "Final Year Project guide". Of course, you
% can adapt to your specific needs (add more chapter, rename them, etc.). % can adapt to your specific needs (add more chapter, rename them, etc.).
\input{chapters/introduction.tex} \input{chapters/1introduction.tex}
% uncomment what you need. \input{chapters/2rust.tex}
%\input{chapters/projectSpec.tex}
%\input{chapters/methods.tex}
%\input{chapters/theory.tex}
%\input{chapters/solution.tex}
%\input{chapters/conclusion.tex}
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% BIBLIOGRAPHY REFERENCES % BIBLIOGRAPHY REFERENCES

View file

@ -19,6 +19,7 @@
\printacronyms[title=List of Abbreviations] \printacronyms[title=List of Abbreviations]
} }
\setlist[description]{leftmargin=!, labelwidth=7em} \setlist[description]{leftmargin=!, labelwidth=7em}
\glsaddall
\printglossary \printglossary
\setlist[description]{style=standard} % reset settings back to default \setlist[description]{style=standard} % reset settings back to default
} }