From 1f29c8855a976e05c7d601780e7229167a109b12 Mon Sep 17 00:00:00 2001 From: foo-dogsquared Date: Mon, 29 Oct 2018 17:40:39 +0800 Subject: [PATCH] UPDATE: Replace SVGs with PNGs (SimpleSVG Sprites post) --- ...e-simplesvg-sprites-my-first-node-project.md | 4 ++-- .../simplesvg-sprites/app-components.png | Bin 0 -> 15262 bytes .../simplesvg-sprites/app-components.svg | 2 -- .../simplesvg-sprites/database-mechanism.png | Bin 0 -> 40578 bytes .../simplesvg-sprites/database-mechanism.svg | 2 -- 5 files changed, 2 insertions(+), 6 deletions(-) create mode 100644 assets/pictures/side-projects/simplesvg-sprites/app-components.png delete mode 100644 assets/pictures/side-projects/simplesvg-sprites/app-components.svg create mode 100644 assets/pictures/side-projects/simplesvg-sprites/database-mechanism.png delete mode 100644 assets/pictures/side-projects/simplesvg-sprites/database-mechanism.svg diff --git a/_posts/2018-10-20-introducing-the-simplesvg-sprites-my-first-node-project.md b/_posts/2018-10-20-introducing-the-simplesvg-sprites-my-first-node-project.md index f122e48..ce16ed4 100644 --- a/_posts/2018-10-20-introducing-the-simplesvg-sprites-my-first-node-project.md +++ b/_posts/2018-10-20-introducing-the-simplesvg-sprites-my-first-node-project.md @@ -31,7 +31,7 @@ After you've made decision with the list of icons to be included inside of the S This is an app composed of two parts: the front-end and the back-end with each having its libraries as shown in the representation of the app's components below: -![The app components]({{ 'assets/pictures/side-projects/simplesvg-sprites/app-components.svg' | relative_url }}) +![The app components]({{ 'assets/pictures/side-projects/simplesvg-sprites/app-components.png' | relative_url }}) The most important thing here (aside from Express) is the [Simple Icons npm package](https://www.npmjs.com/package/simple-icons) since it serves as the database of the whole collection from Simple Icons. @@ -89,7 +89,7 @@ The front-end is mostly built with Vue so that I can easily create the UI that I The front-end then requests the entire catalog of icons through an HTTP request to `/database` (origin included if you're requesting it outside of the app) and store them to the local storage including with a timestamp. Of course, I made sure to update the database in the front-end by making it request for the database in the same location if it detects that the local day of the user is not the same as before. -![How I "cache" the database]({{ 'assets/pictures/side-projects/simplesvg-sprites/database-mechanism.svg' | relative_url }}) +![How I "cache" the database]({{ 'assets/pictures/side-projects/simplesvg-sprites/database-mechanism.png' | relative_url }}) This way, I can easily reduce the possible workload of the server by limiting it since the Simple Icons package is surely locked and installed in one version. Although this also leads it to be very disadvantageous when the database is updated in the middle of the day. diff --git a/assets/pictures/side-projects/simplesvg-sprites/app-components.png b/assets/pictures/side-projects/simplesvg-sprites/app-components.png new file mode 100644 index 0000000000000000000000000000000000000000..10255cb64d774816f83f0ad2aeebb7ad79f83edd GIT binary patch literal 15262 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 literal 0 HcmV?d00001 diff --git a/assets/pictures/side-projects/simplesvg-sprites/app-components.svg b/assets/pictures/side-projects/simplesvg-sprites/app-components.svg deleted file mode 100644 index a7dfc9b..0000000 --- a/assets/pictures/side-projects/simplesvg-sprites/app-components.svg +++ /dev/null @@ -1,2 +0,0 @@ - -
simplesvg-sprites
simplesvg-sprites
back-end
back-end
front-end
front-end
Express
Express
Simple Icons API
Simple Icons API
Vue
Vue
Lodash
Lodash
Lodash
Lodash
\ No newline at end of file diff --git a/assets/pictures/side-projects/simplesvg-sprites/database-mechanism.png b/assets/pictures/side-projects/simplesvg-sprites/database-mechanism.png new file mode 100644 index 0000000000000000000000000000000000000000..e16bdb59d1b219cea7104b5f52350f8a94cd2487 GIT binary patch literal 40578 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 A -
front-end
front-end
Does
database
exist on local storage?
[Not supported by viewer]
Is the user's
local time
a new day?
[Not supported by viewer]
Request for the database
[Not supported by viewer]
Yes
Yes
No
No
Store it on the local storage
Store it on the local storage
Get database from the local storage
Get database from the local storage
Respond with the database
[Not supported by viewer]
server
[Not supported by viewer]
No
No
Yes
Yes
\ No newline at end of file