<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged techie</title>
<link>https://coderlegion.com/tag/techie</link>
<description>Powered by Question2Answer</description>
<item>
<title>Post about Use and Misuse of AI in Localized Content and Dynamic Creative Work</title>
<link>https://coderlegion.com/1084/post-about-use-and-misuse-of-ai-in-localized-content-and-dynamic-creative-work</link>
<description>&lt;p&gt;Artificial Intelligence (AI) has emerged as a transformative tool across industries. From automating repetitive tasks to generating creative content, it has become an ally to many. However, like any tool, its value lies in how we use it. When misapplied—particularly in areas like localized content creation—it can lead to inaccuracies, cultural insensitivity, and poorly tailored results.&lt;br&gt;
Also in programming, the use of open-source libraries, frameworks and rapidly changing code conventions that are constantly in development. Framework dependencies as upgrades happen soon turn out to cause issues in program development. &lt;/p&gt;
&lt;p&gt;Awhile ago when i was trying to unbundle webpack as a newbie in React.js. i found a video that took me on a course on React and React-router using Webpack.&lt;br&gt;
Before i realized that the video was outdated, i ran into error from getting up the webpack structure. &lt;br&gt;
I noticed that their code was working but each time i try it out the, code does not give me the expected result. &lt;br&gt;
I took the error message to Gemini and the response was based on the outdated library i was using. &lt;br&gt;
It was when I rephrased and asked &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;Is the current webpack library i was using outdated and is there a&lt;br&gt;
new convention in implementing this code to resolve these errors, also&lt;br&gt;
sending my package.json.&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This new query was the beginning of the resolution of the error-bug.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Old Webpack Configuration (Pre-Version 4)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;// webpack.config.js (Outdated)
const path = require('path');

module.exports = {
  entry: './src/index.js', // Entry point
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js', // Output bundle
  },
  module: {
    rules: [
      {
        test: /\.js$/, // Handling JavaScript files
        exclude: /node_modules/,
        loader: 'babel-loader', // Transpile ES6+ to ES5
      },
    ],
  },
  devServer: {
    contentBase: path.join(__dirname, 'dist'), // Serve static files
    port: 8080,
  },
};
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;p&gt;Modern Webpack Configuration (Version 4 and Beyond)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;// webpack.config.js (Modern)
const path = require('path');

module.exports = {
  mode: 'development', // Mode: &quot;development&quot; or &quot;production&quot;
  entry: './src/index.js', // Entry point
  output: {
    filename: 'main.js', // Default: &quot;main.js&quot; if not specified
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        test: /\.js$/, // Handle JavaScript files
        exclude: /node_modules/,
        use: 'babel-loader', // Simplified syntax for loaders
      },
    ],
  },
  devServer: {
    static: './dist', // Serve static files (simplified from contentBase)
    port: 3000, // Optional: Default port is 8080
  },
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Modern tools like create-react-app and Vite have revolutionized how React applications are built by abstracting away complex Webpack configurations. With just a single command, these tools scaffold a fully functional React app with sensible defaults, making them ideal for beginners or developers who want to focus more on coding than configuration. &lt;br&gt;
For example, create-react-app and its TypeScript counterpart (&lt;code&gt;create-react-app-template-typescript&lt;/code&gt;) provide a zero-config setup with Webpack under the hood. &lt;br&gt;
On the other hand, Vite, a newer alternative, offers a lightweight and faster development experience by leveraging native ES modules and modern build tools like Rollup.&lt;/p&gt;
&lt;p&gt;However, for developers who want to understand the inner workings of their build tools or customize their setup, starting from scratch with &lt;code&gt;npm init -y&lt;/code&gt; and manually configuring Webpack is still a valuable exercise. Below, I’ll show how these tools compare to a manual Webpack setup.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Using create-react-app With create-react-app, setting up a React app&lt;br&gt;
is as simple as running:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;npx create-react-app my-app
cd my-app
npm start
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;p&gt;To add TypeScript support, use:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;npx create-react-app my-app --template typescript
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This generates a React app with Webpack preconfigured and ready to go. You don’t need to touch webpack.config.js unless you eject the app (which is rarely necessary). The simplicity makes it perfect for most use cases.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Using Vite to Create a React App Vite provides an even faster and more&lt;br&gt;
modern approach:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;npm create vite@latest my-app
cd my-app
npm install
npm run dev
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can also specify React and TypeScript templates during setup:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;npm create vite@latest my-app -- --template react
npm create vite@latest my-app -- --template react-ts
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Vite eliminates the need for Webpack entirely, offering faster builds and hot module replacement (HMR).&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Manual Webpack Setup For a manual setup, follow these steps:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;1-initialize-a-new-project-&quot;&gt;1. Initialize a new project:&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt; mkdir my-app
    cd my-app
    npm init -y
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;2-install-webpack-and-react-dependencies-&quot;&gt;2. Install Webpack and React dependencies:&lt;/h3&gt;
&lt;p&gt;npm install react react-dom webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react html-webpack-plugin --save-dev&lt;/p&gt;
&lt;h3 id=&quot;3-create-a-webpack-config-js-file-to-configure-webpack-&quot;&gt;3. Create a webpack.config.js file to configure Webpack.&lt;/h3&gt;
&lt;p&gt;Below is a sample Webpack configuration for a React app:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; // webpack.config.js

    const path = require('path');
    const HtmlWebpackPlugin = require('html-webpack-plugin');
    
    module.exports = {
      mode: 'development', // Switch to &quot;production&quot; for production builds
      entry: './src/index.js', // Main entry point
      output: {
        path: path.resolve(__dirname, 'dist'), // Output directory
        filename: 'bundle.js', // Output bundle name
        clean: true, // Cleans 'dist' folder before each build
      },
      module: {
        rules: [
          {
            test: /\.js$/, // Handle JavaScript files
            exclude: /node_modules/,
            use: {
              loader: 'babel-loader',
              options: {
                presets: ['@babel/preset-env', '@babel/preset-react'], // Transpile modern JavaScript and React JSX
              },
            },
          },
          {
            test: /\.css$/, // Handle CSS files
            use: ['style-loader', 'css-loader'], // Inject styles into DOM
          },
        ],
      },
      plugins: [
        new HtmlWebpackPlugin({
          template: './public/index.html', // Template HTML file
        }),
      ],
      devServer: {
        static: path.resolve(__dirname, 'dist'), // Serve static files from 'dist'
        port: 3000, // Development server port
        hot: true, // Enable hot module replacement
      },
      resolve: {
        extensions: ['.js', '.jsx'], // Resolve these extensions in imports
      },
    };
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;4-create-the-project-structure-&quot;&gt;4. Create the project structure:&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;  my-app/

      ├── src/

          │├── index.js

          │├── App.js

      ├── public/

         │ ├── index.html

      ├── webpack.config.js

     ├── package.json
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;5-add-the-following-scripts-to-your-package-json-&quot;&gt;5. Add the following scripts to your package.json:&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;json

    &quot;scripts&quot;: {
      &quot;start&quot;: &quot;webpack serve --open&quot;,
      &quot;build&quot;: &quot;webpack&quot;
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;6-run-the-app-&quot;&gt;6. Run the app:&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;   npm start
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Issues that arise in open-source library dependent framework&lt;br&gt;
React as a Project has been on version 18 which there have been crash courses out there and documentations. Ai which uses the Large Language Model (LLM) from either google or any backbone server and data warehouse feed on the outdated information which is used to train this AI.&lt;br&gt;
Most of the documentations are not being updated which lead to outdated response when the current libraries of React have depreciated because react 19 is out.&lt;br&gt;
An example of this is the new way &quot;use&quot; is used to fetch data from an api instate of the joint work of the useEffect and storing state with useStates.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Outdated Approach: Data Fetching Using useEffect and useState&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;function OldUserProfile() {
  const [userData, setUserData] = useState(null);
  const [loading, setLoading] = useState(true);

  useEffect(() =&amp;gt; {
    fetch('https://api.example.com/user')
      .then(res =&amp;gt; res.json())
      .then(data =&amp;gt; {
        setUserData(data);
        setLoading(false);
      });
  }, []);

  if (loading) return &amp;lt;div&amp;gt;Loading...&amp;lt;/div&amp;gt;;
  
  return (
    &amp;lt;div className=&quot;p-4&quot;&amp;gt;
      &amp;lt;h1 className=&quot;text-xl font-bold&quot;&amp;gt;User Profile&amp;lt;/h1&amp;gt;
      &amp;lt;p&amp;gt;Name: {userData.name}&amp;lt;/p&amp;gt;
      &amp;lt;p&amp;gt;Email: {userData.email}&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;p&gt;Modern Approach: Data Fetching Using the use() Hook&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;   // Modern approach - app/root.jsx or similar
import { createBrowserRouter, RouterProvider } from 'react-router-dom';
import { use } from 'react';

// Example of modern data fetching with 'use'
function UserProfile() {
  // The new 'use' approach for data fetching
  const userData = use(fetch('https://api.example.com/user')
    .then(res =&amp;gt; res.json()));

  return (
    &amp;lt;div className=&quot;p-4&quot;&amp;gt;
      &amp;lt;h1 className=&quot;text-xl font-bold&quot;&amp;gt;User Profile&amp;lt;/h1&amp;gt;
      &amp;lt;p&amp;gt;Name: {userData.name}&amp;lt;/p&amp;gt;
      &amp;lt;p&amp;gt;Email: {userData.email}&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Key Improvements:&lt;/p&gt;
&lt;p&gt;The use() hook eliminates the need for useEffect and useState when fetching data.&lt;br&gt;
Data fetching is more declarative and less verbose.&lt;br&gt;
This works seamlessly with React's server components, aligning well with modern rendering patterns.&lt;/p&gt;
&lt;p&gt;Also React-router initially wrap the provider tag in the index.js file, then wrap the file in the app.js using the browser router as router, routes and nav links and the new use of links instead&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Outdated React Router Conventions&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;// index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter } from 'react-router-dom';
import App from './App';

ReactDOM.render(
  &amp;lt;BrowserRouter&amp;gt;
    &amp;lt;App /&amp;gt;
  &amp;lt;/BrowserRouter&amp;gt;,
  document.getElementById('root')
);

// App.js
import React from 'react';
import { Route, Switch, NavLink } from 'react-router-dom';

function App() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;nav&amp;gt;
        &amp;lt;NavLink to=&quot;/&quot;&amp;gt;Home&amp;lt;/NavLink&amp;gt;
        &amp;lt;NavLink to=&quot;/about&quot;&amp;gt;About&amp;lt;/NavLink&amp;gt;
      &amp;lt;/nav&amp;gt;
      &amp;lt;Switch&amp;gt;
        &amp;lt;Route path=&quot;/&quot; exact&amp;gt;
          &amp;lt;h1&amp;gt;Home Page&amp;lt;/h1&amp;gt;
        &amp;lt;/Route&amp;gt;
        &amp;lt;Route path=&quot;/about&quot;&amp;gt;
          &amp;lt;h1&amp;gt;About Page&amp;lt;/h1&amp;gt;
        &amp;lt;/Route&amp;gt;
      &amp;lt;/Switch&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}

export default App;
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;p&gt;Modern React Router Conventions&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;const router = createBrowserRouter([
  {
    path: &quot;/&quot;,
    element: &amp;lt;Root /&amp;gt;,
    children: [
      {
        path: &quot;user&quot;,
        element: &amp;lt;UserProfile /&amp;gt;,
        // You can also use loaders for data fetching
        loader: async () =&amp;gt; {
          return fetch('https://api.example.com/user');
        }
      },
      {
        path: &quot;review-booking&quot;,
        element: &amp;lt;ReviewBooking /&amp;gt;,
      },
      // ... other routes
    ],
  },
]);

// Root component
function Root() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;nav&amp;gt;
        {/* Modern Link usage */}
        &amp;lt;Link to=&quot;/user&quot;&amp;gt;User Profile&amp;lt;/Link&amp;gt;
        &amp;lt;Link to=&quot;/review-booking&quot;&amp;gt;Review Booking&amp;lt;/Link&amp;gt;
      &amp;lt;/nav&amp;gt;
      &amp;lt;Outlet /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}

// App component
export default function App() {
  return &amp;lt;RouterProvider router={router} /&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;&lt;p&gt;The Right Way to Use AI&lt;/p&gt;
&lt;p&gt;Localized Content Creation&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;AI has immense potential to assist in creating localized content. It can help translate, adapt styles, and even suggest culturally relevant expressions. However, the key here is collaboration, not replacement. AI can provide a starting point, but the human touch ensures that the content resonates with the intended audience. Nuances in language, cultural references, and local idioms are often things AI struggles to fully grasp.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Code Writing Assistance&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;AI has become a programmer’s best friend, especially when it comes to generating boilerplate code or debugging complex problems. Tools like GitHub Copilot and ChatGPT can suggest solutions, optimize algorithms, and even generate entire functions. But relying on AI blindly can result in brittle, unoptimized, or even insecure code. Always review and test the generated code thoroughly. AI should complement your skills, not replace them.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Feedback in Article Journaling&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When writing articles or journaling, AI can act as a brainstorming partner. Whether you’re stuck on an introduction or need help refining a paragraph, AI tools can offer suggestions. However, their outputs should be critically assessed. AI doesn’t understand your voice or your audience’s expectations—it generates content based on patterns, not emotions or intent.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The Wrong Way to Use AI&lt;/p&gt;
&lt;p&gt;Misusing AI in Localized Content&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;One of the most common pitfalls is treating AI as a &quot;one-size-fits-all&quot; solution. For example, using AI to directly translate content for different regions without a human review can result in awkward phrasing or offensive translations. Localization isn’t just about language—it’s about context, tone, and cultural relevance. Ignoring this can alienate your audience rather than engaging them.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Blindly Trusting AI-Generated Code&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;AI-generated code can often appear perfect at first glance, but it may contain subtle bugs, inefficiencies, or security vulnerabilities. Copy-pasting code without understanding it risks introducing issues into your project. Always review the code, test extensively, and adapt it to fit your specific requirements.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Overreliance on AI for Creativity&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;While AI can assist with creativity, it’s not a replacement for human originality. Overusing AI for journaling or content creation can lead to generic, uninspired results. The magic of writing comes from your personal insights, emotions, and unique perspective—something AI cannot replicate.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/1084/post-about-use-and-misuse-of-ai-in-localized-content-and-dynamic-creative-work</guid>
<pubDate>Wed, 05 Feb 2025 12:32:25 +0000</pubDate>
</item>
<item>
<title>All about system design</title>
<link>https://coderlegion.com/409/all-about-system-design</link>
<description>&lt;h4 id=&quot;system-design-the-quest-to-architect-the-universe-or-just-your-app-&quot;&gt;System Design: The Quest to Architect the Universe (Or Just Your App)&lt;/h4&gt;
&lt;p&gt;Once upon a time in the magical land of Software Engineering, a brave developer stood on the precipice of greatness (or utter confusion). Armed with a keyboard and a half-empty cup of coffee, they were about to embark on the most daunting journey of all: &lt;strong&gt;System Design.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ah yes, system design—the thing interviewers ask about with a gleam in their eye, knowing full well that you’re about to talk in circles for 45 minutes while drawing boxes and arrows on a whiteboard like a mad scientist sketching a blueprint for world domination.&lt;/p&gt;
&lt;p&gt;Let’s dive into this adventure, and who knows, by the end of it, you might even survive.&lt;/p&gt;
&lt;h5 id=&quot;the-client-server-drama&quot;&gt;The Client-Server Drama&lt;/h5&gt;
&lt;p&gt;First off, let’s introduce you to our two main characters: &lt;strong&gt;Client&lt;/strong&gt; and &lt;strong&gt;Server&lt;/strong&gt;. Think of them like a pair of socially awkward friends at a party. The Client is that one person who never stops asking questions, like “Hey, can you get me that photo?” or “What’s the status of my food delivery?” Meanwhile, the Server is the poor soul who’s constantly trying to answer while juggling a hundred requests from other Clients at the same time.&lt;/p&gt;
&lt;p&gt;And just like in real life, sometimes the Server will ghost the Client. It’s not personal—it just ran out of memory or crashed trying to fulfill the thousandth request for cat memes.&lt;/p&gt;
&lt;h5 id=&quot;load-balancers-the-bouncers-of-your-app&quot;&gt;Load Balancers: The Bouncers of Your App&lt;/h5&gt;
&lt;p&gt;Enter the &lt;strong&gt;Load Balancer&lt;/strong&gt;. This guy is the bouncer at the club who decides who gets in and who’s going to be left outside refreshing the page for eternity. Without load balancers, your system would be like a house party with 500 guests and one pizza—it’d go downhill fast.&lt;/p&gt;
&lt;p&gt;The Load Balancer makes sure that no single server has a nervous breakdown by sending requests to different servers. It’s like your app’s way of saying, “I don’t know what server can handle you, but I hope one of them can.”&lt;/p&gt;
&lt;h5 id=&quot;microservices-it-s-not-you-it-s-me-&quot;&gt;Microservices: &quot;It’s Not You, It’s Me&quot;&lt;/h5&gt;
&lt;p&gt;Monolithic apps? Oh, please. That’s so 2005. These days, we break things down into &lt;strong&gt;Microservices&lt;/strong&gt;, the tech equivalent of breaking up with someone but staying friends. Instead of having one gigantic app doing everything (and eventually failing spectacularly), you have tiny apps that each handle specific tasks.&lt;/p&gt;
&lt;p&gt;It’s like having a team of specialists instead of one person who’s trying to do everything—because we all know how that ends (hint: burnout, tears, and unhandled exceptions).&lt;/p&gt;
&lt;h5 id=&quot;databases-the-memory-bank&quot;&gt;Databases: The Memory Bank&lt;/h5&gt;
&lt;p&gt;Now, let’s talk about the &lt;strong&gt;Database&lt;/strong&gt;, your system’s treasure trove. It’s the place where you stash all the important stuff—like user data, app configurations, and your deepest secrets. There are two main kinds of databases: &lt;strong&gt;SQL&lt;/strong&gt; (Structured Query Language) and &lt;strong&gt;NoSQL&lt;/strong&gt; (Not Only SQL).&lt;/p&gt;
&lt;p&gt;SQL databases are like librarians—organized, strict, and always wanting things in a specific order. NoSQL databases, on the other hand, are more like those cool, laid-back teachers who don’t mind if you turn in assignments whenever. You’ll need to decide which type fits your app’s personality. Are you a rule-following librarian or a chill teacher who’s okay with chaos?&lt;/p&gt;
&lt;h5 id=&quot;caching-the-cheat-sheet&quot;&gt;Caching: The Cheat Sheet&lt;/h5&gt;
&lt;p&gt;If your Database is the library, then &lt;strong&gt;Caching&lt;/strong&gt; is your cheat sheet. Why spend time flipping through pages when you can keep the answers right under your desk? When users keep asking for the same thing (like the score of last night’s game), caching stores that information close at hand, so you don’t have to dig it out of the database every time.&lt;/p&gt;
&lt;p&gt;Just be careful—if your cheat sheet is wrong (i.e., stale cache), it’s like showing up to an exam with the wrong answers. Oops.&lt;/p&gt;
&lt;h5 id=&quot;scalability-because-more-people-are-coming-to-the-party&quot;&gt;Scalability: Because More People Are Coming to the Party&lt;/h5&gt;
&lt;p&gt;Ah, &lt;strong&gt;Scalability&lt;/strong&gt;—the thing everyone loves to brag about. It’s like when your friend says, “Yeah, we had to rent out a bigger venue for the party because &lt;em&gt;so many&lt;/em&gt; people RSVP’d.” Scaling your system means handling more users, more requests, and more data without collapsing like a house of cards.&lt;/p&gt;
&lt;p&gt;Vertical scaling is like giving your servers an upgrade—a new wardrobe and a gym membership so they can handle the load. Horizontal scaling? That’s when you just hire more servers. Instead of making one server bulk up, you bring in a whole team of new ones.&lt;/p&gt;
&lt;h5 id=&quot;high-availability-no-downtime-allowed&quot;&gt;High Availability: No Downtime Allowed&lt;/h5&gt;
&lt;p&gt;What’s worse than a system failure? Nothing, according to your users. That’s why we aim for &lt;strong&gt;High Availability&lt;/strong&gt;—because users expect your app to be there for them 24/7, like a loyal pet. &lt;/p&gt;
&lt;p&gt;Of course, achieving high availability is no small feat. It’s like trying to stay awake during a 24-hour movie marathon. Servers need naps too, which is why you bring in backups and redundancy. That way, when one server crashes, another swoops in like a superhero, and no one ever notices.&lt;/p&gt;
&lt;h5 id=&quot;conclusion-you-survived-maybe-&quot;&gt;Conclusion: You Survived (Maybe)&lt;/h5&gt;
&lt;p&gt;Congratulations! You’ve survived the wild world of system design, though it may have left you a little dazed and confused. Just remember, it’s all about drawing boxes, naming things in fancy ways (hello, “load balancer”), and praying that your app doesn’t implode under pressure.&lt;/p&gt;
&lt;p&gt;Now go forth, brave developer, and architect systems with the grace of a cat landing on its feet—or at least with enough boxes and arrows to confuse anyone looking at your diagram. &lt;/p&gt;
&lt;p&gt;I have a full design course here: &lt;a rel=&quot;nofollow&quot; href=&quot;https://dev.to/jayaprasanna_roddam/system-design-topics-3pl9&quot;&gt;system design course&lt;/a&gt;&lt;br&gt;
please check it out and gain in-depth knowledge of it.&lt;/p&gt;
&lt;p&gt;Happy designing!&lt;/p&gt;
</description>
<category>Algorithm</category>
<guid isPermaLink="true">https://coderlegion.com/409/all-about-system-design</guid>
<pubDate>Tue, 07 Jan 2025 06:35:08 +0000</pubDate>
</item>
</channel>
</rss>