<?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: AbdELrahman Mohamed</title>
    <description>The latest articles on DEV Community by AbdELrahman Mohamed (@rahmanii).</description>
    <link>https://dev.to/rahmanii</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%2F546606%2F0bc3354a-b027-4a15-aa64-bb5e741c65fa.jpeg</url>
      <title>DEV Community: AbdELrahman Mohamed</title>
      <link>https://dev.to/rahmanii</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rahmanii"/>
    <language>en</language>
    <item>
      <title>What A Promise ! '1st'</title>
      <dc:creator>AbdELrahman Mohamed</dc:creator>
      <pubDate>Mon, 27 Mar 2023 17:31:43 +0000</pubDate>
      <link>https://dev.to/rahmanii/what-a-promise-1st-4dam</link>
      <guid>https://dev.to/rahmanii/what-a-promise-1st-4dam</guid>
      <description>&lt;h3&gt;
  
  
  Hoo-AH , In this CODE CAPSULE we will go throw Promises in js and learn how to use it , all codes will be in one Js file with examples and results, So,enough videos just take 5 mins to read it.&lt;br&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  What is Promise in JS ?&lt;br&gt;
&lt;/h2&gt;



&lt;blockquote&gt;
&lt;p&gt;A Promise is a very useful Object helper to work with &lt;strong&gt;Asynchronous&lt;/strong&gt; Tasks and It's protector from the callback hell !&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  let's say we have code that do some magic and that magic is depend on server response , in this case &lt;strong&gt;Promises&lt;/strong&gt; give us the advantage of complete our code execution without waiting for the server response , and make a part of our code execite when the result fullfilld ot failed
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fzqiihgrxyynxn357zxeo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fzqiihgrxyynxn357zxeo.png" alt="Image description" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here we create a promise with Promise Constructor function&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Ftpagqlofw7ejs48v7613.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Ftpagqlofw7ejs48v7613.png" alt="Image description" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adding function as Executor as an argumnent for &lt;br&gt;
Promise Constructor function and this executor takes two arguments Resolve in case of success and reject in case of fail . &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2F40u93yf7nktjs8gahtv4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F40u93yf7nktjs8gahtv4.png" alt="Image description" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we create a time interval to simulate as a server response after a while, then we will resolve the value .&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fmhk72gpm4aru5kvxqq65.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fmhk72gpm4aru5kvxqq65.png" alt="Image description" width="800" height="418"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Now , we will log the value after 1500ms or '1.5' seconds to the console and it will be &lt;strong&gt;"Done"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fb6d37p1747fx5dvfnrsx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fb6d37p1747fx5dvfnrsx.png" alt="Image description" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  See u in another CodeCapsule !
&lt;/h2&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Do you know what happened when paypal use nodejs?</title>
      <dc:creator>AbdELrahman Mohamed</dc:creator>
      <pubDate>Sat, 02 Jan 2021 20:55:53 +0000</pubDate>
      <link>https://dev.to/rahmanii/do-you-know-what-happened-when-paypal-use-nodejs-3jge</link>
      <guid>https://dev.to/rahmanii/do-you-know-what-happened-when-paypal-use-nodejs-3jge</guid>
      <description>&lt;h3&gt;
  
  
  When PayPal use nodejs to rebuild some codes with it instead of Java/Spring , They noticed that :
&lt;/h3&gt;




&lt;blockquote&gt;
&lt;p&gt;Built twice as fast with fewer people.&lt;br&gt;
33% fewer lines of code.&lt;br&gt;
40% fewer files.&lt;br&gt;
2X request / sec.&lt;br&gt;
35% faster response time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  see you in another Do you know ! :)
&lt;/h4&gt;

</description>
    </item>
    <item>
      <title>All about Control-Flow in Modern Js (2)</title>
      <dc:creator>AbdELrahman Mohamed</dc:creator>
      <pubDate>Sun, 27 Dec 2020 17:26:39 +0000</pubDate>
      <link>https://dev.to/rahmanii/all-about-control-flow-in-modern-js-2-md6</link>
      <guid>https://dev.to/rahmanii/all-about-control-flow-in-modern-js-2-md6</guid>
      <description>&lt;h3&gt;
  
  
  Hoo-AH , In this article we will go throw Control-flow in js and learn how to use , As i mentioned before in &lt;a href="https://dev.to/rahmanii/intro-to-modern-js-es6-1-variables-newkeywords-data-types-in-one-code-file-58g5"&gt;ES6 vars&amp;amp;dataTypes&lt;/a&gt; all codes will be in one Js file with examples and results, So,enough videos just take 5 mins to read it.
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;File will contain topics like:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;For loops&lt;/li&gt;
&lt;li&gt;Looping throw data like arrays&lt;/li&gt;
&lt;li&gt;Wile loop&lt;/li&gt;
&lt;li&gt;Do While loop &lt;/li&gt;
&lt;li&gt;If statements&lt;/li&gt;
&lt;li&gt;If else &amp;amp; else if statement
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;                &lt;span class="nx"&gt;Code&lt;/span&gt; &lt;span class="nx"&gt;Written&lt;/span&gt; &lt;span class="nx"&gt;by&lt;/span&gt; &lt;span class="nx"&gt;Abd&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Elrahman&lt;/span&gt;
&lt;span class="c1"&gt;// for loops&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="mi"&gt;5&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;// here we gonna print the numbers from 0 and stop at 4 because the condition is i is lessthan 5&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;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// output  0 1 2 3 4  &lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;//looping throw data like array&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;friends&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Ahmed&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;hameed&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;hassan&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ragab&lt;/span&gt;&lt;span class="dl"&gt;'&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;name&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;name&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;friends&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;name&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="nx"&gt;friends&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt; &lt;span class="c1"&gt;// output 'Ahmed','hameed','hassan','ragab'&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;//======================================================================================&lt;/span&gt;

&lt;span class="c1"&gt;// while loop&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="c1"&gt;//here we define the start point&lt;/span&gt;

&lt;span class="k"&gt;while &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="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;//here we define the condition&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;in loop: &lt;/span&gt;&lt;span class="dl"&gt;'&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="c1"&gt;// ouput is &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;//here we iterating throw the the condition till it reach 4 &lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt; 
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;friends&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&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;friends&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt; &lt;span class="c1"&gt;// output 'Ahmed','hameed','hassan','ragab'&lt;/span&gt;
    &lt;span class="nx"&gt;name&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;//======================================================================================&lt;/span&gt;


&lt;span class="c1"&gt;// do while loop  it's guarantee that the condition gonna excute one time at least even the condition isn't true!&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;do&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;val of i: &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// output is val of i:  5&lt;/span&gt;
    &lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;5&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;y&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;do&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;val of i: &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// output is 0 1 2 3 4 &lt;/span&gt;
    &lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;//======================================================================================&lt;/span&gt;

&lt;span class="c1"&gt;// if statements&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;25&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;age&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;20&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="s1"&gt;your are over 20 years&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// your are over 20 years&lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;//======================================================================================&lt;/span&gt;

&lt;span class="c1"&gt;// if else &amp;amp; else if statement&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;password&lt;/span&gt;&lt;span class="dl"&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;password&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;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;12&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="s1"&gt;that password mighty be strong&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;else&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;password&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;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;8&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="s1"&gt;password is long enougha&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="k"&gt;else&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; password is not long enough&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

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

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Intro to Modern Js Es6 (1) Variables, newKeyWords &amp; Data Types in one code file !</title>
      <dc:creator>AbdELrahman Mohamed</dc:creator>
      <pubDate>Sun, 27 Dec 2020 16:05:18 +0000</pubDate>
      <link>https://dev.to/rahmanii/intro-to-modern-js-es6-1-variables-newkeywords-data-types-in-one-code-file-58g5</link>
      <guid>https://dev.to/rahmanii/intro-to-modern-js-es6-1-variables-newkeywords-data-types-in-one-code-file-58g5</guid>
      <description>&lt;h3&gt;
  
  
  Hoo-Ah , Welcome in this article i'd like to talk about new JS's features for Beginners , we will start with Variables,Js's newKeyWords &amp;amp; Data Types
&lt;/h3&gt;




&lt;blockquote&gt;
&lt;p&gt;in this series i'll give some kind of A brief explanation &lt;br&gt;
within one JS Code file that Contains the majority of the &lt;br&gt;
most common cases that use vars and datatypes and how results &lt;br&gt;
looks in &lt;code&gt;Browser Console&lt;/code&gt;! just read  one time &lt;/p&gt;
&lt;/blockquote&gt;






&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;            &lt;span class="nx"&gt;Code&lt;/span&gt; &lt;span class="nx"&gt;written&lt;/span&gt; &lt;span class="nx"&gt;by&lt;/span&gt; &lt;span class="nx"&gt;Abd&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;Elrahman&lt;/span&gt; 

 &lt;span class="cm"&gt;/* 
    JavaScript intro 
    Variables, newKeyWords &amp;amp; Data Types
*/&lt;/span&gt;

&lt;span class="c1"&gt;// How To log some data to Console Window&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;hell FROM CONSOLE &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// variable and constants &lt;/span&gt;

&lt;span class="c1"&gt;// use let keyWord&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&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;year&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2020&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;age&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;year&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// overRide age variable &lt;/span&gt;
&lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;30&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;age&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// age is 30 now&lt;/span&gt;


&lt;span class="c1"&gt;//Use const keyWord &lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;points&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100&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;points&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// The output is 100&lt;/span&gt;

&lt;span class="c1"&gt;// Try to overRide Points constant &lt;/span&gt;
&lt;span class="c1"&gt;// OverRidden cann't be done with a Constant &lt;/span&gt;
&lt;span class="c1"&gt;// points = 200;&lt;/span&gt;
&lt;span class="c1"&gt;// console.log(points) // Uncaught TypeError: Assignment to constant variable.&lt;/span&gt;
&lt;span class="cm"&gt;/* 


// Data Types in Javascript 
Number =&amp;gt; 1,2,3,177
String =&amp;gt; 'hello world' , "Abdelrahamn Mohamed"
Boolean =&amp;gt; true / false
Null =&amp;gt; Explicitly set a variable with no value
Undefined =&amp;gt; For variables that have not been defined
Object =&amp;gt; Complex data structures - arrays,Dates,Literals etc
Symbol =&amp;gt; Used with objects
*/&lt;/span&gt;


&lt;span class="c1"&gt;// Strings&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;hello world&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;el_rahmanii@outlook.com&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;email&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// el_rahmanii@outlook.com&lt;/span&gt;


&lt;span class="c1"&gt;// string concatenation&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;firstName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Abdelrahman&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;lastName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Mohamed&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;fullName&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;firstName&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt; &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;lastName&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;fullName&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// getting characters&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;fullName&lt;/span&gt;&lt;span class="p"&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;// output is A&lt;/span&gt;

&lt;span class="c1"&gt;//string lenght&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;fullName&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//19&lt;/span&gt;

&lt;span class="c1"&gt;//string methods&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;fullName&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toUpperCase&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="c1"&gt;//ABDELRAHMAN MOHAMED&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;email&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;indexOf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// 11&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;fullName&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lastIndexOf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;n&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// give us the position of last 'n' in the full name&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;fullName&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;slice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// gine us the part from 0 to 11 .SO it returns Abdelrahman &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;fullName&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;substr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="c1"&gt;// this one is like slice(), ut the second argument represent the how many chars we want to cutoff&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;fullName&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;A&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;a&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="c1"&gt;// Abdelrahman&lt;/span&gt;



&lt;span class="c1"&gt;// Numbers&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;raduis&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;pi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;3.14&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// math operators + - * / ** %&lt;/span&gt;
&lt;span class="c1"&gt;// order of operation - B I D M A S &lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;pi&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;raduis&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="mi"&gt;2&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;result&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;likes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="nx"&gt;likes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;likes&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="c1"&gt;//11&lt;/span&gt;
&lt;span class="c1"&gt;//short hand vesrion &lt;/span&gt;
&lt;span class="nx"&gt;likes&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;//11 , itis adding one &lt;/span&gt;
&lt;span class="nx"&gt;likes&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 20  here we add 10 to number of likes wich is 10 so it's 20&lt;/span&gt;
&lt;span class="nx"&gt;likes&lt;/span&gt; &lt;span class="o"&gt;-=&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 15 &lt;/span&gt;
&lt;span class="nx"&gt;likes&lt;/span&gt; &lt;span class="o"&gt;/=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 20&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="mi"&gt;5&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;hello&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// NaN means not a number &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;the blog has&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;likes&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;likes&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// the blog has 10 likes &lt;/span&gt;

&lt;span class="c1"&gt;// template strings&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;title&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Intro to JavaScript&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;author&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Abdelrahman&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;views&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// concatenation way &lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;output&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;the blog called &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;title&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt; by &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;author&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt; has &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;  &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;views&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt; views&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;output&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//the blog called Intro to JavaScript by Abdelrahman has 30 views&lt;/span&gt;

&lt;span class="c1"&gt;// template string way &lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;out&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`the blog called &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; by &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;author&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; has &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;views&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; views`&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;out&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//the blog called Intro to JavaScript by Abdelrahman has 30 views&lt;/span&gt;

&lt;span class="c1"&gt;// creating html templates&lt;/span&gt;
 &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;html&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`
 &amp;lt;h2&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/h2&amp;gt;
 &amp;lt;p&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;author&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;&amp;lt;/p&amp;gt;
 &amp;lt;span&amp;gt; this blog has &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;views&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; views &amp;lt;/span&amp;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;html&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

 &lt;span class="c1"&gt;// The End for now ! :)&lt;/span&gt;

    &lt;span class="s2"&gt;```


***
Thanks in advance 
rahmanii 
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>Laravel 8 Get Country, City &amp; Address From IP Address Tutorial</title>
      <dc:creator>AbdELrahman Mohamed</dc:creator>
      <pubDate>Sat, 26 Dec 2020 20:40:32 +0000</pubDate>
      <link>https://dev.to/rahmanii/laravel-8-get-country-city-address-from-ip-address-tutorial-ned</link>
      <guid>https://dev.to/rahmanii/laravel-8-get-country-city-address-from-ip-address-tutorial-ned</guid>
      <description>&lt;h1&gt;
  
  
  HOO-ah , welcome in this simple laravel 8 tutorial !
&lt;/h1&gt;




&lt;p&gt;How to get country name from IP address in Laravel 8. In this tutorial, you will learn how to get country, city and address from ip address in laravel 8 app.&lt;/p&gt;

&lt;p&gt;If you are working with laravel app and you may want to fetch user information (country Name, country Code, region Code, region Name, city Name, zip Code, iso Code, postal Code, latitude, longitude, metro Code, metro Code) from ip address in laravel 8 app. So, this tutorial will help you fetch user info from IP it’s ip address.&lt;/p&gt;

&lt;p&gt;In this tutorial, we will fetch IP Address using “stevebauman/location” composer package in Laravel 8 app.&lt;/p&gt;

&lt;p&gt;Note that, Using this package”stevebauman/location”, you can also get country Name, country Code, region Code, region Name, city Name, zip Code, iso Code, postal Code, latitude, longitude, metro Code, metro Code.&lt;/p&gt;




&lt;h4&gt;
  
  
  How to get location(county,city address) information from ip address in Laravel
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Step 1 – Install Laravel 8 App&lt;/li&gt;
&lt;li&gt;Step 2 – Connecting App to Database&lt;/li&gt;
&lt;li&gt;Step 3 – Install “stevebauman/location”&lt;/li&gt;
&lt;li&gt;Step 4 – Add Routes&lt;/li&gt;
&lt;li&gt;Step 5 – Create Controller By Command&lt;/li&gt;
&lt;li&gt;Step 6 – Start Development Server&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Step 1 – Install Laravel 8 App
&lt;/h3&gt;

&lt;p&gt;In this step, open your terminal execute the following command to install laravel 8 app into your local system or live server:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;composer create-project --prefer-dist laravel/laravel blog&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Step 2 – Connecting App to Database
&lt;/h3&gt;

&lt;p&gt;In this step, Go to your project root directory, find .env file and add database details as following to connecting app to database&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;DB_CONNECTION=mysql &lt;br&gt;
DB_HOST=127.0.0.1 &lt;br&gt;
DB_PORT=3306 &lt;br&gt;
DB_DATABASE=here your database name here&lt;br&gt;
DB_USERNAME=here database username here&lt;br&gt;
DB_PASSWORD=here database password here&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Step 3 – Install “stevebauman/location”
&lt;/h3&gt;

&lt;p&gt;In this step, execute the following command on terminal to install stevebauman/location package in laravel 8 app:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;composer require stevebauman/location&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then, Go to config directory and open app.php file. And register this package into laravel 8 app by adding the following code into your app.php file:&lt;/p&gt;

&lt;p&gt;'providers' =&amp;gt; [&lt;/p&gt;

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

Stevebauman\Location\LocationServiceProvider::class,
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;],&lt;/p&gt;

&lt;p&gt;'aliases' =&amp;gt; [&lt;/p&gt;

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

'Location' =&amp;gt; Stevebauman\Location\Facades\Location::class,
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;]&lt;/p&gt;

&lt;p&gt;After that, execute the following command on terminal to publish config/location.php file:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;php artisan vendor:publish --&lt;br&gt;
provider="Stevebauman\Location\LocationServiceProvider"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Step 4 – Add Routes
&lt;/h3&gt;

&lt;p&gt;In this step, go to routes folder and open web.php file and add the following routes into your file:&lt;/p&gt;

&lt;p&gt;routes/web.php&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;use App\Http\Controllers\GeoLocationController;&lt;/p&gt;

&lt;p&gt;Route::get('get-address-from-ip',&lt;br&gt;
[GeoLocationController::class, 'index']);&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  Step 5 – Create Controller By Command
&lt;/h3&gt;

&lt;p&gt;Next step, open your command prompt and execute the following command on terminal to create a controller by an artisan:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;php artisan make:controller GeoLocationController&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After that, go to app\Http\Controllers and open GeoLocationController.php file. Then update the following code into your GeoLocationController.php file:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;lt;?php&lt;/p&gt;

&lt;p&gt;namespace App\Http\Controllers;&lt;/p&gt;

&lt;p&gt;use Illuminate\Http\Request;&lt;br&gt;
use Stevebauman\Location\Facades\Location;&lt;/p&gt;

&lt;p&gt;class GeoLocationController extends Controller&lt;br&gt;
{&lt;/p&gt;

&lt;p&gt;public function index(Request $request)&lt;br&gt;
  {&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;      $data = Location::get();
       dd($data);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;br&gt;
}&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  Step 6 – Start Development Server
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;php artisan serve&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Then open your browser and hit the following url on it:
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://localhost:8000/get-address-from-ip" rel="noopener noreferrer"&gt;http://localhost:8000/get-address-from-ip&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;In this laravel 8 get country, city, state, zip code, &lt;br&gt;
 latitude, longitude and address from ip address tutorial, &lt;br&gt;
 you have learned how to fetch country, city, state, zip &lt;br&gt;
 code, latitude, longitude and address from ip address in &lt;br&gt;
 laravel 8 app.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>REST API Design, Development &amp; Management (1)</title>
      <dc:creator>AbdELrahman Mohamed</dc:creator>
      <pubDate>Thu, 24 Dec 2020 19:01:13 +0000</pubDate>
      <link>https://dev.to/rahmanii/rest-api-design-development-management-1-5h7j</link>
      <guid>https://dev.to/rahmanii/rest-api-design-development-management-1-5h7j</guid>
      <description>&lt;h3&gt;
  
  
  Hoo-ah! welcome to part one from REST API Design, Development &amp;amp; Management Article series !
&lt;/h3&gt;




&lt;h4&gt;
  
  
  in this series we going throw some API topics like:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Evolution of RESTful services&lt;/li&gt;
&lt;li&gt;REST API Architectural Constraints&lt;/li&gt;
&lt;li&gt;Designing REST API&lt;/li&gt;
&lt;li&gt;REST API Error Handling Patterns&lt;/li&gt;
&lt;li&gt;REST API Cache Control Pattern &lt;/li&gt;
&lt;li&gt;REST API Security &amp;amp; Documentation and much more...&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  So , What is API and what's it's Job ?
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;API&lt;/code&gt; is stands for &lt;code&gt;Application Programming Interface&lt;br&gt;
&lt;/code&gt;,and simply i'd like to say it's a way make some code talk to another throw many ways &lt;code&gt;send and recive data with kind of data format&lt;/code&gt;. And one of these ways is &lt;code&gt;HTTP&lt;/code&gt;. &lt;/p&gt;




&lt;p&gt;In this article we will go throw &lt;code&gt;Roy Fielding's&lt;/code&gt; Paper,&lt;a href="https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm" rel="noopener noreferrer"&gt;Representational State Transfer (REST)&lt;/a&gt; as our reference .&lt;/p&gt;




&lt;p&gt;As we mentioned above API is sending and receiving data in kind of data format let's mention the most common two : &lt;code&gt;XML&lt;/code&gt; &amp;amp; &lt;code&gt;Json&lt;/code&gt;.&lt;/p&gt;




&lt;p&gt;Well,Send and receive are two words that humans use , but &lt;br&gt;
when we deal with an API we use &lt;code&gt;Request&lt;/code&gt; and &lt;code&gt;Response&lt;/code&gt;.&lt;br&gt;
Simply clients send Requests to Servers and Servers are Responding to them with Response.&lt;/p&gt;

&lt;p&gt;Feeling some gullibility here but why make it complicated!😂&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Hey,We will discuss the anatomy of Api's Requests and Responses later! 👀&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Piece of legacy &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In 2003 the most common pattern to transfer data between &lt;br&gt;
clients and server was in &lt;code&gt;XML&lt;/code&gt;, it's kind of data format .&lt;br&gt;
It's called &lt;code&gt;SOWAP&lt;/code&gt; shortcut for &lt;code&gt;Simple Object Access &lt;br&gt;
Protocol&lt;/code&gt; , it's a good way btw! , But it's major &lt;br&gt;
disadvantage was ➡️ Heavy on network and slow performance! here where &lt;code&gt;JSON&lt;/code&gt; has come and take the lead  🔥 .&lt;br&gt;
and &lt;code&gt;JSON&lt;/code&gt; stands for &lt;code&gt;JavaScript Object Notation&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;


&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  So, what the difference between &lt;code&gt;API&lt;/code&gt; and &lt;code&gt;RESTful API&lt;/code&gt; and what REST stands for !?
&lt;/h3&gt;

&lt;p&gt;Well ,we could say that not every &lt;code&gt;API&lt;/code&gt; is &lt;code&gt;RESTful&lt;/code&gt;one ! &lt;/p&gt;

&lt;p&gt;And ? &lt;/p&gt;

&lt;p&gt;And that's it for this part!&lt;/p&gt;




&lt;p&gt;So,what next ? &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How APIs work with HTTP.&lt;/li&gt;
&lt;li&gt;Request and Response Architecture&lt;/li&gt;
&lt;li&gt;Answering What is RESTful.&lt;/li&gt;
&lt;li&gt;How to make my API REStful.&lt;/li&gt;
&lt;li&gt;Whats is richardson maturity model ? &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Thanks ,have a nice time 😉
&lt;/h2&gt;

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