<?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: Thomas Gilmore</title>
    <description>The latest articles on DEV Community by Thomas Gilmore (@thomasgilmore).</description>
    <link>https://dev.to/thomasgilmore</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%2F594112%2Fc3fcd342-a876-44be-9c47-901146db54c2.jpeg</url>
      <title>DEV Community: Thomas Gilmore</title>
      <link>https://dev.to/thomasgilmore</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thomasgilmore"/>
    <language>en</language>
    <item>
      <title>Attending My First AWS Summit in New York</title>
      <dc:creator>Thomas Gilmore</dc:creator>
      <pubDate>Wed, 13 Jul 2022 21:04:37 +0000</pubDate>
      <link>https://dev.to/thomasgilmore/attending-my-first-aws-summit-in-new-york-hpn</link>
      <guid>https://dev.to/thomasgilmore/attending-my-first-aws-summit-in-new-york-hpn</guid>
      <description>&lt;p&gt;This was my first time attending an AWS Summit and I highly recommend going if you have never been to one. It was extremely informative and it was great way to meeting new people as well. &lt;/p&gt;

&lt;p&gt;Some of the things that the AWS Summit offered was breakout sessions, customer lighting talks, workshops, chalk talks, partner theater sessions, jam lounge, dev lounge, AWS Training and Certification self-paced labs and AWS Spotlight Labs, AWS DeepRacer League, the Expo, networking reception, and an AWS All Builders Welcome Lounge just to mention a few of the things. &lt;/p&gt;

&lt;p&gt;It was great for all people who are interested in the cloud especially learning more about AWS and what they could offer to you. I attended as many of the events I could have during the summit. The presenters and the amazing people who work at AWS who help put this event on are extremely knowledgeable and friendly. They are willing to answer any questions you may have about the presentation or any other AWS topic you may have. &lt;/p&gt;

&lt;p&gt;The topics I learned about that I'm extremely excited to even learn more about and play around with is &lt;a href="https://aws.amazon.com/amplify/studio/"&gt;AWS Amplify Studio&lt;/a&gt; and &lt;a href="https://aws.amazon.com/s3/storage-classes/intelligent-tiering/"&gt;Amazon S3 Intelligent-Tiering storage class&lt;/a&gt;. AWS Amplify Studio is where you can build react components using Figma. You can build a design using Figma and when you are done you can save your file and make a pull request to make a react component. Amazon S3 Intelligent-Tiering storage class can automatically save you money by optimizing storage costs based on access patterns of your S3 objects. You set up a time frame of when your objects change storage tier after a set amount of days. Then it will change to another tier that will be cheaper to store that data going forward, saving you money. &lt;/p&gt;

&lt;p&gt;I also attended an AWS Customer Council Meet &amp;amp; Greet afterward the summit. It was great to meet some more AWS employees and other AWS customers to hear what they do and how they use AWS.  &lt;/p&gt;

&lt;p&gt;I’m excited to attend my next summit. &lt;/p&gt;

</description>
      <category>aws</category>
      <category>community</category>
      <category>news</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Netflix Clone Version 2 - React  &amp; TMDb</title>
      <dc:creator>Thomas Gilmore</dc:creator>
      <pubDate>Mon, 26 Jul 2021 15:52:37 +0000</pubDate>
      <link>https://dev.to/thomasgilmore/netflix-clone-version-2-react-tmdb-3nko</link>
      <guid>https://dev.to/thomasgilmore/netflix-clone-version-2-react-tmdb-3nko</guid>
      <description>&lt;p&gt;I recreated the Netflix Clone I created from the following post, where I used &lt;a href="https://www.themoviedb.org/" rel="noopener noreferrer"&gt;The Movie Database (TMDb)&lt;/a&gt; to fetch the movie images and posters to populate the Netflix Clone.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/thomasgilmore" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F594112%2Fc3fcd342-a876-44be-9c47-901146db54c2.jpeg" alt="thomasgilmore"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/thomasgilmore/netflix-clone-using-react-and-tmdb-32gb" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Netflix Clone Using React and TMDb&lt;/h2&gt;
      &lt;h3&gt;Thomas Gilmore ・ Jul 13 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#api&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;I created a version 2 of the Netflix Clone because the first version was running slow. I received feedback to use &lt;a href="https://web.dev/measure/" rel="noopener noreferrer"&gt;Web.dev Measure&lt;/a&gt; to see how well the first version performance was and that's where I found out it was loading much more data than it needed to. &lt;/p&gt;

&lt;p&gt;One of the bigger differences from version 1 to version 2 was that in version 1 I was using React Class Components and in version 2 I switched to React Functional Components. &lt;/p&gt;

&lt;p&gt;In version 1 I was using &lt;a href="https://developer.mozilla.org/en-US/docs/Web/Guide/AJAX" rel="noopener noreferrer"&gt;ajax&lt;/a&gt; calls to fetch the api information. In version 2 I updated the calls to use &lt;a href="https://www.npmjs.com/package/axios" rel="noopener noreferrer"&gt;axios&lt;/a&gt; to fetch the api to help the performance. Even though this step did not help a huge amount in performance, it did cut down the amount of javascript code that is needed to make the api calls compared to using ajax.&lt;/p&gt;

&lt;p&gt;I also used &lt;a href="https://www.npmjs.com/package/react-lazy-load-image-component" rel="noopener noreferrer"&gt;React Lazy Load Image Component&lt;/a&gt; as all the movie and tv show images. This helps with performance because if the image is not in the window view the image does not get loaded so a lot less data needs to load to view the page and this helps on the performance a lot.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://loadable-components.com/" rel="noopener noreferrer"&gt;Loadable Components&lt;/a&gt; is also used in version 2. Loadable lets the Netflix Clone to render a dynamic import as a regular component so the component will be loaded in a separate bundle also improving the Netflix Clone performance. &lt;/p&gt;

&lt;p&gt;I have learned a lot from recreating the Netflix Clone and also from the helpful feedback I have received. If you have any other feedback I would really appreciate it. I think it's a great way of learning and seeing someone else's perspective of something. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LINK&lt;/strong&gt;: &lt;a href="https://gilmore-netflix-clone-version-2.netlify.app" rel="noopener noreferrer"&gt;https://gilmore-netflix-clone-version-2.netlify.app&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>api</category>
    </item>
    <item>
      <title>Netflix Clone Using React and TMDb</title>
      <dc:creator>Thomas Gilmore</dc:creator>
      <pubDate>Tue, 13 Jul 2021 14:26:00 +0000</pubDate>
      <link>https://dev.to/thomasgilmore/netflix-clone-using-react-and-tmdb-32gb</link>
      <guid>https://dev.to/thomasgilmore/netflix-clone-using-react-and-tmdb-32gb</guid>
      <description>&lt;p&gt;I created a Netflix Clone using React and &lt;a href="https://www.themoviedb.org/" rel="noopener noreferrer"&gt;The Movie Database (TMDb)&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;The Movie Database API was used to fetch the movie images and posters to populate the Netflix Clone. So the images of the movies will change from time to time when viewing the link based off of what is returned from fetching the api.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LINK&lt;/strong&gt;: &lt;a href="https://gilmore-netflix-clone.netlify.app/" rel="noopener noreferrer"&gt;https://gilmore-netflix-clone.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Netflix Clone Version 2
&lt;/h4&gt;

&lt;p&gt;I'm going to make a version 2 of the Netflix Clone to update on how I make the API calls and also add lazy loading. These look like they are the reasons on why it takes so long to load. The current version uses chained ajax calls. I'm planning on using axios in version 2 and hopefully that will help the page load faster. &lt;/p&gt;

&lt;p&gt;If you have any other suggestions that you think I should make to the Netflix Clone please let me know.  &lt;/p&gt;

&lt;p&gt;Netflix Clone Version 2&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/thomasgilmore" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F594112%2Fc3fcd342-a876-44be-9c47-901146db54c2.jpeg" alt="thomasgilmore"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/thomasgilmore/netflix-clone-version-2-react-tmdb-3nko" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Netflix Clone Version 2 - React  &amp;amp; TMDb&lt;/h2&gt;
      &lt;h3&gt;Thomas Gilmore ・ Jul 26 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#javascript&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#api&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>react</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>api</category>
    </item>
    <item>
      <title>Creating a Wine Recommendation Application using React</title>
      <dc:creator>Thomas Gilmore</dc:creator>
      <pubDate>Tue, 23 Mar 2021 14:46:45 +0000</pubDate>
      <link>https://dev.to/thomasgilmore/creating-a-wine-recommendation-application-using-react-278f</link>
      <guid>https://dev.to/thomasgilmore/creating-a-wine-recommendation-application-using-react-278f</guid>
      <description>&lt;p&gt;So I started by looking first for an API I could use for any project idea and I stumbled upon Spoonacular API, [&lt;a href="https://spoonacular.com/food-api"&gt;https://spoonacular.com/food-api&lt;/a&gt;]. This API has many different end points that could be used for different projects. (*Possibly more projects to come using this API). However for this project, I used two of their end points. &lt;/p&gt;

&lt;p&gt;I used their &lt;em&gt;“Get Dish Pairing for Wine”&lt;/em&gt; end point where you type in a type of wine (&lt;em&gt;ex. Malbec, Pinot Grigio, Rose Wine, … etc&lt;/em&gt;) and the API will return a couple of different dishes that would pair nicely with that wine. The second end point I used was &lt;em&gt;“Get Wine Pairing”&lt;/em&gt; where you type in a dish name (&lt;em&gt;“steak”&lt;/em&gt;), or an ingredient name (&lt;em&gt;“salmon”&lt;/em&gt;), or a cuisine (&lt;em&gt;“Italian”&lt;/em&gt;) and it will return a couple of different wines that would go well with that food given. &lt;/p&gt;

&lt;p&gt;So I created an input field where you get the value of what was typed into the input field. Then I added that value to the url of the end of both of the end points. Each one is an AJAX call in their own component. I then put both components into a ternary operator. Whichever one returns JSON info that is not an error becomes the data that is shown on the web page because I created variables looking for certain info in the JSON that are not errors. So the one that returns info that is able to populate the variables then that gets passed down into another component that is responsible for creating a paragraph element with the JSON information. Finally the app re-renders and populates the info on the web page for the viewers to see. &lt;/p&gt;

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