<?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: Jeanette Rosario</title>
    <description>The latest articles on DEV Community by Jeanette Rosario (@jeanetterosario).</description>
    <link>https://dev.to/jeanetterosario</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%2F607550%2F29f3ecf6-e655-4d7f-bfe6-f436d9b2ad01.png</url>
      <title>DEV Community: Jeanette Rosario</title>
      <link>https://dev.to/jeanetterosario</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jeanetterosario"/>
    <language>en</language>
    <item>
      <title>The API Economy</title>
      <dc:creator>Jeanette Rosario</dc:creator>
      <pubDate>Sat, 01 May 2021 00:04:54 +0000</pubDate>
      <link>https://dev.to/jeanetterosario/the-api-economy-4jcl</link>
      <guid>https://dev.to/jeanetterosario/the-api-economy-4jcl</guid>
      <description>&lt;p&gt;API stands for Application Programming Interface. It is the software technology that allows two applications to talk to each other. It describes the code of connectivity between applications. Anytime you check the weather on your phone, or look for a cheap flight on a booking site, for example, you are using an API. As you can tell from simply using the internet, APIs are an integral part of our online experience. &lt;/p&gt;

&lt;p&gt;Today, modern APIs have become extremely valuable both figuratively speaking as well as literally. APIs allow companies to easily include certain features in products that would otherwise take a long time to build by themselves.  Uber, for example, uses the Google Maps API to pull your location data.&lt;/p&gt;

&lt;p&gt;The phrase the “API economy” is widely used because today's APIs comprise a major portion of business revenue. Google and Amazon are examples of major companies that now make a significant amount of money from their APIs. &lt;/p&gt;

&lt;p&gt;Moreover, modern APIs adhere to standards that are developer-friendly, easily accessible and understood broadly like HTTP and REST. &lt;/p&gt;

&lt;p&gt;They are also  treated like products, designed for consumers. Because of this characteristic, APIs are well-documented, standardized, and constantly versioned. Due to their standardizations, companies can easily monitor their APIs, as well as keep a level of security and governance.&lt;/p&gt;

&lt;p&gt;APIs enable companies to turn their businesses into platforms, exposing important data and features to their customers without building those resources from scratch. Because of this significant ability, APIs are not only a technology tool, but a business one. The new age of APIs is certainly here and businesses are becoming aware of its colossal financial potential.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Subsea Cables that Connect Us</title>
      <dc:creator>Jeanette Rosario</dc:creator>
      <pubDate>Sun, 25 Apr 2021 03:53:01 +0000</pubDate>
      <link>https://dev.to/jeanetterosario/the-subsea-cables-that-connect-us-20ok</link>
      <guid>https://dev.to/jeanetterosario/the-subsea-cables-that-connect-us-20ok</guid>
      <description>&lt;p&gt;Most of us are probably not looking to make the career change into submarine cable technicians. However, as software developers, as important as it is to keep up with the latest software tech, it's also beneficial to study the modern marvel that is the internet on a macro-macro-macro-level.&lt;/p&gt;

&lt;p&gt;Cables Galore:&lt;br&gt;
In 1858, the first trans-Atlantic telegraph cable connecting Newfoundland, aka Canada, to Ireland sent its first transmission. Today, there are over 380 underwater cables in operation around the world supporting the internet, with a total length of three quarters of a million miles. These cables supports nearly all intercontinental electronic communication in our world, today.&lt;/p&gt;

&lt;p&gt;The Tech Giants Own The Internet:&lt;br&gt;
As you cram for your interview with Microsoft, remember they're not just a software company. They own the internet. Google, Facebook, Amazon, Microsoft lease or own half of the world's undersea bandwidth. Recently, Facebook and Google teamed up to invest in the creation of internet cables that will span the Pacific Ocean, further connecting the U.S. and Asia.&lt;/p&gt;

&lt;p&gt;Penguins and Postcards:&lt;br&gt;
Antarctica is the only continent that has never been wired to the Internet via submarine cables due to harsh conditions and a tiny population. But perhaps that will soon change, as The Australian Bureau of Meteorology (BoM) has toyed with the idea of adding a cable connecting Antartica to Australia.&lt;/p&gt;

&lt;p&gt;The Future is Satellite?&lt;br&gt;
Fun fact: Undersea cables are both more cost-effective and faster than these fancy satellites. Satellites are extremely expensive to manufacture, and the distance from the Earth creates a latency effect. However, keep your ears peeled as companies are attempting to tackle these issues and bring satellite-enabled internet into our lives. Recently, SES chose Elon Musks' SpaceX to launch four MEO satellites; these satellites orbit the Earth at a lower altitude, but require more intricate antennae. &lt;/p&gt;

&lt;p&gt;For over 150 years, we have relied on large cables spanning the lengths of oceans to connect us to each other. We're not all meant to become experts on the subject. But perhaps, we can, at the very least, appreciate the fact that internet connects us all today because of a bunch of cables under the sea. Thank you cables.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Javascript: Hoisting</title>
      <dc:creator>Jeanette Rosario</dc:creator>
      <pubDate>Sat, 17 Apr 2021 22:17:03 +0000</pubDate>
      <link>https://dev.to/jeanetterosario/javascript-hoisting-j1k</link>
      <guid>https://dev.to/jeanetterosario/javascript-hoisting-j1k</guid>
      <description>&lt;p&gt;When studying Javascript, there's a curious mechanism that you're likely to come across called &lt;b&gt;hoisting.&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;In Javascript, hoisting is when variables and function declarations are moved to the top of their scope. They are moved to top before they're even initialized.&lt;/p&gt;

&lt;p&gt;What does this mean?&lt;/p&gt;

&lt;p&gt;This means that in Javascript, you could technically do the following with var without throwing an error:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F00rcc7zp2p5fm9hjyai2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F00rcc7zp2p5fm9hjyai2.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Why doesn't the first line throw an error? The variable of animal has not been declared yet it seems, yet the first line does not throw the Reference Error we would expect. This is because variables declared with var are hoisted. &lt;/p&gt;

&lt;p&gt;During hoisting, when var variables are declared, they are "moved to the top". The initializations, their values, are not.&lt;/p&gt;

&lt;p&gt;Therefore, in the previous example, by the first line, Javascript already knows that var animal exists; it just doesn't know its definition yet. In other words, it knows of its declaration, but it doesn't yet know how you initialized it. Hence, it first evaluates to undefined.&lt;/p&gt;

&lt;p&gt;What about the more commonly used &lt;b&gt;let&lt;/b&gt; and &lt;b&gt;const&lt;/b&gt;? Well, if you tried to do the same as above, you'd be out of luck. Variables declared with let &amp;amp; const are not hoisted. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fhe6414n9getqcv2uon42.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fhe6414n9getqcv2uon42.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Above, we see that with let and const, trying to access the variable beforehand would throw the Reference Error: Cannot access 'animal' before initialization. &lt;/p&gt;

&lt;p&gt;What about functions?&lt;/p&gt;

&lt;p&gt;Well, functions are hoisted as well:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fo2ie847tw00wpqdbtt0f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fo2ie847tw00wpqdbtt0f.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the function above, you can call the function on the line(s) before the declaration and initialization. But even better, calling a function won't evaluate to undefined! When you call a function on a line above the declaration, you will have full access, meaning the function will evaluate to however you initialized it. In this case, bark evaluates to "ruff ruff" on the first line. Great!&lt;/p&gt;

&lt;p&gt;But wait... it's not that simple... &lt;/p&gt;

&lt;p&gt;Function expressions* stored with var are hoisted similarly to the very first example. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2F5q77pciso67xhudn3w6l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F5q77pciso67xhudn3w6l.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first line would get a Type Error. Like the first example, Javascript sees the variable cat, as undefined. However, calling a function on undefined creates an error, a Type Error.&lt;/p&gt;

&lt;p&gt;Overall, hoisting is an interesting feature of Javascript that programmers should be aware of. However, it's not a mechanism we should ever rely on.&lt;/p&gt;

&lt;p&gt;Best practice is declare and initialize Javascript variables at the top of your scope. This way, it's easier to read, understand, and it'll prevent this funky Javascript behavior from being a factor in the outcome of your code.&lt;/p&gt;

</description>
      <category>javascript</category>
    </item>
    <item>
      <title>Javascript ES6: Set</title>
      <dc:creator>Jeanette Rosario</dc:creator>
      <pubDate>Sat, 10 Apr 2021 19:48:36 +0000</pubDate>
      <link>https://dev.to/jeanetterosario/javascript-es6-set-550c</link>
      <guid>https://dev.to/jeanetterosario/javascript-es6-set-550c</guid>
      <description>&lt;p&gt;One of the additions brought on by Javascript ES6 is the &lt;b&gt;Set&lt;/b&gt; data type. Set allows us to create a collection of unique* values. The values themselves can be of any data type, from primitive types like numbers, to reference types, like arrays.&lt;/p&gt;

&lt;p&gt;Let's look at the simplest way to create and add values to a Set data type using the &lt;b&gt;add&lt;/b&gt; method.&lt;/p&gt;

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

&lt;p&gt;Above, we initialized a new Set named letters. And later on, we added values, in this case, strings, with the &lt;b&gt;add&lt;/b&gt; method. What's important to note is that Sets only collect unique* values. Therefore, although we continued attempting to add more c's, the Set did not add those extra c's because it already had one.&lt;/p&gt;

&lt;p&gt;Besides add, there are some simple, yet useful, methods we can use with Set: &lt;b&gt;size, has, forEach, clear, delete.&lt;/b&gt;  &lt;/p&gt;

&lt;p&gt;We can also initialize a new Set and pass in an iterable object such as an array.&lt;/p&gt;

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

&lt;p&gt;Above, we initialized a new Set with an array of strings: ['b', 'a', 'c']. That array was iterated over and deconstructed. Note how when we later add an array to the Set using the &lt;b&gt;add&lt;/b&gt; method, in this case, ['f', 'e', 'h'], the array stays intact.&lt;/p&gt;

&lt;p&gt;Here are few things to remember when using Set:&lt;br&gt;
1) Strings are a valid iterable so they can initialize a set. However, remember the Set will only hold the unique* values in that string.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bsNcPV-k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/npn71outasu4n7ujthxx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bsNcPV-k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/npn71outasu4n7ujthxx.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
2) Set also has a &lt;b&gt;keys&lt;/b&gt; and a &lt;b&gt;values&lt;/b&gt; method. But they will produce the same result: the values of the Set.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SNNybdyV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r84c4e1iuy1b8i2zz0vd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SNNybdyV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r84c4e1iuy1b8i2zz0vd.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3) Lastly, aside from forEach we can use a &lt;b&gt;for...loop&lt;/b&gt; to iterate over a Set.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1VNFrZnq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4o7m4u1rkkql6t7kj5bn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1VNFrZnq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4o7m4u1rkkql6t7kj5bn.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
    </item>
    <item>
      <title>My First (Mock) Technical Interview: SKILLED, INC</title>
      <dc:creator>Jeanette Rosario</dc:creator>
      <pubDate>Fri, 02 Apr 2021 13:53:16 +0000</pubDate>
      <link>https://dev.to/jeanetterosario/my-first-mock-technical-interview-skilled-inc-42g7</link>
      <guid>https://dev.to/jeanetterosario/my-first-mock-technical-interview-skilled-inc-42g7</guid>
      <description>&lt;p&gt;As a graduate of the Flatiron School, you will be asked to complete a mock technical interview. You are gifted a token (free interview) for Skilled Inc, a technical interviewing startup. &lt;/p&gt;

&lt;p&gt;Their motto is:"The world's Outcomes company. Our experts interview, educate and certify job seekers to help them get hired."&lt;/p&gt;

&lt;p&gt;You have the option upon passing a technical interview to be considered "certified" by their team and alert potential employers.&lt;/p&gt;

&lt;p&gt;I chose not to alert employers, as I had not started my job search and was still putting together my materials. &lt;/p&gt;

&lt;p&gt;One of the best aspects of Skilled is that they team you up with a senior engineer from a reputable company. These engineers have extensive experience interviewing potential candidates, and bring that expertise and experience to Skilled.&lt;/p&gt;

&lt;p&gt;I chose to interview in Javascript, which funny enough, I felt at that point, was slightly weaker than my Ruby skills. However, I wanted to challenge myself, since this was not an official job interview, and I wanted to assess my frontend abilities. &lt;/p&gt;

&lt;p&gt;I was a paired up with a senior engineer from a very well known company. You would think this would be incredibly intimidating, but he was the kindest, warmest engineer I'd ever met! Whew! As soon as we began, my nerves melted away.&lt;/p&gt;

&lt;p&gt;The 60-min session is set up to mimic a typical technical but also include moments where the engineer gives you candid advice and insight about what he typically is looking for. &lt;/p&gt;

&lt;p&gt;At first, we worked on CSS and HTML, which was a bit of a surprise since I was expecting only Javascript. The interviewer gave me an aside that this is very typical in terms of Javascript interviews. I had to rack my brain a little bit, but was able to answer all of the questions and coding challenges. This was great information to know for the future! &lt;/p&gt;

&lt;p&gt;We then went over a Javascript coding challenge which involved array manipulation. It was pretty straight forward. But one thing interviewer challenged me on was my using my voice! He wanted me to speak aloud about my thought process, as I initially had just start coding silently. This was brilliant advice, in that it encouraged engagement and let the interviewer in on my problem-solving skills.&lt;/p&gt;

&lt;p&gt;I passed the interview. But I will continue working on my skills. This Skilled interview was a great introduction into the hiring process. And future Javascript interviewees*: get ready to have to complete CSS and HTML challenges as well! And remember, think your problem-solving thoughts out loud!&lt;/p&gt;

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