<?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: zyounger8</title>
    <description>The latest articles on DEV Community by zyounger8 (@zyounger8).</description>
    <link>https://dev.to/zyounger8</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%2F1064687%2F0cb1f0d8-5f94-4b3a-bf10-6402a045fffa.jpeg</url>
      <title>DEV Community: zyounger8</title>
      <link>https://dev.to/zyounger8</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zyounger8"/>
    <language>en</language>
    <item>
      <title>My Little Python</title>
      <dc:creator>zyounger8</dc:creator>
      <pubDate>Sat, 22 Apr 2023 01:26:03 +0000</pubDate>
      <link>https://dev.to/zyounger8/my-little-python-1cpd</link>
      <guid>https://dev.to/zyounger8/my-little-python-1cpd</guid>
      <description>&lt;p&gt;We all have to start somewhere. In this journey I am embracing the beginning stages of obtaining the skills to have a strong foundation in cloud computing and security. &lt;/p&gt;

&lt;p&gt;Additionally, in my free time I love helping friends and family accomplish tasks with AI through Prompt Engineering. I had plans to learn Python at some point but since learning that I can combine AI and Python to create even better results, I figured there's no better time than now to jump in. &lt;/p&gt;

&lt;p&gt;Therefore here's my first few lines of Python code, hosted in Replit! Playing rock paper scissors with my little python code! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BFkhzRIB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3vxdk2zl8v16y30ol4el.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BFkhzRIB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3vxdk2zl8v16y30ol4el.png" alt="A screenshot of my Python code of a rock paper scissors game" width="800" height="638"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>programming</category>
    </item>
    <item>
      <title>AWS Mini-Project - Cats Need Love Too</title>
      <dc:creator>zyounger8</dc:creator>
      <pubDate>Sat, 15 Apr 2023 15:00:26 +0000</pubDate>
      <link>https://dev.to/zyounger8/aws-mini-project-cats-need-love-too-5hi2</link>
      <guid>https://dev.to/zyounger8/aws-mini-project-cats-need-love-too-5hi2</guid>
      <description>&lt;p&gt;Completed my first AWS Mini Project today. The services used were DynamoDB, Lambda, and SNS. &lt;/p&gt;

&lt;p&gt;I first created a DynamoDB table where I manually entered in fictional data for a cat adoption agency. I entered in 8 kittens, their names and adoption statuses. In a real world example this would have been populated from a front-end website. In an ideal world all cats would have homes with all the cat nip and sunlight a kitten could dream of.&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%2F23jmtmvkm1bo5zinz2lt.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%2F23jmtmvkm1bo5zinz2lt.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After creating my table I explored the comparison of querying the data in the table versus running a scan of the existing records. Querying the data appears to be more efficient, eliminating the need for DynamoDB to iterate over every record, however I will use scanning later in the project. &lt;/p&gt;

&lt;p&gt;Next I set up an SNS email protocol. In simple terms AWS SNS is a messaging service that will allow me to send messages and notifications to any subscribed member in my cat loving community that is interested in adopting a cat. In this example they will be receiving updates when a cat is adopted encouraging them to hop onto the site if they want to adopt one before they are all gone.&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%2Foq6n4n769ftpx42qqb9w.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%2Foq6n4n769ftpx42qqb9w.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now onto creating the Lambda function, which is named cat-adoption-function. In this portion I inserted code that will iterate through all the cat records that Dynamo DB passes to the Lambda function, and then publish the message for our subscribers to receive.&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%2Fs1bdp7bytnhtmcto7ooo.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%2Fs1bdp7bytnhtmcto7ooo.png" alt="Image description"&gt;&lt;/a&gt;&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%2Fvbaxg39hzp3wyx8awmf5.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%2Fvbaxg39hzp3wyx8awmf5.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, I gave the Lambda function created permission to access DynamoDB so it can read the data from the DynamoDB Stream. Without this permission, the function created will not work. &lt;/p&gt;

&lt;p&gt;Next, I enabled the DynamoDB Stream that will trigger that  cat-adoption-function every time a cat's adoption status is  changed to true. &lt;/p&gt;

&lt;p&gt;The final step involved testing it out. In the DynamoDB console I ran a scan to ensure the code is working as expected and that the Lambda function is correctly reading and processing all of the table items. At the initial scan all of the adoption statuses were set to false. In a real world example this testing phase will be crucial to identify any data insertion, bug, and performance issues that could occur with larger datasets.&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%2F8akfxyznh0qxxn4fvzxw.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%2F8akfxyznh0qxxn4fvzxw.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To test the trigger, I changed the adoption status of one of the cats to true in the DynamoDB table. Upon making the status change I received an email notifying me that the cat selected has been adopted! &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%2F03gs2eyghkcnmihz0sqh.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%2F03gs2eyghkcnmihz0sqh.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As best practice with all projects, my final step involved cleaning up, by deleting all the resources used in this project.&lt;/p&gt;

&lt;p&gt;And voila! There goes my first project, looking forward to the next. Shout out to my favorite AWS course that is helping develop these skills and support my learning with these projects: &lt;a href="https://www.youtube.com/c/learncantrill" rel="noopener noreferrer"&gt;adrian cantrill&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cover Photo by &lt;a href="https://unsplash.com/@theluckyneko?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;The Lucky Neko&lt;/a&gt; on &lt;a href="https://unsplash.com/images/animals/kitten?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>dynamodb</category>
      <category>lambda</category>
    </item>
  </channel>
</rss>
