<?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>Forem: Tu Trinh</title>
    <description>The latest articles on Forem by Tu Trinh (@tutrinh).</description>
    <link>https://forem.com/tutrinh</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%2F409489%2F6ea0f1b8-7354-4ed3-948d-e5e725a2b10a.png</url>
      <title>Forem: Tu Trinh</title>
      <link>https://forem.com/tutrinh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/tutrinh"/>
    <language>en</language>
    <item>
      <title>My Regrets As A Junior Dev</title>
      <dc:creator>Tu Trinh</dc:creator>
      <pubDate>Tue, 13 Jun 2023 17:27:44 +0000</pubDate>
      <link>https://forem.com/tutrinh/my-regrets-as-a-junior-dev-4gc9</link>
      <guid>https://forem.com/tutrinh/my-regrets-as-a-junior-dev-4gc9</guid>
      <description>&lt;p&gt;I did something that I regret when I was a junior developer. I tried to do everything on my own and didn't ask for help. It was a big mistake. Being a junior developer can be tough, and it's important to have a support system. Here are some of the best pieces of advice I've received:  &lt;/p&gt;

&lt;p&gt;1️⃣ Don't be afraid to ask questions. No one knows everything, and most people are happy to help.  &lt;/p&gt;

&lt;p&gt;2️⃣ Take advantage of code reviews. They're a great way to learn from more experienced developers.  &lt;/p&gt;

&lt;p&gt;3️⃣ Don't compare yourself to others. Everyone has their own journey and their own strengths.  &lt;/p&gt;

&lt;p&gt;4️⃣ Always be learning. The tech industry is constantly changing, and it's important to stay up to date.  &lt;/p&gt;

&lt;p&gt;5️⃣ Find a mentor. Having someone who can guide you and offer advice can be invaluable.  &lt;/p&gt;

&lt;p&gt;6️⃣ Don't be afraid to make mistakes. They're a natural part of the learning process.  &lt;/p&gt;

&lt;p&gt;7️⃣ Be open to feedback. It can be hard to hear criticism, but it's important to embrace it as an opportunity to grow.  &lt;/p&gt;

&lt;p&gt;As a junior developer, it's easy to feel overwhelmed and like you're not making progress. But remember, everyone starts somewhere. Keep pushing yourself, and you'll get there.  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>VS Code Increase Productivity: Maximize The Editor Panel</title>
      <dc:creator>Tu Trinh</dc:creator>
      <pubDate>Tue, 07 Sep 2021 14:58:46 +0000</pubDate>
      <link>https://forem.com/tutrinh/vs-code-increase-productivity-maximize-the-editor-panel-30cm</link>
      <guid>https://forem.com/tutrinh/vs-code-increase-productivity-maximize-the-editor-panel-30cm</guid>
      <description>&lt;p&gt;VS Code Shortcuts: Increase productivity by closing the side and bottom panels. Focusing in the editor panel.&lt;br&gt;
Toggle Side Panel: ⌘ B&lt;br&gt;
Toggle Bottom Panel: Ctrl `&lt;br&gt;
Toggle Zen Mode (Maximize Editor Panel): ⌘ + Shift + P, type Zen and select&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>vscode</category>
      <category>shortcuts</category>
      <category>code</category>
    </item>
    <item>
      <title>BASIC: VS Code Shortcuts for Mac</title>
      <dc:creator>Tu Trinh</dc:creator>
      <pubDate>Wed, 25 Aug 2021 18:30:58 +0000</pubDate>
      <link>https://forem.com/tutrinh/basics-vs-code-shortcuts-for-mac-317d</link>
      <guid>https://forem.com/tutrinh/basics-vs-code-shortcuts-for-mac-317d</guid>
      <description>&lt;p&gt;Below is a collection of shortcuts in VS Code I use every day to be efficient and productive. Hopefully you will find these helpful to become efficient and productive. These are for MACS only, not sure if they will translate to PC or not.&lt;/p&gt;

&lt;h2&gt;
  
  
  Editing
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Shortcuts&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Delete whole line&lt;/td&gt;
&lt;td&gt;⌘⇧K&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Move line up/down&lt;/td&gt;
&lt;td&gt;⌥ + ↑/↓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Copy and paste entire line&lt;/td&gt;
&lt;td&gt;⌥⇧↓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Select next occurrance on selected text&lt;/td&gt;
&lt;td&gt;⌘D&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Select all occurrances on selected text&lt;/td&gt;
&lt;td&gt;⌘L&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fold/Unfold code block&lt;/td&gt;
&lt;td&gt;⌘⌥ + [ or ]&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Navigate to next open tab&lt;/td&gt;
&lt;td&gt;⌘⇧ +  [ or ]&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Previous cursor position&lt;/td&gt;
&lt;td&gt;⌘U&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Split screen&lt;/td&gt;
&lt;td&gt;⌘\&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IntelliSense&lt;/td&gt;
&lt;td&gt;⌃ Space&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Panels
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Shortcuts&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;List of recent files&lt;/td&gt;
&lt;td&gt;⌘P&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;List of extension commands&lt;/td&gt;
&lt;td&gt;⌘⇧P&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Toggle terminal&lt;/td&gt;
&lt;td&gt;⌃~&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Toggle sidebar&lt;/td&gt;
&lt;td&gt;⌘B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Toggle bottom panel&lt;/td&gt;
&lt;td&gt;⌘J&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Switch between opened screens&lt;/td&gt;
&lt;td&gt;⌘ + 1, 2, 3, etc..&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Copy and paste whole line.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eZn_ufkV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uxy5k36j2esomjw2uw6u.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eZn_ufkV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uxy5k36j2esomjw2uw6u.gif" alt="vscode-copy-paste-whole-line"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Move line up or down&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2kfILxHh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/olcpdktwclyjys3owi1b.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2kfILxHh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/olcpdktwclyjys3owi1b.gif" alt="vscode-move-line-up-down"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fold/unfold code block&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o86DsD9O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3amnhztq5cpydjobdggl.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o86DsD9O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3amnhztq5cpydjobdggl.gif" alt="vscode-fold-unfold"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vue</category>
      <category>vscode</category>
      <category>shortcuts</category>
    </item>
    <item>
      <title>Basic: Using Async and Await with Axios</title>
      <dc:creator>Tu Trinh</dc:creator>
      <pubDate>Tue, 24 Aug 2021 18:16:07 +0000</pubDate>
      <link>https://forem.com/tutrinh/basic-using-async-and-await-with-axios-ad5</link>
      <guid>https://forem.com/tutrinh/basic-using-async-and-await-with-axios-ad5</guid>
      <description>&lt;p&gt;Axios is a promise based HTTP client for the browser and Node.js. Axios makes it easy to send asynchronous HTTP request to REST endpoints and execute CRUD operations. It is used in Javascript or with a framework such as Vue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;getResponse&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async&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="k"&gt;try&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;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;url&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="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;err&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;err&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Post
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;createPost&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;userid&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;firstName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;John&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;lastName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Doe&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
     &lt;span class="p"&gt;}&lt;/span&gt;

     &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="c1"&gt;// axios automatically serializes the payload to JSON.&lt;/span&gt;
          &lt;span class="c1"&gt;// no need to JSON.stringify({ userid: 42, ...})&lt;/span&gt;
          &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;axios&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;url&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
     &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&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;



</description>
      <category>frontend</category>
      <category>axios</category>
      <category>async</category>
      <category>await</category>
    </item>
  </channel>
</rss>
