<?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: Ebrahim Hasan</title>
    <description>The latest articles on DEV Community by Ebrahim Hasan (@eth2234).</description>
    <link>https://dev.to/eth2234</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%2F294344%2Faac80fe1-a53c-44bf-9be0-3e9208544d85.jpeg</url>
      <title>DEV Community: Ebrahim Hasan</title>
      <link>https://dev.to/eth2234</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eth2234"/>
    <language>en</language>
    <item>
      <title>How do you deal with imposter syndrome?</title>
      <dc:creator>Ebrahim Hasan</dc:creator>
      <pubDate>Mon, 20 Apr 2020 05:07:10 +0000</pubDate>
      <link>https://dev.to/eth2234/how-do-you-deal-with-imposter-syndrome-57pa</link>
      <guid>https://dev.to/eth2234/how-do-you-deal-with-imposter-syndrome-57pa</guid>
      <description>&lt;p&gt;I think this is a topic for discussion, How do you deal with imposter syndrome, when you feel that everyone knows more than you or you are not "that" good, did you feel like that before? and Are you still facing it? &lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>How do you manage your time between Projects?</title>
      <dc:creator>Ebrahim Hasan</dc:creator>
      <pubDate>Sun, 02 Feb 2020 01:15:49 +0000</pubDate>
      <link>https://dev.to/eth2234/how-do-you-manage-your-time-between-projects-2466</link>
      <guid>https://dev.to/eth2234/how-do-you-manage-your-time-between-projects-2466</guid>
      <description>&lt;p&gt;As the title says, how do you manage your time between Projects? and how do you keep a life work balance? Any advice is appreciated! &lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>Getting started with ES6</title>
      <dc:creator>Ebrahim Hasan</dc:creator>
      <pubDate>Sun, 26 Jan 2020 12:17:17 +0000</pubDate>
      <link>https://dev.to/eth2234/getting-started-with-es6-3igg</link>
      <guid>https://dev.to/eth2234/getting-started-with-es6-3igg</guid>
      <description>&lt;p&gt;&lt;b&gt;1. Introducing let and const&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;What are let and const? let and const are new variables that were introduced in ES6, so what's the difference between var, const and let?&lt;/p&gt;

&lt;p&gt;var can still be used, however it could be more used in global variables. &lt;/p&gt;

&lt;p&gt;"let" in the other side, are local variables that can be changed after assigning them, while "const" are local variables that are actually CONSTANT and have to be assigned when you declare them.&lt;/p&gt;

&lt;p&gt;Both "let" and "const" are block scoped, while var isn't.&lt;/p&gt;

&lt;p&gt;let's see an example:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;
&lt;code&gt;
function testVariables(){
  
  if(1 === 1){
    var es5 = "testing";
    let es6 = "test2";
    const es6_const = "test3";
  }
    console.log(es5);
    console.log(es6);
    console.log(es6_const);
}&lt;/code&gt;
&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;In the above code, you may think that es5, es6, and es6_const are actually not defined, so it will cause an error, and this is partially true.&lt;/p&gt;

&lt;p&gt;both es6 and es6_const should throw a ReferenceError, however es5 was able to prent "testing" even if it was outside the if statement scope.&lt;/p&gt;

&lt;p&gt;An other very helpful example are defining variables inside and outside a conditional scope.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;
&lt;code&gt;
function testVariables(){
   var es5 = "testing_outside";
   let es6 = "test2_outside";
   const es6_const = "test3_outside";

  if(1 === 1){
    var es5 = "testing";
    let es6 = "test2";
    const es6_const = "test3";

    console.log("inside es5: "+es5);
    console.log("inside es6: "+es6);
    console.log("inside es6_const: "+es6_const);
  }
    console.log(es5);
    console.log(es6);
    console.log(es6_const);
}
&lt;/code&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
In the above function, an expected output would be&lt;/p&gt;

&lt;p&gt;inside es5: testing&lt;br&gt;
inside es6: test2&lt;br&gt;
inside es6_const: test3&lt;br&gt;
testing_outside&lt;br&gt;
test2_outside&lt;br&gt;
test3_outisde&lt;/p&gt;

&lt;p&gt;But it is wrong. the actual output is:&lt;/p&gt;

&lt;p&gt;inside es5: testing&lt;br&gt;
inside es6: test2&lt;br&gt;
inside es6_const: test3&lt;br&gt;
testing&lt;br&gt;
test2_outside&lt;br&gt;
test3_outisde&lt;/p&gt;

&lt;p&gt;so what has changed in the actual output? the outside "es5" variable was overwritten by the new declared var variable outside the if statement,&lt;br&gt;
while es6 and "es6_const" (let and const) was able to actually maintain the variable as it is from outside the if statement. &lt;/p&gt;

&lt;p&gt;More info can be found here: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let"&gt;let&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const"&gt;const&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;2. Template literals&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;In the previous two examples, we had to use + sign to join two strings together, but not anymore! with ES6 you now have a template literals, to know what they are and how they help, let's look at this simple add string function.&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;
&lt;code&gt;
function add_strings(string1,string2){
 return string1 + " " + string2;
}
&lt;/code&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
You may be very fimiliar with the above string joining method, but is there a better way? the answer is &lt;b&gt;YES!&lt;/b&gt;&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;
&lt;code&gt;
function add_strings(string1,string2){
   return `${string1} ${string2}`;
}
&lt;/code&gt;
&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;This above function does the exact same as the first one, but it looks much more easier is it?&lt;/p&gt;

&lt;p&gt;What about adding integers together then adding them to the string? in ES5:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;
&lt;code&gt;
function add_strings(string1,string2,num1,num2){
 return string1 + " " + string2 + " " + (num1+num2);
}
&lt;/code&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
in ES6:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;
&lt;code&gt;
function add_strings(string1,string2,num1,num2){
   return `${string1} ${string2} ${num1+num2}`;
}
&lt;/code&gt;
&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;more info can be found here: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals"&gt;Template literals&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;3. arrow functions&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Arrow functions are a different way to create functions. let's take a look at our add_strings function:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;
&lt;code&gt;
function add_strings(string1,string2,num1,num2){
   return `${string1} ${string2} ${num1+num2}`;
}
&lt;/code&gt;
&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;the arrow function would be: &lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;
&lt;code&gt;
(arguement1,arguement2,....) =&amp;gt; {
  //Method here
};
&lt;/code&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
so in our case:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;
&lt;code&gt;
let add_strings = (string1,string2,num1,num2) =&amp;gt; {
   return `${string1} ${string2} ${num1+num2}`; 
};
&lt;/code&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
or even better for one line functions:&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;
&lt;code&gt;
let add_strings = (string1,string2,num1,num2) =&amp;gt; `${string1} ${string2} ${num1+num2}`; 
&lt;/code&gt;
&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;More info can be found here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions"&gt;Arrow functions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it for this article! I hope you found this helpful! if you have any questions, or any feedback, feel free to comment or message me!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
    </item>
    <item>
      <title>Interested in learning a new technology? Read this</title>
      <dc:creator>Ebrahim Hasan</dc:creator>
      <pubDate>Sat, 25 Jan 2020 00:46:40 +0000</pubDate>
      <link>https://dev.to/eth2234/interested-in-learning-a-new-technology-read-this-1d87</link>
      <guid>https://dev.to/eth2234/interested-in-learning-a-new-technology-read-this-1d87</guid>
      <description>&lt;p&gt;In today's world, tech are changing everyday, programming fields included, new tech comes to the light, and you may be pressured to learn it because others are using it, but should you really learn it too?&lt;/p&gt;

&lt;p&gt;I have been wondering that myself for a long time, and I actually felt bad for not knowing the new tech or the new programming languages, but I found out that it really doesn't matter. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;If you don't need it, don't learn it.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Is this new tech going to make your life easier? Are your clients interested in using it? does it have a potential market? &lt;/p&gt;

&lt;p&gt;If all of the above questions are no, then you shouldn't really bother learning it, at least right now. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Take a grip of your current tech first.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;How good are you in using the tech you have? Are you really ready to add a new tech to your list of skills? &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Don't rush it.&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;You may be inclined to learn any new tech that comes to light, but if you decided to learn every new tech that comes out, you won't be able to concentrate on the current ones you have. so before learning a new tech make sure to take it slow first. &lt;/p&gt;

&lt;p&gt;This is the end of the post, this is my first post ever, so I am sorry if it isn't that organized, with that being said, what do you guys think? have you ever been in a situation were you felt inclined to learn new tech to find out that you didn't really need it? All comments and discussions are appreciated! &lt;/p&gt;

</description>
      <category>todayilearned</category>
    </item>
  </channel>
</rss>
