<?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: Odap</title>
    <description>The latest articles on DEV Community by Odap (@odapx).</description>
    <link>https://dev.to/odapx</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%2F761547%2Fe0f0d087-ea2f-4b60-8ad7-a16ef077340d.png</url>
      <title>DEV Community: Odap</title>
      <link>https://dev.to/odapx</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/odapx"/>
    <language>en</language>
    <item>
      <title>Invitation to become better </title>
      <dc:creator>Odap</dc:creator>
      <pubDate>Sat, 05 Feb 2022 05:33:09 +0000</pubDate>
      <link>https://dev.to/odapx/invitation-to-become-better-g46</link>
      <guid>https://dev.to/odapx/invitation-to-become-better-g46</guid>
      <description>&lt;p&gt;So I've always asked myself what makes a good developer, is it the amount of knowledge the experience or the talent?.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pVedwfHM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gbh36t5aw8oemiho0gul.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pVedwfHM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gbh36t5aw8oemiho0gul.gif" alt="confused" width="426" height="324"&gt;&lt;/a&gt;&lt;br&gt;
It is all confusing in the IT world because there is no highest standard of deciding if one's code is better than someone else's. That's what got me thinking that being a good developer isn't really an asset that is just acquired one day or another,all the opposite being a good developer is being in loving with the development process and being passionate enough to keep learning new things everyday.&lt;/p&gt;

&lt;p&gt;Because when it comes right in to it, technology is an endless sea and  taken individually we pretty much don't know anything. And It's what makes this journey quite exciting and fascinating, the fact that there's so much to learn and so much to keep up with is what drive us to build  teams and create open source ideas, and ultimately  that's what causes progress.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZPF-cuC7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l4k1tplclq2yq89toxxf.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZPF-cuC7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l4k1tplclq2yq89toxxf.gif" alt="satisfaction" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, I really feel that although we might get overwhelmed it's absolutely fine the most important part is to keep on improving , and as the time passes one would notice how much improvement was accomplished and how better the skills are getting.&lt;/p&gt;

&lt;p&gt;So keep on coding guys but don't forget to take some days off as not to burn out . and during the time off try writing some articles or watching some new quick tutorials that get you set up on little details that will for sure make the difference in the long run.&lt;/p&gt;

&lt;p&gt;Thank you for reading this post hope it got your energy back to proper levels!&lt;/p&gt;

</description>
      <category>motivation</category>
      <category>productivity</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>10 Practical shortcuts to be faster !</title>
      <dc:creator>Odap</dc:creator>
      <pubDate>Wed, 26 Jan 2022 22:33:57 +0000</pubDate>
      <link>https://dev.to/odapx/10-practical-shortcuts-to-be-faster--5bpi</link>
      <guid>https://dev.to/odapx/10-practical-shortcuts-to-be-faster--5bpi</guid>
      <description>&lt;p&gt;&lt;strong&gt;1 )&lt;/strong&gt; &lt;strong&gt;ctrl + enter : JUMP TO THE NEXT LINE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;using this command you are able to jump to the next line even if the cursor is in the middle of a line text.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2 )&lt;/strong&gt; &lt;strong&gt;shift + left arrow / right arrow : HIGHLIGHT CODE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;this command is used to highlight the left/right section of the cursor character by character.it can be combined with &lt;strong&gt;ctrl&lt;/strong&gt; to go word by word.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3 )&lt;/strong&gt; &lt;strong&gt;ctrl + F2 :   FIND ALL THE OCCURENCES&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;On visual studio you can select some text and use this shortcut to find all the occurrences of that text.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4 ) ctrl + W : TO CLOSE PROGRAMS&lt;/strong&gt;&lt;br&gt;
This command is a little similar to alt+f4, but unlike the latter this one closes the current program you'r at, for instance it closes a tab for you without shutting down the whole browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5 )&lt;/strong&gt; &lt;strong&gt;ctrl + shift + esc :  OPEN THE TASK MANAGER&lt;/strong&gt;&lt;br&gt;
Nothing much to say here this command pop up the task manager.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6 ) ctrl + shift + J :  Open the Console panel&lt;/strong&gt;&lt;br&gt;
Hitting this command brings up the console panel for inspecting on  chrome.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7 ) ctrl + shift + C :  SHOW THE ELEMENTS PANEL&lt;/strong&gt;&lt;br&gt;
Hitting this command brings up the ELEMENTS panel on chrome.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8 ) CMD &amp;amp; +/- : ZOOM IN OUT&lt;/strong&gt;&lt;br&gt;
On windows you can use this shortcut to zoom in out and to make you computer read some text for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9 )&lt;/strong&gt; &lt;strong&gt;CMD + ARROW LEFT/RIGHT : DIVIDE THE SCREEN&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This command allow you to divide you screen in two part and set the current program to left/right.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10 ) DOT IN GITHUB&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hitting the dot open the current repository on a web editor for easy access.&lt;/p&gt;

</description>
      <category>shortcut</category>
      <category>programming</category>
      <category>productivity</category>
      <category>developement</category>
    </item>
    <item>
      <title>Simplistic Dive into Node.js Internals </title>
      <dc:creator>Odap</dc:creator>
      <pubDate>Tue, 25 Jan 2022 11:31:04 +0000</pubDate>
      <link>https://dev.to/odapx/simplistic-dive-into-nodejs-internals-cj3</link>
      <guid>https://dev.to/odapx/simplistic-dive-into-nodejs-internals-cj3</guid>
      <description>&lt;h2&gt;
  
  
  I-Introduction
&lt;/h2&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Node.js is one of the very popular JavaScript runtimes in the modern world. Why is that? , Well node.js differ with an asynchronous architecture that not all the server side frameworks have, in fact , most of the frameworks are based on a synchronous architecture which makes it hard to implement asynchronous I/O resulting in a poor scaling.&lt;/p&gt;

&lt;p&gt;Node.js with a set of outbreaking internals have changed the game and introduced the world to the full-stack development  thanks to the  release of V8 engine by Google Chrome back in 2008.&lt;br&gt;
In this article I will try to guide you through the internals of node.js and make it simple and beginner friendly.&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  II- Node.js Internals :
&lt;/h2&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
We have mainly four essential node.js parts that we should absolutely know : the V8 JavaScript engine, the Node.js APIs, node.js Bindings and finally the Libuv. lets have a look at each one apart.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1- The V8 Engine :
&lt;/h3&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JyxI0s4p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b5npzrg4s6qagvbi4r6q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JyxI0s4p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b5npzrg4s6qagvbi4r6q.png" alt="V8 engine logo" width="225" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Have you ever wondered how does a chrome browser understand JavaScript ? well, the browser does not understand or even know what JavaScript is, instead it's The V8 engine that understands and executes our JavaScript code.&lt;/p&gt;

&lt;p&gt;So, when we open our browser to run some code we are actually trying to implicitly use the V8 engine.&lt;/p&gt;

&lt;p&gt;Similarly, the V8 engine is the part of node.js that understands JavaScript and is able to execute our code.&lt;/p&gt;

&lt;p&gt;So, to keep it as simple as possible, the V8 engine is the part that build our JavaScript runtime.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2- Node.js APIs :
&lt;/h3&gt;



&lt;p&gt;As we established in the section above, our JavaScript code is executed inside the v8 engine as it provide a rich environment to do so.&lt;/p&gt;

&lt;p&gt;However, There are many functionalities that can't be run inside our environment. For example, sending an http request is a task V8 engine can't do by itself.&lt;/p&gt;

&lt;p&gt;node.js APIs provide these additional functionalities to make it possible to do things like http requests, working with files or even encrypting data etc..&lt;/p&gt;

&lt;p&gt;Here comes the trickiest part,node.js APIs provide a range of functions that are not just JavaScript code, but also a lower level,machine close code like C and C++ ,we'll talk about that in the next part.&lt;/p&gt;

&lt;p&gt;In short, node.js APIs are additional functionalities that makes it possible to do things our V8 engine can't do.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3- Node.js Bindings :
&lt;/h3&gt;



&lt;p&gt;This a very interesting part, remember when I talked about the &lt;br&gt;
node.js apis calling in some C/C++ functions, well node.js bindings is what make it possible to attach our JavaScript code to low level languages such as C/C++, this attachment is what we refer to as "binding".&lt;/p&gt;

&lt;p&gt;Node.js bindings have some depth in its inner workings, but to keep it as simple as possible we'll think of it as the part of Node.js that bind JavaScript with low level languages.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4- The libuv :
&lt;/h3&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r2FKk20R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ujopigbde1rftw9jjpl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r2FKk20R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ujopigbde1rftw9jjpl.png" alt="libuv" width="367" height="137"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
libuv is a C library specifically designed to handle asynchronous&lt;br&gt;
I/O and enforce an event driven style offering core utilities like timers, non-blocking networking support, asynchronous file system access etc. &lt;/p&gt;

&lt;p&gt;libuv is at the core of node.js internals for the main reason that JavaScript is a single-threaded programming language which means that it would have trouble dealing with blocking functions, So basically libuv solves one of the major issues facing node.js which is asynchronous operations. &lt;/p&gt;

</description>
      <category>node</category>
      <category>javascript</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
