<?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: Mohil Zalavadiya</title>
    <description>The latest articles on DEV Community by Mohil Zalavadiya (@mohz).</description>
    <link>https://dev.to/mohz</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F509764%2F507efeaa-01f3-47e4-8577-436e4a0c43b6.jpeg</url>
      <title>DEV Community: Mohil Zalavadiya</title>
      <link>https://dev.to/mohz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mohz"/>
    <language>en</language>
    <item>
      <title>Learning through Links 🔗</title>
      <dc:creator>Mohil Zalavadiya</dc:creator>
      <pubDate>Sat, 21 Nov 2020 16:24:41 +0000</pubDate>
      <link>https://dev.to/mohz/learning-through-links-3jnn</link>
      <guid>https://dev.to/mohz/learning-through-links-3jnn</guid>
      <description>&lt;p&gt;&lt;strong&gt;Spoiler alert:&lt;/strong&gt; You may get to read more than you came here to read for. It's not just 2 min read.&lt;/p&gt;

&lt;p&gt;If you're here, then it most probably means that you reached after clicking a bunch of links. And from here, you may end up somewhere else to read something even more interesting😛. Well, that's what happened when I went to read the React docs.&lt;/p&gt;

&lt;p&gt;A few days back, I wanted to start learning the basics of &lt;a href="https://reactjs.org/"&gt;React&lt;/a&gt; library. I think there isn't a better place other than &lt;a href="https://reactjs.org/docs/getting-started.html"&gt;Getting Started&lt;/a&gt; to do that. There I found my first link &lt;a href="https://www.taniarascia.com/getting-started-with-react/"&gt;React Tutorial: An Overview and Walkthrough By Tania Rascia&lt;/a&gt;. As mentioned in React docs, the concepts written in the article were detailed and beginner-friendly.&lt;/p&gt;

&lt;p&gt;Scrolling further leads to &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript"&gt;Javascript overview&lt;/a&gt; from MDN. I thought let's take a quick look. It wasn't so quick, though😅. Because the first line itself has a link to &lt;a href="http://crockford.com/javascript/javascript.html"&gt;The World's Most Misunderstood Programming Language&lt;/a&gt;. The title itself is catchy. How can one not click that😄?&lt;/p&gt;

&lt;p&gt;Well, it doesn't end there. At the end of that article, there were two more links.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.crockford.com/javascript/private.html"&gt;JavaScript objects can have private variables and private methods&lt;/a&gt;.
Private variables and methods are achieved using &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures"&gt;Closures&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://crockford.com/javascript/inheritance.html"&gt;JavaScript supports not only classical inheritance, but other code reuse patterns as well&lt;/a&gt;.
He has explained inheritance through sugar methods to make it resemble classical inheritance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We often use popular tools for development not knowing their creators. But through this, I got to know about &lt;a href="https://www.crockford.com/about.html"&gt;Douglas Crockford&lt;/a&gt;, creator of JSLint and JSON.&lt;/p&gt;

&lt;p&gt;For knowing Javascript in detail, apart from MDN, you can also refer to &lt;a href="https://javascript.info/"&gt;javascript.info&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On reaching the 'Create a New React App section', I found a list of toolchains. I went to look at &lt;a href="https://www.gatsbyjs.com/"&gt;Gatsby.js's&lt;/a&gt; home page as I heard that name before. In the 'WHAT GATSBY USERS ARE SAYING' section, I saw that Codebrahma was hired by Serverless to do their new site. So, being curious by name, to &lt;a href="https://codebrahma.com/blog"&gt;Codebrahma blogs&lt;/a&gt; I went. Among recent, I got attracted to below two&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://codebrahma.com/how-to-efficiently-operate-on-large-datasets-using-transducers-in-javascript/"&gt;How to efficiently operate on large datasets using Transducers in JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://codebrahma.com/processing-sequential-javascript-promises-using-functional-composition"&gt;Processing Sequential JavaScript Promises using Functional Composition&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After reading all these, I was back on track to learn more about React, finally😂. I hope you found some useful links along the way 😉. Feel free to share if you had a similar experience.&lt;/p&gt;

&lt;p&gt;Cover Photo by &lt;a href="https://unsplash.com/@avirichards"&gt;Avi Richards&lt;/a&gt; on &lt;a href="https://unsplash.com/"&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>reading</category>
      <category>javascript</category>
      <category>react</category>
    </item>
    <item>
      <title>Chrome dev tools feature I wish I knew before</title>
      <dc:creator>Mohil Zalavadiya</dc:creator>
      <pubDate>Wed, 11 Nov 2020 17:46:15 +0000</pubDate>
      <link>https://dev.to/mohz/chrome-dev-tools-feature-i-wish-i-knew-before-k89</link>
      <guid>https://dev.to/mohz/chrome-dev-tools-feature-i-wish-i-knew-before-k89</guid>
      <description>&lt;p&gt;As a web developer, one will often spend a lot of time using developer tools provided in the browser to inspect the DOM, do some style tweaking, debugging the code, and various other tasks. &lt;/p&gt;

&lt;p&gt;I've been using Chrome for debugging for a long time. If you've noticed after updating the Chrome, when you open the dev tools then it may have What's new section giving us a summary and link to the full article. So, once I opened the link and found that there are many features that I've never used. And for some of them, I was using workarounds 😅. So, I thought let's do some reading and found many useful things from their &lt;a href="https://developers.google.com/web/tools/chrome-devtools"&gt;docs&lt;/a&gt;. I'll be sharing a few of them here.&lt;/p&gt;

&lt;h3&gt;
  
  
  Accessing DOM element from Console
&lt;/h3&gt;

&lt;p&gt;Select any element from the DOM tree available under the Elements tab. You'll see a &lt;code&gt;== $0&lt;/code&gt; being displayed at the end of your selection. It means that you can directly refer to that element from your Console. No need to make a querySelector call for that.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--izZqVlSJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2j46l5ef5thz2dkt5uzz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--izZqVlSJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2j46l5ef5thz2dkt5uzz.png" alt="accessing-element-from-console"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, Chrome keeps track of the last five selected elements. So, you can access them using $0 to $4.&lt;/p&gt;

&lt;h3&gt;
  
  
  Add/remove classes of an element
&lt;/h3&gt;

&lt;p&gt;We often want to add or remove classes for an element to see how it affects before making those changes in the code. Under Elements &amp;gt; Styles tab there's a .cls button. On click, it'll open a list of classes with checkboxes to quickly add and remove it. A new class can be added from the provided input too.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Preserve log and Log XHR (Console settings)
&lt;/h3&gt;

&lt;p&gt;The debugging and other related logs are cleared on page reloads. It may be required across page reloads for comparison. Log preserving can be enabled from Console settings. It can be accessed from the top right corner of the Console tab.&lt;br&gt;
Similarly, XHR logging can be enabled from there. It is helpful when a stack trace is needed for XHR calls.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1xBam4v9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dpdg4lajty3tit0q7u19.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1xBam4v9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dpdg4lajty3tit0q7u19.png" alt="console-settings"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Watch expressions
&lt;/h3&gt;

&lt;p&gt;While debugging it may be required to keep an eye on the value changes for some variables. You can add watch expressions in the Console tab by clicking on an eye icon.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Change element sizing
&lt;/h3&gt;

&lt;p&gt;To apply some padding or margin changes to the element, we can write them under the &lt;code&gt;element.style&lt;/code&gt; block. But there's a quicker way. Just double-click on any of the values displayed in the CSS box model and change the value. It'll add the appropriate style property for sizing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0t9bAOYT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dn4rab9yex30zmbhjgdj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0t9bAOYT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dn4rab9yex30zmbhjgdj.png" alt="element-sizing-in-box-model"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Copy object in JSON format
&lt;/h3&gt;

&lt;p&gt;If you want to take note of object values or share it with someone then a long way to do that will be to call &lt;code&gt;JSON.stringify&lt;/code&gt; and then copy that manually. Dev tools console exposes copy function to do just the same. Call copy with the object as an argument. It'll copy the JSON format of the provided object to the clipboard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rWh3-abs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dycetokalsw6qfdhl1at.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rWh3-abs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dycetokalsw6qfdhl1at.png" alt="copy-object-json"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Come to the Dark side
&lt;/h3&gt;

&lt;p&gt;You might've noticed my dev tools in Dark theme, if you don't know that you can do the same. Open the settings from the top right corner of the dev tools window. Select Dark under Preferences &amp;gt; Appearance &amp;gt; Theme.&lt;/p&gt;

&lt;p&gt;Well, these are some of the basic features that I come across. To know more about what you can do with dev tools, do visit &lt;a href="https://developers.google.com/web/tools/chrome-devtools"&gt;full docs&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>debug</category>
      <category>devtools</category>
    </item>
  </channel>
</rss>
