<?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: SYED MAZHAR ALI RAZA</title>
    <description>The latest articles on DEV Community by SYED MAZHAR ALI RAZA (@110syedmazhar).</description>
    <link>https://dev.to/110syedmazhar</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%2F540305%2Fd5ceeedf-e2f6-41e1-8bd1-88293e06d412.jpg</url>
      <title>DEV Community: SYED MAZHAR ALI RAZA</title>
      <link>https://dev.to/110syedmazhar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/110syedmazhar"/>
    <language>en</language>
    <item>
      <title>JavaScript's prototype vs __proto__</title>
      <dc:creator>SYED MAZHAR ALI RAZA</dc:creator>
      <pubDate>Fri, 04 Feb 2022 17:49:24 +0000</pubDate>
      <link>https://dev.to/110syedmazhar/javascripts-prototype-vs-proto-3em0</link>
      <guid>https://dev.to/110syedmazhar/javascripts-prototype-vs-proto-3em0</guid>
      <description>&lt;p&gt;If you're a JavaScript developer, you might have come across the word &lt;strong&gt;"prototype"&lt;/strong&gt;. But have you come across &lt;strong&gt;"_&lt;em&gt;proto&lt;/em&gt;_"&lt;/strong&gt;? If yes, ever wondered what's the difference? If not, let me fill you in.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prototype
&lt;/h3&gt;

&lt;p&gt;It is an object that contains certain properties and methods, which by default in JS automatically get associated with an object(remember that functions, dates, arrays, etc are all considered as objects) created in your JavaScript code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prototypes&lt;/strong&gt; are like a blueprint for a constructor function (functions that create new objects) containing all features that should be inherited by all the instances (objects produced by that class constructor).&lt;/p&gt;

&lt;p&gt;So in short, it's a master blueprint containing various properties and methods for a class constructor, and every object created from that constructor will inherit those properties and methods.&lt;/p&gt;

&lt;p&gt;Now the question is, how does one access those methods and properties inherited by that object (which got created by a constructor)? Yes! through &lt;strong&gt;"_&lt;em&gt;proto&lt;/em&gt;_"&lt;/strong&gt; object.&lt;/p&gt;

&lt;h3&gt;
  
  
  __ proto __
&lt;/h3&gt;

&lt;p&gt;It is an object that points to the prototype it was created from. So "&lt;strong&gt;proto&lt;/strong&gt;" is the prototype of that particular object now.&lt;/p&gt;

&lt;p&gt;For example, if you create an array using &lt;code&gt;new Array&lt;/code&gt; constructor, that array's &lt;code&gt;__proto__&lt;/code&gt; will point to the prototype of Array constructor, and since array is also considered an object in JS, Array constructor's &lt;code&gt;__proto__&lt;/code&gt; will point to the Object constructor's prototype. Prototype of &lt;code&gt;Object&lt;/code&gt; constructor is the master blueprint and its prototype doesn't point somewhere (will return null)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sO6_OEMJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1643996692974/3-MWREEC4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sO6_OEMJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1643996692974/3-MWREEC4.png" alt="Acting Director.png" width="732" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Want to learn this concept with an amazing example and further clarity? Check out this &lt;a href="https://javascript.plainenglish.io/proto-vs-prototype-in-js-140b9b9c8cd5"&gt;amazing article&lt;/a&gt; by Andrew Chung on the same.&lt;/p&gt;

&lt;p&gt;Happy coding :)&lt;/p&gt;

&lt;h1&gt;
  
  
  10daysofJSfundamentals (DAY 8)
&lt;/h1&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Hoisting in JavaScript [must know concept]</title>
      <dc:creator>SYED MAZHAR ALI RAZA</dc:creator>
      <pubDate>Thu, 03 Feb 2022 13:58:11 +0000</pubDate>
      <link>https://dev.to/110syedmazhar/hoisting-in-javascript-must-know-concept-1aeg</link>
      <guid>https://dev.to/110syedmazhar/hoisting-in-javascript-must-know-concept-1aeg</guid>
      <description>&lt;h3&gt;
  
  
  Did you know that JavaScript allocates memory to all variables and functions first, even before executing the code?
&lt;/h3&gt;

&lt;p&gt;Yes, that's true. And this results in a phenomenon called "&lt;strong&gt;hoisting"&lt;/strong&gt; in JavaScript.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hoisting&lt;/strong&gt; allows us to use variables and functions even before they're declared. Look at this example&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(x);
var x = 'sample';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Interestingly, this will not throw an error. Instead, it will output &lt;code&gt;undefined&lt;/code&gt;. Let's take a slightly deeper dive into this process.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Variable hoisting&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The interpreter hoists variables declared with &lt;code&gt;var&lt;/code&gt; with a default value of "undefined". Therefore, If you use a variable declared with &lt;code&gt;var&lt;/code&gt; before it's been declared, it will return &lt;code&gt;undefined&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The interpreter also hoists variables declared with &lt;code&gt;let&lt;/code&gt; or &lt;code&gt;const&lt;/code&gt;, but this time, the variables are not assigned a default value. JS just knows that these variables exist in the code. Therefore, If you use a variable declared with let/const before it's been initialized, it will throw an error stating &lt;em&gt;"cannot access xyz before initialization"&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;If you don't initialize the variable anywhere in the code, and try to use such variable, it will throw an error stating &lt;em&gt;"xyz is not initialized"&lt;/em&gt;. See how this time JS doesn't even know that xyz exists.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Function hoisting&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unlike variables, an actual copy of the function is hoisted at the time of memory allocation. This gives an advantage of using calling functions even before they've been initialized.&lt;/li&gt;
&lt;li&gt;Note that if you assign a function to a variable (like in arrow functions), it will no more be treated as a function. Just how variables are hoisted by a default value of &lt;em&gt;undefined&lt;/em&gt;, this function will also be treated the same.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Want to read a detailed explanation with more examples, check out this &lt;a href="https://www.freecodecamp.org/news/what-is-hoisting-in-javascript/"&gt;amazing article&lt;/a&gt; by Zach Snoek on FreeCodeCamp's website.&lt;/p&gt;

&lt;p&gt;Happy coding :)&lt;/p&gt;

&lt;h3&gt;
  
  
  10daysofJSfundamentals (DAY 7)
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>react</category>
    </item>
    <item>
      <title>The Strict mode in JavaScript</title>
      <dc:creator>SYED MAZHAR ALI RAZA</dc:creator>
      <pubDate>Wed, 02 Feb 2022 18:03:35 +0000</pubDate>
      <link>https://dev.to/110syedmazhar/the-strict-mode-in-javascript-387e</link>
      <guid>https://dev.to/110syedmazhar/the-strict-mode-in-javascript-387e</guid>
      <description>&lt;p&gt;&lt;strong&gt;JavaScript's strict mode&lt;/strong&gt;, introduced in &lt;em&gt;ECMAScript 5,&lt;/em&gt; optimizes code for JS engine, eliminates bad-syntax code, and helps in writing secure JavaScript. Let's take a slightly deeper dive into this concept.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Use strict"&lt;/strong&gt; mode in JS applies certain restrictions in the entire script or in a particular function it is invoked in. Just add &lt;code&gt;"use strict";&lt;/code&gt; to the beginning of a script or a function.&lt;/p&gt;

&lt;p&gt;Q. What changes does &lt;code&gt;use strict&lt;/code&gt; make? The list is pretty exhaustive. But here are some important changes you'll notice. If you're in strict mode:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Using a variable/object, without declaring it, will throw an error.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using duplicate parameters in any function or duplicate property names in any object will throw an error.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Any assignment that silently fails (does not throw any error/no feedback to the user) in normal code (i.e assignment to a non-writable global or property, assignment to a getter-only property, assignment to a new property on a non-extensible object) will throw an error.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Deleting a function or an undeletable property will throw an error.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using a number that begins with 0 will throw an error.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Setting a property to a primitive value, will throw an error.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;There are a number of situations that could unintentionally cause &lt;code&gt;this&lt;/code&gt; to be bound to the global object. In strict mode, instead of bounding &lt;code&gt;this&lt;/code&gt; to &lt;code&gt;global&lt;/code&gt; object, this gets bound to undefined.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ECMAScript 5 added a list of reserved words that will be used in the future. If you use them as variables or arguments, the strict mode will throw an error. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using &lt;code&gt;arguments.callee&lt;/code&gt;, &lt;code&gt;arguments.caller&lt;/code&gt;, &lt;code&gt;with&lt;/code&gt; keyword,&lt;code&gt;eval()&lt;/code&gt; function, is forbidden.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Et cetera, et cetera.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Refer to this &lt;a href="https://mzl.la/3IOVPRx"&gt;MDN doc&lt;/a&gt; on the same for further information and clarity.&lt;/p&gt;

&lt;p&gt;Happy coding :)&lt;/p&gt;

&lt;h3&gt;
  
  
  10DaysofJSfundamentals (DAY 6)
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Calmy explaining "this" in JavaScript</title>
      <dc:creator>SYED MAZHAR ALI RAZA</dc:creator>
      <pubDate>Tue, 01 Feb 2022 18:15:01 +0000</pubDate>
      <link>https://dev.to/110syedmazhar/calmy-explaining-this-in-javascript-4ho3</link>
      <guid>https://dev.to/110syedmazhar/calmy-explaining-this-in-javascript-4ho3</guid>
      <description>&lt;p&gt;The behavior of &lt;code&gt;this&lt;/code&gt; keyword in different contexts can be very confusing for a JavaScript developer. Here is some must-know information regarding the same.&lt;/p&gt;

&lt;p&gt;First things first, what exactly is &lt;strong&gt;this&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;&lt;code&gt;This&lt;/code&gt; is a keyword that references the object that is currently executing the function. In other words, &lt;code&gt;This&lt;/code&gt; points to the object, of which the currently executed function is a property. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let obj = {
    run : function() { console.log(this) }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now if you execute &lt;code&gt;run&lt;/code&gt; method, it will return the &lt;code&gt;obj&lt;/code&gt; object. This is because &lt;code&gt;this&lt;/code&gt; is inside the &lt;code&gt;run&lt;/code&gt; function which is a property of the &lt;code&gt;obj&lt;/code&gt; object.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If &lt;code&gt;this&lt;/code&gt; is used alone, i.e outside any function (in the global context), it will refer to the &lt;code&gt;window&lt;/code&gt; object (if JS is running in a browser), and &lt;code&gt;global&lt;/code&gt; object (if JS is running in Nodejs).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If &lt;code&gt;this&lt;/code&gt; is used inside a regular function, it will again refer to the &lt;code&gt;window/global&lt;/code&gt; object. But in strict mode (I will post on what strict mode is some other day), JavaScript binds &lt;code&gt;this&lt;/code&gt; to undefined.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If &lt;code&gt;this&lt;/code&gt; is used inside a method of an object, it will refer to the object, that particular method is a property of.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If &lt;code&gt;this&lt;/code&gt; is used inside a constructor function, and when the &lt;code&gt;new&lt;/code&gt; operator is used, JS binds the &lt;code&gt;this&lt;/code&gt; keyword with the newly created object by that constructor. Hence, it will refer to a new object that is created.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In arrow functions, JS sets &lt;code&gt;this&lt;/code&gt; lexically. It means the arrow function does not create its own execution context but inherits &lt;code&gt;this&lt;/code&gt; from the outer function where the arrow function is defined. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Want to understand the concept in depth with more examples, do read &lt;a href="https://www.javascripttutorial.net/javascript-this/"&gt;this article&lt;/a&gt; on the same.&lt;/p&gt;

&lt;p&gt;Happy coding :)&lt;/p&gt;

&lt;h3&gt;
  
  
  10DaysofJSfundamentals (Day 5)
&lt;/h3&gt;

</description>
    </item>
    <item>
      <title>Primitive and reference values in JavaScript</title>
      <dc:creator>SYED MAZHAR ALI RAZA</dc:creator>
      <pubDate>Mon, 31 Jan 2022 17:17:06 +0000</pubDate>
      <link>https://dev.to/110syedmazhar/primitive-and-reference-values-in-javascript-8oi</link>
      <guid>https://dev.to/110syedmazhar/primitive-and-reference-values-in-javascript-8oi</guid>
      <description>&lt;p&gt;"Primitive" and "reference" values in JavaScript, a concept most developers skip as it seems to be too theoretical, actually became quite important when I was learning React. If you don't know about this, let me quickly summarize the concept.&lt;/p&gt;

&lt;p&gt;In JS, there are two types of data/values that can be stored in a variable, primitive value and reference value.&lt;/p&gt;

&lt;p&gt;Q1. Which values are primitive and which ones are references?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Any number, string, boolean, undefined, null, or symbol is a &lt;strong&gt;primitive&lt;/strong&gt; value.&lt;/li&gt;
&lt;li&gt;Arrays, Objects, and Functions are &lt;strong&gt;reference&lt;/strong&gt; values.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Q2. Where does a primitive value gets stored, and where does a reference value gets stored?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you declare a variable having a primitive value, the JS engine allocates the memory and store the value on the &lt;strong&gt;stack&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;On the other hand, when you declare a variable having a reference value, the JS engine allocates the memory and store the value on the &lt;strong&gt;heap&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Q3. On calling these two types of variables, what do we get in return?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you access a primitive value, &lt;strong&gt;you get the actual value of it&lt;/strong&gt;. That is why when we assign a variable that stores a primitive value to another, the value stored in the variable gets copied into the new variable. &lt;strong&gt;Now if you make a change in any of the variables, the other one doesn't get affected.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;When you access a reference value, &lt;strong&gt;you get the reference/location of the memory of it&lt;/strong&gt;. That is why when we assign a variable that stores a reference value to another, the location of the value is passed to the other variable. Now if you make a change in any of the variables, **the other one also gets affected **because they are pointing to the same value stored in the heap memory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Want to read a more clear explanation with examples? You can check out an amazing &lt;a href="https://bit.ly/3ugGHZf"&gt;article by Tyler McGinnis&lt;/a&gt; on the same.&lt;/p&gt;

&lt;p&gt;Happy coding :)&lt;/p&gt;

&lt;h3&gt;
  
  
  10DaysofJSfundamentals (Day 4)
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>react</category>
    </item>
    <item>
      <title>"==" or "===" ? Key difference b/w them</title>
      <dc:creator>SYED MAZHAR ALI RAZA</dc:creator>
      <pubDate>Sun, 30 Jan 2022 18:09:56 +0000</pubDate>
      <link>https://dev.to/110syedmazhar/-or-key-difference-bw-them-3hbd</link>
      <guid>https://dev.to/110syedmazhar/-or-key-difference-bw-them-3hbd</guid>
      <description>&lt;p&gt;While learning JS, I've always wondered how &lt;code&gt;==&lt;/code&gt; and &lt;code&gt;===&lt;/code&gt; are different from each other, and how exactly do they work BTS. So here's what I got to know.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The equality operator (==)&lt;/strong&gt; uses the &lt;em&gt;Abstract Equality Comparison Algorithm&lt;/em&gt; to compare two operands. In simple words, it compares the two operands irrespective of their datatypes. For example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;console.log(2 == "2")&lt;/code&gt; will return true, even if the second operand here is a string. But why? How? Here's the deal.&lt;/p&gt;

&lt;p&gt;When the operands are of different types, the algorithm converts the operands to the same datatype before comparing. Now, &lt;strong&gt;which one gets converted, you may ask&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On comparing a number with a string, the string is converted to a number. (empty string is converted to 0, non-number strings return NaN i.e Not a Number)&lt;/li&gt;
&lt;li&gt;If either of the operands is a boolean, it gets converted to either number 1(if true) or 0(if false).&lt;/li&gt;
&lt;li&gt;Lastly, if one of the operands is an object and the other is a number or a string, the object gets converted to a primitive value (just like using &lt;code&gt;valueOf()&lt;/code&gt; and &lt;code&gt;toString()&lt;/code&gt; methods)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The strict equality operator (===)&lt;/strong&gt; uses the &lt;em&gt;Strict Equality Comparison Algorithm&lt;/em&gt; to compare two operands. Even "===" also checks whether two values are the same or not but there is &lt;strong&gt;no type conversion before comparison&lt;/strong&gt;. So even if the values of two operands are the same, but are of different datatypes, it will return false.&lt;/p&gt;

&lt;p&gt;Happy coding :)&lt;/p&gt;

&lt;h3&gt;
  
  
  10DaysofJSFundamentals (DAY 3)
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Null vs Undefined in JavaScript</title>
      <dc:creator>SYED MAZHAR ALI RAZA</dc:creator>
      <pubDate>Sat, 29 Jan 2022 18:46:32 +0000</pubDate>
      <link>https://dev.to/110syedmazhar/null-vs-undefined-in-javascript-1o32</link>
      <guid>https://dev.to/110syedmazhar/null-vs-undefined-in-javascript-1o32</guid>
      <description>&lt;p&gt;Do you really know the difference between "null" and "undefined" in JavaScript? If not, let me explain.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Undefined&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In JavaScript, undefined means a variable has been declared but has not yet been assigned a value. For example:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;X is like a new team member in your company who hasn't been assigned any role yet.&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let X;

console.log(X) 
undefined

console.log(typeof X)
undefined
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;Null&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Null is an assignment value. It can be intentionally assigned to a variable as a representation of no value: For example:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;X is like a team member in your company who has been intentionally told to do nothing as of now.&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let X = null;

console.log(X) 
null

console.log(typeof X) 
object
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;p&gt;&lt;code&gt;typeof(null) will interestingly return 'object'. Unfortunately, this can be considered a bug in JS where the datatype of null is an object.]&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Also, note that undefined == null will return true, meanwhile undefined === null will return false. It means null is equal to undefined but not identical(because they have different datatypes).&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Happy coding :)&lt;/p&gt;

&lt;h3&gt;
  
  
  10daysofJSfundamentals (Day 2)
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>html</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Console.log() is not JavaScript</title>
      <dc:creator>SYED MAZHAR ALI RAZA</dc:creator>
      <pubDate>Fri, 28 Jan 2022 13:51:19 +0000</pubDate>
      <link>https://dev.to/110syedmazhar/consolelog-is-not-javascript-43f1</link>
      <guid>https://dev.to/110syedmazhar/consolelog-is-not-javascript-43f1</guid>
      <description>&lt;h3&gt;
  
  
  This might be a heartbreak to a lot of JavaScript developers out there, but the truth is...
&lt;/h3&gt;

&lt;p&gt;The very first line of code you ran as a beginner JS developer, viz &lt;strong&gt;&lt;code&gt;console.log()&lt;/code&gt;, is not a part of the JavaScript language.&lt;/strong&gt; Confused? Let me explain.&lt;/p&gt;

&lt;p&gt;The console object (whose log method is used to print data on the web console) is one of the &lt;strong&gt;"Web APIs"&lt;/strong&gt; provided by the Browser to the JavaScript Engine, which means it is your browser that is providing this functionality that is in return implemented through JavaScript.&lt;/p&gt;

&lt;p&gt;All browsers have a &lt;em&gt;set of built-in Web APIs&lt;/em&gt; to support complex operations, such as &lt;strong&gt;DOM, Fetch, History, Service Workers, and Web Storage APIs.&lt;/strong&gt; Now you may wonder, what exactly is a part of JavaScript then?&lt;/p&gt;

&lt;p&gt;Well, the parts of JavaScript that are standard across all environments are detailed in the ECMA Specs (primitives, data types, language grammar and syntax, arithmetic and logical operations, built-in objects and functions, etc.). This means that while &lt;code&gt;Array.isArray()&lt;/code&gt; is built into JS, &lt;code&gt;setTimeout()&lt;/code&gt; and console aren’t.&lt;/p&gt;

&lt;p&gt;Do you want to learn more about this? check out this &lt;a href="//shorturl.at/tvBZ3"&gt;great blog by Nikhil John&lt;/a&gt;, where he explains this concept in-depth.&lt;/p&gt;

&lt;p&gt;Happy coding :)&lt;/p&gt;

&lt;h3&gt;
  
  
  10daysofJSfundamentals (Day 1)
&lt;/h3&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>html</category>
    </item>
    <item>
      <title>Most popular CSS Units</title>
      <dc:creator>SYED MAZHAR ALI RAZA</dc:creator>
      <pubDate>Thu, 23 Sep 2021 07:06:50 +0000</pubDate>
      <link>https://dev.to/110syedmazhar/most-popular-css-units-48bd</link>
      <guid>https://dev.to/110syedmazhar/most-popular-css-units-48bd</guid>
      <description>&lt;p&gt;A CSS unit is used to set the size of an element or its content. They are used to set margin, padding, height, width and so on.&lt;/p&gt;

&lt;p&gt;The length unit in CSS is of two types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Absolute length unit&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Relative length unit&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Absolute Length:
&lt;/h2&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%2Fi.stack.imgur.com%2Fr7uWo.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.stack.imgur.com%2Fr7uWo.gif"&gt;&lt;/a&gt;

&lt;/p&gt;

&lt;p&gt;&lt;u&gt;The absolute length units&lt;/u&gt; are fixed(not relative) and a length expressed using these units appear exactly of the same size.&lt;/p&gt;

&lt;p&gt;Following are the most popularly used absolute length units:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Px (Pixels):
&lt;/h3&gt;

&lt;p&gt;Pixels, abbreviated as "px", are a unit of measurement equivalent to roughly 1⁄96 inch (0.26 mm).&lt;/p&gt;

&lt;p&gt;&lt;br&gt; &lt;strong&gt;How to use:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
img { width: 10px; }

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Pixels are &lt;em&gt;relative&lt;/em&gt; to the viewing device. For low-dpi devices, 1px is one device pixel (dot) of the display. For printers and high resolution screens 1px implies multiple device pixels.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Pt (Points):
&lt;/h3&gt;

&lt;p&gt;Points, abbreviated as "pt", are a unit of measurement equivalent to roughly 1⁄72 inch (0.35 mm).&lt;/p&gt;

&lt;p&gt;&lt;br&gt; &lt;strong&gt;How to use:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
img { width: 15pt; }

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Pc (Picas):
&lt;/h3&gt;

&lt;p&gt;Picas, abbreviated as "pc", are a unit of measurement equivalent to roughly 1⁄6 inch (4.23 mm). Also, 1pc = 12 pt&lt;/p&gt;

&lt;p&gt;&lt;br&gt; &lt;strong&gt;How to use:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
img { width: 5pc; }

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

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Since screen sizes vary so much, it is not recommended to use absolute units on screen. However, they can be used if the output medium is known, such as for print layout.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Relative Length:
&lt;/h2&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%2Fmiro.medium.com%2Fmax%2F800%2F1%2AOkcOPoWR3bxKY2axlDX9UA.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmiro.medium.com%2Fmax%2F800%2F1%2AOkcOPoWR3bxKY2axlDX9UA.gif"&gt;&lt;/a&gt;

&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Relative length units&lt;/u&gt; are relative to certain factors like the size of the parent element's font, or the size of the viewport.&lt;/p&gt;

&lt;p&gt;Using such units, the size of text and elements can be set and changed appropriately for different device widths.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Em:
&lt;/h3&gt;

&lt;p&gt;Em is a relative length unit which is relative to the font-size of the element. So if the font size of a &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; is set as 2 pixels, then 1 em in that division will be 2px. By default 1em = 16px&lt;/p&gt;

&lt;p&gt;&lt;br&gt; &lt;strong&gt;How to use:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
div {font-size: 18px } //this is the div containing an img. Its font size is set as 18px

img { width: 2em; } // here, 2rem = 36px

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Rem:
&lt;/h3&gt;

&lt;p&gt;Rem is a relative length unit which is relative to the font-size of the root element. By default 1rem = 16px.&lt;/p&gt;

&lt;p&gt;&lt;br&gt; &lt;strong&gt;How to use:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
html { font-size: 18px } //setting the base font size as 18px

img { width: 2rem; } // here, 2rem = 36px

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. % (Percent):
&lt;/h3&gt;

&lt;p&gt;Percent is a relative length unit which is relative to the size of the parent element.&lt;/p&gt;

&lt;p&gt;&lt;br&gt; &lt;strong&gt;How to use:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
img { width: 2%; } // The width of img will be 2% of its parent element size

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Vw (Viewport-width):
&lt;/h3&gt;

&lt;p&gt;1vw is relative to 1% of the &lt;u&gt;width&lt;/u&gt; of the viewport(the browser window size). If the viewport is 100cm wide, 1vw = 1cm.&lt;/p&gt;

&lt;p&gt;&lt;br&gt; &lt;strong&gt;How to use:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
img { width: 2vw; } // The width of img will be 2% of its viewport-width

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Vh (Viewport-height):
&lt;/h3&gt;

&lt;p&gt;1vh is relative to 1% of the &lt;u&gt;height&lt;/u&gt; of the viewport(the browser window size). If the viewport is 50 cm in height, 1vh = 0.5cm.&lt;/p&gt;

&lt;p&gt;&lt;br&gt; &lt;strong&gt;How to use:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
img { height: 2vh; } // The height of img will be 2% of its viewport-height

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. Ch (Character-width):
&lt;/h3&gt;

&lt;p&gt;1ch is equal to the width of the “0” character in a given typeface. In monospace fonts, where all characters are the same width, 1ch equals one character. Such unit can be used in carrying out certain scenarios like in the &lt;em&gt;typewriter animation&lt;/em&gt; where the typing cursor has to move a length equal to 1 character. For fonts that consists of unequal widths of all characters, this unit doesn't fit to be an appropriate choice.&lt;/p&gt;

&lt;p&gt;&lt;br&gt; &lt;strong&gt;How to use:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
img { width: 50ch; } // The width of img will be equal width of 50 "0s"

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

&lt;/div&gt;



&lt;p&gt; &lt;b&gt;References:&lt;b&gt; &lt;br&gt; &lt;a href="https://www.w3schools.com/cssref/css_units.asp" rel="noopener noreferrer"&gt; CSS Units by W3 Schools &lt;/a&gt; &lt;br&gt; &lt;a href="https://www.w3schools.com/cssref/css_units.asp" rel="noopener noreferrer"&gt; CSS Values and Units by MDN Docs &lt;/a&gt; &lt;/b&gt;&lt;/b&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>html</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Four Case Styles you should know!</title>
      <dc:creator>SYED MAZHAR ALI RAZA</dc:creator>
      <pubDate>Tue, 07 Sep 2021 07:45:55 +0000</pubDate>
      <link>https://dev.to/110syedmazhar/four-case-styles-you-should-know-2jbn</link>
      <guid>https://dev.to/110syedmazhar/four-case-styles-you-should-know-2jbn</guid>
      <description>&lt;p&gt;In programming, we are mostly not allowed to use space characters between words because it is interpreted as the end of identifier or beginning of something new.&lt;br&gt;
Instead, we use certain naming conventions in order to use multiple words for naming variables, classes, functions, etc. in the source code.&lt;br&gt;
Following are the most popular case styles used in programming: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Camel case&lt;/li&gt;
&lt;li&gt;Pascal case&lt;/li&gt;
&lt;li&gt;Snake case&lt;/li&gt;
&lt;li&gt;Kebab case&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Camel Casing:
&lt;/h2&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%2Fwww.pngitem.com%2Fpimgs%2Fm%2F138-1381844_camel-case-in-programming-hd-png-download.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%2Fwww.pngitem.com%2Fpimgs%2Fm%2F138-1381844_camel-case-in-programming-hd-png-download.png" alt="camelCase"&gt;&lt;/a&gt;&lt;br&gt;
For using the camel case style, the rule is to remove spaces and capitalize each word, except the first one.&lt;br&gt;
Eg: &lt;code&gt;first name&lt;/code&gt; will be written as &lt;code&gt;firstName&lt;/code&gt; in this case style.&lt;br&gt;
Application: The camel case style is used as the naming convention of variables and functions in various programming languages like JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pascal Casing:
&lt;/h2&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%2Fmedia.istockphoto.com%2Fillustrations%2Fblaise-pascal-was-a-french-mathematician-physicist-inventor-writer-illustration-id926832916%3Fk%3D20%26m%3D926832916%26s%3D612x612%26w%3D0%26h%3DkBBG_7Rx8Y4P_1OHGMx4j12-gcUV5t5NBIJrTeZKhzg%3D" 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%2Fmedia.istockphoto.com%2Fillustrations%2Fblaise-pascal-was-a-french-mathematician-physicist-inventor-writer-illustration-id926832916%3Fk%3D20%26m%3D926832916%26s%3D612x612%26w%3D0%26h%3DkBBG_7Rx8Y4P_1OHGMx4j12-gcUV5t5NBIJrTeZKhzg%3D" alt="PascalCase"&gt;&lt;/a&gt;&lt;br&gt;
For using the pascal case style, the rule is to remove spaces and capitalize each word, including the first one.&lt;br&gt;
Eg: &lt;code&gt;first name&lt;/code&gt; will be written as &lt;code&gt;FirstName&lt;/code&gt; in this case style.&lt;br&gt;
Application: In Java, all classes, interfaces and enums are expected to use Pascal case. C# uses PascalCase for namespaces and even public methods.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kebab Casing:
&lt;/h2&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%2Fst2.depositphotos.com%2F3557671%2F11164%2Fv%2F600%2Fdepositphotos_111644338-stock-illustration-meat-kebab-icon-of-vector.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%2Fst2.depositphotos.com%2F3557671%2F11164%2Fv%2F600%2Fdepositphotos_111644338-stock-illustration-meat-kebab-icon-of-vector.jpg" alt="kebab-case"&gt;&lt;/a&gt;&lt;br&gt;
The craving makes it difficult to write but by gathering all my self-control, here I go. The rule for kebab casing is to remove spaces and then add a hyphen "-" between each word.&lt;br&gt;
Eg: &lt;code&gt;first name&lt;/code&gt; will be written as &lt;code&gt;first-name&lt;/code&gt; in this case style.&lt;br&gt;
Application: In CSS, property names are written in this style. This style is also often used in URLs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Snake Casing:
&lt;/h2&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%2Fp.kindpng.com%2Fpicc%2Fs%2F47-479779_cartoon-snake-image-snake-animation-clipart-hd-png.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%2Fp.kindpng.com%2Fpicc%2Fs%2F47-479779_cartoon-snake-image-snake-animation-clipart-hd-png.png" alt="snake_case"&gt;&lt;/a&gt;&lt;br&gt;
For using the snake case style, the rule is to remove spaces and add an underscore "_" to separate each word.&lt;br&gt;
Eg: &lt;code&gt;first name&lt;/code&gt; will be written as &lt;code&gt;first_name&lt;/code&gt; in this case style.&lt;br&gt;
Application: It is used conventionally in declaring database field names. Python uses the style for variable names, function names, method names, and module or package (i.e. file) names. PHP uses SCREAMING_SNAKE_CASE for class constants.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>casestyles</category>
    </item>
    <item>
      <title>CSS properties I am most grateful to</title>
      <dc:creator>SYED MAZHAR ALI RAZA</dc:creator>
      <pubDate>Tue, 27 Jul 2021 07:21:25 +0000</pubDate>
      <link>https://dev.to/110syedmazhar/css-properties-i-am-most-grateful-to-22ca</link>
      <guid>https://dev.to/110syedmazhar/css-properties-i-am-most-grateful-to-22ca</guid>
      <description>&lt;p&gt;Hello everyone, in this blog I am sharing a few CSS properties that I personally use alot and find very useful everytime.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Flexbox
&lt;/h2&gt;

&lt;p&gt;Flexbox is a layout model that allows elements to fit together and distribute the space inside a container. Using different widths and lengths, objects can be aligned to fill spaces or to divide a space between elements, making it an ideal tool to use in responsive designs. &lt;a href="https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox"&gt;Learn more&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LeYTGFM1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.bitdegree.org/learn/storage/media/images/661999ba-c216-4c71-b959-82f878309730.o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LeYTGFM1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.bitdegree.org/learn/storage/media/images/661999ba-c216-4c71-b959-82f878309730.o.png" alt="flexbox"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Grid
&lt;/h2&gt;

&lt;p&gt;CSS Grid layout is a two-dimensional grid system designed to help web developers split elements into columns and rows to create a consistent layout for web applications. &lt;a href="https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Grids"&gt;Learn more&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2BXvHOV_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://css-tricks.com/wp-content/uploads/2018/11/dddgrid-template-areas.svg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2BXvHOV_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://css-tricks.com/wp-content/uploads/2018/11/dddgrid-template-areas.svg" alt="Grid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. box-shadow
&lt;/h2&gt;

&lt;p&gt;Box-shadow in CSS is used to add shadows around the frame of an element. This property can help making amazing effects around the element depending upon the creativity standard. &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow"&gt;Learn more&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RtFhswUl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i7x7p5b7.stackpathcdn.com/codrops/wp-content/uploads/2014/09/boxshadowstyles.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RtFhswUl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i7x7p5b7.stackpathcdn.com/codrops/wp-content/uploads/2014/09/boxshadowstyles.png" alt="box shadow"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Animation
&lt;/h2&gt;

&lt;p&gt;Animations can be powerful tools for engaging and delighting visitors on your site. By using CSS animations, elements can be shifted, rotated, slanted, squashed, spun, and stretched on the page. &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/animation"&gt;Learn more&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p5mxYa3V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--OKcvSx-w--/c_imagga_scale%2Cf_auto%2Cfl_progressive%2Ch_420%2Cq_66%2Cw_1000/https://thepracticaldev.s3.amazonaws.com/i/9sjvqruqixbvsg3mon9y.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p5mxYa3V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--OKcvSx-w--/c_imagga_scale%2Cf_auto%2Cfl_progressive%2Ch_420%2Cq_66%2Cw_1000/https://thepracticaldev.s3.amazonaws.com/i/9sjvqruqixbvsg3mon9y.gif" alt="animation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Comment your favourite CSS properties or the one you think is not heard by many!
&lt;/h3&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>frontend</category>
      <category>styling</category>
    </item>
    <item>
      <title>MY WEB DEV. JOURNEY FROM SCRATCH (DAILY UPDATE; WEEK: 1) </title>
      <dc:creator>SYED MAZHAR ALI RAZA</dc:creator>
      <pubDate>Fri, 01 Jan 2021 08:11:19 +0000</pubDate>
      <link>https://dev.to/110syedmazhar/my-web-dev-journey-from-scratch-daily-update-2pnd</link>
      <guid>https://dev.to/110syedmazhar/my-web-dev-journey-from-scratch-daily-update-2pnd</guid>
      <description>&lt;p&gt;Hi developers! I am Syed Mazhar Ali Raza pursuing BTech in Electronics and Communications from IP University, Delhi. I am very passionate about &lt;strong&gt;coding&lt;/strong&gt;, but I am an absolute beginner. I have spent the last few months learning about various opportunities as a coder. After a lot of research, I chose web development to be my first big goal for 2021.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Motive to write this blog:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;I will keep a &lt;strong&gt;daily update&lt;/strong&gt; of what I learned to get closer to my goal and try to be qualified enough to crack any contest, program, etc.&lt;br&gt;
This challenge will make a better myself in the next few months.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;DAY 1&lt;/strong&gt;:
&lt;/h2&gt;

&lt;p&gt;Today I learned the basics of web development by watching roadmap to web dev' videos. Here is what I learned:&lt;br&gt;
Full-stack web development consists of front end and back end development.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Front end development:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;The part of a website that the user interacts with directly is termed as the front end. It is also referred to as the ‘client-side’ of the application. It includes everything that users experience directly: text colors and styles, images, graphs and tables, buttons, colors, and navigation menu. HTML, CSS, and JavaScript are the languages used for Front End development&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Front end Languages:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML: Used to build skeleton or the body of the website&lt;/li&gt;
&lt;li&gt;CSS: Used for designing or styling the website. It makes it more presentable.&lt;/li&gt;
&lt;li&gt;JAVASCRIPT: Used to add logic to a website, acts as its brain.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note: Learning all the above languages, 100% won't be ideal. So I will learn 80% HTML, 60% CSS, and 50% javascript. Then work on projects, and if at some instance a requirement of additional info of any language arises, then it will be learned alongside.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Back end development:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Backend Dev' is the server-side of the website. It stores and arranges data and also makes sure everything on the client-side of the website works fine. It is the part of the website that you cannot see and interact with. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Back end &lt;em&gt;technologies&lt;/em&gt;:&lt;/strong&gt;&lt;br&gt;
there are numerous languages and software for backend development, such as python, PHP, CPP, etc... I will focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Node.JS: Node.js is an open-source runtime environment/platform for executing JavaScript code to write Server-Side scripts.&lt;/li&gt;
&lt;li&gt;MongoDB: MongoDB is a document database with the scalability and flexibility you want with the querying and indexing you need. The data objects are stored as separate documents inside a collection instead of storing them in a traditional relational database's columns and rows.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Firstly, I installed &lt;a href="https://code.visualstudio.com/"&gt;VSCode&lt;/a&gt; and grasped a few required basics of it. Also got wise to the fact that we can also use notepad for writing an HTML code, but using an &lt;a href="https://www.codecademy.com/articles/what-is-an-ide"&gt;IDE&lt;/a&gt; makes it more comfortable and user friendly and comes very handy as you start writing big programs.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;DAY 2:&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Today, I  made the first move by creating an HTML file then understood the boilerplate code (standardised or the most basic template of HTML code), which consists of: &lt;/li&gt;
&lt;li&gt;&lt;p&gt;&amp;lt;!DOCTYPE html&amp;gt; declaration defines to the webpage that this document is an HTML5 document.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&amp;lt;HTML&amp;gt; element is the root element of an HTML page&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&amp;lt;head&amp;gt; element contains meta information about the HTML page&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&amp;lt;title&amp;gt; element specifies a title for the HTML page (which is shown in the browser's title bar or the page's tab)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&amp;lt;body&amp;gt; element defines the document's body and is a container for all the visible contents, such as headings, paragraphs, images, hyperlinks, tables, lists, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Added &lt;a href="https://www.w3schools.com/html/html_comments.asp"&gt;comments&lt;/a&gt; in the code and understood the very basics of &lt;a href="https://www.w3schools.com/tags/tag_meta.asp"&gt;&lt;strong&gt;Meta tag&lt;/strong&gt;&lt;/a&gt; (included in head tag). It provides information about the webpage and the data is used by the web browser and search engine for &lt;a href="https://www.geeksforgeeks.org/search-engine-optimization-seo-basics/#:~:text=Search%20engine%20optimization%20(SEO)%20is,a%20website%20in%20search%20engines.&amp;amp;text=Promoting%20a%20site%20to%20increase,links%2C%20is%20another%20SEO%20tactic."&gt;SEO&lt;/a&gt; (increases web traffic on the website). Some types of metadata are description, keywords, author etc. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Understood basic tags like &lt;strong&gt;strong(bold)&lt;/strong&gt;, &lt;em&gt;embedded(italics)&lt;/em&gt;, division,  line break(moving on to the next line), horizontal rule, Heading, paragraph,span etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Learned how to &lt;a href="https://www.w3schools.com/html/html_links.asp"&gt;add links&lt;/a&gt; in HTML using anchor tag and its attribute &lt;em&gt;target="_blank"&lt;/em&gt; to open the link in a new tab.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Studied tags for &lt;a href="https://www.w3schools.com/html/html_images.asp"&gt;inserting images&lt;/a&gt; in a webpage and an amazing website that provides copyright-free images(Also used its attributes like width and height, but styling is never recommended in HTML; it should be performed using CSS).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;DAY 3:&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Inserted &lt;a href="https://www.w3schools.com/html/html_lists.asp"&gt;lists(ordered and unordered)&lt;/a&gt; and &lt;a href="https://www.w3schools.com/html/html_tables.asp"&gt;tables&lt;/a&gt; in HTML and types of bullets and numbering that can be used in a list.&lt;/li&gt;
&lt;li&gt;Used &lt;a href="https://www.w3schools.com/html/html_forms.asp"&gt;Form&lt;/a&gt; tag to create a form with various types of entries like text, email, date, number, checkbox, radio, submit, reset, textarea, etc.&lt;/li&gt;
&lt;li&gt;Used &lt;a href="https://www.w3schools.com/tags/tag_label.asp"&gt;Label&lt;/a&gt; tag and and also &lt;a href="https://www.edureka.co/blog/select-and-option-tag-html/"&gt;select-option&lt;/a&gt; tags to create a dropdown list. &lt;/li&gt;
&lt;li&gt;&lt;p&gt;Learned about block and inline elements:&lt;br&gt;
&lt;strong&gt;Block elements:&lt;/strong&gt; A block-level element always starts on a new line and takes up the full width available (stretches out to the left and right as far as it can). Div, hr, p, etc. are some examples of block elements.&lt;br&gt;
&lt;strong&gt;Inline elements:&lt;/strong&gt; An inline element does not start on a new line, and it only takes up as much width as necessary. &amp;lt;a&amp;gt;, &amp;lt;span&amp;gt;, &amp;lt;select&amp;gt;, etc., are some examples of inline elements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gained an understanding of &lt;a href="https://www.geeksforgeeks.org/html-id-attributes/?ref=lbp"&gt;&lt;strong&gt;ids&lt;/strong&gt;&lt;/a&gt; and &lt;a href="https://www.geeksforgeeks.org/html-class-attribute/?ref=lbp"&gt;&lt;strong&gt;classes&lt;/strong&gt;&lt;/a&gt; how they are &lt;a href="https://www.geeksforgeeks.org/difference-between-an-id-and-class-in-html/"&gt;different&lt;/a&gt; from each other.   &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Learned about &lt;a href="https://www.w3schools.com/html/html_entities.asp"&gt;HTML entities&lt;/a&gt;(used to display reserved characters in HTML) and used a few of them to get the point of it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The last topic of the HTML course was &lt;a href="https://www.w3schools.com/html/html5_semantic_elements.asp"&gt;&lt;strong&gt;Semantic Tags:&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
A semantic tag clearly describes the meaning of specific elements to both the browser and the developer.&lt;br&gt;
Example: Many web sites contain HTML code like: &lt;strong&gt;div id="nav" div class="header" div id="footer"&lt;/strong&gt; to indicate navigation, header, and footer. Rather than defining each element, HTML has predefined tags that clearly defines its contect. Eg: &amp;lt;footer&amp;gt;, &amp;lt;header&amp;gt;, &amp;lt;nav&amp;gt;, &amp;lt;section&amp;gt;, &amp;lt;summary&amp;gt;, etc. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;2-3 DAYS:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Got Caught in the deadly trap of procrastination, and doing college assignments. (Really embarrassing T_T).&lt;br&gt;
Since college work is overwhelming these days, I decided to learn at least a little, but never take a break from it.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;DAY 4:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Started off by taking a quick glance of all HTML files I made, and then jumped into &lt;strong&gt;CSS tutorials&lt;/strong&gt;.&lt;br&gt;
Learned how HTML has tags, CSS has &lt;strong&gt;selectors&lt;/strong&gt;. Selectors are the names given to styles in internal and external style sheets. Firstly I will concentrate on &lt;strong&gt;HTML selectors&lt;/strong&gt;, which are simply the names of HTML tags and are used to change the style of a specific type of element.&lt;/p&gt;

&lt;p&gt;For each selector, there are &lt;strong&gt;properties&lt;/strong&gt; inside curly brackets, which simply take the form of words such as color, font-weight or background-color.&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;value&lt;/strong&gt; is given to the property following a colon (NOT an “equals” sign). Semi-colons are used to &lt;strong&gt;separate the properties&lt;/strong&gt;.&lt;br&gt;
Then learned the &lt;a href="https://www.w3schools.com/css/css_howto.asp"&gt;three ways to insert a styling sheet&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Inline&lt;/strong&gt;: An inline style may be used to apply a unique style for a single element.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internal&lt;/strong&gt;: An internal style sheet may be used if one single HTML page has a unique style.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;External&lt;/strong&gt;: With an external style sheet, you can change the look of an entire website by changing just one file! (.css file)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then I learned basic &lt;a href="https://www.w3schools.com/css/css_font.asp"&gt;font&lt;/a&gt; tags in CSS and their use such as font-family, font-size, font-weight.&lt;br&gt;
I further moved to different ways to add &lt;a href="https://www.w3schools.com/cssref/css_colors.asp"&gt;colour&lt;/a&gt; in CSS which are Hex. Colour code(ex. C35F453), RGB Colour code [ex. rgb(255, 0, 0)] and by name (ex. red, violet).&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;DAY 5:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;firstly, I went through CSS tags like &lt;a href="https://www.w3schools.com/css/css_dimension.asp"&gt;height, width&lt;/a&gt;, &lt;a href="https://www.w3schools.com/css/css_background.asp"&gt;background&lt;/a&gt;, &lt;a href="https://www.w3schools.com/css/css_boxmodel.asp"&gt;box model&lt;/a&gt;, &lt;a href="https://www.w3schools.com/css/css_border.asp"&gt;borders&lt;/a&gt;, &lt;a href="https://www.w3schools.com/css/css_margin.asp"&gt;margins&lt;/a&gt;, &lt;a href="https://www.w3schools.com/css/css_padding.asp"&gt;padding&lt;/a&gt;, etc. &lt;br&gt;
Then I learned using Google developer's tool which was very fun and helpful. Chrome DevTools is a set of web developer tools built directly into the Google Chrome browser. DevTools can help you edit pages on-the-fly and diagnose problems quickly, which ultimately helps you build better websites, faster. By right-clicking on the webpage and choosing to &lt;strong&gt;&lt;em&gt;inspect&lt;/em&gt;&lt;/strong&gt; option, one can access the dev tools. I checked out different tabs such as inspect, sources, network, etc.&lt;/p&gt;

&lt;p&gt;By far I have learned the most basics of HTML and CSS, so I made the online grocery store web page using all tags that I have learned. It took a lot of time(1-2 hrs) because I was constantly experiencing minor errors, but eventually, I was getting better at it. &lt;br&gt;
Making a project and using all tags learned by far is very helpful.&lt;/p&gt;

&lt;p&gt;progress ongoing. Cannot blog because too much of work(took part in an open-source program, college exams, working on a project).&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;DAY 6:&lt;/strong&gt;
&lt;/h2&gt;

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