From b347115eae26676c629d402070ea12bf38337d4c Mon Sep 17 00:00:00 2001 From: Wanjohi <71614375+wanjohiryan@users.noreply.github.com> Date: Sun, 8 Sep 2024 21:28:36 +0300 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20Clean=20up=20after=20the=20?= =?UTF-8?q?blog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....timestamp-1725381693400-a4b95b20ff36f.mjs | 124 ------------------ ...0-system-design-concept-you-should-know.md | 54 -------- apps/www/src/routes/blog/layout.tsx | 15 +-- bun.lockb | Bin 372240 -> 371024 bytes 4 files changed, 1 insertion(+), 192 deletions(-) delete mode 100644 apps/docs/vite.config.ts.timestamp-1725381693400-a4b95b20ff36f.mjs delete mode 100644 apps/www/src/blogs/10-system-design-concept-you-should-know.md diff --git a/apps/docs/vite.config.ts.timestamp-1725381693400-a4b95b20ff36f.mjs b/apps/docs/vite.config.ts.timestamp-1725381693400-a4b95b20ff36f.mjs deleted file mode 100644 index f9ee07c1..00000000 --- a/apps/docs/vite.config.ts.timestamp-1725381693400-a4b95b20ff36f.mjs +++ /dev/null @@ -1,124 +0,0 @@ -// vite.config.ts -import { defineConfig } from "file:///home/wanjohi/projects/nestri/node_modules/vite/dist/node/index.js"; -import { qwikVite } from "file:///home/wanjohi/projects/nestri/node_modules/@builder.io/qwik/dist/optimizer.mjs"; -import { qwikCity } from "file:///home/wanjohi/projects/nestri/node_modules/@builder.io/qwik-city/lib/vite/index.mjs"; -import tsconfigPaths from "file:///home/wanjohi/projects/nestri/node_modules/vite-tsconfig-paths/dist/index.mjs"; - -// package.json -var package_default = { - name: "@nestri/docs", - description: "Your games. Your rules.", - engines: { - node: "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "engines-annotation": "Mostly required by sharp which needs a Node-API v9 compatible runtime", - private: true, - trustedDependencies: [ - "sharp" - ], - "trustedDependencies-annotation": "Needed for bun to allow running install scripts", - type: "module", - scripts: { - build: "qwik build", - "build.client": "vite build", - "build.preview": "vite build --ssr src/entry.preview.tsx", - "build.server": "vite build -c adapters/cloudflare-pages/vite.config.ts", - "build.types": "tsc --incremental --noEmit", - deploy: "wrangler pages deploy ./dist", - dev: "vite --mode ssr", - "dev.debug": "node --inspect-brk ./node_modules/vite/bin/vite.js --mode ssr --force", - fmt: "prettier --write .", - "fmt.check": "prettier --check .", - lint: 'eslint "src/**/*.ts*"', - preview: "qwik build preview && vite preview --open", - serve: "wrangler pages dev ./dist --compatibility-flags=nodejs_als", - start: "vite --open --mode ssr", - qwik: "qwik" - }, - devDependencies: { - "@builder.io/qwik": "^1.8.0", - "@builder.io/qwik-city": "^1.8.0", - "@nestri/eslint-config": "*", - "@nestri/typescript-config": "*", - "@nestri/ui": "*", - "@types/eslint": "8.56.10", - "@types/node": "20.14.11", - "@typescript-eslint/eslint-plugin": "7.16.1", - "@typescript-eslint/parser": "7.16.1", - eslint: "8.57.0", - "eslint-plugin-qwik": "^1.8.0", - prettier: "3.3.3", - typescript: "5.4.5", - undici: "*", - vite: "5.3.5", - "vite-tsconfig-paths": "^4.2.1", - wrangler: "^3.0.0" - } -}; - -// vite.config.ts -var { dependencies = {}, devDependencies = {} } = package_default; -errorOnDuplicatesPkgDeps(devDependencies, dependencies); -var vite_config_default = defineConfig(({ command, mode }) => { - return { - plugins: [qwikCity(), qwikVite(), tsconfigPaths()], - // This tells Vite which dependencies to pre-build in dev mode. - optimizeDeps: { - // Put problematic deps that break bundling here, mostly those with binaries. - // For example ['better-sqlite3'] if you use that in server functions. - exclude: [] - }, - /** - * This is an advanced setting. It improves the bundling of your server code. To use it, make sure you understand when your consumed packages are dependencies or dev dependencies. (otherwise things will break in production) - */ - // ssr: - // command === "build" && mode === "production" - // ? { - // // All dev dependencies should be bundled in the server build - // noExternal: Object.keys(devDependencies), - // // Anything marked as a dependency will not be bundled - // // These should only be production binary deps (including deps of deps), CLI deps, and their module graph - // // If a dep-of-dep needs to be external, add it here - // // For example, if something uses `bcrypt` but you don't have it as a dep, you can write - // // external: [...Object.keys(dependencies), 'bcrypt'] - // external: Object.keys(dependencies), - // } - // : undefined, - server: { - headers: { - // Don't cache the server response in dev mode - "Cache-Control": "public, max-age=0" - } - }, - preview: { - headers: { - // Do cache the server response in preview (non-adapter production build) - "Cache-Control": "public, max-age=600" - } - } - }; -}); -function errorOnDuplicatesPkgDeps(devDependencies2, dependencies2) { - let msg = ""; - const duplicateDeps = Object.keys(devDependencies2).filter( - (dep) => dependencies2[dep] - ); - const qwikPkg = Object.keys(dependencies2).filter( - (value) => /qwik/i.test(value) - ); - msg = `Move qwik packages ${qwikPkg.join(", ")} to devDependencies`; - if (qwikPkg.length > 0) { - throw new Error(msg); - } - msg = ` - Warning: The dependency "${duplicateDeps.join(", ")}" is listed in both "devDependencies" and "dependencies". - Please move the duplicated dependencies to "devDependencies" only and remove it from "dependencies" - `; - if (duplicateDeps.length > 0) { - throw new Error(msg); - } -} -export { - vite_config_default as default -}; -//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAicGFja2FnZS5qc29uIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL2hvbWUvd2Fuam9oaS9wcm9qZWN0cy9uZXN0cmkvYXBwcy9kb2NzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvaG9tZS93YW5qb2hpL3Byb2plY3RzL25lc3RyaS9hcHBzL2RvY3Mvdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL2hvbWUvd2Fuam9oaS9wcm9qZWN0cy9uZXN0cmkvYXBwcy9kb2NzL3ZpdGUuY29uZmlnLnRzXCI7LyoqXG4gKiBUaGlzIGlzIHRoZSBiYXNlIGNvbmZpZyBmb3Igdml0ZS5cbiAqIFdoZW4gYnVpbGRpbmcsIHRoZSBhZGFwdGVyIGNvbmZpZyBpcyB1c2VkIHdoaWNoIGxvYWRzIHRoaXMgZmlsZSBhbmQgZXh0ZW5kcyBpdC5cbiAqL1xuaW1wb3J0IHsgZGVmaW5lQ29uZmlnLCB0eXBlIFVzZXJDb25maWcgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHsgcXdpa1ZpdGUgfSBmcm9tIFwiQGJ1aWxkZXIuaW8vcXdpay9vcHRpbWl6ZXJcIjtcbmltcG9ydCB7IHF3aWtDaXR5IH0gZnJvbSBcIkBidWlsZGVyLmlvL3F3aWstY2l0eS92aXRlXCI7XG5pbXBvcnQgdHNjb25maWdQYXRocyBmcm9tIFwidml0ZS10c2NvbmZpZy1wYXRoc1wiO1xuaW1wb3J0IHBrZyBmcm9tIFwiLi9wYWNrYWdlLmpzb25cIjtcblxudHlwZSBQa2dEZXAgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuY29uc3QgeyBkZXBlbmRlbmNpZXMgPSB7fSwgZGV2RGVwZW5kZW5jaWVzID0ge30gfSA9IHBrZyBhcyBhbnkgYXMge1xuICBkZXBlbmRlbmNpZXM6IFBrZ0RlcDtcbiAgZGV2RGVwZW5kZW5jaWVzOiBQa2dEZXA7XG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XG59O1xuZXJyb3JPbkR1cGxpY2F0ZXNQa2dEZXBzKGRldkRlcGVuZGVuY2llcywgZGVwZW5kZW5jaWVzKTtcblxuLyoqXG4gKiBOb3RlIHRoYXQgVml0ZSBub3JtYWxseSBzdGFydHMgZnJvbSBgaW5kZXguaHRtbGAgYnV0IHRoZSBxd2lrQ2l0eSBwbHVnaW4gbWFrZXMgc3RhcnQgYXQgYHNyYy9lbnRyeS5zc3IudHN4YCBpbnN0ZWFkLlxuICovXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoKHsgY29tbWFuZCwgbW9kZSB9KTogVXNlckNvbmZpZyA9PiB7XG4gIHJldHVybiB7XG4gICAgcGx1Z2luczogW3F3aWtDaXR5KCksIHF3aWtWaXRlKCksIHRzY29uZmlnUGF0aHMoKV0sXG4gICAgLy8gVGhpcyB0ZWxscyBWaXRlIHdoaWNoIGRlcGVuZGVuY2llcyB0byBwcmUtYnVpbGQgaW4gZGV2IG1vZGUuXG4gICAgb3B0aW1pemVEZXBzOiB7XG4gICAgICAvLyBQdXQgcHJvYmxlbWF0aWMgZGVwcyB0aGF0IGJyZWFrIGJ1bmRsaW5nIGhlcmUsIG1vc3RseSB0aG9zZSB3aXRoIGJpbmFyaWVzLlxuICAgICAgLy8gRm9yIGV4YW1wbGUgWydiZXR0ZXItc3FsaXRlMyddIGlmIHlvdSB1c2UgdGhhdCBpbiBzZXJ2ZXIgZnVuY3Rpb25zLlxuICAgICAgZXhjbHVkZTogW10sXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgYW4gYWR2YW5jZWQgc2V0dGluZy4gSXQgaW1wcm92ZXMgdGhlIGJ1bmRsaW5nIG9mIHlvdXIgc2VydmVyIGNvZGUuIFRvIHVzZSBpdCwgbWFrZSBzdXJlIHlvdSB1bmRlcnN0YW5kIHdoZW4geW91ciBjb25zdW1lZCBwYWNrYWdlcyBhcmUgZGVwZW5kZW5jaWVzIG9yIGRldiBkZXBlbmRlbmNpZXMuIChvdGhlcndpc2UgdGhpbmdzIHdpbGwgYnJlYWsgaW4gcHJvZHVjdGlvbilcbiAgICAgKi9cbiAgICAvLyBzc3I6XG4gICAgLy8gICBjb21tYW5kID09PSBcImJ1aWxkXCIgJiYgbW9kZSA9PT0gXCJwcm9kdWN0aW9uXCJcbiAgICAvLyAgICAgPyB7XG4gICAgLy8gICAgICAgICAvLyBBbGwgZGV2IGRlcGVuZGVuY2llcyBzaG91bGQgYmUgYnVuZGxlZCBpbiB0aGUgc2VydmVyIGJ1aWxkXG4gICAgLy8gICAgICAgICBub0V4dGVybmFsOiBPYmplY3Qua2V5cyhkZXZEZXBlbmRlbmNpZXMpLFxuICAgIC8vICAgICAgICAgLy8gQW55dGhpbmcgbWFya2VkIGFzIGEgZGVwZW5kZW5jeSB3aWxsIG5vdCBiZSBidW5kbGVkXG4gICAgLy8gICAgICAgICAvLyBUaGVzZSBzaG91bGQgb25seSBiZSBwcm9kdWN0aW9uIGJpbmFyeSBkZXBzIChpbmNsdWRpbmcgZGVwcyBvZiBkZXBzKSwgQ0xJIGRlcHMsIGFuZCB0aGVpciBtb2R1bGUgZ3JhcGhcbiAgICAvLyAgICAgICAgIC8vIElmIGEgZGVwLW9mLWRlcCBuZWVkcyB0byBiZSBleHRlcm5hbCwgYWRkIGl0IGhlcmVcbiAgICAvLyAgICAgICAgIC8vIEZvciBleGFtcGxlLCBpZiBzb21ldGhpbmcgdXNlcyBgYmNyeXB0YCBidXQgeW91IGRvbid0IGhhdmUgaXQgYXMgYSBkZXAsIHlvdSBjYW4gd3JpdGVcbiAgICAvLyAgICAgICAgIC8vIGV4dGVybmFsOiBbLi4uT2JqZWN0LmtleXMoZGVwZW5kZW5jaWVzKSwgJ2JjcnlwdCddXG4gICAgLy8gICAgICAgICBleHRlcm5hbDogT2JqZWN0LmtleXMoZGVwZW5kZW5jaWVzKSxcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgIDogdW5kZWZpbmVkLFxuXG4gICAgc2VydmVyOiB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIC8vIERvbid0IGNhY2hlIHRoZSBzZXJ2ZXIgcmVzcG9uc2UgaW4gZGV2IG1vZGVcbiAgICAgICAgXCJDYWNoZS1Db250cm9sXCI6IFwicHVibGljLCBtYXgtYWdlPTBcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBwcmV2aWV3OiB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIC8vIERvIGNhY2hlIHRoZSBzZXJ2ZXIgcmVzcG9uc2UgaW4gcHJldmlldyAobm9uLWFkYXB0ZXIgcHJvZHVjdGlvbiBidWlsZClcbiAgICAgICAgXCJDYWNoZS1Db250cm9sXCI6IFwicHVibGljLCBtYXgtYWdlPTYwMFwiLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufSk7XG5cbi8vICoqKiB1dGlscyAqKipcblxuLyoqXG4gKiBGdW5jdGlvbiB0byBpZGVudGlmeSBkdXBsaWNhdGUgZGVwZW5kZW5jaWVzIGFuZCB0aHJvdyBhbiBlcnJvclxuICogQHBhcmFtIHtPYmplY3R9IGRldkRlcGVuZGVuY2llcyAtIExpc3Qgb2YgZGV2ZWxvcG1lbnQgZGVwZW5kZW5jaWVzXG4gKiBAcGFyYW0ge09iamVjdH0gZGVwZW5kZW5jaWVzIC0gTGlzdCBvZiBwcm9kdWN0aW9uIGRlcGVuZGVuY2llc1xuICovXG5mdW5jdGlvbiBlcnJvck9uRHVwbGljYXRlc1BrZ0RlcHMoXG4gIGRldkRlcGVuZGVuY2llczogUGtnRGVwLFxuICBkZXBlbmRlbmNpZXM6IFBrZ0RlcCxcbikge1xuICBsZXQgbXNnID0gXCJcIjtcbiAgLy8gQ3JlYXRlIGFuIGFycmF5ICdkdXBsaWNhdGVEZXBzJyBieSBmaWx0ZXJpbmcgZGV2RGVwZW5kZW5jaWVzLlxuICAvLyBJZiBhIGRlcGVuZGVuY3kgYWxzbyBleGlzdHMgaW4gZGVwZW5kZW5jaWVzLCBpdCBpcyBjb25zaWRlcmVkIGEgZHVwbGljYXRlLlxuICBjb25zdCBkdXBsaWNhdGVEZXBzID0gT2JqZWN0LmtleXMoZGV2RGVwZW5kZW5jaWVzKS5maWx0ZXIoXG4gICAgKGRlcCkgPT4gZGVwZW5kZW5jaWVzW2RlcF0sXG4gICk7XG5cbiAgLy8gaW5jbHVkZSBhbnkga25vd24gcXdpayBwYWNrYWdlc1xuICBjb25zdCBxd2lrUGtnID0gT2JqZWN0LmtleXMoZGVwZW5kZW5jaWVzKS5maWx0ZXIoKHZhbHVlKSA9PlxuICAgIC9xd2lrL2kudGVzdCh2YWx1ZSksXG4gICk7XG5cbiAgLy8gYW55IGVycm9ycyBmb3IgbWlzc2luZyBcInF3aWstY2l0eS1wbGFuXCJcbiAgLy8gW1BMVUdJTl9FUlJPUl06IEludmFsaWQgbW9kdWxlIFwiQHF3aWstY2l0eS1wbGFuXCIgaXMgbm90IGEgdmFsaWQgcGFja2FnZVxuICBtc2cgPSBgTW92ZSBxd2lrIHBhY2thZ2VzICR7cXdpa1BrZy5qb2luKFwiLCBcIil9IHRvIGRldkRlcGVuZGVuY2llc2A7XG5cbiAgaWYgKHF3aWtQa2cubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihtc2cpO1xuICB9XG5cbiAgLy8gRm9ybWF0IHRoZSBlcnJvciBtZXNzYWdlIHdpdGggdGhlIGR1cGxpY2F0ZXMgbGlzdC5cbiAgLy8gVGhlIGBqb2luYCBmdW5jdGlvbiBpcyB1c2VkIHRvIHJlcHJlc2VudCB0aGUgZWxlbWVudHMgb2YgdGhlICdkdXBsaWNhdGVEZXBzJyBhcnJheSBhcyBhIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmcuXG4gIG1zZyA9IGBcbiAgICBXYXJuaW5nOiBUaGUgZGVwZW5kZW5jeSBcIiR7ZHVwbGljYXRlRGVwcy5qb2luKFwiLCBcIil9XCIgaXMgbGlzdGVkIGluIGJvdGggXCJkZXZEZXBlbmRlbmNpZXNcIiBhbmQgXCJkZXBlbmRlbmNpZXNcIi5cbiAgICBQbGVhc2UgbW92ZSB0aGUgZHVwbGljYXRlZCBkZXBlbmRlbmNpZXMgdG8gXCJkZXZEZXBlbmRlbmNpZXNcIiBvbmx5IGFuZCByZW1vdmUgaXQgZnJvbSBcImRlcGVuZGVuY2llc1wiXG4gIGA7XG5cbiAgLy8gVGhyb3cgYW4gZXJyb3Igd2l0aCB0aGUgY29uc3RydWN0ZWQgbWVzc2FnZS5cbiAgaWYgKGR1cGxpY2F0ZURlcHMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihtc2cpO1xuICB9XG59XG4iLCAie1xuICBcIm5hbWVcIjogXCJAbmVzdHJpL2RvY3NcIixcbiAgXCJkZXNjcmlwdGlvblwiOiBcIllvdXIgZ2FtZXMuIFlvdXIgcnVsZXMuXCIsXG4gIFwiZW5naW5lc1wiOiB7XG4gICAgXCJub2RlXCI6IFwiXjE4LjE3LjAgfHwgXjIwLjMuMCB8fCA+PTIxLjAuMFwiXG4gIH0sXG4gIFwiZW5naW5lcy1hbm5vdGF0aW9uXCI6IFwiTW9zdGx5IHJlcXVpcmVkIGJ5IHNoYXJwIHdoaWNoIG5lZWRzIGEgTm9kZS1BUEkgdjkgY29tcGF0aWJsZSBydW50aW1lXCIsXG4gIFwicHJpdmF0ZVwiOiB0cnVlLFxuICBcInRydXN0ZWREZXBlbmRlbmNpZXNcIjogW1xuICAgIFwic2hhcnBcIlxuICBdLFxuICBcInRydXN0ZWREZXBlbmRlbmNpZXMtYW5ub3RhdGlvblwiOiBcIk5lZWRlZCBmb3IgYnVuIHRvIGFsbG93IHJ1bm5pbmcgaW5zdGFsbCBzY3JpcHRzXCIsXG4gIFwidHlwZVwiOiBcIm1vZHVsZVwiLFxuICBcInNjcmlwdHNcIjoge1xuICAgIFwiYnVpbGRcIjogXCJxd2lrIGJ1aWxkXCIsXG4gICAgXCJidWlsZC5jbGllbnRcIjogXCJ2aXRlIGJ1aWxkXCIsXG4gICAgXCJidWlsZC5wcmV2aWV3XCI6IFwidml0ZSBidWlsZCAtLXNzciBzcmMvZW50cnkucHJldmlldy50c3hcIixcbiAgICBcImJ1aWxkLnNlcnZlclwiOiBcInZpdGUgYnVpbGQgLWMgYWRhcHRlcnMvY2xvdWRmbGFyZS1wYWdlcy92aXRlLmNvbmZpZy50c1wiLFxuICAgIFwiYnVpbGQudHlwZXNcIjogXCJ0c2MgLS1pbmNyZW1lbnRhbCAtLW5vRW1pdFwiLFxuICAgIFwiZGVwbG95XCI6IFwid3JhbmdsZXIgcGFnZXMgZGVwbG95IC4vZGlzdFwiLFxuICAgIFwiZGV2XCI6IFwidml0ZSAtLW1vZGUgc3NyXCIsXG4gICAgXCJkZXYuZGVidWdcIjogXCJub2RlIC0taW5zcGVjdC1icmsgLi9ub2RlX21vZHVsZXMvdml0ZS9iaW4vdml0ZS5qcyAtLW1vZGUgc3NyIC0tZm9yY2VcIixcbiAgICBcImZtdFwiOiBcInByZXR0aWVyIC0td3JpdGUgLlwiLFxuICAgIFwiZm10LmNoZWNrXCI6IFwicHJldHRpZXIgLS1jaGVjayAuXCIsXG4gICAgXCJsaW50XCI6IFwiZXNsaW50IFxcXCJzcmMvKiovKi50cypcXFwiXCIsXG4gICAgXCJwcmV2aWV3XCI6IFwicXdpayBidWlsZCBwcmV2aWV3ICYmIHZpdGUgcHJldmlldyAtLW9wZW5cIixcbiAgICBcInNlcnZlXCI6IFwid3JhbmdsZXIgcGFnZXMgZGV2IC4vZGlzdCAtLWNvbXBhdGliaWxpdHktZmxhZ3M9bm9kZWpzX2Fsc1wiLFxuICAgIFwic3RhcnRcIjogXCJ2aXRlIC0tb3BlbiAtLW1vZGUgc3NyXCIsXG4gICAgXCJxd2lrXCI6IFwicXdpa1wiXG4gIH0sXG4gIFwiZGV2RGVwZW5kZW5jaWVzXCI6IHtcbiAgICBcIkBidWlsZGVyLmlvL3F3aWtcIjogXCJeMS44LjBcIixcbiAgICBcIkBidWlsZGVyLmlvL3F3aWstY2l0eVwiOiBcIl4xLjguMFwiLFxuICAgIFwiQG5lc3RyaS9lc2xpbnQtY29uZmlnXCI6IFwiKlwiLFxuICAgIFwiQG5lc3RyaS90eXBlc2NyaXB0LWNvbmZpZ1wiOiBcIipcIixcbiAgICBcIkBuZXN0cmkvdWlcIjogXCIqXCIsXG4gICAgXCJAdHlwZXMvZXNsaW50XCI6IFwiOC41Ni4xMFwiLFxuICAgIFwiQHR5cGVzL25vZGVcIjogXCIyMC4xNC4xMVwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2VzbGludC1wbHVnaW5cIjogXCI3LjE2LjFcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wYXJzZXJcIjogXCI3LjE2LjFcIixcbiAgICBcImVzbGludFwiOiBcIjguNTcuMFwiLFxuICAgIFwiZXNsaW50LXBsdWdpbi1xd2lrXCI6IFwiXjEuOC4wXCIsXG4gICAgXCJwcmV0dGllclwiOiBcIjMuMy4zXCIsXG4gICAgXCJ0eXBlc2NyaXB0XCI6IFwiNS40LjVcIixcbiAgICBcInVuZGljaVwiOiBcIipcIixcbiAgICBcInZpdGVcIjogXCI1LjMuNVwiLFxuICAgIFwidml0ZS10c2NvbmZpZy1wYXRoc1wiOiBcIl40LjIuMVwiLFxuICAgIFwid3JhbmdsZXJcIjogXCJeMy4wLjBcIlxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBSUEsU0FBUyxvQkFBcUM7QUFDOUMsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUyxnQkFBZ0I7QUFDekIsT0FBTyxtQkFBbUI7OztBQ1AxQjtBQUFBLEVBQ0UsTUFBUTtBQUFBLEVBQ1IsYUFBZTtBQUFBLEVBQ2YsU0FBVztBQUFBLElBQ1QsTUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBLHNCQUFzQjtBQUFBLEVBQ3RCLFNBQVc7QUFBQSxFQUNYLHFCQUF1QjtBQUFBLElBQ3JCO0FBQUEsRUFDRjtBQUFBLEVBQ0Esa0NBQWtDO0FBQUEsRUFDbEMsTUFBUTtBQUFBLEVBQ1IsU0FBVztBQUFBLElBQ1QsT0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsaUJBQWlCO0FBQUEsSUFDakIsZ0JBQWdCO0FBQUEsSUFDaEIsZUFBZTtBQUFBLElBQ2YsUUFBVTtBQUFBLElBQ1YsS0FBTztBQUFBLElBQ1AsYUFBYTtBQUFBLElBQ2IsS0FBTztBQUFBLElBQ1AsYUFBYTtBQUFBLElBQ2IsTUFBUTtBQUFBLElBQ1IsU0FBVztBQUFBLElBQ1gsT0FBUztBQUFBLElBQ1QsT0FBUztBQUFBLElBQ1QsTUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBLGlCQUFtQjtBQUFBLElBQ2pCLG9CQUFvQjtBQUFBLElBQ3BCLHlCQUF5QjtBQUFBLElBQ3pCLHlCQUF5QjtBQUFBLElBQ3pCLDZCQUE2QjtBQUFBLElBQzdCLGNBQWM7QUFBQSxJQUNkLGlCQUFpQjtBQUFBLElBQ2pCLGVBQWU7QUFBQSxJQUNmLG9DQUFvQztBQUFBLElBQ3BDLDZCQUE2QjtBQUFBLElBQzdCLFFBQVU7QUFBQSxJQUNWLHNCQUFzQjtBQUFBLElBQ3RCLFVBQVk7QUFBQSxJQUNaLFlBQWM7QUFBQSxJQUNkLFFBQVU7QUFBQSxJQUNWLE1BQVE7QUFBQSxJQUNSLHVCQUF1QjtBQUFBLElBQ3ZCLFVBQVk7QUFBQSxFQUNkO0FBQ0Y7OztBRHRDQSxJQUFNLEVBQUUsZUFBZSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsRUFBRSxJQUFJO0FBS3BELHlCQUF5QixpQkFBaUIsWUFBWTtBQUt0RCxJQUFPLHNCQUFRLGFBQWEsQ0FBQyxFQUFFLFNBQVMsS0FBSyxNQUFrQjtBQUM3RCxTQUFPO0FBQUEsSUFDTCxTQUFTLENBQUMsU0FBUyxHQUFHLFNBQVMsR0FBRyxjQUFjLENBQUM7QUFBQTtBQUFBLElBRWpELGNBQWM7QUFBQTtBQUFBO0FBQUEsTUFHWixTQUFTLENBQUM7QUFBQSxJQUNaO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQW1CQSxRQUFRO0FBQUEsTUFDTixTQUFTO0FBQUE7QUFBQSxRQUVQLGlCQUFpQjtBQUFBLE1BQ25CO0FBQUEsSUFDRjtBQUFBLElBQ0EsU0FBUztBQUFBLE1BQ1AsU0FBUztBQUFBO0FBQUEsUUFFUCxpQkFBaUI7QUFBQSxNQUNuQjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0YsQ0FBQztBQVNELFNBQVMseUJBQ1BBLGtCQUNBQyxlQUNBO0FBQ0EsTUFBSSxNQUFNO0FBR1YsUUFBTSxnQkFBZ0IsT0FBTyxLQUFLRCxnQkFBZSxFQUFFO0FBQUEsSUFDakQsQ0FBQyxRQUFRQyxjQUFhLEdBQUc7QUFBQSxFQUMzQjtBQUdBLFFBQU0sVUFBVSxPQUFPLEtBQUtBLGFBQVksRUFBRTtBQUFBLElBQU8sQ0FBQyxVQUNoRCxRQUFRLEtBQUssS0FBSztBQUFBLEVBQ3BCO0FBSUEsUUFBTSxzQkFBc0IsUUFBUSxLQUFLLElBQUksQ0FBQztBQUU5QyxNQUFJLFFBQVEsU0FBUyxHQUFHO0FBQ3RCLFVBQU0sSUFBSSxNQUFNLEdBQUc7QUFBQSxFQUNyQjtBQUlBLFFBQU07QUFBQSwrQkFDdUIsY0FBYyxLQUFLLElBQUksQ0FBQztBQUFBO0FBQUE7QUFLckQsTUFBSSxjQUFjLFNBQVMsR0FBRztBQUM1QixVQUFNLElBQUksTUFBTSxHQUFHO0FBQUEsRUFDckI7QUFDRjsiLAogICJuYW1lcyI6IFsiZGV2RGVwZW5kZW5jaWVzIiwgImRlcGVuZGVuY2llcyJdCn0K diff --git a/apps/www/src/blogs/10-system-design-concept-you-should-know.md b/apps/www/src/blogs/10-system-design-concept-you-should-know.md deleted file mode 100644 index b9f654ab..00000000 --- a/apps/www/src/blogs/10-system-design-concept-you-should-know.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: "10 System Design Concept You Should Know" -summary: "This is my first post!" -slug: "10-system-design-concept-you-should-know" -thumbnail: "/seo/banner.png" -createdAt: "2024-08-28T11:24:39.659Z" ---- - -Ever wondered how tech giants handle millions of users without breaking a sweat? Or why your app crashes under heavy load? Dive into these 10 crucial system design concepts – explained so simply, even your grandma would get it! - -## 1. Scalability: Growing Pains, Solved -* **What it is**: Making your system handle growth like a champ -* **Types**: - - Vertical (beefing up one machine) - - Horizontal (adding more machines) -* **Why it matters**: Because nobody likes a website that crashes on Black Friday! - -### 2. Load Balancing: Traffic Control for Servers -* **In a nutshell**: Distributing work evenly so no server has a meltdown -* **Why it matters**: It's like having multiple cashiers during rush hour – faster service for everyone! - -### 3. Caching: The Art of Being Lazy (Efficiently) -* **What it does**: Remembers frequently used data for quick access -* **Why it matters**: Imagine if your brain cached the location of your keys! - -### 4. Database Sharding: Divide and Conquer -* **The gist**: Splitting a huge database into manageable chunks -* **Why it matters**: It's like organizing your closet – finding things becomes way easier! - -### 5. CAP Theorem: The "Pick Two" Dilemma -* **The choice**: Consistency, Availability, Partition tolerance – choose wisely! -* **Why it matters**: It's the "Fast, Good, Cheap – pick two" of distributed systems - -### 6. Microservices: Small is the New Big -* **What it is**: Breaking down your app into bite-sized, independent services -* **Why it matters**: It's like LEGO – easier to build, change, and fix! - -### 7. API Gateway: The Ultimate Bouncer -* **Job description**: Guards your APIs, handles security, directs traffic -* **Why it matters**: Think of it as a smart receptionist for your digital business - -### 8. Eventual Consistency: Patience is a Virtue -* **In simple terms**: Data will be consistent... eventually -* **Why it matters**: It's like gossip – everyone will get the right info, just not instantly - -### 9. CDN: The Global Coffee Shop Chain -* **What it does**: Puts your content closer to users, everywhere -* **Why it matters**: Faster load times = happier users = more business - -### 10. Containerization: Pack It, Ship It, Run It -* **The concept**: Wrap up your app with everything it needs -* **Why it matters**: It's like a TV dinner, but for code – consistent everywhere! - -Remember, understanding these concepts is like learning the rules of the road. You might not use them all every day, but knowing them makes you a better driver (or in this case, a better developer)! \ No newline at end of file diff --git a/apps/www/src/routes/blog/layout.tsx b/apps/www/src/routes/blog/layout.tsx index 2f6b3434..2ec6744b 100644 --- a/apps/www/src/routes/blog/layout.tsx +++ b/apps/www/src/routes/blog/layout.tsx @@ -54,16 +54,6 @@ export default component$(() => { Blog - {/* */}
@@ -77,7 +67,6 @@ export default component$(() => { - {/* By  */} {frontmatter.authors?.map((author: any, index: number) => ( <>   @@ -85,15 +74,13 @@ export default component$(() => { {author.name}   - {/* {author.name !== frontmatter.authors[frontmatter.authors.length - 1].name && ', '} */} {index < frontmatter.authors.length - 2 && ', '} {index === frontmatter.authors.length - 2 && (frontmatter.authors.length > 2 ? ', and ' : ' and ')} ))} - - {/* On  */} +   {new Date(frontmatter.createdAt).toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' })}   diff --git a/bun.lockb b/bun.lockb index 44a30f1685b3a97babb05f513be2d376b34c99fd..8f26ac3955a308e4f19c47951659da03ec6ff21a 100755 GIT binary patch delta 56191 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

5ZEJ1HZf&m{Lw0PpZgGcp{U4(JJP~)5%w(= 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