<?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>Forem: Raul Martinez</title>
    <description>The latest articles on Forem by Raul Martinez (@raulmartinez).</description>
    <link>https://forem.com/raulmartinez</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%2F176840%2Fdfb6deca-a1ff-4993-a7e8-a70b809d1ae3.png</url>
      <title>Forem: Raul Martinez</title>
      <link>https://forem.com/raulmartinez</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/raulmartinez"/>
    <language>en</language>
    <item>
      <title>How I became a AWS Certified Solutions Architect</title>
      <dc:creator>Raul Martinez</dc:creator>
      <pubDate>Sat, 31 Oct 2020 13:06:26 +0000</pubDate>
      <link>https://forem.com/raulmartinez/study-log-aws-certified-solutions-architect-1d5a</link>
      <guid>https://forem.com/raulmartinez/study-log-aws-certified-solutions-architect-1d5a</guid>
      <description>&lt;p&gt;This past Monday I passed the AWS Certified Solutions Architect Associate exam. I found the exam to be very difficult, especially coming from a developer background where I am not engaged in Solutions Architecture directly on a daily basis.&lt;/p&gt;

&lt;p&gt;My goal is to share an outline of exactly what I did to prepare for the exam, in hopes of helping anyone who is on their own cloud journey. Please let me know any questions you may have in the comments!&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Previous AWS Training &amp;amp; Experience&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I have to preface that I have worked with AWS before for a couple of projects so I was familiar with many of the concepts and technologies. &lt;/p&gt;

&lt;p&gt;Last year I earned my &lt;a href="https://www.youracclaim.com/badges/1cd76be3-242b-48e8-999a-466ba42a781f/public_url"&gt;AWS Developer Associate Certification&lt;/a&gt;. In addition, in February of this year I had the privilege of attending &lt;a href="https://aws.amazon.com/training/course-descriptions/architect/"&gt;Architecting on AWS&lt;/a&gt; which was provided by my employer.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Study Log&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;9/18/2020 - 10/9/2020:

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.udemy.com/course/aws-certified-solutions-architect-associate-saa-c02/"&gt;Stephan Marek's&lt;/a&gt; course on Udemy&lt;/li&gt;
&lt;li&gt;I tried to write as many notes as possible, and rewatched videos several times.&lt;/li&gt;
&lt;li&gt;After each section of the course I completed I would go back and complete the quizzes from all the previous sections to ensure I was retaining the previous lectures.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;10/9/2020 - 10/25/2020:

&lt;ul&gt;
&lt;li&gt;One to three practice tests a day.&lt;/li&gt;
&lt;li&gt;When I started taking the practice exams I was getting scores ranging from 67% to 73%, the scores gradually went up as I started understanding the concepts better until I was scoring around 87% to 92% consistently.&lt;/li&gt;
&lt;li&gt;I found &lt;a href="https://www.udemy.com/course/aws-certified-solutions-architect-associate-amazon-practice-exams-saa-c02/"&gt;Jon Bonso&lt;/a&gt; &amp;amp; &lt;a href="https://www.udemy.com/course/aws-certified-solutions-architect-associate-practice-tests-k/"&gt;Neal Davis&lt;/a&gt; practice exams to be the most difficult and have the best explanations.&lt;/li&gt;
&lt;li&gt;After each exam I would read through every question, and read the explanation's. For questions I did not understand I would read through the AWS documentation until I had a better understanding.&lt;/li&gt;
&lt;li&gt;I wanted to make sure I was not just memorizing answers to questions, to combat this I had a rotation of 12 practice tests, once I completed a practice test I would not see those questions again until I had completed the rest of the tests.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;10/26/2020 (Exam Day):

&lt;ul&gt;
&lt;li&gt;I went through three practice exams reading explanations and reading through AWS documentation.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;After the exam&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;At the end of the exam I saw the PASS notification on the screen and was ecstatic, but I didn't really believe it until I saw the actual certificate signed by AWS. Overall I would say it took somewhere around 100 to 120 hours of studying.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sK1JnppW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7zp1honer1up6ws10xpa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sK1JnppW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/7zp1honer1up6ws10xpa.png" alt="aws certification"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>cloudskills</category>
    </item>
    <item>
      <title>First project using AWS</title>
      <dc:creator>Raul Martinez</dc:creator>
      <pubDate>Sat, 06 Jun 2020 13:44:37 +0000</pubDate>
      <link>https://forem.com/raulmartinez/first-project-using-aws-1j25</link>
      <guid>https://forem.com/raulmartinez/first-project-using-aws-1j25</guid>
      <description>&lt;p&gt;My buddy Adam had asked me if I was able to create a piece of functionality for his business Adam &amp;amp; Co (names are fictional). I had recently just earned my AWS Developer Associate certification and I thought it would be the perfect opportunity to build a project completely through AWS services and apply some of the things I had learned. &lt;/p&gt;

&lt;h4&gt;
  
  
  Project Overview
&lt;/h4&gt;

&lt;p&gt;People are going into foreclosure on their homes in the county where my Adam lives. As part of the foreclosure process the owner's information is listed on the local county website. Adam &amp;amp; Co need to reach out to these people, to prevent them from losing there home.&lt;/p&gt;

&lt;p&gt;However, they do not have the time and resources to go through the site manually, and sort the records ensuring they are not reaching out to the same people twice.&lt;/p&gt;

&lt;h4&gt;
  
  
  User Story
&lt;/h4&gt;

&lt;p&gt;Adam &amp;amp; Co wanted a system that could automate the process of going through the county records, find only the new listings that have been published, and receive them in an email. So that Adam &amp;amp; Co can focus on reaching out to potential clients efficiently and effectively.&lt;/p&gt;

&lt;h4&gt;
  
  
  Solution
&lt;/h4&gt;

&lt;p&gt;To solve this I was hoping I just could use a Lambda function and an API, however the county did not have the most up to date technology and had no public API's. &lt;/p&gt;

&lt;p&gt;So I had to create a scraper, I chose Puppeteer which is very powerful and I have experience with. This technology choice came with a cost because with Puppeteer my node modules became too large to fit in a Lambda function, so I made a small Express app and placed it in EC2.&lt;/p&gt;

&lt;p&gt;The express app runs Puppeteer to scrape the site and inserts the records into DynamoDB. To prevent old listings from being added, I use the case id of each record as a primary key and don't allow for duplicates. I had assumed that this would be the most difficult problem to solve but it ended up being the easiest.&lt;/p&gt;

&lt;p&gt;The express server is triggered by CloudWatch every Monday morning right before Adam &amp;amp; Co get to the office. After the scraping is done, the app will grab the records that were generated that day and email them using AWS SES. The app consists of three main parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scrape the site for all listings&lt;/li&gt;
&lt;li&gt;Insert records to DynamoDB&lt;/li&gt;
&lt;li&gt;Email only the new records that were able to be created using SES&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Technologies used:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;EC2&lt;/li&gt;
&lt;li&gt;CodeCommit&lt;/li&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Puppeteer&lt;/li&gt;
&lt;li&gt;CloudWatch Events&lt;/li&gt;
&lt;li&gt;SES&lt;/li&gt;
&lt;li&gt;DynamoDB&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here is a short video of the app running locally (not Headless like in production), certain portions are blurred to protect personal information:&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/3SaNlbaX5ls"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Let me know what you think, and if you have any questions!&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>aws</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Bop-It inspired game for your browser </title>
      <dc:creator>Raul Martinez</dc:creator>
      <pubDate>Sat, 30 May 2020 13:14:52 +0000</pubDate>
      <link>https://forem.com/raulmartinez/tap-turn-swipe-mobile-browser-game-47dm</link>
      <guid>https://forem.com/raulmartinez/tap-turn-swipe-mobile-browser-game-47dm</guid>
      <description>&lt;p&gt;Hi Devs,&lt;/p&gt;

&lt;p&gt;Here is a link to checkout the game:&lt;br&gt;
&lt;a href="https://tapturnswipe.netlify.app/"&gt;https://tapturnswipe.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I recently had the idea to recreate a similar experience to a game that I played growing up...&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NMEhRutm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5kdx0ocdaovyguimolxl.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NMEhRutm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5kdx0ocdaovyguimolxl.gif" alt="Bop It"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, I came up with Tap Turn Swipe. It is a small browser game that takes inspiration from Bop It. The game is pretty simple, an command will display on the screen and you will have a certain amount of time to complete the action. If you don't complete the action in time, or if you accidentally choose the incorrect action the game ends.&lt;/p&gt;

&lt;p&gt;Let me know what you think! &lt;/p&gt;

&lt;p&gt;Here is a video demo:&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/oKJjufgoLXU"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Codesandbox:&lt;br&gt;
&lt;a href="https://codesandbox.io/s/tap-turn-swipe-hunm5"&gt;https://codesandbox.io/s/tap-turn-swipe-hunm5&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github:&lt;br&gt;
&lt;a href="https://github.com/raulmartinez1855/tap-turn-swipe-game"&gt;https://github.com/raulmartinez1855/tap-turn-swipe-game&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>showdev</category>
      <category>javascript</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Hi Dev.to, I made a small desktop browser game</title>
      <dc:creator>Raul Martinez</dc:creator>
      <pubDate>Sun, 24 May 2020 20:54:11 +0000</pubDate>
      <link>https://forem.com/raulmartinez/hi-dev-to-i-made-a-small-desktop-browser-game-4ekn</link>
      <guid>https://forem.com/raulmartinez/hi-dev-to-i-made-a-small-desktop-browser-game-4ekn</guid>
      <description>&lt;p&gt;Hi Devs,&lt;/p&gt;

&lt;p&gt;My name is Raul, I am a developer out of Miami, FL. I have been a part of the community for a bit reading and learning from all your great posts. Finally got the courage to write my first post.&lt;/p&gt;

&lt;p&gt;I recently just created a game using React for Desktop browsers. It is a dungeon crawler called Darker Dungeon. &lt;/p&gt;

&lt;p&gt;The goal is to get to the treasure chest before time runs out. As you progress the map gets darker and darker until you can only see the tiles right next to you. There is always at least one path to the treasure chest.&lt;/p&gt;

&lt;p&gt;You can try the game out here(doesn't work on mobile or tablet):&lt;br&gt;
&lt;a href="//darker-dungeon.netlify.app"&gt;darker-dungeon.netlify.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source Code:&lt;br&gt;
&lt;a href="//github.com/raulmartinez1855/dark-dungeon"&gt;github.com/raulmartinez1855/dark-dungeon&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Video Demo:&lt;br&gt;
&lt;a href="http://www.youtube.com/watch?v=ZU_L1KoY3HQ"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qv8vHRql--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://img.youtube.com/vi/ZU_L1KoY3HQ/0.jpg" alt="Darker Dungeon video demo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know what you think!&lt;/p&gt;

</description>
      <category>firstpost</category>
      <category>react</category>
      <category>javascript</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
