<?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: Mehmet Bilgil</title>
    <description>The latest articles on DEV Community by Mehmet Bilgil (@mbilgil).</description>
    <link>https://dev.to/mbilgil</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%2F364936%2Fe754d734-c695-40df-a955-8695fbc2daf3.jpeg</url>
      <title>DEV Community: Mehmet Bilgil</title>
      <link>https://dev.to/mbilgil</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mbilgil"/>
    <language>en</language>
    <item>
      <title>How To Create A GitHub Profile README</title>
      <dc:creator>Mehmet Bilgil</dc:creator>
      <pubDate>Fri, 17 Jul 2020 20:00:15 +0000</pubDate>
      <link>https://dev.to/mbilgil/how-to-create-a-github-profile-readme-20j5</link>
      <guid>https://dev.to/mbilgil/how-to-create-a-github-profile-readme-20j5</guid>
      <description>&lt;p&gt;Github presented another feature for developers last week. &lt;br&gt;
You can add a README file to your profile, where you can provide information about your business and portfolio or anything. I will try to briefly explain to you how you can use this feature.&lt;br&gt;
You are logging into your Github account and proceeding to the creation of a new repo. You create a repo with your username. At this stage, as you can see below, the private repo will be active:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DIHj9WdP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jwxas66q18h9dj2cg52m.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DIHj9WdP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jwxas66q18h9dj2cg52m.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before completing the process, we activate “Initialize this repository with a README” and create the repo. &lt;br&gt;
There is a template that you can edit in the first created README, if you have no idea, you can edit and use this ready-made.Otherwise, you should make the necessary arrangement with markdown.&lt;/p&gt;

</description>
      <category>github</category>
      <category>markdown</category>
    </item>
    <item>
      <title>Arrow Functions</title>
      <dc:creator>Mehmet Bilgil</dc:creator>
      <pubDate>Sat, 23 May 2020 19:39:01 +0000</pubDate>
      <link>https://dev.to/mbilgil/arrow-functions-4c5d</link>
      <guid>https://dev.to/mbilgil/arrow-functions-4c5d</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WlNTO_x2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/proxy/1%2A3BK_UMTK8T2GGnrt4nKhxA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WlNTO_x2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/proxy/1%2A3BK_UMTK8T2GGnrt4nKhxA.png" alt="Alt text of image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this article, we will see how to use another important feature of JavaScript which is Arrow Functions.&lt;/p&gt;

&lt;h1&gt;
  
  
  Regular Function Syntax
&lt;/h1&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h1&gt;
  
  
  Arrow Function Syntax
&lt;/h1&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;h1&gt;
  
  
  Difference Between Regular Function and Arrow Function
&lt;/h1&gt;

&lt;p&gt;The value of this keyword inside Regular function depends on how that function was called (The object that made a call)&lt;/p&gt;

&lt;p&gt;The value of this keyword inside Arrow function depends on where the function was defined (the scope that defined the function)&lt;/p&gt;

&lt;p&gt;Regular Function gives access to its ‘calling‘ environment.&lt;/p&gt;

&lt;p&gt;Arrow Function gives access to its ‘defining‘ environment.&lt;/p&gt;

&lt;p&gt;Let’s understand this with an example;&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;We have defined two functions inside the const variable CallerObj. First one (func1) is Regular function and Second (func2) is Arrow function.&lt;/p&gt;

&lt;p&gt;When you call both functions and see results in the console window of browser you see that func1’s this keyword value is associated with the calling object (CallerObj).&lt;/p&gt;

&lt;p&gt;and, func2’s this keyword value is associated with the window object.&lt;/p&gt;

&lt;p&gt;So, the conclusion is that in the Arrow function value of this doesn’t decide on who is calling it. It is decided at the time of definition of this.&lt;/p&gt;

&lt;p&gt;Here are the results of the above code;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Eei-Fk-2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.tutorialfunda.com/wp-content/uploads/2019/10/Arrow-Functions-in-JavaScript.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Eei-Fk-2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.tutorialfunda.com/wp-content/uploads/2019/10/Arrow-Functions-in-JavaScript.png" alt="Alt text of image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
  
  
  Single Line Function
&lt;/h1&gt;

&lt;p&gt;An arrow function is useful where a function has a single line of code. For example, a function is returning some value.&lt;/p&gt;

&lt;p&gt;Let’s look at examples,&lt;/p&gt;

&lt;p&gt;1-Below is the Arrow function which returns multiplication values.&lt;br&gt;
2-You can write this function in one line.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;Example of map function which takes arrow function as a parameter.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;There are several other uses of arrow functions but for learning React above points mentioned about Arrow functions are enough. If you want to go deeper then you can learn &lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions"&gt;here&lt;/a&gt; more about them.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>react</category>
      <category>reactnative</category>
    </item>
    <item>
      <title>What is Deno ?  </title>
      <dc:creator>Mehmet Bilgil</dc:creator>
      <pubDate>Thu, 14 May 2020 18:59:34 +0000</pubDate>
      <link>https://dev.to/mbilgil/what-is-deno-41p3</link>
      <guid>https://dev.to/mbilgil/what-is-deno-41p3</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qaqY-m-z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://deno.land/v1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qaqY-m-z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://deno.land/v1.jpg" alt="Alt text of image"&gt;&lt;/a&gt;&lt;br&gt;
If you are familiar with Node.js, the popular server-side JavaScript ecosystem, then Deno is just like Node. Except deeply improved in many ways.&lt;br&gt;
Let’s start from a quick list of the features I like the most about Deno:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It is based on modern features of the JavaScript language&lt;/li&gt;
&lt;li&gt;It has an extensive standard library&lt;/li&gt;
&lt;li&gt;It has TypeScript at its core, which brings a huge advantage in many different ways, including a first-class TypeScript support (you don’t have to separately compile TypeScript, it’s automatically done by Deno)&lt;/li&gt;
&lt;li&gt;It embraces ES modules&lt;/li&gt;
&lt;li&gt;It has no package manager&lt;/li&gt;
&lt;li&gt;It has a first-class await&lt;/li&gt;
&lt;li&gt;It has a built-in testing facility&lt;/li&gt;
&lt;li&gt;It aims to be browser-compatible as much as it can, for example by providing a built-in fetch and the global window object
We’ll explore all of those features in this guide.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After you use Deno and learn to appreciate its features, Node.js will look like something old.&lt;/p&gt;

&lt;p&gt;Especially because the Node.js API is callback-based, as it was written way before promises and async/await. There’s no change available for that in Node, because such a change would be monumental. So we’re stuck with callbacks or with promisifying API calls.&lt;/p&gt;

&lt;p&gt;Node.js is awesome and will continue to be the de facto standard in the JavaScript world. But I think we’ll gradually see Deno get adopted more and more because of its first-class TypeScript support and modern standard library.&lt;/p&gt;

&lt;p&gt;Deno can afford to have everything written with modern technologies, since there’s no backward compatibility to maintain. Of course there’s no guarantee that in a decade the same will happen to Deno and a new technology will emerge, but this is the reality at the moment.&lt;/p&gt;

&lt;h1&gt;
  
  
  Why Deno ? Why now ?
&lt;/h1&gt;

&lt;p&gt;Deno was announced almost 2 years ago by the original creator of Node.js, Ryan Dahl, at JSConf EU. &lt;a href="https://www.youtube.com/watch?v=M3BM9TB-8yA"&gt;Watch the YouTube video&lt;/a&gt; of the talk, it’s very interesting and it’s a mandatory watch if you are involved in Node.js and JavaScript in general.&lt;/p&gt;

&lt;p&gt;Every project manager must make decisions. Ryan regretted some early decisions in Node. Also, technology evolves, and today JavaScript is a totally different language than what it was back in 2009 when Node started. Think about the modern ES6/2016/2017 features, and so on.&lt;/p&gt;

&lt;p&gt;So he started a new project to create some sort of second wave of JavaScript-powered server side apps.&lt;/p&gt;

&lt;p&gt;The reason I am writing this guide now and not back then is because technologies need a lot of time to mature. And we have finally reached Deno 1.0 (1.0 should be released on May 13, 2020), the first release of Deno officially declared stable.&lt;/p&gt;

&lt;p&gt;That’s might seem to be just a number, but 1.0 means there will not be major breaking changes until Deno 2.0. This is a big deal when you dive into a new technology - you don’t want to learn something and then have it change too fast.&lt;/p&gt;

&lt;h1&gt;
  
  
  Similarities and differences with Node.js
&lt;/h1&gt;

&lt;p&gt;Since Deno is basically a Node.js replacement, it’s useful to compare the two directly.&lt;/p&gt;

&lt;h1&gt;
  
  
  Similarities:
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Both are developed upon the &lt;a href="https://flaviocopes.com/v8/"&gt;V8 Chromium Engine&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Both are great for developing server-side with JavaScript&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Differences:
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Node is written in C++ and JavaScript. Deno is written in Rust and TypeScript.&lt;/li&gt;
&lt;li&gt;Node has an official package manager called npm. Deno does not, and instead lets you import any ES Module from URLs.&lt;/li&gt;
&lt;li&gt;Node uses the CommonJS syntax for importing pacakges. Deno uses ES Modules, the official way.&lt;/li&gt;
&lt;li&gt;Deno uses modern ECMAScript features in all its API and standard library, while Node.js uses a callbacks-based standard library and has no plans to upgrade it.&lt;/li&gt;
&lt;li&gt;Deno offers a sandbox security layer through permissions. A program can only access the permissions set to the executable as flags by the user. A Node.js program can access anything the user can access.&lt;/li&gt;
&lt;li&gt;Deno has a for a long time envisioned the possibility of compiling a program into an executable that you can run without external dependencies, like Go, but &lt;a href="https://github.com/denoland/deno/issues/986"&gt;it’s still not a thing yet.&lt;/a&gt; That’d be a game changer.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  No Package Manager
&lt;/h1&gt;

&lt;p&gt;Having no package manager and having to rely on URLs to host and import packages has pros and cons. I really like the pros: it’s very flexible, and we can create packages without publishing them on a repository like npm. &lt;br&gt;
I think that some sort of package manager will emerge, but nothing official is out yet.&lt;/p&gt;

&lt;p&gt;The Deno website provides code hosting (and thus distribution through URLs) to 3rd party packages: &lt;a href="https://deno.land/x/"&gt;https://deno.land/x/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>javascript</category>
      <category>node</category>
      <category>deno</category>
    </item>
  </channel>
</rss>
