From 399592f77539189862edb1e6ac27b45f9bb2b549 Mon Sep 17 00:00:00 2001 From: Ezerous Date: Thu, 9 Dec 2021 20:53:21 +0200 Subject: [PATCH] feat: add Redux-Saga --- .../figures/chapter-4/4.3.redux-saga-logo.png | Bin 0 -> 25739 bytes .../4.3.2.ui-technologies.tex | 4 +++- .../4.3.2.3.redux-saga.tex | 7 +++++++ thesis.pdf | Bin 5993170 -> 6021383 bytes 4 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 assets/figures/chapter-4/4.3.redux-saga-logo.png create mode 100644 chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.3.redux-saga.tex diff --git a/assets/figures/chapter-4/4.3.redux-saga-logo.png b/assets/figures/chapter-4/4.3.redux-saga-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..38a4c43deda3955da89f56e1715719666f1fac51 GIT binary patch literal 25739 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

T6cy~{oSZ87%NYilUHtKOka?nAm0%K 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 literal 0 HcmV?d00001 diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies.tex b/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies.tex index 9007969..e4a6f8d 100644 --- a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies.tex +++ b/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies.tex @@ -4,4 +4,6 @@ % TODO: add technologies like redux, sagas -\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.1.react}\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.2.redux} \ No newline at end of file +\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.1.react} +\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.2.redux} +\input{chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.3.redux-saga} \ No newline at end of file diff --git a/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.3.redux-saga.tex b/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.3.redux-saga.tex new file mode 100644 index 0000000..9f2a155 --- /dev/null +++ b/chapters/4.application-implementation/4.3.implementation-technology-stack/4.3.2.ui-technologies/4.3.2.3.redux-saga.tex @@ -0,0 +1,7 @@ +\subsubsection{Redux-Saga} \label{subsection:4-3-2-3-redux-saga} + +\logo{chapter-4/4.3.redux-saga-logo}{Redux-Saga logo} + +Το Redux-Saga\footnote{\url{https://redux.js.org/}} αποτελεί μία βιβλιοθήκη Javascript του οικοσυστήματος του Redux. Πρόκειται για ένα Redux middleware, το οποίο χρησιμοποιεί ESG generator functions\footnote{\url{https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*}} για την εκτέλεση και διαχείριση ποικίλων ασύγχρονων side effect. Αυτές οι συναρτήσεις (sagas) παρέχουν μία πληθώρα επιλογών για την παράλληλη εκτέλεση κώδικα που μπορεί να σχετίζεται με εξωτερικά APIs, όπως με ένα blockchain ή μία βάση δεδομένων. Με αυτόν τον τρόπο, τα τελευταία μπορούν να συμπεριληφθούν στο κεντρικό Redux store και τη διαχείριση του συνολικού state της εφαρμογής. + +Το Redux-Saga έχει το αποθετήριό του στο GitHub (\url{https://github.com/redux-saga/redux-saga}) και διατίθεται μέσω του μητρώου npm (\url{https://www.npmjs.com/package/redux-saga}). diff --git a/thesis.pdf b/thesis.pdf index 8736bb236104a6b416e811e039e616d2659575a7..96669645032a8f91e1c1a2f64eea454421925fba 100644 GIT binary patch delta 81013 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