<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alvin Chui</title>
    <description>The latest articles on DEV Community by Alvin Chui (@alchui).</description>
    <link>https://dev.to/alchui</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F919957%2F0b99c101-4236-4812-989a-bafb9475c0f8.png</url>
      <title>DEV Community: Alvin Chui</title>
      <link>https://dev.to/alchui</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alchui"/>
    <language>en</language>
    <item>
      <title>Inventor Users! I Built an Add-in to do Amazing Things - DesignX</title>
      <dc:creator>Alvin Chui</dc:creator>
      <pubDate>Mon, 11 Mar 2024 09:09:42 +0000</pubDate>
      <link>https://dev.to/alchui/inventor-users-i-built-an-add-in-to-do-amazing-things-designx-5cc0</link>
      <guid>https://dev.to/alchui/inventor-users-i-built-an-add-in-to-do-amazing-things-designx-5cc0</guid>
      <description>&lt;p&gt;Hey fellow Inventor users,&lt;/p&gt;

&lt;p&gt;If you are looking for ways to improve your design workflow, there is &lt;strong&gt;DesignX&lt;/strong&gt; on the Autodesk App Store. As the creator, I can assure that you will be amazed how much it can help. However, with all the SEO and AI stuff nowadays, it wasn't easy to let people know about it. The struggle with the SEO online is very messed up, so I wanted to reach out directly to the Inventor community.&lt;/p&gt;

&lt;h2&gt;
  
  
  Here's what DesignX aims to do:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Automate the Mundane:&lt;/strong&gt; Let DesignX handle those time-consuming, repetitive tasks that drag on projects. Focus on what you do best – design!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Streamline Your Workflow:&lt;/strong&gt; DesignX is designed to make your workflow smoother, helping you move seamlessly between tasks and projects. Say goodbye to those frustrating inefficiencies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Boost Productivity:&lt;/strong&gt; Imagine finishing projects faster with less effort. DesignX could be your key to unlocking new levels of productivity.&lt;/p&gt;

&lt;p&gt;You can find the extension on &lt;a href="https://www.youtube.com/watch?v=T7cdc7cepe4&amp;amp;list=PLrnWij5kPN2adfznAo4UBMwjoeOLWGOx4"&gt;App Store - DesignX&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Is DesignX the answer? I don't know yet!
&lt;/h2&gt;

&lt;p&gt;This is where the Inventor community, come in. I'm humbly reaching out to see if DesignX can actually be helpful. Maybe it can save you some time too!&lt;/p&gt;

&lt;p&gt;Here are some videos which showcase what DesignX can do: &lt;a href="https://www.youtube.com/watch?v=T7cdc7cepe4&amp;amp;list=PLrnWij5kPN2adfznAo4UBMwjoeOLWGOx4"&gt;DesignX - YouTube&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  For Developers or Those with Curiosity
&lt;/h2&gt;

&lt;p&gt;Some people, especially fellow developers, will be curious for a few things about DesignX application. The following may answer what you want to know.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DesignX's installer is being built and verified by Autodesk. However, users may receive a warning during the download or during the installation since we didn't want to spend $250 USD a year to subscribe for a certificate.&lt;/li&gt;
&lt;li&gt;We intended to distribute DesignX for free to the community. However, we have implemented an activation process as a measurement to protect our intellectual property. That is why Inventor users will need an activation code to activate the extension.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Here's what I'd love to know:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Have you tried DesignX yet?&lt;/li&gt;
&lt;li&gt;What are your biggest workflow pain points in Inventor?&lt;/li&gt;
&lt;li&gt;Any suggestions for improvement?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Let's Discuss and Improve Together!
&lt;/h2&gt;

&lt;p&gt;I'm genuinely interested in creating a tool that benefits Inventor users. So, please share your thoughts and experiences in the comments below.&lt;/p&gt;

</description>
      <category>autodesk</category>
      <category>inventor</category>
      <category>workflow</category>
      <category>automation</category>
    </item>
    <item>
      <title>A Cup of Tailwind CSS</title>
      <dc:creator>Alvin Chui</dc:creator>
      <pubDate>Sat, 17 Sep 2022 05:27:05 +0000</pubDate>
      <link>https://dev.to/alchui/a-cup-of-tailwind-css-4gc5</link>
      <guid>https://dev.to/alchui/a-cup-of-tailwind-css-4gc5</guid>
      <description>&lt;p&gt;As programmers, we love to simplify life. Tailwind CSS is a framework that is created to help programmers from writing a humongous amount of CSS loads while allowing us to style our design in HTML.&lt;/p&gt;

&lt;p&gt;However, nothing is perfect. Just like drinking a cup of tea, some people may like Black Tea and some may prefer to drink Green Tea. The post may even be taken down if the author overlooks the idea of Coffee. So, let's not talk about tea and start evaluating the taste.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;PROS:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One for All&lt;/strong&gt;: It makes work easier because one doesn't need to switch between the HTML and CSS Styling. Everything can be done on one page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Concise CSS Styling&lt;/strong&gt;: CSS code is simplified into smaller blocks of "index" which can be used immediately in an HTML file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Robust and Responsive Customization&lt;/strong&gt;: Tailwind CSS is a responsive and mobile-friendly CSS Framework. It is also open source, providing freedom for customizations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Others&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Great Community Support&lt;/em&gt;: The framework is developed by top-notch engineers. The code is constantly being maintained and updated.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;CSS Power Up&lt;/em&gt;: One doesn't need to know CSS to use TailwindCSS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Dl4_AHhz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1cz67uvgqvmvlmfgbbwc.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Dl4_AHhz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1cz67uvgqvmvlmfgbbwc.gif" alt="Power Up Meme" width="360" height="146"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;CONS:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verbose HTML Code&lt;/strong&gt;: Due to the nature of having everything implemented together, codes may become difficult to read.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KQr1lW5V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7h10vo6gsxy041mlusfc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KQr1lW5V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7h10vo6gsxy041mlusfc.png" alt="Example" width="880" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Others&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Lack of Styling Components&lt;/em&gt;: Some people may want to structure their design in components. Tailwind CSS has a different design workflow.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Learning Curve&lt;/em&gt;: Some people hate to memorize vocabulary.&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  Summary
&lt;/h4&gt;

&lt;p&gt;Great for writers, sad for readers&lt;/p&gt;




&lt;h5&gt;
  
  
  Secret Message
&lt;/h5&gt;

&lt;p&gt;You can balance code's readability and coding efficiency by using Tailwind CSS only for styling such as hovering effects. Everything else (styling components, positioning, etc.) could remain the same.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>tailwindcss</category>
    </item>
    <item>
      <title>Front-End Workflow for Next.js</title>
      <dc:creator>Alvin Chui</dc:creator>
      <pubDate>Fri, 02 Sep 2022 23:10:26 +0000</pubDate>
      <link>https://dev.to/alchui/basic-front-end-workflow-4j6l</link>
      <guid>https://dev.to/alchui/basic-front-end-workflow-4j6l</guid>
      <description>&lt;h3&gt;
  
  
  1) Setup
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;yarn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;next-app&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="c"&gt;# OR&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;npx&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;create-next-app&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="c"&gt;# AND&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-g&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;create-next-app&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2) Pages &amp;amp; Routes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Home&lt;/li&gt;
&lt;li&gt;About&lt;/li&gt;
&lt;li&gt;Others...&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3) Layout Components
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Navigation Bar&lt;/li&gt;
&lt;li&gt;Header&lt;/li&gt;
&lt;li&gt;Footer&lt;/li&gt;
&lt;li&gt;Layout&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4) Styling
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Choosing a Theme&lt;/li&gt;
&lt;li&gt;404 Error Page&lt;/li&gt;
&lt;li&gt;Responsive Design&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5) Database
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;MongoDB&lt;/li&gt;
&lt;li&gt;REDIS&lt;/li&gt;
&lt;li&gt;MySQL&lt;/li&gt;
&lt;li&gt;Others...&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6) Fetching
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Basic Example&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;fs&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;fs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;path&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;path&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;getStaticPaths&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;files&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;fs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;readdirSync&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;blogs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;paths&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;files&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
        &lt;span class="na"&gt;params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;slug&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;filename&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.txt&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;}));&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;paths&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;fallback&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;getStaticProps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;blog&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;fs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;readFileSync&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;blogs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;context&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;params&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;slug&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.txt&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;utf-8&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;blog&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;props&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  7) Dynamic Routing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;/Content/index.js&lt;/li&gt;
&lt;li&gt;/Content/[slug].js&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  8) Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;ES6 or ES2016+
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Dependencies&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;--save-dev&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;eslint&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;--save-dev&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;eslint-config-next&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;run&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;lint&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;QUnit
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;install&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;--save-dev&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;qunit&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Mocha experience
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Matching "Test" file structures
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Others...&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  9) Deployment
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://vercel.com/"&gt;Vercel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Others...&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  OTHERS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;SEO
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Basic Example&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;--save-dev&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;next-seo&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Optimization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GY0raYdq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w5hwfim7xny06sfb3uh6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GY0raYdq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w5hwfim7xny06sfb3uh6.png" alt="Image description" width="880" height="707"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
    <item>
      <title>Memory Palace to Next.js</title>
      <dc:creator>Alvin Chui</dc:creator>
      <pubDate>Fri, 02 Sep 2022 22:39:37 +0000</pubDate>
      <link>https://dev.to/alchui/memory-palace-to-nextjs-183f</link>
      <guid>https://dev.to/alchui/memory-palace-to-nextjs-183f</guid>
      <description>&lt;h3&gt;
  
  
  Quick Setup
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;yarn&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;create&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;next-app&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="c"&gt;# OR&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;npx&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;create-next-app&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="c"&gt;# AND&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;npm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-g&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;create-next-app&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Storage:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Microsoft Visual Studio Code&lt;/li&gt;
&lt;li&gt;NPM (package manager)&lt;/li&gt;
&lt;li&gt;YARN (package manager)&lt;/li&gt;
&lt;li&gt;Typescript&lt;/li&gt;
&lt;li&gt;ES6 or ES2016+&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Box:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Github&lt;/li&gt;
&lt;li&gt;Vercel&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Paint:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Pure CSS&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chakra-ui.com/"&gt;ChakraUI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tailwindcss.com/"&gt;TailwindCSS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>nextjs</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
