<?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: Atif Riaz</title>
    <description>The latest articles on DEV Community by Atif Riaz (@iamatifriaz).</description>
    <link>https://dev.to/iamatifriaz</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%2F555895%2F24f6cacd-2acd-40d3-9cb9-14fbe7e2613e.png</url>
      <title>DEV Community: Atif Riaz</title>
      <link>https://dev.to/iamatifriaz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/iamatifriaz"/>
    <language>en</language>
    <item>
      <title>Level Up Your Coding Skills for Free!</title>
      <dc:creator>Atif Riaz</dc:creator>
      <pubDate>Sun, 09 Jun 2024 13:19:24 +0000</pubDate>
      <link>https://dev.to/iamatifriaz/level-up-your-coding-skills-for-free-3p7j</link>
      <guid>https://dev.to/iamatifriaz/level-up-your-coding-skills-for-free-3p7j</guid>
      <description>&lt;p&gt;Are you ready to enhance your programming skills? Explore these fantastic free resources for web development, backend development, data, APIs, DevOps, and programming languages.&lt;/p&gt;

&lt;h3&gt;
  
  
  Web Development
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🌐 &lt;strong&gt;HTML:&lt;/strong&gt; w3schools.com/html&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🎨 &lt;strong&gt;CSS:&lt;/strong&gt; w3schools .com/css/&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;💎 &lt;strong&gt;Tailwind CSS:&lt;/strong&gt;&lt;a href="https://tailwindcss.com/"&gt;tailwindcss.com&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;⚡ &lt;strong&gt;JavaScript:&lt;/strong&gt;&lt;a href="https://javascript.info/"&gt;javascript.info&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔷 &lt;strong&gt;TypeScript:&lt;/strong&gt; typescriptlang.org/docs/&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔺 &lt;strong&gt;Angular:&lt;/strong&gt; angular.io/tutorial&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;⚛️ &lt;strong&gt;React:&lt;/strong&gt; react.dev&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🌟 &lt;strong&gt;VueJS:&lt;/strong&gt; vuejs.org&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔮 &lt;strong&gt;Svelte:&lt;/strong&gt; svelte.dev/docs&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Backend Development
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🚀 &lt;strong&gt;Node.js:&lt;/strong&gt; nodejs.org/en/learn/&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🛤️ &lt;strong&gt;Ruby on Rails:&lt;/strong&gt;&lt;a href="https://rubyonrails.org/"&gt;rubyonrails.org&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🎡 &lt;strong&gt;Laravel:&lt;/strong&gt;&lt;a href="https://laracasts.com/"&gt;laracasts.com&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🎸 &lt;strong&gt;Django:&lt;/strong&gt;&lt;a href="https://www.djangoproject.com/start/"&gt;djangoproject.com&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🐹 &lt;strong&gt;Go:&lt;/strong&gt;&lt;a href="https://gobyexample.com/"&gt;gobyexample.com&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🦀 &lt;strong&gt;Rust:&lt;/strong&gt; rust-lang.org/learn/&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📱 &lt;strong&gt;Kotlin:&lt;/strong&gt; kotlinlang.org/docs/tutorials/&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🍏 &lt;strong&gt;Swift:&lt;/strong&gt; docs.swift.org/swift-book/&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔧 &lt;strong&gt;ASP.NET:&lt;/strong&gt;&lt;a href="https://docs.microsoft.com/en-us/aspnet/core/"&gt;docs.microsoft.com/en-us/learn/aspnet/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Data &amp;amp; APIs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;📊 SQL - &lt;a href="http://dev.mysql.com/doc/"&gt;dev.mysql.com/doc/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔌 &lt;strong&gt;API:&lt;/strong&gt; rapidapi.com/learn&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🕸️ &lt;strong&gt;GraphQL:&lt;/strong&gt; graphql.org/learn/&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🍃 &lt;strong&gt;MongoDB:&lt;/strong&gt;&lt;a href="https://www.mongodb.com/docs/guides/"&gt;mongodb.com/docs/guides/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🐘 &lt;strong&gt;PostgreSQL:&lt;/strong&gt;&lt;a href="https://www.postgresql.org/docs/"&gt;postgresql.org/docs/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  DevOps &amp;amp; Version Control
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🐙 &lt;strong&gt;Git and GitHub:&lt;/strong&gt;&lt;a href="https://git-scm.com/"&gt;git-scm.com&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🐋 &lt;strong&gt;Docker:&lt;/strong&gt;&lt;a href="https://docker-curriculum.com/"&gt;docker-curriculum.com&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;☁️ &lt;strong&gt;AWS:&lt;/strong&gt;&lt;a href="https://aws.amazon.com/training/"&gt;aws.amazon.com/training/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🛠️ &lt;strong&gt;Kubernetes:&lt;/strong&gt; kubernetes.io/docs/tutorials/&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Programming Languages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🐍 &lt;strong&gt;Python:&lt;/strong&gt;&lt;a href="https://www.learnpython.org/"&gt;learnpython.org&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🖥️ &lt;strong&gt;C++:&lt;/strong&gt;&lt;a href="https://www.learncpp.com/"&gt;learncpp.com&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔷 &lt;strong&gt;C#:&lt;/strong&gt;&lt;a href="http://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/"&gt;learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;💻 &lt;strong&gt;Java:&lt;/strong&gt;&lt;a href="https://docs.oracle.com/javase/tutorial/"&gt;docs.oracle.com/javase/tutorial/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🦉 &lt;strong&gt;Haskell:&lt;/strong&gt; haskell.org/learning/&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📜 &lt;strong&gt;Perl:&lt;/strong&gt; learn.perl.org  &lt;/p&gt;

&lt;p&gt;These resources are shared on my Twitter profile as well.&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1799774568212468065-295" src="https://platform.twitter.com/embed/Tweet.html?id=1799774568212468065"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1799774568212468065-295');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1799774568212468065&amp;amp;theme=dark"
  }



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

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

&lt;p&gt;These resources cover a wide range of programming skills and technologies. Dive in and start learning today to enhance your coding expertise and advance your career in technology. Happy coding! 🚀💻&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Vite Server not Updating Changes after Save in Vue 3 with Nuxt js</title>
      <dc:creator>Atif Riaz</dc:creator>
      <pubDate>Tue, 16 May 2023 13:24:42 +0000</pubDate>
      <link>https://dev.to/iamatifriaz/vite-server-not-updating-changes-after-save-in-vue-3-with-nuxt-js-2134</link>
      <guid>https://dev.to/iamatifriaz/vite-server-not-updating-changes-after-save-in-vue-3-with-nuxt-js-2134</guid>
      <description>&lt;p&gt;Vite is a modern JavaScript build tool that provides fast development times and a great developer experience. One of the best features of Vite is hot reload, which allows you to see changes to your code without having to manually refresh the browser.&lt;/p&gt;

&lt;p&gt;However, there are a few things that can go wrong with hot reload, and if you're having problems, it can be difficult to know where to start. In this blog post, we'll walk you through some of the most common problems with Vite hot reload and how to fix them.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Problems with Vite Hot Reload&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;There are a few common problems that can occur with Vite hot reload. These include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;File names not matching import statements:&lt;/strong&gt; Make sure that the file names and import statements match exactly. For example, if your file is named &lt;code&gt;task.js&lt;/code&gt;, your import statement should be &lt;code&gt;import Task from "src/js/task.js"&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Third-party libraries not supporting hot reload:&lt;/strong&gt; Some third-party libraries don't support hot reload, which means that you'll need to manually refresh the browser to see changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Incorrect Vite configuration:&lt;/strong&gt; Make sure that your Vite configuration is correct. You can find more information on the Vite website.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Troubleshooting Vite Hot Reload&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you're having problems with Vite hot reload, you can try the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Restart your Vite server.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Clear your browser's cache.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Try a different browser.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're still having problems, you can ask for help on the Vite Discord server.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Tips for Troubleshooting Vite Hot Reload&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here are some additional tips for troubleshooting Vite hot reload:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use a consistent file naming convention.&lt;/strong&gt; This will help to avoid errors caused by mismatched file names and import statements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Avoid using third-party libraries that don't support hot reload.&lt;/strong&gt; If you must use a third-party library that doesn't support hot reload, you can try using a CDN to load the library.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Keep your Vite configuration up to date.&lt;/strong&gt; The Vite team is constantly adding new features and improvements, so it's important to keep your configuration up to date.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Hopefully, this blog post has helped you to troubleshoot Vite hot reload in Vue 3. If you're still having problems, please feel free to ask for help on the Vite Discord server.&lt;/p&gt;

&lt;p&gt;If you have any questions or comments, feel free to reach out to me on my Twitter handle &lt;a href="https://twitter.com/iamatifriaz"&gt;@iamatifriaz&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vue</category>
      <category>vue3</category>
      <category>nuxt</category>
      <category>vitejs</category>
    </item>
    <item>
      <title>How I started my web development career at the age of 19 with no coding background</title>
      <dc:creator>Atif Riaz</dc:creator>
      <pubDate>Mon, 15 May 2023 06:15:44 +0000</pubDate>
      <link>https://dev.to/iamatifriaz/how-i-started-my-web-development-career-at-the-age-of-19-with-no-coding-background-hef</link>
      <guid>https://dev.to/iamatifriaz/how-i-started-my-web-development-career-at-the-age-of-19-with-no-coding-background-hef</guid>
      <description>&lt;p&gt;If you're reading this, you're probably considering a career in web development. You might wonder if you have what it takes to be a successful developer.&lt;/p&gt;

&lt;p&gt;I started my web development career at the age of 19, right after school. I had no CS degree and no coding background. Even then, I graduated in Commerce, which I shouldn't have. Later, I did my master's degree in Computer Sciences. &lt;/p&gt;

&lt;p&gt;Now, I have 10+ years of web development and leading different frontend teams experience, a computer science degree, and a 6-figure monthly income.&lt;/p&gt;

&lt;p&gt;It all started when a friend introduced me to HTML and CSS. At first, it was tough, but soon enough, I realized I was good at it and enjoyed doing it. Eventually, I started taking on small projects. And that's how my web development career started.&lt;/p&gt;

&lt;p&gt;Despite not having any background in coding, I could teach myself everything I needed to know and become successful in this field. If I can do it, anyone can. So if you're interested in web development but don't know where to start, just take the plunge and go for it! You might surprise yourself with what you're capable of.  &lt;/p&gt;

&lt;p&gt;So, if you're wondering if you can make a successful career in web development, the answer is a resounding yes! Here are three tips to help you get started:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Believe in yourself
&lt;/h2&gt;

&lt;p&gt;The most important thing you need to succeed in any field is confidence in your ability. This is especially true in web development, where you'll constantly need to learn new skills and technologies.&lt;/p&gt;

&lt;p&gt;Believe in yourself and know that you can do it—you'll be surprised at how far that takes you.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Start learning coding basics
&lt;/h2&gt;

&lt;p&gt;If you're starting from scratch, the best way to get into web development is to start learning coding basics. You don't need to go overboard and try to learn everything at once—just focus on the essentials.&lt;/p&gt;

&lt;p&gt;Once you have a solid understanding of the basics, you can start learning more specific technologies and frameworks. But again, don't try to learn everything at once—take things one step at a time and focus on what you need to know for your current project.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Find a mentor
&lt;/h2&gt;

&lt;p&gt;One of the best ways to learn anything new is to find someone who already knows what you want to learn and can help guide you through the process. This is especially helpful in web development, where the landscape is constantly changing, and it can be difficult to keep up with everything on your own.&lt;/p&gt;

&lt;p&gt;A mentor can help you stay up-to-date on the latest trends, teach you new skills, and advise you when you're stuck. If you don't have a mentor, look for online resources or meetups where you can connect with other developers.&lt;/p&gt;

&lt;p&gt;These are three tips to get you started on your path to becoming a successful web developer. Remember to believe in yourself, start learning coding basics, and find a mentor to help you along the way. You can achieve anything you want with hard work and dedication!&lt;/p&gt;

&lt;p&gt;If you have any questions or comments, feel free to reach out to me on my Twitter handle &lt;a href="https://twitter.com/iamatifriaz"&gt;@iamatifriaz&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you enjoyed this content, don’t forget to like, comment, and reshare! &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Google I/O 2023: A Look at the Revolutionary Innovations in AI</title>
      <dc:creator>Atif Riaz</dc:creator>
      <pubDate>Thu, 11 May 2023 20:18:02 +0000</pubDate>
      <link>https://dev.to/iamatifriaz/google-io-2023-a-look-at-the-revolutionary-innovations-in-ai-1e0k</link>
      <guid>https://dev.to/iamatifriaz/google-io-2023-a-look-at-the-revolutionary-innovations-in-ai-1e0k</guid>
      <description>&lt;p&gt;Google's annual developer conference, I/O 2023, was just held, and it was packed with exciting announcements.&lt;/p&gt;

&lt;p&gt;Here are some of the most revolutionary innovations that were unveiled in AI:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Bard&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Bard is a new AI language model from Google AI that can generate text, translate languages, write different kinds of creative content, and answer your questions in an informative way.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It is still under development, but it has the potential to revolutionize the way we interact with computers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Here are some of the things that Bard can do:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generate text: Bard can generate text in different styles, including news articles, blog posts, poems, code, scripts, musical pieces, emails, letters, etc.&lt;/li&gt;
&lt;li&gt;Translate languages: Bard can translate over 200 languages.&lt;/li&gt;
&lt;li&gt;Write different kinds of creative content: Bard can write different kinds of creative content, such as poems, code, scripts, musical pieces, emails, letters, etc.&lt;/li&gt;
&lt;li&gt;Answer your questions in an informative way: Bard can answer your questions in an informative way, even if they are open-ended, challenging, or strange.&lt;/li&gt;
&lt;/ul&gt;


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

&lt;p&gt;&lt;strong&gt;2. Google unveils a list of future plugins for Bard&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google also unveiled a list of future plugins for Bard, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A code generation plugin&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A math equation solver&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A research paper writing assistant&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These plugins will make Bard even more powerful and versatile, and they will help us to do things that we never thought possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Google releases "Help me write" in Gmail&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google also released a new feature called "Help me write" in Gmail.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This feature uses Bard to help you write emails more effectively.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It can suggest phrases, and complete sentences, and even generate entire emails for you.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Bard + Adobe Firefly announced&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google and Adobe also announced a partnership to integrate Bard with Adobe Firefly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This integration will allow Bard to access Adobe's vast library of creative assets, such as images, videos, and music.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This will make it even easier for you to create beautiful and engaging content.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Google Unveils Gemini&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google also unveiled a new browser called Gemini.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Gemini is a stripped-down browser that is designed to be fast, secure, and private.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It is a great choice for users who are looking for a lightweight and distraction-free browsing experience.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;6. Google X Adobe&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google also announced a new partnership with Adobe called Google X Adobe.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This partnership will focus on developing new AI-powered tools for creative professionals.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;These tools will help creatives to be more productive and to create even more amazing content.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;7. Google Photos' new "Magic Editor"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google also announced a new feature for Google Photos called "Magic Editor."&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This feature uses AI to automatically improve your photos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It can adjust the brightness, contrast, and color of your photos, and it can even remove unwanted objects.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;8. Google just announced Immersive View for Maps&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google just announced Immersive View for Maps.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This new feature allows you to explore places in 3D, right from your phone or computer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can walk around and see things from different angles, and you can even zoom in to see details like the texture of the buildings.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;9. Google unveils PaLM 2&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google also unveiled PaLM 2, the successor to its powerful PaLM AI language model.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;PaLM 2 is even more powerful than its predecessor, and it can perform even more complex tasks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It is a truly groundbreaking achievement, and it has the potential to change the world.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are just a few of the revolutionary innovations that were unveiled at Google I/O 2023. It was an exciting event, and it is clear that Google is committed to pushing the boundaries of what is possible with AI. I am excited to see what Google comes up with next!&lt;/p&gt;

&lt;p&gt;If you have any questions or comments, feel free to reach out to me on my Twitter handle &lt;a class="mentioned-user" href="https://dev.to/iamatifriaz"&gt;@iamatifriaz&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>30 Days Frontend Development Roadmap 2024</title>
      <dc:creator>Atif Riaz</dc:creator>
      <pubDate>Thu, 22 Sep 2022 19:39:40 +0000</pubDate>
      <link>https://dev.to/iamatifriaz/30-days-frontend-development-roadmap-2022-2023-4kej</link>
      <guid>https://dev.to/iamatifriaz/30-days-frontend-development-roadmap-2022-2023-4kej</guid>
      <description>&lt;p&gt;30 days Frontend Development Roadmap is a comprehensive guide to becoming a well-rounded front-end developer. In just 30 days, you will learn the skills and technologies you need to build beautiful, responsive websites and web applications.&lt;/p&gt;

&lt;p&gt;This roadmap covers everything from HTML,  CSS/CSS3, SASS, Less, and Javascript. By the end of this roadmap, you'll be able to build user interfaces that look great and work flawlessly on any device.&lt;/p&gt;

&lt;p&gt;Whether you're just starting your coding journey or a seasoned veteran looking for a refresher, this roadmap is for you. So let's get started!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is Frontend Development?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Frontend development is the practice of building user interfaces for websites and web applications. This can include designing and coding responsive website layouts to implementing interactive features like animations and forms.&lt;/p&gt;

&lt;p&gt;No matter your level of experience, there's always something new to learn in front-end development. It can be tough to keep up with new technologies and emerging trends. That's where this roadmap comes in.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Roadmap&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This roadmap is divided into four sections, each covering a different aspect of frontend development:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTML &amp;amp; CSS&lt;/strong&gt; - In this section, you'll learn how to code with HTML and CSS, the two fundamental languages of the web.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Responsive Design&lt;/strong&gt; - You'll learn how to make your websites look great on any device, from phones and tablets to laptops and desktops.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSS Pre-Processors&lt;/strong&gt; - In this section, you'll learn how to use CSS pre-processors like Sass and Less to streamline your CSS code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript&lt;/strong&gt; - In this section, you'll learn how to add interactivity to your websites with JavaScript. By the end of this section, you'll be able to build simple web applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So without further ado, let's get started on the Frontend Development Roadmap of 30 days!&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 1: HTML &amp;amp; CSS
&lt;/h2&gt;

&lt;p&gt;On day one, you will learn the basics of HTML and CSS. These two languages are essential for coding websites and web applications, so it's important to have a strong understanding of them.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is HTML?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;HTML (HyperText Markup Language) is the code to structure a website's content. It is made up of elements that are placed inside tags. For example, this paragraph is structured using the &lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt; tag.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is CSS?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CSS (Cascading Style Sheets) is a code to style a website's content. CSS is made up of style rules that are applied to the HTML elements on a page. For example, this paragraph has a CSS rule that sets the font size to 18px.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How do I code with HTML &amp;amp; CSS?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To code with HTML and CSS, you will need a text editor. A text editor is a program that allows you to write and edit code. Some popular text editors include &lt;a href="https://www.sublimetext.com/"&gt;Sublime Text&lt;/a&gt;, &lt;a href="https://atom.io/"&gt;Atom&lt;/a&gt;, and &lt;a href="https://code.visualstudio.com/"&gt;Visual Studio Code&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Once you have a text editor installed on your computer, you can create a new HTML file by creating a new file with the .html extension. For example, you could name your file my-first-website.html.&lt;/p&gt;

&lt;p&gt;Then, you can start coding in HTML. Every HTML document starts with a doctype declaration, which tells the web browser what type of document to expect.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, you'll need the &lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt; element. This element encapsulates all the content on a webpage.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;HTML&amp;gt;&lt;/span&gt;
&lt;span class="c"&gt;&amp;lt;!-- The content on your webpage goes here --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside the &lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt; element, you can add any other HTML elements to structure your content. For example, you could add a heading element (&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt;) and a paragraph element (&lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;HTML&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;This is a heading&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This is a paragraph.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You'll need to create a CSS file to style your HTML with CSS. You can do this by creating a new file with the .css extension. For example, you could name your file styles.css.&lt;/p&gt;

&lt;p&gt;Then, you can start coding in CSS. Every CSS rule has two parts: a selector and a declaration. The selector is used to target the HTML element that you want to style. The declaration sets the element's properties, such as the font size or color.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;18px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c"&gt;/* This is a declaration */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="c"&gt;/* This is a selector */&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To apply your CSS rules to your HTML, you'll need to link your CSS file to your HTML file. You can add a &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; element inside your HTML document's &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; element. The &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; element has two attributes: href and type. The href attribute tells the browser where to find the CSS file. The type attribute tells the browser what type of file it is.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;HTML&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"styles.css"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/css"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now that you know the basics of HTML and CSS, you're ready to start coding!&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 2: CSS Layouts
&lt;/h2&gt;

&lt;p&gt;On day two, you will learn about CSS layouts. A CSS layout is a way of organizing your HTML elements on a webpage. There are three common types of CSS layouts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Float Layout&lt;/strong&gt; - The HTML elements are floated left or right in a float layout. This allows the elements to be next to each other instead of stacked on top.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexbox Layout&lt;/strong&gt; - In a flexbox layout, the HTML elements are organized in a flex container. The flex container can be set to wrap the elements or to scroll horizontally or vertically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grid Layout&lt;/strong&gt; - The HTML elements are organized in a grid layout. The grid can have multiple rows and columns, and the elements can span multiple rows and columns.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Day 3: CSS Positions
&lt;/h2&gt;

&lt;p&gt;On day three, you will learn about CSS positions. CSS positions are used to position HTML elements on a webpage. There are four types of CSS positions:&lt;/p&gt;

&lt;p&gt;Static - The element is positioned according to the document's normal flow. This is the default position.&lt;/p&gt;

&lt;p&gt;Relative - The element is positioned relative to its normal position.&lt;/p&gt;

&lt;p&gt;Absolute - The element is positioned relative to the nearest ancestor that has a position other than static.&lt;/p&gt;

&lt;p&gt;Fixed - The element is positioned relative to the viewport.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 4: CSS Preprocessors
&lt;/h2&gt;

&lt;p&gt;On day four, you will learn about CSS preprocessors. A CSS preprocessor is a program that allows you to write CSS code in a different language. The most popular CSS preprocessor is Sass.&lt;/p&gt;

&lt;p&gt;Sass is a CSS preprocessor that adds extra features to CSS, such as variables and mixins. These features make Sass more powerful than regular CSS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 5: Responsive Web Design
&lt;/h2&gt;

&lt;p&gt;On day five, you will learn about responsive web design. Responsive web design makes a website look good on all devices (such as phones, tablets, and laptops).&lt;/p&gt;

&lt;p&gt;There are many ways to make a website responsive. One way is to use media queries. Media queries allow you to target specific screen sizes and apply different CSS rules to each screen size.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 6: CSS Animations
&lt;/h2&gt;

&lt;p&gt;On day six, you will learn about CSS animations. A CSS animation is a way of adding movement to an HTML element.&lt;/p&gt;

&lt;p&gt;CSS animations are created using the &lt;code&gt;@keyframes&lt;/code&gt; rule. The &lt;code&gt;@keyframes&lt;/code&gt; rule defines the stages of the animation. Each stage has a different CSS style that will be applied to the element.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 7: CSS Transitions
&lt;/h2&gt;

&lt;p&gt;On day seven, you will learn about CSS transitions. A CSS transition is a way of adding transition effects to an HTML element.&lt;/p&gt;

&lt;p&gt;CSS transitions are created using the &lt;code&gt;transition&lt;/code&gt; property. The &lt;code&gt;transition&lt;/code&gt; property defines the transition effect's duration, delay, and easing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 8: CSS Pseudo-Classes and Pseudo-Elements
&lt;/h2&gt;

&lt;p&gt;On day eight, you will learn about CSS pseudo-classes and pseudo-elements. A CSS pseudo-class is a way of adding special styles to an HTML element.&lt;/p&gt;

&lt;p&gt;CSS pseudo-classes are created using the &lt;code&gt;:&lt;/code&gt; character. For example, the &lt;code&gt;:hover&lt;/code&gt; pseudo-class can be used to add a hover effect to an HTML element.&lt;/p&gt;

&lt;p&gt;CSS pseudo-elements are used to style parts of an HTML element that are not inside the HTML element. For example, the ::before pseudo-element can be used to insert content before an HTML element.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 9: Fonts
&lt;/h2&gt;

&lt;p&gt;On day nine, you will learn about fonts. Fonts are the typefaces used on a webpage.&lt;/p&gt;

&lt;p&gt;There are two types of fonts: system fonts and web fonts. System fonts are installed on a user's computer, while web fonts are downloaded from the internet.&lt;/p&gt;

&lt;p&gt;Web fonts can be used to create custom typefaces for a webpage. The most popular font formats are WOFF, WOFF2, and EOT.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 10: Icons
&lt;/h2&gt;

&lt;p&gt;On day ten, you will learn about icons. Icons are small images used to represent an action or a concept.&lt;/p&gt;

&lt;p&gt;Icons can be created using a vector graphic program like Adobe Illustrator. Once the icons are created, they can be exported as SVG files.&lt;/p&gt;

&lt;p&gt;SVG files can be used on a webpage by embedding them into the HTML code. Icons can also be added to a webpage using icon fonts. Icon fonts are fonts that contain icons instead of letters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 11:  SVGs
&lt;/h2&gt;

&lt;p&gt;On day eleven, you will learn about SVGs. SVGs are vector graphic files that can be used on a webpage.&lt;/p&gt;

&lt;p&gt;SVGs can be created using a vector graphic program like Adobe Illustrator. Once the SVG is created, it can be exported as an SVG file.&lt;/p&gt;

&lt;p&gt;SVG files can be used on a webpage by embedding them into the HTML code. SVGs can also be added to a webpage using icon fonts. Icon fonts are fonts that contain icons instead of letters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 12: The Box Model
&lt;/h2&gt;

&lt;p&gt;On day twelve, you will learn about the box model. The box model is a way of adding margins, borders, and padding to an HTML element.&lt;/p&gt;

&lt;p&gt;The box model comprises four properties: margin, border, padding, and content. The margin property defines the space outside of an element. The border property defines a line around an element. The padding property defines the space inside of an element. The content property defines the element's content.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 13: Flexbox
&lt;/h2&gt;

&lt;p&gt;On day thirteen, you will learn about flexbox. Flexbox is a CSS layout mode that makes it easy to align and justify elements on a webpage.&lt;/p&gt;

&lt;p&gt;Flexbox is made up of two properties: flex-direction and justify-content. The flex-direction property defines the direction of the elements. The justify-content property defines how the elements are justified.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 14: CSS Grid
&lt;/h2&gt;

&lt;p&gt;On day fourteen, you will learn about the CSS grid. CSS grid is a CSS layout mode that makes it easy to create complex layouts.&lt;/p&gt;

&lt;p&gt;CSS grid is made up of two properties: grid-template-columns and grid-template-rows. The grid-template-columns property defines the columns in a grid. The grid-template-rows property defines the rows in a grid.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 15: CSS Frameworks
&lt;/h2&gt;

&lt;p&gt;On day three, you will learn about CSS frameworks. A CSS framework is a collection of HTML and CSS rules that can be used to style a webpage.&lt;/p&gt;

&lt;p&gt;There are many CSS frameworks, but some of the most popular ones include &lt;a href="https://getbootstrap.com/"&gt;Bootstrap&lt;/a&gt;, &lt;a href="https://tailwindcss.com/"&gt;Tailwind CSS&lt;/a&gt;, &lt;a href="https://chakra-ui.com/"&gt;ChakraUI&lt;/a&gt;, and &lt;a href="https://bulma.io/"&gt;Bulma&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;CSS frameworks can be used to style a webpage quickly. They can also be used to create responsive web pages, which are pages that look good on all devices.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 16: JavaScript Basics
&lt;/h2&gt;

&lt;p&gt;On day sixteen, you will learn about JavaScript basics. JavaScript is a programming language that can add interactivity to a webpage.&lt;/p&gt;

&lt;p&gt;JavaScript code is written in files with a &lt;code&gt;.js&lt;/code&gt; extension. The code is executed by the browser when the webpage is loaded.&lt;/p&gt;

&lt;p&gt;JavaScript code can be added to a webpage using the &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; element. The &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; element can be placed in the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; or &lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt; of an HTML document.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 17: Javascript  Variables Var, let, const
&lt;/h2&gt;

&lt;p&gt;On day seventeen, you will learn about variables. Variables are used to store values in a program.&lt;/p&gt;

&lt;p&gt;JavaScript has three types of variables: var, let, and const. Var variables are global variables. Let variables are local variables. Const variables are constant variables.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 18: Data Types In Javascript
&lt;/h2&gt;

&lt;p&gt;On day eighteen, you will learn about data types. Data types are used to define the type of data that a variable can store.&lt;/p&gt;

&lt;p&gt;JavaScript has seven data types: string, number, boolean, null, undefined, object, and symbol. Strings are used to store text data. Numbers are used to store numeric data. Booleans are used to store true or false values. Null is used to store a null value. Undefined is used to store an undefined value. Objects are used to store data in a key-value format. Symbols are used to create unique identifiers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 19: Operators In Javascript
&lt;/h2&gt;

&lt;p&gt;You will learn about operators on day nineteen. Operators are symbols that are used to perform operations on variables.&lt;/p&gt;

&lt;p&gt;JavaScript has six types of operators: assignment, arithmetic, comparison, logical, bitwise, and ternary. Assignment operators are used to assigning values to variables. Arithmetic operators are used to performing arithmetic operations on variables. Comparison operators are used to comparing two values. Logical operators are used to combining two Boolean values. Bitwise operators are used to performing bitwise operations on variables. The ternary operator is a conditional operator used to select one of two values based on a condition.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 20: If Statements And Loops In Javascript
&lt;/h2&gt;

&lt;p&gt;On day twenty, you will learn about if statements and loops. If statements are used to execute code based on a condition. Loops are used to execute code multiple times.&lt;/p&gt;

&lt;p&gt;JavaScript has three types of loops: for, while, and do-while. For loops are used to execute code a specific number of times. While loops are used to execute code until a condition is met. Do-while loops are used to execute code at least once and then repeat the code until a condition is met.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 21: Functions In Javascript
&lt;/h2&gt;

&lt;p&gt;You will learn about functions on day twenty-one. Functions are pieces of code that can be executed multiple times.&lt;/p&gt;

&lt;p&gt;Functions are declared using the function keyword. Functions can take arguments and return values.&lt;/p&gt;

&lt;p&gt;Function arguments are variables that are passed into a function. Function return values are values that are returned by a function.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 22: Objects In Javascript
&lt;/h2&gt;

&lt;p&gt;An object is a collection of key-value pairs. Keys are used to identifying values in an object. Values can be any data type.&lt;/p&gt;

&lt;p&gt;JavaScript objects are created using the Object() constructor. Objects can be created using object literal.&lt;/p&gt;

&lt;p&gt;An object literal is a comma-separated list of key-value pairs enclosed in curly braces.&lt;/p&gt;

&lt;p&gt;Keys in an object literal must be unique. Values in an object literal can be of any data type.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 23: Arrays In Javascript
&lt;/h2&gt;

&lt;p&gt;An array is a collection of values of the same data type. Arrays are indexed, meaning each value in an array has a numeric index.&lt;/p&gt;

&lt;p&gt;JavaScript arrays are created using the Array() constructor. Arrays can be created using array literals.&lt;/p&gt;

&lt;p&gt;An array literal is a comma-separated list of values enclosed in square brackets.&lt;/p&gt;

&lt;p&gt;Values in an array can be of any data type.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 24: Date And Time In Javascript
&lt;/h2&gt;

&lt;p&gt;The Date() object works with dates and times in JavaScript.&lt;/p&gt;

&lt;p&gt;The Date() object has many methods that can be used to get the current date and time, format dates and times, and calculate dates and times.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 25: Math In Javascript
&lt;/h2&gt;

&lt;p&gt;The Math object is used to perform mathematical operations in JavaScript.&lt;/p&gt;

&lt;p&gt;The Math object has many methods that can be used to perform basic mathematical operations, generate random numbers, and calculate trigonometric functions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 26: RegExp In Javascript
&lt;/h2&gt;

&lt;p&gt;A regular expression is a pattern that can be used to match strings.&lt;/p&gt;

&lt;p&gt;Regular expressions are created using the RegExp() constructor. Regular expressions can also be created using regular expression literal.&lt;/p&gt;

&lt;p&gt;Regular expression literals are enclosed in slashes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 27: Error Handling In Javascript
&lt;/h2&gt;

&lt;p&gt;Error handling is dealing with errors that occur when your code is executed.&lt;/p&gt;

&lt;p&gt;JavaScript has two types of errors: syntax errors and runtime errors. Syntax errors occur when your code is not valid in JavaScript. Error errors occur when your code attempts to do something that is impossible.&lt;/p&gt;

&lt;p&gt;JavaScript has two ways of dealing with errors: try-catch statements and the throw keyword.&lt;/p&gt;

&lt;p&gt;Try-catch statements are used to handle runtime errors. The throw keyword is used to generate custom errors.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 28: Cookies In Javascript
&lt;/h2&gt;

&lt;p&gt;Cookies are small pieces of data stored on a user's computer. Cookies store information about a user, such as their name, email address, and password.&lt;/p&gt;

&lt;p&gt;Cookies are created using the Cookie() constructor. Cookies are set using the setCookie() method. Cookies are retrieved using the getCookie() method.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 29: Event handling In Javascript
&lt;/h2&gt;

&lt;p&gt;Events are actions in the browser, such as a user clicking a button or moving their mouse over an element.&lt;/p&gt;

&lt;p&gt;JavaScript can respond to events using event handlers. Event handlers are functions that are executed when an event occurs.&lt;/p&gt;

&lt;p&gt;There are many different events, each with a different set of properties.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 30: Window Object In Javascript
&lt;/h2&gt;

&lt;p&gt;The window object is the global object in JavaScript. The window object has many properties and methods that can be used to manipulate the browser window.&lt;/p&gt;

&lt;p&gt;Some of the most popular properties and methods of the window object include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;open() - opens a new browser window&lt;/li&gt;
&lt;li&gt;close() - closes the current browser window&lt;/li&gt;
&lt;li&gt;resizeTo() - resizes the current browser window to a specified width and height&lt;/li&gt;
&lt;li&gt;scrollTo() - scrolls the current browser window to a specified position&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Free Resources:
&lt;/h2&gt;

&lt;p&gt;Here are the important resources to learn about frontend development:&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;W3Scchools: &lt;a href="https://www.w3schools.com/"&gt;https://www.w3schools.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Codecademy: &lt;a href="https://www.codecademy.com/"&gt;https://www.codecademy.com/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;freeCodeCamp: &lt;a href="https://www.freecodecamp.org/"&gt;https://www.freecodecamp.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;MDN Web Docs: &lt;a href="https://developer.mozilla.org/en-US/docs/Web"&gt;https://developer.mozilla.org/en-US/docs/Web&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Dash by General Assembly: &lt;a href="https://dash.generalassemb.ly/"&gt;https://dash.generalassemb.ly/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Scrimba: &lt;a href="https://scrimba.com/g/gbootstrap4"&gt;https://scrimba.com/g/gbootstrap4&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The Odin Project: &lt;a href="https://www.theodinproject.com/courses/front-end-development"&gt;https://www.theodinproject.com/courses/front-end-development&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Google Developers: &lt;a href="https://developers.google.com/web/fundamentals/"&gt;https://developers.google.com/web/fundamentals/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Udemy: &lt;a href="https://www.udemy.com/topic/front-end-development/"&gt;https://www.udemy.com/topic/front-end-development/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Coursera: &lt;a href="https://www.coursera.org/specializations/front-end-javascript"&gt;https://www.coursera.org/specializations/front-end-javascript&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Youtube channels&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;freeCodeCamp.org&lt;/li&gt;
&lt;li&gt;The Net Ninja&lt;/li&gt;
&lt;li&gt;Traversy Media&lt;/li&gt;
&lt;li&gt;DevTips&lt;/li&gt;
&lt;li&gt;Google Developers&lt;/li&gt;
&lt;li&gt;LevelUpTuts&lt;/li&gt;
&lt;li&gt;SeeSoCode&lt;/li&gt;
&lt;li&gt;Academind&lt;/li&gt;
&lt;li&gt;Codevolution&lt;/li&gt;
&lt;li&gt;Web Dev Simplified&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Summary:&lt;/p&gt;

&lt;p&gt;This concludes the 30 Days Frontend Development Roadmap. We hope this helped give you a general overview of the concepts and technologies used in front-end development. If you have any questions or comments, feel free to reach out to me on my Twitter handle &lt;a href="https://twitter.com/iamatifriaz"&gt;@iamatifriaz&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you enjoyed this content, don’t forget to like, comment, and reshare!&lt;/p&gt;

&lt;p&gt;Follow me for more free tips and free resources.&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;

&lt;p&gt;P.S. I'm also on Hashnode and &lt;a href="https://atifriaz.hashnode.dev/frontend-development-roadmap"&gt;click here&lt;/a&gt; to read this article on it. &lt;/p&gt;

</description>
      <category>frontend</category>
      <category>html</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Gradient Text</title>
      <dc:creator>Atif Riaz</dc:creator>
      <pubDate>Sun, 31 Jul 2022 20:31:01 +0000</pubDate>
      <link>https://dev.to/iamatifriaz/gradient-text-1704</link>
      <guid>https://dev.to/iamatifriaz/gradient-text-1704</guid>
      <description>&lt;p&gt;Gives text a gradient color.&lt;/p&gt;

&lt;h2&gt;
  
  
  HTML
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;h1 class="gradient-text"&amp;gt;Gradient text&amp;lt;/h1&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  CSS
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.gradient-text {
font-size: 100px;
  background: -webkit-linear-gradient(pink, red);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Demo&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/atif-riaz/embed/KKoZZep?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>codepen</category>
      <category>css3</category>
      <category>frontend</category>
    </item>
    <item>
      <title>How to Fix ERROR in Plugin 'react' was conflicted between 'package.json' and 'eslint-config-react-app'?</title>
      <dc:creator>Atif Riaz</dc:creator>
      <pubDate>Mon, 09 May 2022 19:02:20 +0000</pubDate>
      <link>https://dev.to/iamatifriaz/how-to-fix-error-in-plugin-react-was-conflicted-between-packagejson-and-eslint-config-react-app-365d</link>
      <guid>https://dev.to/iamatifriaz/how-to-fix-error-in-plugin-react-was-conflicted-between-packagejson-and-eslint-config-react-app-365d</guid>
      <description>&lt;p&gt;If you're seeing the error message "Plugin 'react' was conflicted between 'package.json' and 'eslint-config-react-app'" then it's likely that you have a conflict in your project's dependencies.&lt;br&gt;
*&lt;em&gt;There are a few ways to resolve this problem: *&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Solution 1: Check the DIRECTORY name
&lt;/h2&gt;

&lt;p&gt;Make sure the directory name is &lt;strong&gt;not capitalized&lt;/strong&gt;. For example, the directory name "Reactapp/REACTAPP/React-app" will throw this error, but "reactapp/react-app" will not. Sometimes casing may cause issues. &lt;/p&gt;

&lt;h2&gt;
  
  
  Solution 2: downgrade to version 6.
&lt;/h2&gt;

&lt;p&gt;If you're using yarn, you can **downgrade **to version 6.8.0 of the eslint-config-react-app package by running the following command:&lt;br&gt;
yarn add --dev eslint-config-react-app@6.&lt;/p&gt;

&lt;h2&gt;
  
  
  Solution 3: Save the package.json file
&lt;/h2&gt;

&lt;p&gt;If you're using a package manager other than yarn, you can try saving your project's package.json file &lt;strong&gt;(ctrl + s)&lt;/strong&gt; and running the command again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Solution 4: Uninstall eslint-config-react-app and reinstall it.
&lt;/h2&gt;

&lt;p&gt;If the above solutions don't work, you can try uninstalling eslint-config-react-app and reinstalling it: &lt;br&gt;
yarn remove eslint-config-react-app &lt;br&gt;
yarn add --dev eslint-config-react-app&lt;/p&gt;

&lt;h2&gt;
  
  
  Solution 5: Remove the conflict from your project's dependencies.
&lt;/h2&gt;

&lt;p&gt;If you're still seeing the error, it's likely that there is a conflict in your project's dependencies. You can try removing the conflicting dependency from your package.json file and running the command again.   &lt;/p&gt;

&lt;p&gt;If you're still seeing this error after trying these steps, please file a bug report at &lt;a href="https://github.com/eslint/eslint/issues"&gt;https://github.com/eslint/eslint/issues&lt;/a&gt;. Include your project's dependencies and versions, as well as your ESLint configuration.&lt;/p&gt;

&lt;p&gt;Originally this post is added on my hashnode profile first and here is the link &lt;a href="https://atifriaz.hashnode.dev/how-to-fix-error-in-plugin-react-was-conflicted-between-packagejson-and-eslint-config-react-app"&gt;https://atifriaz.hashnode.dev/how-to-fix-error-in-plugin-react-was-conflicted-between-packagejson-and-eslint-config-react-app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>💡 .filter() &amp; .find(): JavaScript Array Methods</title>
      <dc:creator>Atif Riaz</dc:creator>
      <pubDate>Wed, 10 Nov 2021 16:48:47 +0000</pubDate>
      <link>https://dev.to/iamatifriaz/filter-find-javascript-array-methods-3g6e</link>
      <guid>https://dev.to/iamatifriaz/filter-find-javascript-array-methods-3g6e</guid>
      <description>&lt;p&gt;When working with an array in JavaScript, we may need to locate a single item within the collection. This may appear tiresome, but if we apply the right methods/procedures/techniques, it shouldn't be too tough.&lt;/p&gt;

&lt;p&gt;There are various ways to extract the needed values from an array, but we'll utilize JavaScript's .find() and .filter() methods here.&lt;/p&gt;

&lt;p&gt;A coding example&lt;br&gt;
We have an array of appsArray:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

const appsArray = [{  
    Name: 'Canva',  
    ID: 10  
}, {  
    Name: 'VS Code',  
    ID: 12  
}, {  
    Name: 'Github',  
    ID: 52  
}, {  
    Name: 'Adobe',  
    ID: 23  
}];


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

&lt;/div&gt;
&lt;p&gt;We need an app with an ID of 12&lt;/p&gt;
&lt;h2&gt;
  
  
  .find()
&lt;/h2&gt;

&lt;p&gt;The find() method returns the first value from the collection that matches. It will not examine the other values in the array collection after it matches the value in findings.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

appsArray.find(function(item) {  
    return item.ID === 12  
});  

//output: {Name: "VS Code", ID: 12}


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

&lt;/div&gt;
&lt;h2&gt;
  
  
  .filter()
&lt;/h2&gt;

&lt;p&gt;The filter() method returns the collection's matched values as an array. It will verify all of the values in the collection and return an array of the matching values.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

appsArray.filter(function(item) {  
    return item.ID === 12  
});  

//output: [ {Name: "VS Code", ID: 12} ]


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

&lt;/div&gt;
&lt;p&gt;In Internet Explorer 11, the find() method does not work. All browsers, including Internet Explorer 9+, support the filter() method.&lt;/p&gt;

&lt;p&gt;Using the snippet below, you can obtain the first matched value from the collection of filter() method results. This solution solves the find() method's IE compatibility problem.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

appsArray.filter(function(item) {  
    return item.ID === 12
})[0];  

//output: {Name: "VS Code", ID: 12}


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

&lt;/div&gt;
&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The find() technique is preferable for newer browsers, but if you care about Internet Explorer, you should use the filter() method.&lt;/p&gt;

&lt;p&gt;.find() returns the first matching element, while .filter() returns an array of all matching elements.&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1458472863929876488-63" src="https://platform.twitter.com/embed/Tweet.html?id=1458472863929876488"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1458472863929876488-63');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1458472863929876488&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Hope you found this article useful, if you did, shoot me a comment to let me know. If you think I did something wrong, please also let me know in the comments.&lt;/p&gt;

&lt;p&gt;Happy coding.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>⚡JS Tip: Create Emoji Characters in JavaScript using String.fromCodePoint();</title>
      <dc:creator>Atif Riaz</dc:creator>
      <pubDate>Thu, 16 Sep 2021 11:51:00 +0000</pubDate>
      <link>https://dev.to/iamatifriaz/js-tip-create-emoji-characters-in-javascript-using-string-fromcodepoint-20nh</link>
      <guid>https://dev.to/iamatifriaz/js-tip-create-emoji-characters-in-javascript-using-string-fromcodepoint-20nh</guid>
      <description>&lt;p&gt;The String.fromCodePoint() method was added to ECMAScript 2015. The result of this method is a string (and not a String object).&lt;br&gt;
Because fromCodePoint() is a static String method, you must call it as String.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let smile = String.fromCodePoint(128516); // '128516' is character code
let str = `I got you ${smile}!`;
console.log(str);
// output: "I got you 😄!" 


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

&lt;/div&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%2F483aunrbvexwk9qvtvlr.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%2F483aunrbvexwk9qvtvlr.png" alt="You can create emoji characters in JavaScript using String.fromCodePoint( );"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Syntax
&lt;/h2&gt;

&lt;p&gt;Here is the syntax:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;String.fromCodePoint(num1)
String.fromCodePoint(num1, num2)
String.fromCodePoint(num1, num2, ..., numN)

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Initially created on Twitter
&lt;/h2&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1437788236332605449-521" src="https://platform.twitter.com/embed/Tweet.html?id=1437788236332605449"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1437788236332605449-521');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1437788236332605449&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;If you liked this article, be sure to ❤️ it.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>javascript30</category>
    </item>
    <item>
      <title>6 Beginners Friendly Websites to Learn JavaScript [Free]</title>
      <dc:creator>Atif Riaz</dc:creator>
      <pubDate>Tue, 15 Jun 2021 06:37:20 +0000</pubDate>
      <link>https://dev.to/iamatifriaz/6-beginners-friendly-websites-to-learn-javascript-free-1e5d</link>
      <guid>https://dev.to/iamatifriaz/6-beginners-friendly-websites-to-learn-javascript-free-1e5d</guid>
      <description>&lt;p&gt;JavaScript is one of the most popular modern web technologies! As your JavaScript skills grow, your websites will enter a new dimension of power and creativity. &lt;br&gt;
I'm gonna list down 6 platforms/websites from where you can learn JavaScript without spending a single penny:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;w3schools&lt;/li&gt;
&lt;li&gt;Learn JavaScript&lt;/li&gt;
&lt;li&gt;JavaScript Info&lt;/li&gt;
&lt;li&gt;Developer Mozilla&lt;/li&gt;
&lt;li&gt;FreeCodeCamp&lt;/li&gt;
&lt;li&gt;JavaScript30&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. w3schools
&lt;/h2&gt;

&lt;p&gt;W3Schools is a web developers site, with tutorials and references on web development languages such as HTML, CSS, JavaScript, PHP, SQL, jQuery, Java, C++, C#, React, Node.js, and Bootstrap, covering most aspects of web programming.&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://w3schools.com/js/"&gt;https://w3schools.com/js/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Learn JavaScript
&lt;/h2&gt;

&lt;p&gt;Learn modern JavaScript from scratch, and practice in an intuitive environment. The challenges are inspired by modern real-world projects to make sure that you're learning the best practices, one step at a time.&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://learnjavascript.online/"&gt;https://learnjavascript.online/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. JavaScript Info
&lt;/h2&gt;

&lt;p&gt;Here you start with basic and go on to advanced levels like OOP. &lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://javascript.info/"&gt;https://javascript.info/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Developer Mozilla
&lt;/h2&gt;

&lt;p&gt;JavaScript is arguably more difficult to learn than related technologies such as HTML and CSS. Before attempting to learn JavaScript, you are strongly advised to get familiar with at least these two.&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://developer.mozilla.org/en-US/docs/Learn/JavaScript"&gt;https://developer.mozilla.org/en-US/docs/Learn/JavaScript&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. FreeCodeCamp
&lt;/h2&gt;

&lt;p&gt;As you can see here you have a different section/certification. And first, you have tutorials then, in the end, you need to finish 5 projects to get that certification. Certification is free&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://www.freecodecamp.org/learn"&gt;https://www.freecodecamp.org/learn&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. JavaScript30
&lt;/h2&gt;

&lt;p&gt;Beginner to Intermediate developers and designers who want to become comfortable with both JavaScript fundamentals and working in the DOM without a library.&lt;/p&gt;

&lt;p&gt;Also, you can check  &lt;a class="mentioned-user" href="https://dev.to/wesbos"&gt;@wesbos&lt;/a&gt; Youtube channel&lt;/p&gt;

&lt;p&gt;Link: &lt;a href="https://javascript30.com/"&gt;https://javascript30.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Initially created on Twitter:&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mmK78nei--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://pbs.twimg.com/media/E331ID5WYAMfInN.png" alt="unknown tweet media content"&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--lI0mrSrW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://pbs.twimg.com/profile_images/1351054617799487491/fExqaDZh_normal.jpg" alt="Muhammad Atif Riaz profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Muhammad Atif Riaz
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/iamatifriaz"&gt;@iamatifriaz&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kDgU_xDI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      6 Beginners Friendly Websites to Learn JavaScript&lt;br&gt;&lt;br&gt;🧵&lt;br&gt;&lt;br&gt;&lt;a href="https://twitter.com/hashtag/javascript"&gt;#javascript&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/100DaysOfCode"&gt;#100DaysOfCode&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      21:26 PM - 14 Jun 2021
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1404550718292430857" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OXOJJiQT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1404550718292430857" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--foTp-unf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1404550718292430857" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SFHqU4bF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;
 

&lt;p&gt;If you liked this article, be sure to ❤️ it.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>100daysofcode</category>
    </item>
    <item>
      <title>7 Easy Steps to Secure a WordPress Site 🔐</title>
      <dc:creator>Atif Riaz</dc:creator>
      <pubDate>Wed, 10 Mar 2021 17:02:16 +0000</pubDate>
      <link>https://dev.to/iamatifriaz/7-easy-steps-to-secure-a-wordpress-site-46of</link>
      <guid>https://dev.to/iamatifriaz/7-easy-steps-to-secure-a-wordpress-site-46of</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--epHP-MjX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4g2p5i4n77l3rgyesolx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--epHP-MjX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4g2p5i4n77l3rgyesolx.jpg" alt="Alt Text" width="722" height="265"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;WordPress is so widely used, any programmer working with it has to take great care to harden it against external attacks.  &lt;/p&gt;

&lt;p&gt;In a single incident last year alone, almost a million websites were attacked in a single month.&lt;/p&gt;

&lt;p&gt;But there are some things you can do that will harden a WordPress site against attacks that will stop all but the most sophisticated threats. &lt;/p&gt;

&lt;p&gt;Here are the 7 security steps to take on every WordPress site you work with:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Update WordPress to the Latest Version&lt;/li&gt;
&lt;li&gt;Remove Unused Plugins and Update the Rest&lt;/li&gt;
&lt;li&gt;Minimize User Permissions and Secure Logins&lt;/li&gt;
&lt;li&gt;Disable PHP Execution in Untrusted Folders&lt;/li&gt;
&lt;li&gt;Disable PHP Error Display&lt;/li&gt;
&lt;li&gt;Disable Theme and Plugin Editing&lt;/li&gt;
&lt;li&gt;Change site database default table prefix to something obscure &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Initially created on Twitter:&lt;br&gt;
&lt;/p&gt;
&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--lI0mrSrW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://pbs.twimg.com/profile_images/1351054617799487491/fExqaDZh_normal.jpg" alt="Muhammad Atif Riaz profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Muhammad Atif Riaz
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/iamatifriaz"&gt;@iamatifriaz&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kDgU_xDI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Secure a WordPress Site in Seven Easy Steps👇👇&lt;br&gt;&lt;br&gt;Because WordPress is so widely used, any programmer working with it has to take great care to harden it against external attacks. &lt;br&gt;&lt;br&gt;1/n&lt;br&gt;&lt;br&gt;&lt;a href="https://twitter.com/hashtag/wordpress"&gt;#wordpress&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/webdev"&gt;#webdev&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/100DaysOfCode"&gt;#100DaysOfCode&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/php"&gt;#php&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/javascript"&gt;#javascript&lt;/a&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      12:58 PM - 08 Mar 2021
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1368909034594635779" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OXOJJiQT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1368909034594635779" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--foTp-unf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1368909034594635779" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SFHqU4bF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;
 

&lt;p&gt;If you liked this article, be sure to ❤️ it.&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>websitedevelopment</category>
    </item>
    <item>
      <title>3 Ways to Clone Objects in JavaScript</title>
      <dc:creator>Atif Riaz</dc:creator>
      <pubDate>Mon, 22 Feb 2021 10:36:15 +0000</pubDate>
      <link>https://dev.to/iamatifriaz/3-ways-to-clone-objects-in-javascript-electric-light-bulb-3h2f</link>
      <guid>https://dev.to/iamatifriaz/3-ways-to-clone-objects-in-javascript-electric-light-bulb-3h2f</guid>
      <description>&lt;p&gt;Since Objects in JavaScript are reference values, you cant just Copy Using the =. But no worries, here are 3 different ways for you to Clone an Object&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Spread&lt;/li&gt;
&lt;li&gt;Object.assign&lt;/li&gt;
&lt;li&gt;JSON
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;food&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;beef&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;🥩&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;bacon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;🥓&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// "Spread"&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;food&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// "Object.assign"&lt;/span&gt;
&lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;assign&lt;/span&gt;&lt;span class="p"&gt;({},&lt;/span&gt; &lt;span class="nx"&gt;food&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;// "JSON"&lt;/span&gt;
&lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;food&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;// RESULT:&lt;/span&gt;
&lt;span class="c1"&gt;// { beef: '🥩', bacon: '🥓' }&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GkXJBSe6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h85fasajva0j47j0x8w5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GkXJBSe6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h85fasajva0j47j0x8w5.png" alt="3 Ways to Clone Objects in javascript" width="800" height="464"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
