<?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: Utkarsh Maurya</title>
    <description>The latest articles on DEV Community by Utkarsh Maurya (@utkarsh1311).</description>
    <link>https://dev.to/utkarsh1311</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%2F539592%2F9a85fe4f-27dc-4e9d-9f26-6e84f3f903d2.jpg</url>
      <title>DEV Community: Utkarsh Maurya</title>
      <link>https://dev.to/utkarsh1311</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/utkarsh1311"/>
    <language>en</language>
    <item>
      <title>My experience with JavaScript as a Java Programmer</title>
      <dc:creator>Utkarsh Maurya</dc:creator>
      <pubDate>Sun, 05 Jun 2022 18:42:13 +0000</pubDate>
      <link>https://dev.to/utkarsh1311/my-experience-with-javascript-as-a-java-programmer-25k9</link>
      <guid>https://dev.to/utkarsh1311/my-experience-with-javascript-as-a-java-programmer-25k9</guid>
      <description>&lt;p&gt;My programming journey started with &lt;strong&gt;Java&lt;/strong&gt;. It's a great language to learn about core programming and &lt;strong&gt;OOP&lt;/strong&gt; concepts. &lt;/p&gt;

&lt;p&gt;A few months ago, I started learning &lt;strong&gt;JavaScript&lt;/strong&gt; as a part of my &lt;strong&gt;Full Stack Web Developer&lt;/strong&gt; goal. JavaScript is immensely popular and it has a great ecosystem. There are tons of JavaScript libraries and framework out there like React, Vue, Angular etc. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mRxdk779--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vmbmomxaujdfhs0n5yzp.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mRxdk779--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vmbmomxaujdfhs0n5yzp.jpeg" alt="JavaScript JavaScript everywhere meme" width="760" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Because of my familiarity with Java, learning JavaScript has been very comfortable for me. &lt;/p&gt;

&lt;p&gt;So, in this blog, I would like to talk about the things that I like about JavaScript and what I don't as a Java programmer&lt;/p&gt;




&lt;h2&gt;
  
  
  What I like about JavaScript
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1: No boilerplate code
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;No more &lt;code&gt;public static void main(String[] args)&lt;/code&gt;&lt;/strong&gt;.&lt;br&gt;
With JavaScript, I don't have to write unnecessary boilerplate code just because I want to run a small piece of code. No need to define a class and a main method for everything. I know that they have their significance in Java and why they are important but sometimes it is frustrating. &lt;/p&gt;
&lt;h3&gt;
  
  
  2: Higher Order functions and Callback
&lt;/h3&gt;

&lt;p&gt;I really love being able to create functions that can be passed different functionality according to my need. I don't have to define a whole new function just because there is some slight difference in functionality. &lt;/p&gt;

&lt;p&gt;They allow us to compose different operations. &lt;/p&gt;

&lt;p&gt;H.O.F functions like &lt;code&gt;map()&lt;/code&gt;, &lt;code&gt;filter()&lt;/code&gt;, &lt;code&gt;reduce()&lt;/code&gt; are extremely helpful when I want to perform some operation on a collection of items. &lt;/p&gt;

&lt;p&gt;Java also has support for Higher order functions with Lambdas and the Functional interface, but I never used them as frequently as I use in JavaScript.&lt;/p&gt;
&lt;h3&gt;
  
  
  3: Objects
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Objects are the bread and butter of JavaScript.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Objects are probably my favourite part of JS. I love how easy it is to create and use objects in JavaScript. No need to always define a class whenever I want to group together related pieces of information, I can just create an object for it.&lt;/p&gt;

&lt;p&gt;With ES6, it is easier than ever to use objects. Object destructuring makes it so easy to extract and use values from objects.&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="c1"&gt;// before ES6&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;person&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Utkarsh&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;username&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;utkarsh1311&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;person&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;person&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;username&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;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;username&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// Utkarsh utkarsh1311&lt;/span&gt;

&lt;span class="c1"&gt;// after ES6&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;person&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Utkarsh&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;username&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;utkarsh1311&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;person&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;username&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;person&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;person&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;username&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// Utkarsh utkarsh1311&lt;/span&gt;

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  4: The JavaScript Ecosystem
&lt;/h3&gt;

&lt;p&gt;JavaScript was developed to make the frontend of web along with HTML and CSS. There are so many frontend libraries and frameworks based on JavaScript like React, Vue, Angular, Next.js and many many more. &lt;/p&gt;

&lt;p&gt;JavaScript now also has the abiltity to run outside browsers thanks to technologies like Node.js.&lt;/p&gt;

&lt;p&gt;This huge ecosystem allows us to build almost anything with the help of JavaScript. &lt;br&gt;
You can develop web app with React or Vue, desktop apps with Electron.js, mobile app with React Native, Xamarin. &lt;br&gt;
The possibilities are endless.&lt;/p&gt;

&lt;p&gt;I never felt this freedom with Java. I know Java has it's own use cases where it shines but I really enjoy JavaScript more due to being able to build stuff.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I don't like about JavaScript
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1: Object Oriented Programming
&lt;/h3&gt;

&lt;p&gt;I know, I know, I said that I love using objects in JS. So why now I am saying I don't like OOP in JS.&lt;/p&gt;

&lt;p&gt;Well, It is true that I love to use JS objects, I simply can't wrap my head around the way OOP is implemented in JavaScript.&lt;br&gt;
JavaScript uses something called &lt;strong&gt;Prototype based OOP&lt;/strong&gt;. That means there is no concept of classes in JavaScript. And maybe because I have a Java background, I have a very clear mental model of traditional class based OOP. &lt;/p&gt;

&lt;p&gt;With ES6, JS has introduced a class based syntax which makes it easier to write Object oriented code, but it is just syntactical sugar and under the hood, it still uses the Prototype based OOP. &lt;/p&gt;

&lt;p&gt;After watching &lt;a href="https://frontendmasters.com/courses/javascript-hard-parts-v2/"&gt;JavaScript-The Hard parts by Will Sentance&lt;/a&gt;, my understanding of OOP in JS has definitely improved, but I still don't like it.&lt;/p&gt;

&lt;h3&gt;
  
  
  2: Asynchronous JavaScript
&lt;/h3&gt;

&lt;p&gt;Asynchronous means things that happen independent of the main program flow.&lt;br&gt;
Asynchronous programming is the backbone of modern web development. It is a very important aspect of JS to learn if you wish to be a successful web developer.&lt;br&gt;
When I started writing code which involved some sort of async operation, I made a lot of mistakes because I didn't have any idea about how asynchronous programminga actually works in JS.&lt;br&gt;
I struggled a lot with Promises, then, catch, async, await etc. I still do. There are still certain concepts in Asynchronous JS which is hard for me wrap my head around.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;This was all about my experience with JavaScript as a Java programmer.&lt;br&gt;
Overall, I am really enjoying coding in JavaScript and I think I am starting to like it more than Java (&lt;em&gt;Sorry Java&lt;/em&gt;).&lt;br&gt;
Let me know what you think 😄.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>java</category>
      <category>programming</category>
    </item>
    <item>
      <title>A workflow for my web-dev projects repo</title>
      <dc:creator>Utkarsh Maurya</dc:creator>
      <pubDate>Tue, 07 Dec 2021 08:19:48 +0000</pubDate>
      <link>https://dev.to/utkarsh1311/a-workflow-for-my-web-dev-projects-repo-33nm</link>
      <guid>https://dev.to/utkarsh1311/a-workflow-for-my-web-dev-projects-repo-33nm</guid>
      <description>&lt;p&gt;Whenever I add new projects to my &lt;a href="https://github.com/utkarsh1311/web-dev-practice"&gt;web-dev-practice&lt;/a&gt; repository, it is a pain to add the information about the project manually to the README of the repo.&lt;/p&gt;

&lt;h3&gt;
  
  
  My Workflow
&lt;/h3&gt;

&lt;p&gt;That's why I created a workflow which automatically adds information about the project like it's &lt;strong&gt;name&lt;/strong&gt;, &lt;strong&gt;preview image&lt;/strong&gt; and a &lt;strong&gt;try-it&lt;/strong&gt; link from a &lt;code&gt;data.json&lt;/code&gt; file to the &lt;code&gt;README.md&lt;/code&gt; as an HTML table cell. Also adds a little &lt;code&gt;Download&lt;/code&gt; button at the end of the &lt;code&gt;README.md&lt;/code&gt; in case someone wants to download the repo as a zip file.&lt;br&gt;
I am using the &lt;a href="https://github.com/marketplace/actions/json2table"&gt;Json2Table&lt;/a&gt; action from &lt;a href="https://github.com/EddieHubCommunity"&gt;EddieHub&lt;/a&gt; and &lt;a href="https://github.com/DenverCoder1/readme-download-button-action"&gt;readme-download-button-action&lt;/a&gt;.&lt;br&gt;
Here is the &lt;code&gt;YAML&lt;/code&gt; file :-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; 
  &lt;span class="s"&gt;push&lt;/span&gt;
&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;table&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Update README from json data&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Read/Write data into README&lt;/span&gt;
      &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;eddiejaoude/github-actions-reader-writer@v0.1&lt;/span&gt;
      &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;json-file-path&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;data.json'&lt;/span&gt;
        &lt;span class="na"&gt;github-token&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.GITHUB_TOKEN }}&lt;/span&gt;
        &lt;span class="na"&gt;columns&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt;
        &lt;span class="na"&gt;object-field-names&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;[&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;"tryItLink",&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;"projectName",&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;"imageUrl",&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;]'&lt;/span&gt;
        &lt;span class="na"&gt;html-cell&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;&amp;lt;td&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;align="center"&amp;gt;&amp;lt;div&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;style="display:flex;&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;flex-direction:&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;column;"&amp;gt;&amp;lt;h2&amp;gt;{{&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;projectName&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;}}&amp;lt;/h2&amp;gt;&amp;lt;img&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;src="{{&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;imageUrl&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;}}"&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;/&amp;gt;&amp;lt;h3&amp;gt;{{&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;description&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;}}&amp;lt;/h3&amp;gt;&amp;lt;h3&amp;gt;&amp;lt;a&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;href="{{&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;tryItLink&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;}}"&amp;gt;Try&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;It&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;'&lt;/span&gt;
  &lt;span class="na"&gt;release&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Get latest release&lt;/span&gt;
        &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;get-latest-release&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;InsonusK/get-latest-release@v1.0.1&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;myToken&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ github.token }}&lt;/span&gt;
          &lt;span class="na"&gt;view_top&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Readme Download Button Action&lt;/span&gt;
        &lt;span class="na"&gt;env&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;GITHUB_USER&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utkarsh1311"&lt;/span&gt;
          &lt;span class="na"&gt;REPO&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;web-dev-practice"&lt;/span&gt;
          &lt;span class="na"&gt;FORMAT&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;zip"&lt;/span&gt;
          &lt;span class="na"&gt;VERSION&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;${{&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;steps.get-latest-release.outputs.tag_name&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;}}"&lt;/span&gt;
          &lt;span class="na"&gt;COLOR&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;blue"&lt;/span&gt;
          &lt;span class="na"&gt;BEGIN_TAG&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;lt;!--&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;BEGIN&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;LATEST&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;DOWNLOAD&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;BUTTON&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;--&amp;gt;"&lt;/span&gt;
          &lt;span class="na"&gt;END_TAG&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;&amp;lt;!--&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;END&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;LATEST&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;DOWNLOAD&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;BUTTON&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;--&amp;gt;"&lt;/span&gt;
        &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
          &lt;span class="s"&gt;UPDATE=$(cat README.md | perl -0777 -pe 's#(${{ env.BEGIN_TAG }})(?:.|\n)*?(${{ env.END_TAG }})#${1}\n[![Download ${{ env.FORMAT }}](https://custom-icon-badges.herokuapp.com/badge/-Download-${{ env.COLOR }}?style=for-the-badge&amp;amp;logo=download&amp;amp;logoColor=white "Download ${{ env.FORMAT }}")](https://github.com/${{ env.GITHUB_USER }}/${{ env.REPO }}/archive/${{ env.VERSION }}.${{ env.FORMAT }})\n${2}#g')&lt;/span&gt;
          &lt;span class="s"&gt;echo "${UPDATE}" &amp;gt; README.md&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;EndBug/add-and-commit@v7&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;docs(readme):&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Bump&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;download&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;button&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;version&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;to&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;${{&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;steps.get-latest-release.outputs.tag_name&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;}}"&lt;/span&gt;
          &lt;span class="na"&gt;default_author&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;github_actions&lt;/span&gt;
          &lt;span class="na"&gt;branch&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;main&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;And this is what my &lt;code&gt;README.md&lt;/code&gt; looks like :-&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rxKQs8qS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aroqnim9a7iicxksdr72.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rxKQs8qS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aroqnim9a7iicxksdr72.png" alt="README of web-dev-practice repo" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;p&gt;Wacky Wildcards&lt;/p&gt;
&lt;h3&gt;
  
  
  Yaml File or Link to Code
&lt;/h3&gt;

&lt;p&gt;Here is the the repo which uses my workflow :-&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/utkarsh1311"&gt;
        utkarsh1311
      &lt;/a&gt; / &lt;a href="https://github.com/utkarsh1311/web-dev-practice"&gt;
        web-dev-practice
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Projects for web-dev practice
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Repo for projects made for web-dev practice&lt;/h1&gt;
&lt;h2&gt;
Here are my projects&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table width="100%"&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;div&gt;
&lt;h2&gt;
Dice Game&lt;/h2&gt;
&lt;a rel="noopener noreferrer" href="https://user-images.githubusercontent.com/78051214/136400543-41b561d8-7c45-4cfc-9530-bab7fcf1ed03.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZO5q-ydW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/78051214/136400543-41b561d8-7c45-4cfc-9530-bab7fcf1ed03.png"&gt;&lt;/a&gt;&lt;h3&gt;
This is a local two-player and one control game. As soon as you refresh you get the result.The one with the highest value die win. Refresh the page to get a new result.&lt;/h3&gt;
&lt;h3&gt;
&lt;a href="https://utkarsh1311.github.io/web-dev-practice/dice-kit/index.html" rel="nofollow"&gt;Try It&lt;/a&gt;
&lt;/h3&gt;
&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&lt;div&gt;
&lt;h2&gt;
Drum Kit&lt;/h2&gt;
&lt;a rel="noopener noreferrer" href="https://user-images.githubusercontent.com/78051214/136400550-83b6c1d8-640e-4c3e-97dd-d87c9d01fd94.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IO29dx5D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/78051214/136400550-83b6c1d8-640e-4c3e-97dd-d87c9d01fd94.png"&gt;&lt;/a&gt;&lt;h3&gt;
Use your computer keyboard to jam away musically!&lt;/h3&gt;
&lt;h3&gt;
&lt;a href="https://utkarsh1311.github.io/web-dev-practice/drum-kit/index.html" rel="nofollow"&gt;Try It&lt;/a&gt;
&lt;/h3&gt;
&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&lt;div&gt;
&lt;h2&gt;
Order Card Summary&lt;/h2&gt;
&lt;a rel="noopener noreferrer" href="https://github.com/utkarsh1311/web-dev-practice/blob/main/order-summary-component-main/design/screenshot.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zX1qRqhD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/utkarsh1311/web-dev-practice/raw/main/order-summary-component-main/design/screenshot.png"&gt;&lt;/a&gt;&lt;h3&gt;
Solution for the FrontEndMentor summary card component challenge&lt;/h3&gt;
&lt;h3&gt;
&lt;a href="https://utkarsh1311.github.io/web-dev-practice/order-summary-component-main/index.html" rel="nofollow"&gt;Try It&lt;/a&gt;
&lt;/h3&gt;
&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;div&gt;
&lt;h2&gt;
Simon Game Challenge&lt;/h2&gt;
&lt;a rel="noopener noreferrer" href="https://user-images.githubusercontent.com/78051214/136666897-847da8e6-a922-4c72-81ec-b5776b4e2699.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rluRwCwe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/78051214/136666897-847da8e6-a922-4c72-81ec-b5776b4e2699.png"&gt;&lt;/a&gt;&lt;h3&gt;
A digital version of the classic memory game called Simon Game! &lt;/h3&gt;
&lt;h3&gt;
&lt;a href="https://utkarsh1311.github.io/web-dev-practice/Simon%20Game%20Challenge%20Starting%20Files/index.html" rel="nofollow"&gt;Try It&lt;/a&gt;
&lt;/h3&gt;
&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&lt;div&gt;
&lt;h2&gt;
Advice generator app&lt;/h2&gt;
&lt;a rel="noopener noreferrer" href="https://github.com/utkarsh1311/web-dev-practiceadvice-generator-app-main/design/mobile-design.jpg"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4CxraLfi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/utkarsh1311/web-dev-practiceadvice-generator-app-main/design/mobile-design.jpg"&gt;&lt;/a&gt;&lt;h3&gt;
A simple app to generate random advices&lt;/h3&gt;
&lt;h3&gt;
&lt;a href="https://utkarsh1311.github.io/web-dev-practice/advice-generator-app-main/index.html" rel="nofollow"&gt;Try It&lt;/a&gt;
&lt;/h3&gt;
&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;&lt;div&gt;
&lt;h2&gt;
Sunnyside agency landing page&lt;/h2&gt;
&lt;a rel="noopener noreferrer" href="https://github.com/utkarsh1311/web-dev-practice./sunnyside-agency-landing-page-main/design/Screenshot%20from%202022-04-14%2023-24-00.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OMjqe8DF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/utkarsh1311/web-dev-practice./sunnyside-agency-landing-page-main/design/Screenshot%2520from%25202022-04-14%252023-24-00.png"&gt;&lt;/a&gt;&lt;h3&gt;
Solution for Sunnyside agency landing page challenge from Frontmentor.io&lt;/h3&gt;
&lt;h3&gt;
&lt;a href="https://utkarsh1311.github.io/web-dev-practice/sunnyside-agency-landing-page-main/index.html" rel="nofollow"&gt;Try It&lt;/a&gt;
&lt;/h3&gt;
&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
You can download the code as a zip file by clicking the button below&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/utkarsh1311/web-dev-practice/archive/.zip"&gt;&lt;img src="https://camo.githubusercontent.com/21c7f749956051a67b3c4d75ea771fd6a052dbdf04ea29341e3e8788f6f28134/68747470733a2f2f637573746f6d2d69636f6e2d6261646765732e6865726f6b756170702e636f6d2f62616467652f2d446f776e6c6f61642d626c75653f7374796c653d666f722d7468652d6261646765266c6f676f3d646f776e6c6f6164266c6f676f436f6c6f723d7768697465" alt="Download zip" title="Download zip"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;/div&gt;

  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/utkarsh1311/web-dev-practice"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;and this is link to the &lt;code&gt;yml&lt;/code&gt; file : &lt;a href="https://github.com/utkarsh1311/web-dev-practice/blob/main/.github/workflows/main.yml"&gt;https://github.com/utkarsh1311/web-dev-practice/blob/main/.github/workflows/main.yml&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Additional Resources / Info
&lt;/h3&gt;

&lt;h4&gt;
  
  
  My experience
&lt;/h4&gt;

&lt;p&gt;Learned a lot about GitHub actions. How they work, what events can trigger a workflow, how to use different action in the same workflow. Overall, It was a great learning experience.&lt;/p&gt;

</description>
      <category>actionshackathon21</category>
      <category>github</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
