<?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: AymanGamal-dev</title>
    <description>The latest articles on DEV Community by AymanGamal-dev (@aymangamaldev).</description>
    <link>https://dev.to/aymangamaldev</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%2F643191%2F4a5feb8b-16c2-4f3c-b6a9-c7d33a71f011.jpeg</url>
      <title>DEV Community: AymanGamal-dev</title>
      <link>https://dev.to/aymangamaldev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aymangamaldev"/>
    <language>en</language>
    <item>
      <title>JavaScript Object Property Descriptors</title>
      <dc:creator>AymanGamal-dev</dc:creator>
      <pubDate>Tue, 12 Oct 2021 05:15:10 +0000</pubDate>
      <link>https://dev.to/aymangamaldev/javascript-object-property-descriptors-4k6h</link>
      <guid>https://dev.to/aymangamaldev/javascript-object-property-descriptors-4k6h</guid>
      <description>&lt;p&gt;JavaScript Object Property Descriptors&lt;/p&gt;

&lt;p&gt;Any object in JavaScript has a set of properties, and each of these properties has a descriptor.&lt;/p&gt;

&lt;p&gt;so let's know why you need this ?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;it's rare using but it uses for advance apps so they can keep the property privacy and not change it 
or deleted (configurable) OR escape it from for loops (enumerable), 
By default these values added using are immutable and not enumerable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--A2uywZ84--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ysb2u306ofeq753ptti9.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A2uywZ84--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ysb2u306ofeq753ptti9.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;so you can change this way by using &lt;br&gt;
Object.defineProperty(obj, 'key', descriptor) &lt;/p&gt;

&lt;p&gt;Note :to define it and descriptor object should add all 4 values and define them if you don't it  will assign other to false.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>is JavaScript a multi-threading or single-threading  ?</title>
      <dc:creator>AymanGamal-dev</dc:creator>
      <pubDate>Sun, 10 Oct 2021 13:54:47 +0000</pubDate>
      <link>https://dev.to/aymangamaldev/is-javascript-a-multi-threading-or-single-threading-3bi4</link>
      <guid>https://dev.to/aymangamaldev/is-javascript-a-multi-threading-or-single-threading-3bi4</guid>
      <description>&lt;p&gt;let's discus most confused topics in JavaScript, it's 'event loop' or is JavaScript a multi-threading or single-threading  ?&lt;/p&gt;

&lt;p&gt;the secret behind JavaScript’s asynchronous programming is event loop,  JS executes all operations on a single thread, but using a few smart data structures, it gives us the illusion of multi-threading. Let’s take a look at what happens on the back-end.&lt;/p&gt;

&lt;p&gt;The event queue is responsible for sending new functions to the track for processing. It follows the queue data structure to maintain the correct sequence in which all operations should be sent for execution.&lt;/p&gt;

&lt;p&gt;The event queue. Hence, we have a cyclic system for running async operations in JavaScript. The language itself is single-threaded, but the browser APIs act as separate threads.&lt;/p&gt;

&lt;p&gt;The event loop facilitates this process; it constantly checks whether or not the call stack is empty. If it is empty, new functions are added from the event queue. If it is not, then the current function call is processed.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>do you know the difference between "live node list" vs "static node list" ?</title>
      <dc:creator>AymanGamal-dev</dc:creator>
      <pubDate>Fri, 08 Oct 2021 17:51:41 +0000</pubDate>
      <link>https://dev.to/aymangamaldev/do-you-know-the-difference-between-live-node-list-vs-static-node-list-1n2e</link>
      <guid>https://dev.to/aymangamaldev/do-you-know-the-difference-between-live-node-list-vs-static-node-list-1n2e</guid>
      <description>&lt;p&gt;well, when you fetching a list of elements from the Dom you have two methods:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;querySelectorAll()&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;getElementsByTagName()&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;both methods will return (Simi-array of node elements), but not same array; &lt;/p&gt;

&lt;p&gt;to take closer look lets add new element to this list and see what happens:&lt;/p&gt;

&lt;p&gt;when you use querySelector method will return (NodeList object) a NO-LIVE-LIST it's got a snapshot from DOM (HTML ELEMENTS) and not update that array so when array changes when you updated from javaScript file using append() or appendChild().&lt;/p&gt;

&lt;p&gt;with the other methodgetElementsByTagName() will return a(HTML collection ) a LIVE-LIST got an updated with elements you added.&lt;/p&gt;

&lt;p&gt;one more tip: &lt;/p&gt;

&lt;p&gt;still we using the querySelector methods for flexibility  we have when we select elements, and maybe can be better for performance when you select elements only on html and remember you still have that live references to the DOM so you can easy change the value of this reference(pointer) easy by textContent() method.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>"Pseudo-Private" Properties in javaScript</title>
      <dc:creator>AymanGamal-dev</dc:creator>
      <pubDate>Thu, 07 Oct 2021 19:32:17 +0000</pubDate>
      <link>https://dev.to/aymangamaldev/pseudo-private-properties-in-javascript-3n2o</link>
      <guid>https://dev.to/aymangamaldev/pseudo-private-properties-in-javascript-3n2o</guid>
      <description>&lt;p&gt;"Pseudo-Private" Properties in javaScript&lt;/p&gt;

&lt;p&gt;The addition of private fields and properties is relatively new&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the old way description:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's a quite common convention to prefix private properties with an underscore (_) to signal that they should not be accessed from outside of the object.&lt;br&gt;
but  It's just a convention, It does NOT technically prevent access. You CAN run this code without errors,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the new way description:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; The( #) is a part of the name itself. Private fields are accessible on the class constructor from inside the class declaration itself. They are used for declaration of field names as well as for accessing a field's value.&lt;/p&gt;

&lt;p&gt;so syntax error to refer to # names from out of scope. It is also a syntax error to refer to private fields that were not declared before they were called. &lt;/p&gt;

&lt;p&gt;important: (maybe your IDE will complain about this # syntax but it works in chrome well).&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Program execution</title>
      <dc:creator>AymanGamal-dev</dc:creator>
      <pubDate>Thu, 07 Oct 2021 16:49:26 +0000</pubDate>
      <link>https://dev.to/aymangamaldev/program-execution-1c8b</link>
      <guid>https://dev.to/aymangamaldev/program-execution-1c8b</guid>
      <description>&lt;p&gt;Before we start talking about machine cycle we need to define what is the program; &lt;/p&gt;

&lt;p&gt;A set of instructions to process data,&lt;br&gt;
A computer execute the program to create output data from input data, both data and program are stored in memory.&lt;/p&gt;

&lt;p&gt;Now, what is the machine cycle:&lt;/p&gt;

&lt;p&gt;The central process unit (CPU) uses repeating cycle to execute the instructions in the program (one by one ), a simplified cycle can consist of three phases: &lt;/p&gt;

&lt;p&gt;1- Fetch:&lt;br&gt;
In fetch phase, the control unit orders the system to copy the next instructions into the instructions register in CPU, the address of this instruction ti be copied is held in the program counter register, after copying, program counter ++, to refer to the next instructions in memory.&lt;/p&gt;

&lt;p&gt;2- Decode:&lt;br&gt;
When the instructions is in the instruction register, it is decoded by control unit, the result of decode is Binary code for some operation that system will preform.&lt;/p&gt;

&lt;p&gt;3- Execute:&lt;br&gt;
The last phase; after decode ends the control unit sends the task order to a component in CPU. &lt;/p&gt;

&lt;p&gt;Example: &lt;br&gt;
The control unit sends the task to the system to load( read ) a data item from memory.&lt;/p&gt;

&lt;p&gt;Next, what is the program instructions, &lt;/p&gt;

&lt;p&gt;( photo example provided from google) &lt;/p&gt;

&lt;p&gt;Happy to share knowledge with you:)&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>How data stored in computer ?</title>
      <dc:creator>AymanGamal-dev</dc:creator>
      <pubDate>Wed, 06 Oct 2021 13:56:52 +0000</pubDate>
      <link>https://dev.to/aymangamaldev/how-data-stored-in-computer-h7d</link>
      <guid>https://dev.to/aymangamaldev/how-data-stored-in-computer-h7d</guid>
      <description>&lt;p&gt;How data stored in computer ?&lt;/p&gt;

&lt;p&gt;( Summary i used to remember this as a reference )&lt;/p&gt;

&lt;p&gt;Data comes in different forms including numbers, text, audio, video, all data types are transformed into uniform representation called a bit pattern; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;the numbers changed to binary system before being stored in computer memory.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A piece of text in any language is a sequence of symbols, we can represent each symbol with bit pattern, different sets of bit patterns have been designed to represent text symbols, like UniCode that uses 32 bits to represent a symbol.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Audio is a representation of sound or music, audio is an analog data, we can’t record an infinite number of values in interval, we can only record some samples, the values measured for each sample is a real number.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Storage of images is done by using two different techniques: raster graphics and vector graphics.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Video is representation of images (called frames) in time. A movie is a series of frames shown one after another to create illusion of continuous motion. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>computerscience</category>
    </item>
    <item>
      <title>The numbers systems </title>
      <dc:creator>AymanGamal-dev</dc:creator>
      <pubDate>Wed, 06 Oct 2021 13:55:20 +0000</pubDate>
      <link>https://dev.to/aymangamaldev/the-numbers-systems-7f1</link>
      <guid>https://dev.to/aymangamaldev/the-numbers-systems-7f1</guid>
      <description>&lt;p&gt;The numbers systems ( cs )&lt;/p&gt;

&lt;p&gt;Note :this material for people who interested to know how deep is computer thinking and stores info, basically computer science but i am going to explain it with my understanding in easy way and hop it helps. &lt;/p&gt;

&lt;p&gt;The number system define how number can be represented using distinct symbols, as we use symbol (characters) for creating words in language,&lt;/p&gt;

&lt;p&gt;we use symbols (digits) to represent the numbers, however we know that number of symbols (character) is limited in any language, we need to repeat characters and combine them to create words,&lt;/p&gt;

&lt;p&gt;It’s the same for numbers ; we have a limited number of symbols (digit) to represent numbers, which means the digits need to be represented. &lt;/p&gt;

&lt;p&gt;We define them in two groups:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;positional numbers systems&lt;/li&gt;
&lt;li&gt;Non-positional numbers systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am gonna start a summary with positional numbers system next post. &lt;/p&gt;

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