diff --git a/tex/biblio.bib b/tex/biblio.bib index 0535a1b..7cd5b36 100644 --- a/tex/biblio.bib +++ b/tex/biblio.bib @@ -1,36 +1,8 @@ -%---------------------------------------------------------------------------------------- -% BOOK -%---------------------------------------------------------------------------------------- - -%@book{tobias:book, -%author = "{Tobias Oetiker} and {Hubert Partl} and {Irene Hyna} and {Elisabeth Schlegl}", -%title = "The {N}ot {S}o {S}hort {I}ntroduction to \LaTeX{}2e", -%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 = "{???}", +@article{medium:javascript, + title = "The Top 10 Things Wrong with JavaScript", + author = "Richard Kenneth Eng", + publisher = "Medium", + year = "2016", + url = "https://medium.com/javascript-non-grata/the-top-10-things-wrong-with-javascript-58f440d6b3d8", + lastchecked = "5. Maaliskuuta, 2020" +} diff --git a/tex/chapters/0abbr.tex b/tex/chapters/0abbr.tex index 6ae9200..64f69aa 100644 --- a/tex/chapters/0abbr.tex +++ b/tex/chapters/0abbr.tex @@ -4,33 +4,20 @@ % Acronyms, abbreviations, etc. \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} - % Glossary entries -\newglossaryentry{part_key}{ - name={partition key}, - description={a column or set of columns from the same table whose consolidated value decide the partition for a given data} -} -\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} -{ - name=mathematics, - description={Test} +\newglossaryentry{asiakaspuoli}{ + name={asiakaspuoli}, + plural={asiakaspuolen}, + description={Nettiselaimessa pyörivät ohjelmointikielet, esimerkiksi JavaScript} } +\newglossaryentry{palvelinpuoli}{ + name={palvelinpuoli}, + plural={palvelinpuolen}, + description={Palvelimella pyörivät ohjelmointikielet, esimerkiksi PHP} +} +\glsaddall diff --git a/tex/chapters/0abstract_en.tex b/tex/chapters/0abstract_en.tex index 356f21e..62e360b 100644 --- a/tex/chapters/0abstract_en.tex +++ b/tex/chapters/0abstract_en.tex @@ -4,38 +4,38 @@ \pagestyle{abstract} \begin{otherlanguage}{english} -{\renewcommand{\arraystretch}{2}% -\begin{tabular}{ | p{4,7cm} | p{10,3cm} |} - \hline - Author(s) \newline - Title \newline\newline - Number of Pages \newline - Date - & - \makeatletter - \@author \newline - \@title \newline\newline %! if very long title over 2 lines, remove one \newline - \pageref*{LastPage} pages + \total{chapter} appendices \newline %! if no appendices, risk to count total of chapter :D - \IfLanguageName {finnish} {\foreignlanguage{english}{\longdate\@date}} {\@date} - \makeatother - \\ \hline - Degree & \metropoliadegree - \\ \hline - Degree Programme & \metropoliadegreeprogramme - \\ \hline - Professional Major & \metropoliaspecialisation - \\ \hline - Instructor(s) & \metropoliainstructors - \\ \hline - \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 + {\renewcommand{\arraystretch}{2}% + \begin{tabular}{ | p{4,7cm} | p{10,3cm} |} + \hline + Author(s) \newline + Title \newline\newline + Number of Pages \newline + Date + & + \makeatletter + \@author \newline + \@title \newline\newline %! if very long title over 2 lines, remove one \newline + \pageref*{LastPage} pages + \total{chapter} appendices \newline %! if no appendices, risk to count total of chapter :D + \IfLanguageName {finnish} {\foreignlanguage{english}{\longdate\@date}} {\@date} + \makeatother + \\ \hline + Degree & \metropoliadegree + \\ \hline + Degree Programme & \metropoliadegreeprogramme + \\ \hline + Professional Major & \metropoliaspecialisation + \\ \hline + Instructor(s) & \metropoliainstructors + \\ \hline + \multicolumn{2}{|p{15cm}|}{\vspace{-22pt} + The purpose of this thesis was to evaluate the suitability of the Rust programming language for web programming.\newline - beginning of second paragraph\ldots - } \\[14cm] \hline - Keywords & \metropoliakeywords - \\ \hline -\end{tabular} -} + During the thesis, a project was carried out, in which both the frontend and backend was written in Rust. + } \\[14cm] \hline + Keywords & \metropoliakeywords + \\ \hline + \end{tabular} + } \end{otherlanguage} \clearpage diff --git a/tex/chapters/0abstract_fi.tex b/tex/chapters/0abstract_fi.tex index 8ca537c..510c90a 100644 --- a/tex/chapters/0abstract_fi.tex +++ b/tex/chapters/0abstract_fi.tex @@ -28,9 +28,9 @@ Ohjaaja(t) & \ohjaajat \\ \hline \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ä on tiivistlemän toinen kappale. + Tämän opinnäytetyön tavoitteena on selvittää Rust-ohjelmointikielen soveltuvuutta web-ohjelmointiin.\newline + + Opinnäytetyön yhteydessä tehtiin projekti, missä frontend ja backend toteutetaan molemmat Rustilla. Tämän pohjalta arvioitiin kielen soveltuvuutta web-ojelmointiin. } \\[14cm] \hline Avainsanat & \avainsanat \\ \hline diff --git a/tex/chapters/1introduction.tex b/tex/chapters/1introduction.tex new file mode 100644 index 0000000..578a43d --- /dev/null +++ b/tex/chapters/1introduction.tex @@ -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 diff --git a/tex/chapters/2rust.tex b/tex/chapters/2rust.tex new file mode 100644 index 0000000..01715a9 --- /dev/null +++ b/tex/chapters/2rust.tex @@ -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 diff --git a/tex/chapters/introduction.tex b/tex/chapters/introduction.tex deleted file mode 100644 index fe2eb8f..0000000 --- a/tex/chapters/introduction.tex +++ /dev/null @@ -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! diff --git a/tex/main.tex b/tex/main.tex index 4028a23..c48af31 100644 --- a/tex/main.tex +++ b/tex/main.tex @@ -112,7 +112,7 @@ %---------------------------------------------------------------------------------------- % If you don't use abbreviations/glossary, remove the following line. -%\input{style/abbr.tex} +\input{style/abbr.tex} %---------------------------------------------------------------------------------------- % CONTENT @@ -122,13 +122,8 @@ % 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.). -\input{chapters/introduction.tex} -% uncomment what you need. -%\input{chapters/projectSpec.tex} -%\input{chapters/methods.tex} -%\input{chapters/theory.tex} -%\input{chapters/solution.tex} -%\input{chapters/conclusion.tex} +\input{chapters/1introduction.tex} +\input{chapters/2rust.tex} %---------------------------------------------------------------------------------------- % BIBLIOGRAPHY REFERENCES diff --git a/tex/style/abbr.tex b/tex/style/abbr.tex index 6bea215..499686c 100644 --- a/tex/style/abbr.tex +++ b/tex/style/abbr.tex @@ -19,6 +19,7 @@ \printacronyms[title=List of Abbreviations] } \setlist[description]{leftmargin=!, labelwidth=7em} + \glsaddall \printglossary \setlist[description]{style=standard} % reset settings back to default }