<?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: Stephen</title>
    <description>The latest articles on DEV Community by Stephen (@dev_steve).</description>
    <link>https://dev.to/dev_steve</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%2F859385%2F821b59d4-7bca-4f77-a601-bfda26450643.png</url>
      <title>DEV Community: Stephen</title>
      <link>https://dev.to/dev_steve</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dev_steve"/>
    <language>en</language>
    <item>
      <title>Newbie to Software Engineering - My Personal Journey</title>
      <dc:creator>Stephen</dc:creator>
      <pubDate>Thu, 16 Feb 2023 10:30:43 +0000</pubDate>
      <link>https://dev.to/dev_steve/newbie-to-software-engineering-my-personal-journey-4d51</link>
      <guid>https://dev.to/dev_steve/newbie-to-software-engineering-my-personal-journey-4d51</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1571171637578-41bc2dd41cd2%3Fixlib%3Drb-4.0.3%26ixid%3DMnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8%26auto%3Dformat%26fit%3Dcrop%26w%3D870%26q%3D80" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimages.unsplash.com%2Fphoto-1571171637578-41bc2dd41cd2%3Fixlib%3Drb-4.0.3%26ixid%3DMnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8%26auto%3Dformat%26fit%3Dcrop%26w%3D870%26q%3D80" alt="Hero Image" width="870" height="580"&gt;&lt;/a&gt;&lt;br&gt;
As a newbie to software engineering, I know I had a lot to learn before I could even think about being a successful software engineer. My personal journey has been a long one, and I have learned a lot over the past year. As a software engineer, I have had to learn the basics of coding, object-oriented programming, and debugging. I also had to learn about software architecture and design, database management, user experience, and more.&lt;/p&gt;

&lt;p&gt;The most difficult part of my journey has been learning the fundamentals of software engineering. I had to understand all of the concepts and terminology before I could even start coding. Then I had to learn the different tools and frameworks that help make coding more efficient. I also had to become familiar with the coding languages and technologies that are used to develop software.&lt;/p&gt;

&lt;p&gt;The next step in my journey was to learn how to build and debug a software system. This was perhaps the most challenging part of the job, as I had to understand the various components of a software system and how they interact with each other. I had to learn how to debug code and troubleshoot errors, as well as how to write unit tests and maintain code quality.&lt;/p&gt;

&lt;p&gt;Another important part of my journey has been learning how to collaborate with other developers. I had to understand the different kinds of software development processes and which ones work best for certain types of projects. I also had to learn how to communicate with colleagues, clients, and other stakeholders about the project.&lt;/p&gt;

&lt;p&gt;As a software engineer, I have had to take the time to learn about new technologies, frameworks, and trends to stay up-to-date. I have attended conferences, workshops, and webinars to stay informed. I also read blogs and articles from other software engineers who are also starting their journey to learn what they can do to be successful.&lt;/p&gt;

&lt;p&gt;My journey as a software engineer has been a long and rewarding one. I have learned a lot and continue to learn new concepts every day. I am excited to see how far I can take my skills. For any new software engineer out there, I hope that my experiences can help you on your own journey towards success!&lt;/p&gt;

</description>
      <category>gratitude</category>
    </item>
    <item>
      <title>How to add shake animation on input:invalid</title>
      <dc:creator>Stephen</dc:creator>
      <pubDate>Tue, 27 Sep 2022 16:21:17 +0000</pubDate>
      <link>https://dev.to/dev_steve/how-to-add-shake-animation-on-inputinvalid-5a2p</link>
      <guid>https://dev.to/dev_steve/how-to-add-shake-animation-on-inputinvalid-5a2p</guid>
      <description>&lt;p&gt;In this short article we'll create a simple HTML with an input tag in a form tag and animate the input when user input is not valid.&lt;br&gt;
This might seem a bit difficult and you may think  you need Javascript to complete this task,but with only HTML and CSS(keyframes) we'll get this done.&lt;/p&gt;

&lt;p&gt;Let's write some code&lt;/p&gt;
&lt;h3&gt;
  
  
  Adding our HTML
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8" /&amp;gt;
&amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
     &amp;lt;form action=""&amp;gt;
        &amp;lt;input type="text" minlength="5" /&amp;gt;
      &amp;lt;/form&amp;gt;
  &amp;lt;/body&amp;gt;

&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Using the :invalid pseudo selector
&lt;/h3&gt;

&lt;p&gt;In our css we style the input with the :invalid pseudo selector&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;style&amp;gt;
input:invalid{
animation:shake .3s
}
&amp;lt;/style&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Adding shake animation with keyframes
&lt;/h3&gt;

&lt;p&gt;Animations in CSS are mostly done with keyframes and so will our shake animation&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;style&amp;gt;
.....
@keyframes shake{
25%{transform:translate(4px)}
50%{transform:translate(-4px)}
75%{transform:translate(4px)
}}
&amp;lt;/style&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Final Results
&lt;/h3&gt;

&lt;p&gt;We set the minimum length of our input to 5, this means the input is invalid if the user enters less than 5 characters.&lt;br&gt;
And the input box shakes when the user input is less than 5 , thus the form is invalid &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>css</category>
      <category>keyframe</category>
    </item>
    <item>
      <title>Adding a background image to a text.</title>
      <dc:creator>Stephen</dc:creator>
      <pubDate>Thu, 01 Sep 2022 23:58:05 +0000</pubDate>
      <link>https://dev.to/dev_steve/adding-a-background-image-to-a-text-5076</link>
      <guid>https://dev.to/dev_steve/adding-a-background-image-to-a-text-5076</guid>
      <description>&lt;p&gt;In this tutorial, we'll see how to add a background image to a text and this can be any image of your choice.&lt;/p&gt;

&lt;p&gt;I already posted a complete video tutorial on my YouTube channel, and you can watch it there.&lt;/p&gt;

&lt;p&gt;Now, let's get right into it!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The interface we'll be expecting&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--90Y2TrC1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tk2zmkutsf557jd75cge.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--90Y2TrC1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tk2zmkutsf557jd75cge.png" alt="Our Result" width="880" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We'll deal with only 2 files here ; &lt;code&gt;index.html&lt;/code&gt; and &lt;code&gt;styles.css&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The HTML SETUP&lt;/strong&gt;&lt;br&gt;
We'll add our standard HTML boilerplate and link the external stylesheet(&lt;code&gt;styles.css&lt;/code&gt;)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="styles.css"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt; &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we're going to add an &lt;code&gt;h1&lt;/code&gt; tag to the body of our HTML&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Document&amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="styles.css"&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt; 
 &amp;lt;h1&amp;gt;Hello World!&amp;lt;/h1&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And that's that for our HTML&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adding Styles to our HTML&lt;/strong&gt;&lt;br&gt;
The first thing we want to do is to increase the font size a bit,I'll set it to a 100px&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;h1{
   font-size:100px;
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then we'll add a background image from the &lt;a href="https://www.pexels.com/"&gt;Pexels Website&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;h1{
  ...
 background:url(https://images.pexels.com/photos/7422479/pexels-photo-7422479.jpeg?cs=srgb&amp;amp;dl=pexels-nothing-ahead-7422479.jpg&amp;amp;fm=jpg)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we'll have an interface like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UcWZjxCT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dm33ttujfpqm4mg54a84.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UcWZjxCT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dm33ttujfpqm4mg54a84.png" alt="BG image" width="880" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But we rather want the image in the background of the text and not in this way, this is how to implement that&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;h1{
  ...
  background-size: contain;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, we should get the result we expected when we preview int the browser&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vzK9gZIP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y5m2sfdytx74g49iqm5o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vzK9gZIP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y5m2sfdytx74g49iqm5o.png" alt="Final Result" width="880" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Thanks for reading to the end!&lt;br&gt;
You can watch the video version of this tutorial &lt;a href="https://www.youtube.com/watch?v=qC8qyrGCPN4&amp;amp;t=13s"&gt;here&lt;/a&gt;.&lt;br&gt;
Consider giving me a follow on my &lt;a href="https://twitter.com/dev__steve"&gt;Twitter&lt;/a&gt; if you liked this article.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
