<?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: akshat-2110</title>
    <description>The latest articles on DEV Community by akshat-2110 (@akshat2110).</description>
    <link>https://dev.to/akshat2110</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%2F647560%2Fa7ba3b35-db9f-46f5-a82f-80b1d95c1b59.jpeg</url>
      <title>DEV Community: akshat-2110</title>
      <link>https://dev.to/akshat2110</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akshat2110"/>
    <language>en</language>
    <item>
      <title>Peeling the Backend of the Classes</title>
      <dc:creator>akshat-2110</dc:creator>
      <pubDate>Mon, 12 Jul 2021 10:19:48 +0000</pubDate>
      <link>https://dev.to/akshat2110/peeling-of-the-backend-of-classes-1333</link>
      <guid>https://dev.to/akshat2110/peeling-of-the-backend-of-classes-1333</guid>
      <description>&lt;p&gt;Any programming language and Python especially there's a lot of high-level syntax and great features that you can use without having any understanding of how they actually work on the backend.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AoQF9tuz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dfdqjv91sjpm5qn65fqp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AoQF9tuz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dfdqjv91sjpm5qn65fqp.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So if we notice that, We were able to add 25 in x as both were &lt;em&gt;int&lt;/em&gt; type instance of the &lt;em&gt;class&lt;/em&gt;. These classes are like blueprints that define the behaviour of different objects in Python.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IYKmJq_r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6mes4v59kj6zcg1qn38l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IYKmJq_r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6mes4v59kj6zcg1qn38l.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We get an error it says unsupported operand types for &lt;em&gt;int&lt;/em&gt; and &lt;em&gt;string&lt;/em&gt; so since one of these variables is type &lt;em&gt;string&lt;/em&gt; and the other is type &lt;em&gt;int&lt;/em&gt; We cannot add them together because that operation is not defined and so just keep that in mind there that these classes or these types really are blueprints defining how objects can behave in our program what methods we can use on them what operations or operators we can use with them it's a blueprint defining the behaviour that's really the key thing.&lt;/p&gt;

&lt;p&gt;Let's now create a &lt;em&gt;Student class&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JQrurMNF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujvz3eg4mlygp47a612a.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JQrurMNF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujvz3eg4mlygp47a612a.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we notice there is some strange behaviour in the two outputs above. The type of instance of the &lt;em&gt;class&lt;/em&gt; object &lt;em&gt;x&lt;/em&gt; is class '&lt;strong&gt;main&lt;/strong&gt;.Student' and the type of instance of actual &lt;em&gt;class Student&lt;/em&gt; is class 'type'.&lt;/p&gt;

&lt;p&gt;When we think of creating a class we think of creating a new type&lt;br&gt;
right we're creating this &lt;em&gt;Student&lt;/em&gt; class 'type' and we can create objects of type &lt;em&gt;Student&lt;/em&gt; but it turns out the classes themselves are objects that are of the class 'type'.&lt;/p&gt;

&lt;p&gt;This is because we actually have a blueprint above our object or &lt;br&gt;
above our class that defines how we can create a class.&lt;/p&gt;

&lt;p&gt;Now let see how we can create this exact same class without using this high level fancy syntax&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OiGuoGVL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aq3cys9xmst49cytrowo.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OiGuoGVL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aq3cys9xmst49cytrowo.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is how you can actually create a class using this &lt;em&gt;type&lt;/em&gt; function and this is because again there is a blueprint above our kind of pre-built in classes here that tells you how to define a &lt;em&gt;class&lt;/em&gt;. Now we can do very advanced thing like dynamically creating a class.&lt;/p&gt;

&lt;p&gt;We can write the classes in two different way one is the fancy way as we do normally and the other is going down to the bare-bones level and create the class on your own.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4pVt_SvZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/262jnc6uc9uj96kzzpct.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4pVt_SvZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/262jnc6uc9uj96kzzpct.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will most useful while defining &lt;em&gt;meta-classes&lt;/em&gt;.&lt;br&gt;
As we already know now that &lt;em&gt;Student class&lt;/em&gt; is of  that means we can create a class that actually is a subclass of &lt;em&gt;class&lt;/em&gt; type and use that class to create new classes&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZWSZULjw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sdy1mjguxsur0ffakma6.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZWSZULjw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sdy1mjguxsur0ffakma6.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now if we see it works exactly the same because what we have done is we have created the blueprint for the class i.e., CreateClass.&lt;br&gt;
Now we have full flexibility to change the behaviour of Class like: How a class is constructed, What methods are called first(&lt;strong&gt;init&lt;/strong&gt; method should called first or not), etc.&lt;/p&gt;

</description>
      <category>python</category>
      <category>oop</category>
      <category>programming</category>
    </item>
    <item>
      <title>5 Best recommended VSCode Extensions </title>
      <dc:creator>akshat-2110</dc:creator>
      <pubDate>Sun, 11 Jul 2021 07:36:52 +0000</pubDate>
      <link>https://dev.to/akshat2110/5-best-recemented-vscode-extensions-1mpm</link>
      <guid>https://dev.to/akshat2110/5-best-recemented-vscode-extensions-1mpm</guid>
      <description>&lt;p&gt;Visual Studio Code is a source-code editor made by Microsoft for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add additional functionality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Top 5 recommendation for extensions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. &lt;a href="https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker"&gt;Code Spell Checker&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This extension does what it exactly says. It checks spelling mistakes as you write code by default VSCode will check some spelling but it's not the best and only does so in specific file types but code spell checker will highlight any word it sees that is not in the dictionary and provides spelling suggestions for you it's smart enough to understand camel case snake case pascal case etc and it won't flag compound words in things like variable names.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;a href="https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode"&gt;Prettier - Code formatter&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Prettier is a very popular extension that provides auto code formatting for most programming languages it's especially useful in html javascript and other languages where there's a lot of nested blocks and opening and closing tags after you install prettier you can configure your formatting by pressing CTRL+SHIFT+P&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;a href="https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer-2"&gt;Bracket Pair Colorizer 2&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is the new version of the original bracket colorizer that simply colors corresponding brackets such that it's easier to see where each block starts and ends now we'll do that with parentheses&lt;br&gt;
brackets angle brackets square brackets squiggly brackets all the different type of brackets&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens"&gt;GitLens — Git supercharged&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is an add-on for git now git is integrated by default in VSCode and so you can already do a lot of git related stuff in VSCode but what git lens allows you to do is see more information about the code that you're working in in the git repository so specifically you can see things like authorship modifications you can go and look through all of the commit history and just gives you a better user interface than the default interface you have with vs code by default what it also does is provide file annotations related to commits authorships and also provides a bunch of different views for navigating revisions and changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;a href="https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync"&gt;Settings Sync&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is extremely useful especially if you work with VSCode on multiple machines and that is called settings sync. Now as the name suggests this will allow you to sync all of your VSCode settings, keybinds, extensions, extension settings and more across all of  your different devices. You do need to manually configure and install this extension on all of your different devices before.&lt;br&gt;
To upload all of your settings SHIFT+ALT+U.&lt;br&gt;
To download all of your settings SHIFT+ALT+D&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>extension</category>
      <category>ide</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
