<?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: ProCode</title>
    <description>The latest articles on DEV Community by ProCode (@procode).</description>
    <link>https://dev.to/procode</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%2F160290%2Fd7369eff-9384-45f6-a277-c20c77ecc9f1.jpg</url>
      <title>DEV Community: ProCode</title>
      <link>https://dev.to/procode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/procode"/>
    <language>en</language>
    <item>
      <title>Anonymise yourself! How to set up tor in mac? In the terminal - noob_sec series</title>
      <dc:creator>ProCode</dc:creator>
      <pubDate>Sun, 18 Jul 2021 17:40:19 +0000</pubDate>
      <link>https://dev.to/procode/anonymise-yourself-how-to-set-up-tor-in-mac-in-the-terminal-noobsec-series-pm6</link>
      <guid>https://dev.to/procode/anonymise-yourself-how-to-set-up-tor-in-mac-in-the-terminal-noobsec-series-pm6</guid>
      <description>&lt;p&gt;Hey all! Let me ask you a question. If I said to you I have a proxy server and if you pass your traffic through my servers I will keep your browser data encrypted and hide your IP and I will keep a record of your traffic. That is in layman's terms, I won't let anyone know what are you doing on the internet, only I will know. Would you trust me and accept my offer? &lt;/p&gt;

&lt;p&gt;Or If my friend, lets call him John has another service. A decentralised peer to peer network where no such organisation/company keeps logs of your traffic and pretty much does the same thing. Helps you hide your IP and stuff. &lt;/p&gt;

&lt;p&gt;Which service would you choose? mine or Johns? Let me guess, John's right? See! I'm already in your brain! But there's a caveat to John's service. They are a bit slow and the setup process is a bit of an hassle. That's why people still choose my service over John's. Because with my service, with 1 click you can be anywhere in the world, encrypt your browser history all that good stuff.&lt;/p&gt;

&lt;p&gt;Well, maybe you have already figured out what are the two services I am talking about in the previous example. But if not, let me do the honours, They are VPNs(my service) and tor(John's service). Now, I am not encouraging or discouraging you to use one or the other services in question here. That's totally your choice. This article is just an introduction to &lt;code&gt;tor&lt;/code&gt; and how you can get sneak peek of &lt;code&gt;tor&lt;/code&gt;'s powers. Keep in mind this will not be a complete setup with proxychains and stuff, just how to install mac and pass your traffic through tor so your IP is hidden. You can follow this tutorial if you don't have a mac as well. You'll just have to know how to install stuff from your package registry and how to add a proxy in your system.&lt;/p&gt;

&lt;p&gt;Generally you can install &lt;a href="https://www.torproject.org/download/" rel="noopener noreferrer"&gt;&lt;code&gt;tor browser&lt;/code&gt;&lt;/a&gt; and use that to get all the features of &lt;code&gt;tor&lt;/code&gt;. But I want to pass all traffic of my system through &lt;code&gt;tor&lt;/code&gt; and not only the requests that are made from the &lt;code&gt;tor browser&lt;/code&gt;. For example, requests from the terminal as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;I will be using &lt;code&gt;Homebrew&lt;/code&gt; to install tor. if you do not have &lt;code&gt;brew&lt;/code&gt; installed. Download it from &lt;a href="https://brew.sh/" rel="noopener noreferrer"&gt;here&lt;/a&gt; or run this command in your terminal.&lt;/p&gt;

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

/bin/bash &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;


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

&lt;/div&gt;

&lt;p&gt;Now that we have &lt;code&gt;brew&lt;/code&gt;, we can go ahead and install tor.&lt;br&gt;
Run this command to install tor.&lt;/p&gt;

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

brew &lt;span class="nb"&gt;install &lt;/span&gt;tor


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

&lt;/div&gt;

&lt;p&gt;After the command has finished running, we should have tor installed in our system. Lets start the tor service now.&lt;br&gt;
Run this command to start tor.&lt;/p&gt;

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

brew services start tor


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

&lt;/div&gt;

&lt;p&gt;If it ran successfully you should see and output like this:&lt;/p&gt;

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

&lt;span class="o"&gt;==&amp;gt;&lt;/span&gt; Successfully started &lt;span class="sb"&gt;`&lt;/span&gt;tor&lt;span class="sb"&gt;`&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;label: homebrew.mxcl.tor&lt;span class="o"&gt;)&lt;/span&gt;


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

&lt;/div&gt;

&lt;p&gt;Now let's verify if tor proxy is running or not. It by default runs on &lt;code&gt;localhost:9050&lt;/code&gt; so let's use netstat to verify that.&lt;/p&gt;

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

netstat &lt;span class="nt"&gt;-ant&lt;/span&gt; | &lt;span class="nb"&gt;grep &lt;/span&gt;9050


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

&lt;/div&gt;

&lt;p&gt;If you see something similar to this, all good!&lt;/p&gt;

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

tcp4       0      0  127.0.0.1.9050         &lt;span class="k"&gt;*&lt;/span&gt;.&lt;span class="k"&gt;*&lt;/span&gt;        LISTEN


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

&lt;/div&gt;

&lt;p&gt;Now all we have to do is pass our traffic through this proxy. We'll see that in a moment but before that let's see what our IP address is right now. Google &lt;code&gt;what is my ip&lt;/code&gt; or &lt;a href="https://www.google.com/search?q=what+is+my+ip" rel="noopener noreferrer"&gt;click in this link to do the same&lt;/a&gt;. Now lets pass our traffic through tor's proxy to see if our IP changes.&lt;/p&gt;

&lt;p&gt;In your mac, open &lt;code&gt;system preferences&lt;/code&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%2F7n69hja2c2tfu1ihwn43.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%2F7n69hja2c2tfu1ihwn43.png" alt="System preferences"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then click on &lt;code&gt;Network&lt;/code&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%2Ft98dkk49gjw3ro6h8kwz.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%2Ft98dkk49gjw3ro6h8kwz.png" alt="Network"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then click on advanced, (also do that &lt;code&gt;click on the lock and enter password&lt;/code&gt; thing if you have to.&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%2Fb0u6lpi0knt2v1w75s25.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%2Fb0u6lpi0knt2v1w75s25.png" alt="advanced ?"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then click on the &lt;code&gt;proxies&lt;/code&gt; tab,&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%2F6rhm3ekwcp5aw205tra7.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%2F6rhm3ekwcp5aw205tra7.png" alt="Proxies"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Choose the &lt;code&gt;SOCKS proxy&lt;/code&gt; from the check list and on the right side, enter localhost - &lt;code&gt;127.0.0.1&lt;/code&gt; on the first input box and &lt;code&gt;9050&lt;/code&gt; in the second which is for the port. Then click on &lt;code&gt;Ok&lt;/code&gt; and then &lt;code&gt;Apply&lt;/code&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%2F84tcuz0gma9y4d4c44ph.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%2F84tcuz0gma9y4d4c44ph.png" alt="SOCKS Proxy"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AND we are done! Now if you Google &lt;code&gt;what is my ip&lt;/code&gt; or &lt;a href="https://www.google.com/search?q=what+is+my+ip" rel="noopener noreferrer"&gt;click in this link to do the same&lt;/a&gt;! Did you see it? Because I did! That shows a different IP!&lt;/p&gt;

&lt;p&gt;As I said in the beginning, &lt;code&gt;tor&lt;/code&gt; is a bit slow for normal browsing, why? That might be a topic for another article but now the question is are you willing to use tor for normal browsing even if it's slow? No right? Yeah me too. But after watching that crazy youtube conspiracy video of governments spying on people, when your paranoia hits, you can just turn on tor! or maybe for other stuff. Don't use it for bad practices obviously, you'll be an idiot if you do so.&lt;/p&gt;

&lt;p&gt;Let me get you started with this paranoia thing a little bit so you can use tor right away 😂. Sure VPNs hide your IP, encrypt your browser history and stuff. But they do have log of all your browsing data. Why do you think they keep that? Why do you think VPNs were invented on the first place? hmm........&lt;/p&gt;

&lt;p&gt;See you on another article!&lt;/p&gt;

</description>
      <category>security</category>
      <category>tor</category>
      <category>codenewbie</category>
      <category>programming</category>
    </item>
    <item>
      <title>Create template repositories from just a single JSON file! What is Dgen?</title>
      <dc:creator>ProCode</dc:creator>
      <pubDate>Mon, 05 Jul 2021 18:25:27 +0000</pubDate>
      <link>https://dev.to/procode/create-template-repositories-from-just-a-single-json-file-what-is-dgen-3dek</link>
      <guid>https://dev.to/procode/create-template-repositories-from-just-a-single-json-file-what-is-dgen-3dek</guid>
      <description>&lt;p&gt;Hey all! haven't written something in a while, so I thought I would put my thoughts together about a recent project I built called &lt;a href="https://github.com/ProCode2/dgen"&gt;Dgen&lt;/a&gt;. This post might as well become a blog on how to create Dgen in rust. Let's keep writing!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is it?
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Dgen&lt;/code&gt; is a utility that converts repositories to a JSON file. So basically useful for your starter code repositories. Which you might be storing in Github right now as template repositories.&lt;/p&gt;

&lt;p&gt;so let's say we have a directory that looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dgen-blog
├── assets
├── index.html
├── main.js
└── style.css

1 directory, 3 files
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The JSON file that &lt;code&gt;Dgen&lt;/code&gt; will generate for this directory will look like this:&lt;br&gt;
&lt;em&gt;&lt;code&gt;dgen-blog.json&lt;/code&gt;&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"dgen-blog"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"files"&lt;/span&gt;&lt;span class="p"&gt;:[&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"index.html"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"content"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;html lang=&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;en&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;..."&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"main.js"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"content"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"console.log(..."&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"style.css"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="nl"&gt;"content"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;".body {&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s2"&gt;..."&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"folders"&lt;/span&gt;&lt;span class="p"&gt;:[&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"assets"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"files"&lt;/span&gt;&lt;span class="p"&gt;:[],&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"folders"&lt;/span&gt;&lt;span class="p"&gt;:[]&lt;/span&gt;&lt;span class="w"&gt;
              &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;

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

&lt;/div&gt;



&lt;p&gt;The shape of the JSON file will make sense in a moment I promise!&lt;/p&gt;

&lt;h2&gt;
  
  
  Is it useful?
&lt;/h2&gt;

&lt;p&gt;Umm not sure, I am just experimenting with the idea. It works fine for most huge starter repositories. If you keep a collection of these JSON files locally, you would be able to generate you repositories offline without any hassle and also super fast!&lt;/p&gt;

&lt;h2&gt;
  
  
  How to install it?
&lt;/h2&gt;

&lt;p&gt;For now, if you have rust installed you can clone the &lt;a href="https://github.com/ProCode2/dgen"&gt;repository&lt;/a&gt; and run the following commands to generate the executable binary.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# clone the repo&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;git clone https://github.com/ProCode2/dgen.git

&lt;span class="c"&gt;# get in the project diretory&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;dgen

&lt;span class="c"&gt;# build the binary&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;cargo build &lt;span class="nt"&gt;--release&lt;/span&gt;

&lt;span class="c"&gt;# check if its working&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;./target/release/dgen-rs &lt;span class="nt"&gt;-V&lt;/span&gt;

&lt;span class="c"&gt;# for !windows&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; ./target/release/dgen-rs /usr/local/bin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How to use it?
&lt;/h2&gt;

&lt;p&gt;You'd use the binary to either create a blueprint from a directory or create a directory from a blueprint.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Here's how to create a blueprint from a directory&lt;/strong&gt;: Go inside the directory you want to create a blueprint of and run this command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# creates a JSON blueprint&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;dgen-rs &lt;span class="nt"&gt;-b&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You'd see a &lt;code&gt;&amp;lt;directory_name&amp;gt;.json&lt;/code&gt; file will be created in your directory if the command runs successfully. Now you can store this JSON file wherever you are collecting all the JSON blueprints and forget about the directory, the JSON file can create it again anyways! Let's see how to do that now.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Here's how to create a directory from a blueprint&lt;/strong&gt;: Go to the path where you will create the directory and run this command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# creates a directory&lt;/span&gt;
&lt;span class="nv"&gt;$ &lt;/span&gt;dgen-rs &lt;span class="nt"&gt;-g&lt;/span&gt; /path/to/the/json/blueprint
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The Shape of the JSON file
&lt;/h2&gt;

&lt;p&gt;Here's the core idea - Every single directory has a name, few files with their contents, and a few folders with the same things mentioned above.(RECURSION!)&lt;/p&gt;

&lt;p&gt;So the base json looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"files"&lt;/span&gt;&lt;span class="p"&gt;:[],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"folders"&lt;/span&gt;&lt;span class="p"&gt;:[]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And it grows to a weird looking JSON file, which works.&lt;/p&gt;

&lt;h2&gt;
  
  
  Some issues with this concept
&lt;/h2&gt;

&lt;p&gt;Currently the structure for storing files is this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"main.js"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"content"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"console.log(......."&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Which means, contents can store only valid &lt;code&gt;utf-8&lt;/code&gt; characters. So how do we store images, videos, audios or even binaries. I am not sure if any starter repository have any of those. But I still want to solve this, which is a problem I created on the first place lol. For the images I might store a base64 string in &lt;code&gt;content&lt;/code&gt;? I am still thinking on this idea. Also I am open to suggestions as well! Let me know if you have any idea to solve this issue! or any comments on the project as well!&lt;/p&gt;

&lt;h2&gt;
  
  
  How to create &lt;code&gt;Dgen&lt;/code&gt; in next article
&lt;/h2&gt;

&lt;p&gt;Well If I keep adding how to create &lt;code&gt;Dgen&lt;/code&gt; yourself in this article it will get pretty big! So I will be uploading a fresh new article on that topic! Stay tuned!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thanks for reading!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>codenewbie</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to use Qpython3 to code in python on a smartphone - UDAYANCARE CODING BOOTCAMP</title>
      <dc:creator>ProCode</dc:creator>
      <pubDate>Sat, 19 Dec 2020 14:09:03 +0000</pubDate>
      <link>https://dev.to/procode/how-to-use-qpython3-to-code-in-python-on-a-smartphone-udayancare-coding-bootcamp-2bik</link>
      <guid>https://dev.to/procode/how-to-use-qpython3-to-code-in-python-on-a-smartphone-udayancare-coding-bootcamp-2bik</guid>
      <description>&lt;p&gt;Hey curious people 👋, if you are looking for a way to write and run python code in your smartphone, you are just at the right place. let's see how we can do that!&lt;/p&gt;

&lt;h2&gt;
  
  
  Download Qpython3
&lt;/h2&gt;

&lt;p&gt;First of all make sure you have downloaded the app Qpython3 in your smartphone. If you haven't yet click this &lt;a href="https://play.google.com/store/apps/details?id=org.qpython.qpy3&amp;amp;hl=en_IN&amp;amp;gl=US" rel="noopener noreferrer"&gt;link&lt;/a&gt; to download the app, or search for &lt;strong&gt;&lt;em&gt;QPython 3L - Python for Android&lt;/em&gt;&lt;/strong&gt; in play store. If you are using IOS, there are similar apps like &lt;a href="http://omz-software.com/pythonista/#:~:text=A%20Full%20Python%20IDE%20for,user%20interfaces%2C%20and%20automation%20scripts." rel="noopener noreferrer"&gt;Pythonista 3&lt;/a&gt;. Or you can also use a browser-based &lt;a href="https://www.programiz.com/python-programming/online-compiler/" rel="noopener noreferrer"&gt;interpreter&lt;/a&gt;, but I will recommend that only for basic usage.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use?
&lt;/h2&gt;

&lt;p&gt;let's get the basics done first! we'll first open the app, create a python file, write 3-4 lines of code, and run it. Let's see how to do that step by step.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1 - Open the app and click on the editor
&lt;/h4&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%2Fi%2Fwsp1mua6o366vq6qd621.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%2Fi%2Fwsp1mua6o366vq6qd621.jpg" alt="Open the app"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now you'll see a screen like this(your theme/colours might be different):&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%2Fi%2Feibm9k6u4ajcgtf2zbnw.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%2Fi%2Feibm9k6u4ajcgtf2zbnw.jpg" alt="application window"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2 - Click on the second icon in the top right corner of your screen to add a file.
&lt;/h4&gt;

&lt;p&gt;You'll see a screen like this once you do so:&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%2Fi%2Fxxffjrp56xrhyro5m9pz.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%2Fi%2Fxxffjrp56xrhyro5m9pz.jpg" alt="create a new script"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 3 - Click on Script and name the file intro.py(Actually you can name the file whatever you want, just make sure to add the extension &lt;em&gt;".py"&lt;/em&gt; after the name of your choice) and press &lt;strong&gt;OK&lt;/strong&gt;.
&lt;/h4&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%2Fi%2Fbktqmix8thjyexps2dz1.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%2Fi%2Fbktqmix8thjyexps2dz1.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And now we have a file we can code in! Let's write some code and run it. Copy this code to your own file in the app.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;#assigning 2 to variable x
&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;

&lt;span class="c1"&gt;#assigning 3 to the variable y
&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;

&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
adding x to y and storing the
result in variable z
&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
&lt;span class="n"&gt;z&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;

&lt;span class="c1"&gt;#printing variable z to console
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&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%2Fi%2Frm9h7km0j4hey92nrryl.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%2Fi%2Frm9h7km0j4hey92nrryl.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now let's hit run and see what happens. The run button is the triangle in the middle in the lower options bar. There are other buttons too for saving the code, undo e.t.c.&lt;/p&gt;

&lt;p&gt;After clicking run if you see this screen below &lt;strong&gt;which says 5&lt;/strong&gt;(ignore all the other stuff), then we are good because 3 + 2 is indeed 5! Our code worked! And now we can write whatever code we want here, as we learn more.&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%2Fi%2F1a643c0mujc2g31d4ugy.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%2Fi%2F1a643c0mujc2g31d4ugy.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mobile</category>
      <category>python</category>
      <category>tutorial</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Sliding Window Technique🔥</title>
      <dc:creator>ProCode</dc:creator>
      <pubDate>Sat, 25 Jul 2020 18:38:38 +0000</pubDate>
      <link>https://dev.to/procode/sliding-window-technique-from-o-n-to-o-n-3la3</link>
      <guid>https://dev.to/procode/sliding-window-technique-from-o-n-to-o-n-3la3</guid>
      <description>&lt;p&gt;Hey curious people👋! Have you ever felt so good after writing an algorithm that not only solves a problem but solves it efficiently? In this blog, we'll learn about an algorithm that'll help you get that feeling more often! &lt;strong&gt;Sliding Window Technique(SWT)&lt;/strong&gt; - I understand this algorithm as one that helps improve the time complexity of a solution(generally for problems dealing with sequential and iterable data structures like an array) from O(N²) to O(N) and if you don't understand Time Complexity, just know that it helps improve your solution so that it runs faster. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is SWT?
&lt;/h2&gt;

&lt;p&gt;According to most definitions, SWT is a way of converting some brute force(mostly O(N²))) algorithms to a linear(O(N)) algorithm.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is it helpful?
&lt;/h2&gt;

&lt;p&gt;In an interview, improving an algorithm from O(N²) to O(N) is a great deal(well...at least for me😅).&lt;/p&gt;

&lt;h2&gt;
  
  
  How to do it?
&lt;/h2&gt;

&lt;p&gt;To understand how to do it, let's look at a problem, at first we will think about a brute force solution and then improve it by applying SWT. Before that let me give you a basic idea of how we apply SWT(this might not make sense now, but definitely will during solving the problem!).&lt;br&gt;
Let's suppose we have an array and we want to find the largest element in the array. The solution might be to look at every element and keep track of the largest element. To put it in the SWT way, it might look something like this:👇&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%2Fi%2F5ad5257vn1mfzmm5sw4x.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%2Fi%2F5ad5257vn1mfzmm5sw4x.jpg" alt="array an window(box) in the first index"&gt;&lt;/a&gt;&lt;br&gt;
Now you might have guessed it, The window slides(did it click?💡) from left to right, we look at the value check if it is the largest element we have seen and this continues until the window reaches the end of the array. The window might be of any size depending on the problem we are dealing with, it can be one(or any number of elements) elements long, or it can be of variable size. The window size can either be &lt;strong&gt;fixed&lt;/strong&gt; or &lt;strong&gt;dynamic&lt;/strong&gt;. &lt;/p&gt;
&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Given an array of N positive integers, find the maximum sum of 3 consecutive elements&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  The brute force approach
&lt;/h4&gt;

&lt;p&gt;The first solution that comes to my mind is to find every possible sub-array of 3 consecutive elements and find their sum and keep track of the maximum one. We'll need two nested loops for this, let's see this algorithm in code.&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="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&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;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;8&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;maxSum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  &lt;span class="c1"&gt;//to keep track of maximum sum.&lt;/span&gt;

&lt;span class="k"&gt;for &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;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
  &lt;span class="c1"&gt;//Initializing sum&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="c1"&gt;//Adding 3 elements starting from i&lt;/span&gt;
  &lt;span class="k"&gt;for &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;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;j&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;j&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
    &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sum&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;j&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="c1"&gt;//Storing the maximum sum&lt;/span&gt;
  &lt;span class="nx"&gt;maxSum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;maxSum&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="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;maxSum&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Time Complexity of this algorithm is O(N*3), it could be worse if it was a bigger set of elements instead of 3. &lt;/p&gt;

&lt;h4&gt;
  
  
  The SWT approach
&lt;/h4&gt;

&lt;p&gt;Now, let's see how the SWT approach works.&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%2Fi%2Fw6xxep3ve2ou9dmswawk.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%2Fi%2Fw6xxep3ve2ou9dmswawk.jpg" alt="SWT demonstration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now what we want to do is have a window of size 3, keep count of its sum and keep track of the maximum sum as it slides to right. Now let's visualise what will happen if the window moves one element to the right. What we are actually doing is adding the 4th element to the sum and subtracting the 1st element, and repeating the same until the window reaches the end of the array. Let's see how that will look like in code.&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="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;6&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;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;8&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;maxSum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  &lt;span class="c1"&gt;//to keep track of maximum sum.&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;sumOfWindow&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//to keep track of sum of the window.&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;windowSize&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;for &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;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
  &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;windowSize&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;3&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="nf"&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;current windows sum is&lt;/span&gt;&lt;span class="dl"&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="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sumOfWindow&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="c1"&gt;//storing the maximum sum&lt;/span&gt;
    &lt;span class="nx"&gt;maxSum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;maxSum&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;sumOfWindow&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="c1"&gt;//deleting the end element of the window&lt;/span&gt;
    &lt;span class="nx"&gt;sumOfWindow&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sumOfWindow&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
    &lt;span class="nx"&gt;windowSize&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

   &lt;span class="c1"&gt;//adding elements to the window.&lt;/span&gt;
  &lt;span class="nx"&gt;sumOfWindow&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sumOfWindow&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
  &lt;span class="nx"&gt;windowSize&lt;/span&gt;&lt;span class="o"&gt;++&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="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;The maximum sum is: &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;maxSum&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Voila! That's in a single loop, that means O(N) time complexity! ahem..&lt;code&gt;To use fewer loops, use more brain&lt;/code&gt; aaaaand probably some more lines of code(not always).&lt;br&gt;
There you have it! &lt;code&gt;Sliding Window Technique&lt;/code&gt;!&lt;/p&gt;

&lt;h3&gt;
  
  
  When to use it?
&lt;/h3&gt;

&lt;p&gt;I try to use it generally when I see problems that have something to do with consecutive elements of an iterable data structure like arrays or strings(For ex: &lt;code&gt;max continuous subarray&lt;/code&gt;, &lt;code&gt;longest non-repeating substrings&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Now that you know about SWT, would you try solving &lt;a href="https://www.hackerrank.com/challenges/maxsubarray/problem" rel="noopener noreferrer"&gt;this problem in hackerrank?&lt;/a&gt;.keep in mind that the size of the window can be dynamic, it doesn't always have to be a fixed number like three.&lt;/p&gt;

&lt;p&gt;If you liked this blog &lt;a href="//buymeacoff.ee/ProCode"&gt;consider buying me a coffee😊&lt;/a&gt; or &lt;a href="https://www.patreon.com/Procoder1?fan_landing=true" rel="noopener noreferrer"&gt;support me in patreon&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;check out other blogs in this series.👇&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>array</category>
    </item>
    <item>
      <title>Understanding the "this" keyword as a newbie!</title>
      <dc:creator>ProCode</dc:creator>
      <pubDate>Tue, 05 May 2020 10:43:10 +0000</pubDate>
      <link>https://dev.to/procode/understanding-the-this-keyword-as-a-newbie-24ko</link>
      <guid>https://dev.to/procode/understanding-the-this-keyword-as-a-newbie-24ko</guid>
      <description>&lt;p&gt;Hey curious people👋, this is a short article about some concepts related to OOP: the &lt;code&gt;this&lt;/code&gt; keyword, I hope this will be helpful to you.&lt;/p&gt;

&lt;p&gt;Few days ago I posted a poll on twitter about some topics I should write next, 2 out of 5 people wanted an article on this topic, if it's helping 2 people I'll still write it!😄. If you like my articles, consider &lt;a href="//buymeacoff.ee/ProCode"&gt;buying me a coffee&lt;/a&gt; so that I can continue to do this😊.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Let's Start!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h1&gt;
  
  
  &lt;code&gt;this&lt;/code&gt; == 👉
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;it is used for referring to specific Object of a Class&lt;/code&gt;. We'll see what that means but before that you should know that &lt;code&gt;this&lt;/code&gt; can be used in many ways in JavaScript, it's a bit different than &lt;code&gt;this&lt;/code&gt; keyword in other languages. Usually in JavaScript the value of &lt;code&gt;this&lt;/code&gt; is determined by how the function in which it is, called. Yeah I know Welcome to the weired an wonderful world of JavaScript!😅. &lt;/p&gt;

&lt;p&gt;You'll see use of this keyword in classes, for example:&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/procode1/embed/xxwpXGx?height=600&amp;amp;default-tab=js&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The above code is a typical example of writing a class and creating objects from it. Run this code in your IDE to see how it works. But our focus today is on the &lt;code&gt;this.variables&lt;/code&gt;. Why are we writing the &lt;code&gt;this.&lt;/code&gt; before every variable? Can't we write only the variables? &lt;br&gt;
Well the answer is we use &lt;code&gt;this.&lt;/code&gt; when we want some variables to be object specific, for example in the &lt;code&gt;person&lt;/code&gt; class we have member variables like &lt;code&gt; name , age , height&lt;/code&gt;. We want every object of the class to have their specific/individual heights, age and names. That's why we use &lt;code&gt;this.&lt;/code&gt; before these member variables.&lt;br&gt;
It simply means that these variables are used to define unique properties of unique objects/Instances of the class, and &lt;code&gt;this.&lt;/code&gt; helps us to tell the computer that these properties belongs to "this" particular object. That's why I like to think of it as an equivalent to 👉 emoji.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TECBFKZy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7o8onk7gs0q9m3rmqhcc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TECBFKZy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7o8onk7gs0q9m3rmqhcc.jpg" alt="illustration for this keyword"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  &lt;code&gt;this&lt;/code&gt; in general
&lt;/h1&gt;

&lt;p&gt;In general, it is used to refer to the global object, (when we are not manually making it refer to something else. So in a browser it should refer to the global &lt;code&gt;window&lt;/code&gt; object. So &lt;code&gt;this == window&lt;/code&gt; is expected to be &lt;code&gt;true&lt;/code&gt;. And in &lt;code&gt;Node&lt;/code&gt; it should be equal to &lt;code&gt;global&lt;/code&gt;.&lt;/p&gt;
&lt;h1&gt;
  
  
  binding &lt;code&gt;this&lt;/code&gt; with objects with &lt;code&gt;call() and apply()&lt;/code&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/procode1/embed/xxwpXqw?height=600&amp;amp;default-tab=js&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;If you run this code you'll observe that in the first call of &lt;code&gt;returnValue()&lt;/code&gt; it prints the contents of the global &lt;code&gt;value&lt;/code&gt;, but in the next two calls it will log the object specific content in the console. Remember, I told you where &lt;code&gt;this&lt;/code&gt; will point to depends on how the function it is in, is called. There is actually a lot more you can do with this, if you wanna explore more I would suggest you take a look at the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this"&gt;MDN docs for this&lt;/a&gt;. I hope you understand the basics of it by now.&lt;/p&gt;

&lt;h1&gt;
  
  
  Who am I?
&lt;/h1&gt;

&lt;p&gt;I am a self-taught coder, Coding my life.&lt;br&gt;
If you like my educational blogs Consider &lt;a href="//buymeacoff.ee/ProCode"&gt;buying me a coffee😊&lt;/a&gt; or support me in &lt;a href="https://www.patreon.com/Procoder1?fan_landing=true"&gt;patreon&lt;/a&gt; so that I can continue spreading education for free.&lt;/p&gt;

&lt;p&gt;I post random, stupid and fun analogies about coding concepts on twitter. Here's one of them about &lt;code&gt;this&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;
&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--GCB2R24U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1243501262189936640/cWMherR-_normal.jpg" alt="ProCode profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        ProCode
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @procode1
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--52oNvK_0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-ff4bdab814039c4cb172a35ea369e0ea9c6a4b59b631a293896ae195fa26a99d.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Suppose you and your friend are in your home, you want to show a feature of your home to your friend, and while doing so you refer to that feature as "this" feature. But when you both are somewhere else and you still wanna tell your friend about that feature, &lt;br&gt;1/?
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      13:02 PM - 06 Apr 2020
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1247147737247657986" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1247147737247657986" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      0
      &lt;a href="https://twitter.com/intent/like?tweet_id=1247147737247657986" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-like-action.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
      1
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;&lt;b&gt;See you in the next one!&lt;/b&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>codenewbie</category>
      <category>this</category>
      <category>conceptblogs</category>
    </item>
    <item>
      <title>Do I really understand classes and Objects? But why should I use it?🤔</title>
      <dc:creator>ProCode</dc:creator>
      <pubDate>Sun, 26 Apr 2020 17:22:46 +0000</pubDate>
      <link>https://dev.to/procode/do-i-really-understand-classes-and-objects-but-why-should-i-use-it-1lni</link>
      <guid>https://dev.to/procode/do-i-really-understand-classes-and-objects-but-why-should-i-use-it-1lni</guid>
      <description>&lt;p&gt;If you like my educational blogs &lt;a href="//buymeacoff.ee/ProCode"&gt;Consider buying me a coffee😊&lt;/a&gt; or support me in &lt;a href="https://www.patreon.com/Procoder1?fan_landing=true"&gt;patreon&lt;/a&gt; so that I can continue spreading education for free.&lt;/p&gt;

&lt;p&gt;Does understanding a concept to the core gives you a really satisfactory feeling? Well get ready for some of that now. In this blog I will try to dig in and understand the idea of &lt;b&gt;Classes and Objects&lt;/b&gt;, one of the core fundamentals &lt;b&gt;Object Oriented Programming&lt;/b&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//   Let's Start!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Before talking about the solution uselessly, let's build up a problem first. Why do we need Class and Objects? Let's think of a problem where you and I have to build a user management system for an application, where we keep track of our users and their properties and behaviours that are allowed within our application. For example the user's name , ID and other application specific information. So what do you think we should use to keep track of our user?&lt;br&gt;
To actually see the hurdles with using other methods we should use them ourselves shortly. Okay let's be real,you are only reading this so not "we", I should use them shortly, and I'm ready to be the lab-rat here.&lt;/p&gt;
&lt;h1&gt;
  
  
  The Problem
&lt;/h1&gt;

&lt;p&gt;My Company wants me to build an user management system, where 10 to 100 user information is pulled from database and I am told to find a way to work with this data according to user's interaction with our application. The user's information includes:&lt;br&gt;
&lt;b&gt;&lt;ul&gt;

    &lt;li&gt;User's ID&lt;/li&gt;

    &lt;li&gt;User's Name&lt;/li&gt;

    &lt;li&gt;User's Clicks Count(Updates Accordingly)&lt;/li&gt;
&lt;/ul&gt;&lt;/b&gt;&lt;/p&gt;


&lt;h1&gt;
  
  
  Using Arrraysto solve the problem?(Oh No!😣)
&lt;/h1&gt;

&lt;p&gt;Okay! Now let's pretend I don't know what Objects and classes are and the only logical way I see to solve the problem(Provided you don't choose to manually declare &lt;code&gt;400&lt;/code&gt; variables) is to use arrays. Let's see how we do that.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let userId = [1 , 2 , 3,...,100];
let userName = ["User1", "User2",.., "User100"];
//Pretty Random Click Counts
let userClicks = [6 , 23  ,..., 72];

//Function to update Click Counts
function clickCount(uName, uId)
{
  //Updating click of user at index uId
  userClicks[uId] += 1;
  console.log(uName + " Clicked " + userClicks[uId] + " times.");
}

/*
Now let's say a user clicks 
and we know userId of this
user so we call the 
function clickCount with this information.
*/
let knownId = 2;

clickCount(userName[knownId], knownId);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Phew! Did you see the problem with this? First of all, I had to create different arrays for storing user information, I am also assuming that at the same index in all the arrays the information belongs to the same user. Also there's no way to bind all the user information and function together and tell the computer this belongs to a specific user.&lt;/p&gt;

&lt;p&gt;There could obviously be other solutions like by using &lt;b&gt;Structures, enums&lt;/b&gt;. But we'll see how we can implement object and classes here! But before doing that first we need to be aware of what are they and how to use them and in the process, we'll write a solution for this problem.&lt;/p&gt;

&lt;h1&gt;
  
  
  What are classes and objects?
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;&lt;em&gt;A class is a way to bind all the data describing an unique entity and it's associated functions together&lt;/em&gt;&lt;/code&gt;&lt;br&gt;
Now what does that mean? Remember in the problem above we had some data about the user and a function along with it. A class is just a way to bind these user data and functions together and tell the computer that this belong to a specific user. These data and functions are the properties and behaviour of a particular user with in the application.&lt;/p&gt;
&lt;h5&gt;
  
  
  In layman's terms
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LldK3HNN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/d4xbq60jywzce3k6clxi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LldK3HNN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/d4xbq60jywzce3k6clxi.jpg" alt="House BluePrint"&gt;&lt;/a&gt;&lt;br&gt;
Have you seen those bluePrints of houses? How many house do you think you can create from a single house plan? A lot right? A class is like a blue print. You can create Objects from it, as many as you want.so:&lt;/p&gt;

&lt;ul&gt;
&lt;b&gt;&lt;li&gt;Class == House Plan&lt;/li&gt;
&lt;li&gt;Object == The House&lt;/li&gt;&lt;/b&gt;
&lt;/ul&gt;

&lt;p&gt;So how do we implement a class for the problem we are trying to solve? Let's see:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class user
{
    constructor (uId, uName)
    {
        this.userName   = uName;
        this.userId     = uId;
        this.userClicks = 0;
    }

    CountClicks()
    {
        this.userClicks += 1;
    }   
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Easy , right? Now we can create as many users as we want from this user class. &lt;br&gt;
The variables inside the constructor function are known as member variables/data members and the function is called member function/method, they are specific to each object. A particular user(object) is called an &lt;b&gt;Instance of the class&lt;/b&gt;. Now how do we create object of these class? We'll see but before that are you confused about the &lt;code&gt;this&lt;/code&gt; keyword in the code? As I only intend to talk about the idea of Objects and Classes in this blog and not much about the coding part, but you can refer to this tweet in my account, also I am planning to write a blog on the &lt;code&gt;this&lt;/code&gt; keyword and &lt;code&gt;Static&lt;/code&gt; methods, so stay tuned😁.&lt;br&gt;
&lt;/p&gt;
&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--GCB2R24U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1243501262189936640/cWMherR-_normal.jpg" alt="ProCode profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        ProCode
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @procode1
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mL-RlVCA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-95c212266bf9a35c02dd777b6d438dfbc5a6a4c1e82708c3ab617b069928387a.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Suppose you and your friend are in your home, you want to show a feature of your home to your friend, and while doing so you refer to that feature as "this" feature. But when you both are somewhere else and you still wanna tell your friend about that feature, &lt;br&gt;1/?
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      13:02 PM - 06 Apr 2020
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1247147737247657986" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1247147737247657986" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      0
      &lt;a href="https://twitter.com/intent/like?tweet_id=1247147737247657986" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-like-action.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
      1
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;
&lt;br&gt;
The &lt;code&gt;Constructor&lt;/code&gt; function is used to initialise every object and give it, it's unique set of values. And it's necessary while writing classes. When we make a new object with the help of &lt;code&gt;new&lt;/code&gt; keyword, the constructor function is automatically called.

&lt;h1&gt;
  
  
  Creating objects
&lt;/h1&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class user
{
  constructor(uId, uName)
  {
    this.userName = uName;
    this.userId = uId;
    this.userClicks = 0;
  }

  countClicks()
  {
    this.userClicks += 1;
    console.log(this.userName + " clicked " + this.userClicks + " time.");
  }
}

//Creating Objects
let user1 = new user(1, "Tom");
let user2 = new user(2, "Jerry");
let user3 = new user(3, "ProCode");

//Using methods
user1.countClicks();
user2.countClicks();
user3.countClicks();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Smooth! Right? Always remember &lt;code&gt;DRY!&lt;/code&gt; while coding, &lt;br&gt;
&lt;code&gt;&lt;i&gt;DRY = Don't Repeat Yourself&lt;/i&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So what do you think an object is?&lt;br&gt;
&lt;code&gt;&lt;em&gt;An object is an unique entity which has it's properties and behaviours defined within the class&lt;/em&gt;&lt;/code&gt;. Ah leave it, you can make up your own definition! &lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;
The Class is the base structure of an object. It's like the manufacturing system in a factory, once created many similar products (object) can be created from it.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And did you realise we have already created a solution for our problem?😁&lt;br&gt;
To check your understanding about the concept you can do this exercise:&lt;br&gt;
&lt;b&gt;Define a class car which have three member variables of your choice and two member functions &lt;code&gt;speed()&lt;/code&gt; and &lt;code&gt;break()&lt;/code&gt; which atleast prints "speeding" and "applying break" respectively.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Finally, it was not much of a coding tutorial, I wrote this to understand the idea of Objects and Classes more strongly.I hope you'll like it.&lt;/p&gt;

&lt;p&gt;And if you do, please share!&lt;/p&gt;

&lt;h2&gt;
  
  
  Who am I?
&lt;/h2&gt;

&lt;p&gt;I am a self-taught coder, Coding my life.&lt;br&gt;
If you like my educational blogs &lt;a href="//buymeacoff.ee/ProCode"&gt;Consider buying me a coffee😊&lt;/a&gt; or support me in &lt;a href="https://www.patreon.com/Procoder1?fan_landing=true"&gt;patreon&lt;/a&gt; so that I can continue spreading education for free.&lt;/p&gt;

</description>
      <category>class</category>
      <category>object</category>
      <category>oop</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>But what is Null and Undefined?</title>
      <dc:creator>ProCode</dc:creator>
      <pubDate>Sun, 19 Apr 2020 11:00:15 +0000</pubDate>
      <link>https://dev.to/procode/but-what-is-null-and-undefined-4e9</link>
      <guid>https://dev.to/procode/but-what-is-null-and-undefined-4e9</guid>
      <description>&lt;p&gt;To answer this question we will play a game! In this game we'll ask JavaScript what it thinks about null and undefined, Does it think they are same? Or does it not? What do they exactly mean? When to use them? Ugh! Too many questions, Let's find out!&lt;/p&gt;

&lt;p&gt;So let's bring in my friend JavaScript first!&lt;/p&gt;

&lt;h5&gt;
  
  
  Me : Hey JavaScript!🙋🏻‍♂️
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let reply = 'Hello ProCode';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  Me : We all want to know what do you think about Null and Undefined?
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let reply = 'Hello ProCode';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  Me : Yes! Hello,  Tell us about Null and Undefined!
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let reply = 'Hello ProCode';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h5&gt;
  
  
  Me : YEAH! HELLO, Can we go beyond that????
&lt;/h5&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let reply = 'Hello ProCode';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt; 🤦🏻‍♂️ JavaScript can't speak! What to do now😕? WAIT don't go anywhere! I got an idea. Even if JavaScript can not speak by itself, we can make it talk to us, By writing code! Let's see if that works.🤞&lt;/p&gt;

&lt;p&gt;Let's think about how do we get to know what JavaScript thinks about null and undefined 🤔. Should we add null or add undefined to something to see how JavaScript interprets it? OH NO WAIT! I got another idea. We can know if JavaScript thinks null and Undefined are equal or not! Here's how👇&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(null == undefined);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt; head over to your console and try the above code and see if JavaScript thinks null and undefined are equal or not!&lt;/p&gt;

&lt;p&gt;I am pretty sure you got a &lt;code&gt;true&lt;/code&gt; on that one and hey! JavaScript is now talking to us. So it thinks that null is equal to undefined
 Hmm🤔...is it hiding anything? Well, we can find that out! How? We just have to think crazy! Remember when you think/do crazy stuff, you often break/discover something crazy. Okay, so what can we do now? Let's try adding null with a number, you might think why the hell will anyone do that? Told you, think crazy!&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(1 + null);
//  Output
//  1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;What should be added to 1 so that we get a 1? 0 right? So does JavaScript interprets null as 0? That's our best guess for now. So now as JavaScript told us that null is equal to undefined, so adding undefined with 1 should also result to 1 right?, Or should it? Let's find out!&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(1 + undefined);
//  Output
//  NaN
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;I knew something was wrong! It was hiding something all this time. Do you feel betrayed? Actually, the fault is our's, How? We were checking for loose equality(&lt;code&gt;==&lt;/code&gt;), but we didn't check if null and undefined were strictly equal(&lt;code&gt;===&lt;/code&gt;) to each other. Well, let's do that now!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(null === undefined);
//    Output
//    false 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That was expected! Now let's just validate our previous assumption that null is interpreted as 0, so if null is interpreted as 0, what should !null(NOT null) interpret to?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(1 + !null)!
//    Output
//    2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Okay, so that results in 2, which means !null is interpreted as 1 in expressions! Have we seen this kind of behaviour by any other token in JavaScript?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(1 + false);
//    Output
//    1
console.log(1 + true);
//    Output
//    2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pretty identical to what null does right? But try to not come to any conclusions quite yet, surely, we are starting to get to one, but not yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does the definitions say?
&lt;/h2&gt;

&lt;p&gt;Let's see what the traditional definitions of null and undefined are, and see if that makes any sense. &lt;/p&gt;

&lt;h3&gt;
  
  
  Null
&lt;/h3&gt;

&lt;p&gt;Null literally means empty, and in terms of coding the meaning is quite the same, EMPTY! Null means the absence of anything. So if a variable contains null, that means it doesn't contain anything, which again can be interpreted as 0. Makes sense?&lt;/p&gt;

&lt;h3&gt;
  
  
  Undefined
&lt;/h3&gt;

&lt;p&gt;Undefined literally means something which is not defined. In terms of coding if a variable is declared but nothing is assigned to it. The  the variable is then undefined. So &lt;code&gt;(1 + undefined)&lt;/code&gt; is not a valid expression so it results to NaN(Not a Number).&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's Clear the Cloud!
&lt;/h2&gt;

&lt;p&gt;Up untill now I was talking about what JavaScript thinks and what the definitions say. But now we are going to talk about how I understand this concept and be confident about it. Few days ago I posted poll in &lt;a href="https://twitter.com/@ProCode1" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; asking people to rate there understanding about the concept of null and undefined. 6 of them voted, 3 of them had chosen &lt;b&gt;0%&lt;/b&gt; , 2 of them had chosen &lt;b&gt;33%&lt;/b&gt; and only one of them had chosen &lt;b&gt;100%&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1249784435395792897-167" src="https://platform.twitter.com/embed/Tweet.html?id=1249784435395792897"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1249784435395792897-167');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1249784435395792897&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;So we can observe that in this small set of 6 people too, the majority aren't really sure about their understanding of null and undefined. So the first step towards complete understanding of something should be to believe that you can understand it. I mean don't be in a fallacy but be confident.&lt;/p&gt;

&lt;h3&gt;
  
  
  The clear difference! (Season finale)
&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%2Fi%2Ffugp8cbap956copkkufx.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%2Fi%2Ffugp8cbap956copkkufx.jpg" alt="Null vs Undefined Image Explaination"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I use this image to remind myself about what is null and undefined. I think of null as a value that is assigned to a variable. &lt;b&gt;Always Remember JavaScript never assigns null to any variable untill we do it ourselves!&lt;/b&gt;. Where as undefined is a state of a variable, which means that &lt;b&gt;when a variable is declared but not defined/initialized with some value(not even null), that state of a variable is called undefined.&lt;/b&gt;Or "The variable is undefined" is what we say. And in the picture we can see that the circle never intersect each other, which means that they are in no ways equal. Now you might raise a question that JavaScript resulted/returned true when we loosely checked the equality(&lt;code&gt;==&lt;/code&gt;)between null and undefined, so why are they different in every aspect? Well the answer is in the question itself. We &lt;b&gt;loosely checked for equality&lt;/b&gt;, and JavaScript has it's own ways of doing that. While executing an expression it tries to &lt;b&gt;type convert&lt;/b&gt; null and undefined to some values that it can check equality for.&lt;br&gt;
Let's see how JavaScript might solve the expression &lt;code&gt;null == undefined&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Why &lt;code&gt;null == undefined&lt;/code&gt; is considered &lt;code&gt;true&lt;/code&gt; by JavaScript?
&lt;/h3&gt;

&lt;p&gt;Let's say JavaScript got this expression and it has to evaluate it. First it sees that null is present in the expression, it knows that null means nothing/void so it type converts it to false type, and then in case of undefined it also type converts it to false. And it is left with &lt;code&gt;false == false&lt;/code&gt; which is then evaluated to &lt;code&gt;true&lt;/code&gt;. But when we check for &lt;b&gt;Strict equality&lt;/b&gt;(&lt;code&gt;===&lt;/code&gt;), JavaScript doesn't convert the types and so when it checks if &lt;b&gt;type null&lt;/b&gt; is strictly equal to &lt;b&gt;type undefined&lt;/b&gt; or not, it evaluates it as &lt;code&gt;false&lt;/code&gt;. &lt;b&gt;Remember that null and undefined can be interpreted as false type values&lt;/b&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Use of null and undefined in mathematical expressions
&lt;/h3&gt;

&lt;p&gt;If you see null and undefined in mathematical expressions, Remember this one &lt;b&gt;Mantra&lt;/b&gt;:&lt;br&gt;
&lt;b&gt; "Null means nothing and is a valid value which can be interpreted as 0 in a mathematical expressions, but undefined is the state variable, a state of a variable in a mathematical expression just doesn't make sense so the expression will result to &lt;code&gt;NaN&lt;/code&gt;(Not a Number)."&lt;/b&gt; Now go try out some expression using null and undefined and see what they results to.&lt;/p&gt;
&lt;h2&gt;
  
  
  Conclusions
&lt;/h2&gt;


&lt;ul&gt;

&lt;li&gt;Null is an assigned value&lt;/li&gt;

&lt;li&gt;Undefined can be considered a state of a variable&lt;/li&gt;

&lt;li&gt;Null and undefined both can be interpreted as false type values&lt;/li&gt;

&lt;li&gt;Null can be interpreted as 0 in a mathematical expression.
&lt;/li&gt;
&lt;li&gt;Undefined in a mathematical expression doesn't make sense so it will result to NaN&lt;/li&gt;

&lt;li&gt;I now understand null and undefined&lt;/li&gt;

&lt;li&gt;JavaScript can not talk by itself!&lt;/li&gt;

&lt;ul&gt;
&lt;h3&gt;
  
  
  Who am I?
&lt;/h3&gt;

&lt;p&gt;I am a self-taught coder, Coding my life.&lt;br&gt;
If you like my educational blogs &lt;a href="//buymeacoff.ee/ProCode"&gt;Consider buying me a coffee😊&lt;/a&gt; or support me in &lt;a href="https://www.patreon.com/Procoder1?fan_landing=true" rel="noopener noreferrer"&gt;patreon&lt;/a&gt; so that I can continue spreading education for free.&lt;br&gt;
&lt;/p&gt;

&lt;/ul&gt;
&lt;/ul&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let reply = 'Hmm...🤔That was a nice explaination'
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Wait what?? JavaScript!! You can speak??&lt;/p&gt;



</description>
      <category>null</category>
      <category>undefined</category>
      <category>javascript</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>From here Genetic Algorithms looks easier🤔</title>
      <dc:creator>ProCode</dc:creator>
      <pubDate>Sun, 02 Jun 2019 08:02:39 +0000</pubDate>
      <link>https://dev.to/procode/from-here-genetic-algorithms-looks-easier-40ne</link>
      <guid>https://dev.to/procode/from-here-genetic-algorithms-looks-easier-40ne</guid>
      <description>&lt;p&gt;In this writing I have tried to notedown the process of writing your first basic GA’s Rather than going into the details.I have assumed that you have resources for learning it..If not stay tuned as I will be writing my next thing(whatever it is) with the details of Basic GA and its implementations.&lt;/p&gt;

&lt;p&gt;[if you don’t know what’s GA there are some links at the bottom you might be looking for]&lt;/p&gt;

&lt;p&gt;Sometimes people find it very hard to understand the working this algorithm from an abstract view..but believe me it can be more interesting once you Understand the concept behind it..which includes the knowing its significance , its application and etc…&lt;/p&gt;

&lt;p&gt;Imagine a bunch of objects made by you is evolving and eventually growing a brain of themselves just infront of you..&lt;/p&gt;

&lt;p&gt;Gave a grandpa kinda feeling , didn’t it 😂…seeing you grandchildren grow up!&lt;/p&gt;

&lt;p&gt;=&amp;gt;The steps you should follow to master this algorithm!&lt;/p&gt;

&lt;p&gt;(I assume you have done a pretty good homework about GA and know what is basically is.)&lt;br&gt;
 ..First of all never try to mug up a single calculation in it!!!&lt;/p&gt;

&lt;p&gt;Understand the core concepts of genetic algorithm…You can google about the DARWINIAN GENETIC ALGORITHM and clear your concepts.&lt;/p&gt;

&lt;p&gt;1 . After its done and you feel confident about it..Its time to get the first shock..TRY TO CODE OUT WHAT YOU JUST LEARNED IN THE DARWINIAN ALGORITHM…&lt;/p&gt;

&lt;p&gt;2 .I assume you are stuck now….(if not good job…I’m clapping 👏 go to the bottom to see some interesting videos on genetic algorithms)&lt;/p&gt;

&lt;p&gt;3 . Here comes the saviour step now!! Leave whatever project you are on ..watch this type of videos in the provided link well for me this is the simplest you can refer to. &lt;a href="https://youtu.be/bGz7mv2vD6g"&gt;https://youtu.be/bGz7mv2vD6g&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;While watching the video try to compare that with your own project. Generally you can relate easily …Do same kinda stuff he is doing in this video…&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;5 . Note down every step and understand the purpose..&lt;/p&gt;

&lt;p&gt;6 . While Writing your code, you can have a tons of error working with multiple classes..One thing you should never do is doubt the framework you are using…&lt;/p&gt;

&lt;p&gt;7 . Try and debug the whole code. the time of completion can vary from several minutes to days depending on you effort and efficiency…&lt;/p&gt;

&lt;p&gt;8 . But always imagine the moment you are done with the code and the objects are actually evolving infrontof you!! And eventually you will get to the end point..&lt;/p&gt;

&lt;p&gt;9 . But to have a check on yourselves if you have understand it or not.. Write some other code using Genetic algo’s with other variations you can think of..&lt;/p&gt;

&lt;p&gt;IF YOU MADE TO THE END&lt;/p&gt;

&lt;p&gt;CONGRATULATIONS 🎉&lt;/p&gt;

&lt;p&gt;Happy coding😄😄&lt;/p&gt;

&lt;p&gt;Some interesting GA videos on YouTube..&lt;/p&gt;

&lt;p&gt;1 . &lt;a href="https://youtu.be/FKbarpAlBkw"&gt;https://youtu.be/FKbarpAlBkw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2 . &lt;a href="https://youtu.be/bGz7mv2vD6g"&gt;https://youtu.be/bGz7mv2vD6g&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3 . &lt;a href="https://youtu.be/9zfeTw-uFCw"&gt;https://youtu.be/9zfeTw-uFCw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4 . &lt;a href="https://youtu.be/VnwjxityDLQ"&gt;https://youtu.be/VnwjxityDLQ&lt;/a&gt; &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
