<?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: Jakub Smetanka</title>
    <description>The latest articles on DEV Community by Jakub Smetanka (@smetankajakub).</description>
    <link>https://dev.to/smetankajakub</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%2F674348%2Fa3eaf146-12aa-4684-928c-b48a108c1553.jpeg</url>
      <title>DEV Community: Jakub Smetanka</title>
      <link>https://dev.to/smetankajakub</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/smetankajakub"/>
    <language>en</language>
    <item>
      <title>Weekly dev insights (week 37)</title>
      <dc:creator>Jakub Smetanka</dc:creator>
      <pubDate>Sun, 18 Sep 2022 10:41:42 +0000</pubDate>
      <link>https://dev.to/smetankajakub/weekly-dev-insightsweek-37-1kpb</link>
      <guid>https://dev.to/smetankajakub/weekly-dev-insightsweek-37-1kpb</guid>
      <description>&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="//#1.-Where-to-find-remote-work"&gt;Where to find remote work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="//#2.-Angular-project-structure"&gt;Angular project structure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="//#3.-RxJS-patterns-in-Angular"&gt;RxJS patterns in Angular&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. Where to find remote work
&lt;/h2&gt;

&lt;p&gt;Useful list of platforms where you can find remote work&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/k_ivanow" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qa7i6ToI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--ydZpgewr--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/12027/jlhav8Ea.jpeg" alt="k_ivanow"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/k_ivanow/finding-remote-work-in-2022-26j" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Finding remote work in 2022&lt;/h2&gt;
      &lt;h3&gt;Kristian Ivanov ・ Sep 11 ・ 5 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#remote&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#interview&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#career&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#jobs&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  2.Angular project structure
&lt;/h2&gt;

&lt;p&gt;How to structure Angular project, what is part of core, shared, and features module? Of course, if you are still using NgModules you can read here &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/@shijin_nath/angular-right-file-structure-and-best-practices-that-help-to-scale-2020-52ce8d967df5" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cqxGy2wL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/fit/c/96/96/2%2A-yCoCM4cGFlsuefrb1Owsw.jpeg" alt="Shijin Nath"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/@shijin_nath/angular-right-file-structure-and-best-practices-that-help-to-scale-2020-52ce8d967df5" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Angular File Structure and Best Practices (that help to scale) | by Shijin Nath | Medium&lt;/h2&gt;
      &lt;h3&gt;Shijin Nath ・ &lt;time&gt;Apr 26, 2020&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hnDHPsJs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/medium-f709f79cf29704f9f4c2a83f950b2964e95007a3e311b77f686915c71574fef2.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  3. RxJS patterns in Angular
&lt;/h2&gt;

&lt;p&gt;Check RxJS patterns by Deborah Kurata from ng-conf2020 on pluralsight for &lt;a href="https://app.pluralsight.com/course-player?clipId=ba4a5144-0eb7-4c65-8f39-26b89171292e"&gt;free&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  What are your insights from last week? Feel free to share.
&lt;/h4&gt;

&lt;p&gt;If you like this short article, feel free to comment, or share it. If you dont like, do it as well and tell me your remarks ;)&lt;/p&gt;

&lt;p&gt;Don't miss any new blog by following me here. &lt;br&gt;
Follow me on &lt;a href="//twitter.com/smetankajakub_"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visit my website &lt;a href="https://smetankajakub.com"&gt;smetankajakub.com&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Where to find ui/ux designer? (discussion)</title>
      <dc:creator>Jakub Smetanka</dc:creator>
      <pubDate>Thu, 08 Sep 2022 11:16:49 +0000</pubDate>
      <link>https://dev.to/smetankajakub/where-to-find-uiux-designer-discussion-lkf</link>
      <guid>https://dev.to/smetankajakub/where-to-find-uiux-designer-discussion-lkf</guid>
      <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I am looking for a ui/ux designer, to design web platform intended for managing sport events.&lt;/p&gt;

&lt;p&gt;What is the best platform to find them? How do you decide whom to contact?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>design</category>
      <category>ui</category>
      <category>ux</category>
    </item>
    <item>
      <title>3 resources, I found the most useful (week 33)</title>
      <dc:creator>Jakub Smetanka</dc:creator>
      <pubDate>Mon, 29 Aug 2022 07:45:00 +0000</pubDate>
      <link>https://dev.to/smetankajakub/weekly-dev-insights-41i8</link>
      <guid>https://dev.to/smetankajakub/weekly-dev-insights-41i8</guid>
      <description>&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;git push config&lt;/li&gt;
&lt;li&gt;npm/yarn patch package&lt;/li&gt;
&lt;li&gt;Angular Standalone components&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. git push config
&lt;/h2&gt;

&lt;p&gt;Are you frustrated about setting upstream branch while pushing commits? Don't have to, since &lt;strong&gt;git 2.37&lt;/strong&gt; release its not a problem anymore.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/this-is-learning" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SV2c6g9T--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--TcsNlUvs--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/3314/dc73eb74-08f9-4592-b599-c08f2bb14b4d.png" alt="This is Learning" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3-Y4fpCG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--3PPW_Ubo--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/879086/c23e7353-0873-45cc-a4fb-9bce7de113d5.jpg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/this-is-learning/this-new-git-push-config-will-save-you-lot-of-frustration-27a9" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;⚙ This new GIT push config will save you lot of frustration!&lt;/h2&gt;
      &lt;h3&gt;Leonardo Montini for This is Learning ・ Aug 2 ・ 2 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#git&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#github&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#tutorial&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  2.Resolve a bug w/ patch
&lt;/h2&gt;

&lt;p&gt;Here is the situation, you have found a bug in package dependency and upgrading the package would impact versions of other packages, trust me you don't want to upgrade each package. The easy solution is a patch package.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/zhnedyalkow" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EBVXXIjk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--LdRHfGtI--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/475031/e54eb5a5-8e51-4f66-a45f-5148ad345143.jpeg" alt="zhnedyalkow"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/zhnedyalkow/the-easiest-way-to-patch-your-npm-package-4ece" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;The easiest way to patch your npm package when there is a 🐛&lt;/h2&gt;
      &lt;h3&gt;Zhitomir Oreshenski ・ Dec 5 '20 ・ 2 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#npm&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  3. Angular Standalone Components
&lt;/h2&gt;

&lt;p&gt;As you already probably know, since Angular v14 new feature called Standalone components is available, quick tutorial for those who want to try it.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/x5PZwb4XurU"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;If you like this short article, feel free to comment, or share it. If you dont like, do it as well and tell me your remarks ;)&lt;/p&gt;

&lt;p&gt;Don't miss any new blog by following me here. &lt;br&gt;
Follow me on &lt;a href="//witter.com/smetankajakub_"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visit my website &lt;a href="https://smetankajakub.com"&gt;smetankajakub.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>angular</category>
      <category>programming</category>
    </item>
    <item>
      <title>Share your personal website</title>
      <dc:creator>Jakub Smetanka</dc:creator>
      <pubDate>Wed, 06 Jul 2022 19:56:11 +0000</pubDate>
      <link>https://dev.to/smetankajakub/personal-website-i-am-online-now-4me2</link>
      <guid>https://dev.to/smetankajakub/personal-website-i-am-online-now-4me2</guid>
      <description>&lt;p&gt;Finally, it's here. I am online now &lt;a href="https://www.smetankajakub.com"&gt;smetankajakub.com&lt;/a&gt;. What do you think?&lt;/p&gt;

&lt;p&gt;Do you have your own website, feel free to share it. :)&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>webdev</category>
      <category>portfolio</category>
      <category>career</category>
    </item>
    <item>
      <title>How to integrate Husky, ESLint, Prettier to project in less than 15 minutes (step-by-step guide)</title>
      <dc:creator>Jakub Smetanka</dc:creator>
      <pubDate>Sat, 04 Dec 2021 11:58:00 +0000</pubDate>
      <link>https://dev.to/smetankajakub/how-to-integrate-husky-eslint-prettier-to-project-in-less-than-15-minutes-5gh</link>
      <guid>https://dev.to/smetankajakub/how-to-integrate-husky-eslint-prettier-to-project-in-less-than-15-minutes-5gh</guid>
      <description>&lt;p&gt;Usage of code formatter increases the readability of code and helps to keep the same style in the whole project. In this article, we will go through one of the most popular linter ESLint, which is intended for Javascript and Typescript. Next, we will set code formatter for HTML and other files called Prettier. When we add to them Husky hooks after that, we will be able to ensure the same code style for each member of the team, or contributor to our project.&lt;/p&gt;

&lt;p&gt;NB: You can skip 1. section if you have already installed Prettier and ESLint extensions in VS Code.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Add extensions to VSCode (Optional)
&lt;/h2&gt;

&lt;p&gt;In first step add extension to your VSCode (&lt;strong&gt;Ctrl + Shift + X&lt;/strong&gt;) &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1gyb9umfdvjc21nc6ny.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1gyb9umfdvjc21nc6ny.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyr7aut4cotfk7dt3e04e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyr7aut4cotfk7dt3e04e.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  2. Install Prettier and pretty-quick
&lt;/h2&gt;

&lt;p&gt;Install packages using &lt;strong&gt;npm&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install --save-dev prettier pretty-quick
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2.1 configuration of Prettier - Code formatter
&lt;/h3&gt;

&lt;p&gt;Create 2 files in a directory where you have &lt;strong&gt;package.json&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;.prettierignore.json&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;package.json
package-lock.json
yarn.lock
dist
node_modules
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;.prettierrc&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;bracketSpacing&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;semi&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;singleQuote&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;trailingComma&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;none&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;printWidth&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;tabWidth&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The Directory should look as follow:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2xzmbgbvwrpeaide7da9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2xzmbgbvwrpeaide7da9.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
If you were asking why is needed pretty-quick, now it's time to use it. With pretty-quick you can run formatter on all files (or only staged etc.) using one command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx pretty-quick 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq239oibe795dug8gl44q.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq239oibe795dug8gl44q.gif" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
We will integrate this tool later together with husky hooks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; If you are using &lt;strong&gt;Windows Powershell&lt;/strong&gt; and have problem run &lt;strong&gt;npx&lt;/strong&gt; command, you have to change &lt;strong&gt;execution policy&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;set-executionpolicy remotesigned
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Install ESLint
&lt;/h2&gt;

&lt;p&gt;For &lt;strong&gt;local&lt;/strong&gt; install of package use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install eslint 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For &lt;strong&gt;global&lt;/strong&gt; install&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g eslint 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For generating configuration file for ESLint &lt;strong&gt;.eslintrc.json&lt;/strong&gt; you can choose from two options:&lt;/p&gt;

&lt;h3&gt;
  
  
  3.1. Use VSCode command pallete
&lt;/h3&gt;

&lt;p&gt;Open command pallete in VSCode &lt;strong&gt;(Ctrl + Shift + P)&lt;/strong&gt;.&lt;br&gt;
and run &lt;em&gt;ESLint: Create ESLInt configuration&lt;/em&gt;. It will directly open a terminal and start a process of configuration.&lt;/p&gt;
&lt;h3&gt;
  
  
  3.2. Use npm
&lt;/h3&gt;

&lt;p&gt;If you have installed ESLint package &lt;strong&gt;globally&lt;/strong&gt; to generate file use&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm eslint --init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you have installed your ESLint package &lt;strong&gt;locally&lt;/strong&gt; then you should use slightly different command for &lt;strong&gt;(Windows)&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; .\node_modules\.bin\eslint --init 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and for &lt;strong&gt;Linux&lt;/strong&gt; and &lt;strong&gt;Mac&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./node_modules/.bin/eslint --init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both approaches come to the same configuration process where you have to answer some questions about linter settings.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw00xvszw84wl6v7vebpk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw00xvszw84wl6v7vebpk.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After answering all questions, the configuration file is generated and all required packages are installed.&lt;/p&gt;

&lt;p&gt;Example of &lt;strong&gt;.eslintrc.json&lt;/strong&gt; if you have the same answers as on previous picture should look similar as follow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "root": true,
  "ignorePatterns": ["projects/**/*"],
  "overrides": [
    {
      "files": ["*.ts"],
      "parserOptions": {
        "project": ["tsconfig.json"],
        "createDefaultProgram": true
      },
      "extends": [
        "plugin:@angular-eslint/recommended",
        "plugin:@angular-eslint/template/process-inline-templates"
      ],
      "rules": {
        "@angular-eslint/directive-selector": [
          "error",
          {
            "type": "attribute",
            "prefix": "app",
            "style": "camelCase"
          }
        ],
        "@angular-eslint/component-selector": [
          "error",
          {
            "type": "element",
            "prefix": "app",
            "style": "kebab-case"
          }
        ]
      }
    },
    {
      "files": ["*.html"],
      "extends": ["plugin:@angular-eslint/template/recommended"],
      "rules": {}
    }
  ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  5. Husky
&lt;/h2&gt;

&lt;p&gt;Git has a way how to trigger custom scripts when some action occurs i.e commit or push. You can use it to lint your commit messages, run tests, lint code, etc. when you commit or push. Husky supports all Git hooks.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install --save-dev husky
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5.1 Add husky hooks to package.json
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"husky": {
    "hooks": {
      "pre-commit": "npx pretty-quick --staged ng lint ng test",
      "pre-push": "ng build --aot true"
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5.2 Add prepare script to package.json
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"prepare": "cd .. &amp;amp;&amp;amp; husky install client/.husky"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; You have to install husky from root directory where git repository is initialized, that's why I have to change directory before.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.3 run prepare script
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm run prepare
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5.4 create hook for pre-commit
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx husky add ./client/.husky/pre-commit "npx pretty-quick --staged ng lint ng test"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It will be launched each time after we fire git commit.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.5 Result
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm1wzz5evk1ywfc64f9wj.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm1wzz5evk1ywfc64f9wj.gif" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you like this article, feel free to comment, or share it.&lt;/p&gt;

&lt;p&gt;If you want to support me with coffee you can do it here: &lt;a href="https://www.buymeacoffee.com/smetankajakub" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftwve1hh3j8ewl5aowo7r.png" alt="Buy Me A Coffee"&gt;&lt;/a&gt;&lt;br&gt;
I would be grateful ;) &lt;/p&gt;

&lt;p&gt;Follow me on &lt;a href="https://twitter.com/smetankajakub_" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visit website &lt;a href="https://www.smetankajakub.com" rel="noopener noreferrer"&gt;smetankajakub.com&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Resources
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://typicode.github.io/husky/#/" rel="noopener noreferrer"&gt;https://typicode.github.io/husky/#/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://docs.microsoft.com/sk-sk/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1" rel="noopener noreferrer"&gt;https://docs.microsoft.com/sk-sk/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1&lt;/a&gt;&lt;br&gt;
&lt;a href="https://prettier.io/" rel="noopener noreferrer"&gt;https://prettier.io/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://eslint.org/" rel="noopener noreferrer"&gt;https://eslint.org/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>VS Code extensions NOT only for Frontend developers</title>
      <dc:creator>Jakub Smetanka</dc:creator>
      <pubDate>Thu, 04 Nov 2021 21:14:00 +0000</pubDate>
      <link>https://dev.to/smetankajakub/vscode-extensions-not-only-for-frontend-developers-30aj</link>
      <guid>https://dev.to/smetankajakub/vscode-extensions-not-only-for-frontend-developers-30aj</guid>
      <description>&lt;h1&gt;
  
  
  Prettier - Code formatter
&lt;/h1&gt;

&lt;p&gt;It is code formatter with support of many languages. It can automatically format the code right after save which save your time and increase productivity. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsm442n1mvvx7brtavcek.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsm442n1mvvx7brtavcek.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Better comments
&lt;/h1&gt;

&lt;p&gt;This extension is used for more friendly comments, you are able to customize tags by your own. Very easy configurations with support to plenty of programming languages.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwdme4qy8aacvvigi2cl6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwdme4qy8aacvvigi2cl6.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Angular Snippets
&lt;/h1&gt;

&lt;p&gt;Snippets for Angular, Typescript, HTML.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fih4yzhcmxf0u7wrf906g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fih4yzhcmxf0u7wrf906g.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Intelisense path
&lt;/h1&gt;

&lt;p&gt;Extension to autocomplete filenames.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F48mx7e4s93mgluoimjhn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F48mx7e4s93mgluoimjhn.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  IntelliSense for CSS class names in HTML
&lt;/h1&gt;

&lt;p&gt;This extension take care of completion of CSS class in HTML.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2gpnnkk7b88otb5ya5tu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2gpnnkk7b88otb5ya5tu.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Eslint
&lt;/h1&gt;

&lt;p&gt;Javascript Linter extension.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3alwnf0il0bbvxn2jzaz.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3alwnf0il0bbvxn2jzaz.JPG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  GitLens
&lt;/h1&gt;

&lt;p&gt;This extension provide to you useful information from git on hovering of each line. Easy to explore repository, with possibility to be fast redirected to requested file in your Source Control Client (GitHub, BitBucket, ...).&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9s1dp7av2jjij8i8spb.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9s1dp7av2jjij8i8spb.JPG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  ThunderClient
&lt;/h1&gt;

&lt;p&gt;Is lightweight Rest API Client. It is alternative to Postman not that heavy but still useful.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftfciibv1pz7zheaijza8.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftfciibv1pz7zheaijza8.JPG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Live Server
&lt;/h1&gt;

&lt;p&gt;Helps to launch local development server with live reloading of static and dynamic pages as well.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9c7nskdf3qcr05xxkhuj.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9c7nskdf3qcr05xxkhuj.JPG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow me on &lt;a href="https://twitter.com/smetankajakub_" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>vscode</category>
      <category>frontend</category>
      <category>angular</category>
    </item>
    <item>
      <title>The most repeated questions I met with on job interviews (part 1)</title>
      <dc:creator>Jakub Smetanka</dc:creator>
      <pubDate>Sun, 19 Sep 2021 15:17:00 +0000</pubDate>
      <link>https://dev.to/smetankajakub/repeated-questions-i-met-with-on-job-interviews-part-1-3p2e</link>
      <guid>https://dev.to/smetankajakub/repeated-questions-i-met-with-on-job-interviews-part-1-3p2e</guid>
      <description>&lt;p&gt;A wiseman once said : "If you can not explain it, you do not understand it". A few years ago, when I had searched for a job as a student I went through a lot of interviews. For web positions related to Javascript, there were some questions which repeat regularly. And it makes sense, to asked them also today.&lt;/p&gt;

&lt;h1&gt;
  
  
  const vs let vs var
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;const&lt;/strong&gt; keyword create block scope variable and prevents its value to be reassigned by a new value. However, important thing is that it does not restrict to change the internal state of the object.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnz8acbmfmw0k46rvi4fz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnz8acbmfmw0k46rvi4fz.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;let&lt;/strong&gt; is block-scope variable while &lt;strong&gt;var&lt;/strong&gt; is function-scope variable.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1kvsmwfwk3en2u2wk9rv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1kvsmwfwk3en2u2wk9rv.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  '===' vs '==' comparison
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;===&lt;/strong&gt; is strict comparison, it checks value and type of value as well, so 1 === "1" returns &lt;strong&gt;false&lt;/strong&gt;, the opposite of that is &lt;strong&gt;==&lt;/strong&gt; comaparison which checks only value so 1 == "1" returns &lt;strong&gt;true&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Can we compare two objects with '===' ?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;NO&lt;/strong&gt;. Object is reference type. Two distinct object never be equal even they have same property. That's why you will get false when you are using '===' comparison. In Javascript also exist built-in function &lt;strong&gt;Object.is(value1, value2)&lt;/strong&gt; EDIT: &lt;del&gt;which returns true if objects are equals, otherwise it returns false.&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;Visit website &lt;a href="https://www.smetankajakub.com" rel="noopener noreferrer"&gt;smetankajakub.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow me on &lt;a href="https://twitter.com/smetankajakub_" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Resources
&lt;/h3&gt;

&lt;p&gt;Eloquent Javascript&lt;br&gt;
&lt;a href="https://unsplash.com/photos/TFFn3BYLc5s?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditShareLink" rel="noopener noreferrer"&gt;https://unsplash.com/photos/TFFn3BYLc5s?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditShareLink&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>jobinterviews</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>5 steps to resolve merge conflicts in Bitbucket repository with git bash</title>
      <dc:creator>Jakub Smetanka</dc:creator>
      <pubDate>Tue, 31 Aug 2021 18:55:00 +0000</pubDate>
      <link>https://dev.to/smetankajakub/how-to-resolve-merge-conflicts-in-bitbucket-repository-with-git-bash-34ag</link>
      <guid>https://dev.to/smetankajakub/how-to-resolve-merge-conflicts-in-bitbucket-repository-with-git-bash-34ag</guid>
      <description>&lt;p&gt;Before merging your branch to the main branch (develop, master, whatever), it occurs that your branch is many commits behind the destination branch and somebody pushed changes which have conflicts with yours. Before pushing your changed files you have to sync your branch with the destination branch and in case, that there are files with conflicts you have to resolve them. If you are a fan of git bash or command line, there are 5 steps how to manage merge. &lt;/p&gt;

&lt;h3&gt;
  
  
  1.Checkout the temporary branch with your changes.
&lt;/h3&gt;

&lt;p&gt;This branch is created, when there are detected conflicts with your origin branch which are not possible to resolve with auto-merging .&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git checkout &amp;lt;temporary-branch&amp;gt;


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

&lt;/div&gt;
&lt;h3&gt;
  
  
  2.Merge destination branch to your detached branch.
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git merge remotes/origin/&amp;lt;destination-branch&amp;gt;


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

&lt;/div&gt;

&lt;p&gt;This command will merge all files which can merge. In others, there are marked lines of code, which have to be merged manually&lt;/p&gt;

&lt;h3&gt;
  
  
  3.Resolve conflicts
&lt;/h3&gt;

&lt;p&gt;Compare yours and incoming changes and resolve them. If you have finished, you can mark the resolved file with &lt;strong&gt;git add&lt;/strong&gt;.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git add &lt;span class="s1"&gt;'path/resolved-file'&lt;/span&gt;


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

&lt;/div&gt;
&lt;h3&gt;
  
  
  4.Commit resolved files
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git commit


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

&lt;/div&gt;

&lt;p&gt;If you commit your resolved files you are in the detached branch so you have to push it to your branch. &lt;/p&gt;

&lt;h3&gt;
  
  
  5.Push detached branch to your branch
&lt;/h3&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git push origin HEAD:&amp;lt;name-of-your-branch&amp;gt;


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

&lt;/div&gt;

&lt;p&gt;If it is successful, your branch is in sync with destination branch. You can continue with creating pull request or merging your branch to destination branch.&lt;/p&gt;

&lt;p&gt;If you want to support me with coffee you can do it here: &lt;a href="https://www.buymeacoffee.com/smetankajakub" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftwve1hh3j8ewl5aowo7r.png" alt="Buy Me A Coffee"&gt;&lt;/a&gt;&lt;br&gt;
I would be grateful ;)&lt;/p&gt;

&lt;p&gt;Visit website &lt;a href="https://www.smetankajakub.com" rel="noopener noreferrer"&gt;smetankajakub.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow me on &lt;a href="https://twitter.com/smetankajakub_" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@yancymin?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Yancy Min&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/git?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>git</category>
      <category>webdev</category>
      <category>bitbucket</category>
      <category>bash</category>
    </item>
    <item>
      <title>10 simple VS code shortcuts that help me be more productive</title>
      <dc:creator>Jakub Smetanka</dc:creator>
      <pubDate>Wed, 28 Jul 2021 20:31:42 +0000</pubDate>
      <link>https://dev.to/smetankajakub/10-simple-vs-code-shortcuts-which-help-me-be-more-productive-1f70</link>
      <guid>https://dev.to/smetankajakub/10-simple-vs-code-shortcuts-which-help-me-be-more-productive-1f70</guid>
      <description>&lt;p&gt;In VS Code there exist bunch of keyboard shortcuts, which help programmers not use GUI or mouse, while they are writing code. Probably, its not possible to remember every shortcut. That's why we have keyboard shortcuts sheet, here is a &lt;a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf"&gt;link&lt;/a&gt; or open it via VS Code with Ctrl + K Ctrl + R (it's a bonus one). Important thing at beginning is start to use at least some of them.&lt;br&gt;
If you are successful with using it, you should carry on with adding another ones. With everyday using, you will you use it automatically, and your writing will be less interrupted with using mouse or GUI, which makes you more productive.&lt;/p&gt;

&lt;p&gt;I choose some useful shortcuts which was really easy to adapt and I use them on daily basis. &lt;/p&gt;

&lt;h3&gt;
  
  
  Ctrl + B
&lt;/h3&gt;

&lt;p&gt;Open/Close left sidebar.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ctrl + F
&lt;/h3&gt;

&lt;p&gt;Find occurrences of keyword in a current file&lt;/p&gt;

&lt;h3&gt;
  
  
  Ctrl + Shift + F
&lt;/h3&gt;

&lt;p&gt;Find occurrences of keyword in whole project&lt;/p&gt;

&lt;h3&gt;
  
  
  Alt + Left/Right Arrow
&lt;/h3&gt;

&lt;p&gt;Return to previous / following position of cursor.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ctrl + P
&lt;/h3&gt;

&lt;p&gt;Search files by name. Hint: Don't have to write whole names just part of them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ctrl + Shift + P
&lt;/h3&gt;

&lt;p&gt;Search in command palette&lt;/p&gt;

&lt;h3&gt;
  
  
  Ctrl + \
&lt;/h3&gt;

&lt;p&gt;Split screen. Current file is opened in new split window&lt;/p&gt;

&lt;h3&gt;
  
  
  Alt + Shift + Up/Down Arrow
&lt;/h3&gt;

&lt;p&gt;Copy whole current line up or down&lt;/p&gt;

&lt;h3&gt;
  
  
  Alt + Up/Down Arrow
&lt;/h3&gt;

&lt;p&gt;Move line up or down&lt;/p&gt;

&lt;h3&gt;
  
  
  Ctrl + /
&lt;/h3&gt;

&lt;p&gt;Comment whole line&lt;/p&gt;

&lt;p&gt;If you know any simple helpful shortcut, feel free to comment.&lt;/p&gt;

&lt;p&gt;Follow me on &lt;a href="https://twitter.com/smetankajakub_"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

&lt;h6&gt;
  
  
  Picture by Daniel Agrelo from Pixabay
&lt;/h6&gt;

</description>
      <category>vscode</category>
      <category>productivity</category>
      <category>dev</category>
      <category>shortcuts</category>
    </item>
  </channel>
</rss>
