<?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: Ahmed Saber</title>
    <description>The latest articles on DEV Community by Ahmed Saber (@ahmed0saber).</description>
    <link>https://dev.to/ahmed0saber</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%2F757769%2Fb954b3b5-88b0-46af-a4b4-f0a9aefc0303.png</url>
      <title>DEV Community: Ahmed Saber</title>
      <link>https://dev.to/ahmed0saber</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ahmed0saber"/>
    <language>en</language>
    <item>
      <title>Intern2Grow: Virtual Internships, Real Tasks</title>
      <dc:creator>Ahmed Saber</dc:creator>
      <pubDate>Mon, 06 Nov 2023 20:36:51 +0000</pubDate>
      <link>https://dev.to/ahmed0saber/intern2grow-virtual-internships-real-tasks-326n</link>
      <guid>https://dev.to/ahmed0saber/intern2grow-virtual-internships-real-tasks-326n</guid>
      <description>&lt;p&gt;&lt;a href="https://intern2grow.vercel.app/"&gt;Intern2Grow&lt;/a&gt; is a platform dedicated to providing virtual internships with real tasks. The aim is to offer valuable work experience to people looking to enhance their knowledge and skills. The organization believes in the value of hands-on learning, thus providing interns with tasks that mirror those they would encounter in a real-world job setting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features of Intern2Grow
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Real Tasks&lt;/strong&gt;: Intern2Grow differentiates itself by offering real tasks as part of their virtual internship programs. This means interns are tasked with contributing to actual projects, which provides a more practical and realistic experience compared to hypothetical or simulated tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free and Remote&lt;/strong&gt;: The internships are free and can be done remotely. This opens up opportunities for a global audience, allowing anyone from around the world to participate and gain experience without any financial constraints.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easy Application Process&lt;/strong&gt;: The platform is designed with simplicity in mind. It requires no complex details for the application process, making it accessible and user-friendly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexible Timing&lt;/strong&gt;: Internships are available at any time. This allows for great flexibility, accommodating individuals with different schedules and time zones.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Certificate of Completion&lt;/strong&gt;: Upon completion of all tasks, interns receive a certificate, which can be added to their resume or LinkedIn profile.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How to Get Started
&lt;/h2&gt;

&lt;p&gt;The process to start a virtual internship on Intern2Grow is straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Visit the Programs Page to view all available internships.&lt;/li&gt;
&lt;li&gt;Choose an internship program that aligns with your career goals.&lt;/li&gt;
&lt;li&gt;Fill out and submit your details.&lt;/li&gt;
&lt;li&gt;Upon acceptance, you will receive an email containing your tasks.&lt;/li&gt;
&lt;li&gt;Complete all tasks and submit them.&lt;/li&gt;
&lt;li&gt;After submission, wait for a second email with a link to your certificate.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Testimonials
&lt;/h2&gt;

&lt;p&gt;Intern2Grow has received positive feedback from its users. One of the interns, Mustafa Eisa, a Frontend Developer, commented, "It was a unique experience, and what makes the training more effective is that the tasks depend on adding features to already developed projects. This improves the experience much better than developing from A:Z".&lt;/p&gt;

&lt;h2&gt;
  
  
  The Team Behind Intern2Grow
&lt;/h2&gt;

&lt;p&gt;Intern2Grow was founded by &lt;a href="https://ahmed0saber-links-tree.onrender.com/"&gt;Ahmed Saber&lt;/a&gt;, a T-shaped software developer specialized in frontend web development. His passion for teaching, mentoring, and content creation, coupled with his active engagement in open-source initiatives, led to the creation of this platform.&lt;/p&gt;

&lt;p&gt;In conclusion, Intern2Grow is a promising platform for anyone looking to gain practical work experience through virtual internships. By focusing on real tasks and offering a flexible, accessible, and cost-free approach, it provides a valuable stepping stone for those early in their career journey.&lt;/p&gt;

&lt;p&gt;If you are interested to know more about Intern2Grow, you can visit the website via the following link: &lt;a href="https://intern2grow.vercel.app/"&gt;https://intern2grow.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This article was mostly generated by &lt;a href="https://www.phind.com/"&gt;Phind AI&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>career</category>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Web Storage (Cookies, localStorage, and sessionStorage)</title>
      <dc:creator>Ahmed Saber</dc:creator>
      <pubDate>Thu, 06 Apr 2023 22:03:16 +0000</pubDate>
      <link>https://dev.to/ahmed0saber/web-storage-cookies-localstorage-and-sessionstorage-11bh</link>
      <guid>https://dev.to/ahmed0saber/web-storage-cookies-localstorage-and-sessionstorage-11bh</guid>
      <description>&lt;p&gt;Web storage is a mechanism that allows web applications to store data on the client-side, thus enabling them to retain data even after the user closes the browser or navigates away from the website. There are three types of web storage available in modern web browsers: Cookies, localStorage, and sessionStorage. In this article, we will explore each of these storage mechanisms in detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cookies
&lt;/h2&gt;

&lt;p&gt;Cookies are small text files that are stored on the client-side by web browsers. They are commonly used to store user preferences, login credentials, and other data that needs to be persisted between browser sessions. Cookies can be set using the &lt;code&gt;document.cookie&lt;/code&gt; property in JavaScript, and they have an expiration date that determines how long they will persist on the client-side.&lt;/p&gt;

&lt;p&gt;Cookies have several advantages and disadvantages. On the one hand, they are widely supported by web browsers and can be used to store small amounts of data. On the other hand, they are vulnerable to security attacks, such as cross-site scripting (XSS) and cross-site request forgery (CSRF), and they have a limited storage capacity of 4KB.&lt;/p&gt;

&lt;h2&gt;
  
  
  localStorage
&lt;/h2&gt;

&lt;p&gt;localStorage is a storage mechanism that allows web applications to store data on the client-side without an expiration date. Unlike cookies, localStorage is not sent to the server with every HTTP request, which makes it a more efficient and secure way to store data on the client-side. localStorage has a storage capacity of 5–10MB, depending on the web browser.&lt;/p&gt;

&lt;p&gt;To use localStorage in JavaScript, you can use the &lt;code&gt;localStorage&lt;/code&gt; object, which provides a simple key-value store interface. Here's an example of how to set and retrieve a value from localStorage:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;localStorage.setItem('myKey', 'myValue');&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;const myValue = localStorage.getItem('myKey');&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;localStorage is a great option for storing user preferences, settings, and other data that needs to persist across browser sessions.&lt;/p&gt;

&lt;h2&gt;
  
  
  sessionStorage
&lt;/h2&gt;

&lt;p&gt;sessionStorage is similar to localStorage, but it only persists data for the duration of the browser session. When the user closes the browser or navigates away from the website, the data stored in sessionStorage is deleted. sessionStorage has the same storage capacity as localStorage (5–10MB), and it is also accessed through the &lt;code&gt;sessionStorage&lt;/code&gt; object in JavaScript.&lt;/p&gt;

&lt;p&gt;Here's an example of how to use sessionStorage:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sessionStorage.setItem('myKey', 'myValue');&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;const myValue = sessionStorage.getItem('myKey');&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;sessionStorage is useful for storing data that needs to be available during a single browser session, such as shopping cart data or form inputs.&lt;/p&gt;

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

&lt;p&gt;In this article, we have explored the three types of web storage available in modern web browsers: Cookies, localStorage, and sessionStorage. Cookies are widely supported but have security vulnerabilities and limited storage capacity. localStorage is a more efficient and secure way to store data on the client-side, and it is great for storing data that needs to persist across browser sessions. sessionStorage is useful for storing data that needs to be available during a single browser session. By understanding the differences between these storage mechanisms, web developers can choose the right storage mechanism for their web applications and improve the user experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can find &amp;amp; contact me&lt;/strong&gt; on &lt;a href="https://medium.com/r/?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fahmed0saber%2F"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://medium.com/r/?url=https%3A%2F%2Fgithub.com%2Fahmed0saber"&gt;GitHub&lt;/a&gt;, and &lt;a href="https://medium.com/r/?url=https%3A%2F%2Fwww.facebook.com%2Fprofile.php%3Fid%3D100004875915808"&gt;Facebook&lt;/a&gt;, and here is &lt;a href="https://medium.com/r/?url=https%3A%2F%2Fahmed0saber.onrender.com%2F"&gt;my portfolio&lt;/a&gt; for more details about me.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Most common HTML interview questions</title>
      <dc:creator>Ahmed Saber</dc:creator>
      <pubDate>Mon, 27 Mar 2023 20:44:55 +0000</pubDate>
      <link>https://dev.to/ahmed0saber/most-common-html-interview-questions-38k</link>
      <guid>https://dev.to/ahmed0saber/most-common-html-interview-questions-38k</guid>
      <description>&lt;p&gt;In this article, I will try to include some of the most common HTML interview questions with their answers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What is HTML?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML stands for HyperText Markup Language.&lt;/li&gt;
&lt;li&gt;It is a markup language used to create web pages and applications for the World Wide Web.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. What is the difference between HTML and XHTML?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML and XHTML are both markup languages used to create web pages. However, XHTML is a stricter and more standardized version of HTML, and follows the rules of XML.&lt;/li&gt;
&lt;li&gt;XHTML requires all tags to be closed and all attributes to be quoted, whereas HTML does not have these requirements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. What are the basic tags in HTML?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Basic HTML tags include &lt;code&gt;&amp;lt;html&amp;gt;, &amp;lt;head&amp;gt;, &amp;lt;title&amp;gt;, &amp;lt;body&amp;gt;, &amp;lt;p&amp;gt;, &amp;lt;a&amp;gt;, &amp;lt;img&amp;gt;, &amp;lt;ul&amp;gt;, &amp;lt;ol&amp;gt;, &amp;lt;li&amp;gt;, &amp;lt;table&amp;gt;, &amp;lt;tr&amp;gt;, &amp;lt;td&amp;gt;, &amp;lt;th&amp;gt;, &amp;lt;form&amp;gt;, &amp;lt;input&amp;gt;, &amp;lt;select&amp;gt;, &amp;lt;option&amp;gt;, &amp;lt;button&amp;gt;, and &amp;lt;div&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. What is the difference between a div and a span?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; tag is a block-level element used to group other HTML elements together into a container.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; tag is an inline element used to apply styles to specific portions of text.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. What is the difference between an inline element and a block-level element?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inline elements are elements that do not start on a new line, and only take up as much width as necessary.&lt;/li&gt;
&lt;li&gt;Block-level elements are elements that start on a new line and take up the full width of their parent container.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;6. What is the purpose of the alt attribute in an image tag?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The alt attribute provides alternative text for an image, which is displayed if the image cannot be loaded or if the user is using a screen reader.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;7. What is the purpose of the title attribute in an anchor tag?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The title attribute provides additional information about the link, which is displayed as a tooltip when the user hovers over the link.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;8. What is the purpose of the rel attribute in a link tag?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The rel attribute specifies the relationship between the linked document and the current document, and is used by search engines and other tools to understand the context of the link.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;9. What is the difference between the HTML meta tag and the HTML link tag?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;&amp;lt;meta&amp;gt;&lt;/code&gt; tag is used to provide additional information about the web page, such as the author, description, and keywords.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; tag is used to link to external resources, such as stylesheets or scripts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;10. What is the purpose of the HTML form tag?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; tag is used to create a form on a web page, which allows users to submit data to a server.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;11. What is the difference between a post and a get method in HTML forms?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The post method submits the form data to the server in the body of the HTTP request, while the get method submits the form data as URL parameters in the query string.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;12. What is the purpose of the HTML table tag?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;&amp;lt;table&amp;gt;&lt;/code&gt; tag is used to create a table on a web page, which can be used to display data in an organized and structured manner.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;13. How do you make a table responsive in HTML?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To make a table responsive in HTML, you can use CSS to set the table’s width to 100% and apply responsive design techniques, such as using media queries and adjusting the font size and layout for smaller screens.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;14. What is the purpose of the HTML canvas tag?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;&amp;lt;canvas&amp;gt;&lt;/code&gt; tag is used to create graphics and animations on a web page using JavaScript.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;15. What is the purpose of the HTML video tag?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; tag is used to embed video content on a web page, and provides controls for playback and volume.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;That’s all&lt;/strong&gt;, now you have good knowledge about the most common HTML questions being asked in interviews.&lt;/p&gt;

&lt;p&gt;You can find &amp;amp; contact me on &lt;a href="https://www.linkedin.com/in/ahmed0saber/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/ahmed0saber"&gt;GitHub&lt;/a&gt;, and &lt;a href="https://www.facebook.com/profile.php?id=100004875915808"&gt;Facebook&lt;/a&gt;, and here is &lt;a href="https://ahmed0saber.onrender.com/"&gt;my portfolio&lt;/a&gt; for more details about me.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
    </item>
    <item>
      <title>Deploy React.js application on Render</title>
      <dc:creator>Ahmed Saber</dc:creator>
      <pubDate>Sun, 26 Mar 2023 02:30:33 +0000</pubDate>
      <link>https://dev.to/ahmed0saber/deploy-reactjs-application-on-render-2dca</link>
      <guid>https://dev.to/ahmed0saber/deploy-reactjs-application-on-render-2dca</guid>
      <description>&lt;p&gt;React.js is a popular JavaScript library for building user interfaces, and Render is a cloud platform for deploying and managing applications.&lt;/p&gt;

&lt;p&gt;In this article, I will show you the steps required to deploy a React.js application on Render.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Create a Render Account.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First, you will need to create an account on Render.&lt;/li&gt;
&lt;li&gt;You can sign up for a free account at &lt;a href="https://render.com/signup"&gt;Render&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Once you have signed up, you will be taken to the Render dashboard.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Create a New Web Service.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To deploy a React.js application on Render, you will need to create a new web service.&lt;/li&gt;
&lt;li&gt;Click on the “New Web Service” button on the Render dashboard, and then select “Static Site” from the list of options.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Connect to Your GitHub Repository.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next, you will need to connect your GitHub repository to your Render account.&lt;/li&gt;
&lt;li&gt;This will allow you to deploy your React.js application directly from your GitHub repository.&lt;/li&gt;
&lt;li&gt;To do this, select “GitHub” as the deployment method, and then select the repository and branch that you want to deploy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Configure the Build Settings.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After you have connected your GitHub repository, you will need to configure the build settings for your React.js application.&lt;/li&gt;
&lt;li&gt;Render supports a wide range of build tools and frameworks, including Create React App.&lt;/li&gt;
&lt;li&gt;If you are using Create React App, you can simply enter “npm run build” as the build command, and “build” as the build directory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Deploy Your React.js Application.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Once you have configured the build settings, you can deploy your React.js application by clicking on the “Create Web Service” button.&lt;/li&gt;
&lt;li&gt;Render will automatically build and deploy your application, and you can then access it by clicking on the URL provided on the Render dashboard.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;In conclusion&lt;/strong&gt;, deploying a React.js application on Render is a straightforward process that can be completed in just a few simple steps.&lt;br&gt;
By following the steps outlined in this article, you can quickly and easily deploy your React.js application on Render and take advantage of its powerful cloud hosting and management features.&lt;/p&gt;

&lt;p&gt;You can find &amp;amp; contact me on &lt;a href="https://www.linkedin.com/in/ahmed0saber/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/ahmed0saber"&gt;GitHub&lt;/a&gt;, and &lt;a href="https://www.facebook.com/profile.php?id=100004875915808"&gt;Facebook&lt;/a&gt;, and here is &lt;a href="https://ahmed0saber.onrender.com/"&gt;my portfolio&lt;/a&gt; for more details about me.&lt;/p&gt;

</description>
      <category>react</category>
      <category>github</category>
    </item>
    <item>
      <title>How to gain experience without work ?</title>
      <dc:creator>Ahmed Saber</dc:creator>
      <pubDate>Sun, 26 Mar 2023 02:24:55 +0000</pubDate>
      <link>https://dev.to/ahmed0saber/how-to-gain-experience-without-work--1624</link>
      <guid>https://dev.to/ahmed0saber/how-to-gain-experience-without-work--1624</guid>
      <description>&lt;p&gt;Here I will be discussing some ways in which you can gain experience and be job-ready, let’s start.&lt;/p&gt;

&lt;p&gt;nowadays, it’s difficult to find a job without any previous experience, but we need a job to gain experience and we need experience to get a job, what will end to an infinite loop, so let’s break the loop, and find another suitable solution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find an internship.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Let’s classify internships into 2 main categories:-&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real Internships:&lt;/strong&gt; in which you will be working with a real team on a real project, save your time and start seaching for them on &lt;a href="https://www.linkedin.com/"&gt;LinkedIn&lt;/a&gt; and &lt;a href="https://internshala.com/"&gt;Internshala&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Virtual Internships:&lt;/strong&gt; in which you will be working alone on virtual projects, you can start looking for them now on &lt;a href="https://www.theforage.com/"&gt;Forage&lt;/a&gt;, &lt;a href="https://www.thesparksfoundationsingapore.org/"&gt;TheSparksFoundation&lt;/a&gt; and &lt;a href="https://letsgrowmore.in/"&gt;LetsGrowMore&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Find a team and build a project together.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Being in a team, will let you share your experience with others and gain experience from them, let’s start looking for a team on &lt;a href="https://www.linkedin.com/"&gt;LinkedIn&lt;/a&gt; or &lt;a href="https://www.chingu.io/"&gt;Chingu&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Contribute to open source project.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Contributing to an open source project will make you aware about how large projects are built and how a team can collaborate to build them, if you are interested about this kind of experience, check &lt;a href="https://up-for-grabs.net/#/"&gt;UpForGrabs&lt;/a&gt; and &lt;a href="https://www.codetriage.com/"&gt;CodeTriage&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Be a volunteer.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can start volunteering with any non-profit organization to gain experience, some of these organizations are &lt;a href="https://contribute.freecodecamp.org/#/index"&gt;FreeCodeCamp&lt;/a&gt;, &lt;a href="https://www.catchafire.org/volunteer?name_filter=&amp;amp;type_filter=1&amp;amp;type_filter=2&amp;amp;page=1&amp;amp;init=true"&gt;CatchAFire&lt;/a&gt;, &lt;a href="https://codeyourfuture.io/volunteers/"&gt;CodeYourFuture&lt;/a&gt;, &lt;a href="https://www.microsoft.com/en-us/teals"&gt;Teals&lt;/a&gt; and &lt;a href="https://coderdojo.com/en/start-a-dojo"&gt;CoderDojo&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Participate in community activities.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can check &lt;a href="https://developers.google.com/community/gdsc"&gt;GoogleDeveloperStudentClub&lt;/a&gt; and &lt;a href="https://internship.thesparksfoundation.info/"&gt;TheSparksFoundation Campus Ambassador&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Participate in competitions.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For example, you can check &lt;a href="https://developers.google.com/community/gdsc-solution-challenge"&gt;GoogleDeveloperSolutionChallenge&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Build a large network and share your thoughts with them.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.linkedin.com/"&gt;LinkedIn&lt;/a&gt; is the best place for that.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;That’s all&lt;/strong&gt;, paying attention to these points will help your gain experience and be job-ready.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start building your network now&lt;/strong&gt;, and connect with me on &lt;a href="https://www.linkedin.com/in/ahmed0saber/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can find &amp;amp; contact me on &lt;a href="https://www.linkedin.com/in/ahmed0saber/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/ahmed0saber"&gt;GitHub&lt;/a&gt;, and &lt;a href="https://www.facebook.com/profile.php?id=100004875915808"&gt;Facebook&lt;/a&gt;, and here is &lt;a href="https://ahmed0saber.onrender.com/"&gt;my portfolio&lt;/a&gt; for more details about me.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to write better Git commit messages ?</title>
      <dc:creator>Ahmed Saber</dc:creator>
      <pubDate>Sun, 26 Mar 2023 02:17:29 +0000</pubDate>
      <link>https://dev.to/ahmed0saber/how-to-write-better-git-commit-messages--40al</link>
      <guid>https://dev.to/ahmed0saber/how-to-write-better-git-commit-messages--40al</guid>
      <description>&lt;p&gt;Some developers don’t pay attention to naming commit messages, as they think it’s not important, and paying attention to it is just a waste of time, but are they right ? that’s what we are going to talk about right now, so let’s start.&lt;/p&gt;

&lt;p&gt;Naming of commit messages is so important if we are going to read them again in the future, but when should we do that ? let’s see some situations in which we need to go back and read old commits.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;If I’m &lt;strong&gt;working with a team&lt;/strong&gt;, and I need to know what they have done, so I will expect to find clean commits with descriptive names.&lt;/li&gt;
&lt;li&gt;If I need to &lt;strong&gt;go back to an old commit&lt;/strong&gt; to see what exactly has been done within it.&lt;/li&gt;
&lt;li&gt;If &lt;strong&gt;any issue happened&lt;/strong&gt; due to a certain commit, so I need to get my whole application to an older version before this commit.&lt;/li&gt;
&lt;li&gt;If I’m responsible for &lt;strong&gt;code review&lt;/strong&gt; in my team.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now we know why we should write clean commit messages, Let’s see how we can do that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) The subject should be less than 50 letters.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Do:&lt;/strong&gt; “Implement add to cart functionality”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don’t:&lt;/strong&gt; “Implement the function responsible for adding products to cart by using the product id”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2) The sentence should be capitalized.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Do:&lt;/strong&gt; “Add cart indicator to navbar”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don’t:&lt;/strong&gt; “add cart indicator to navbar”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3) Don’t end the sentence with a dot.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Do:&lt;/strong&gt; “Add cart indicator to navbar”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don’t:&lt;/strong&gt; “Add cart indicator to navbar.”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4) Use a verb in imperative form.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Do:&lt;/strong&gt; “Add cart indicator to navbar”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don’t:&lt;/strong&gt; “Added cart indicator to navbar”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Finally&lt;/strong&gt;, there is a great way that can help you write better commit messages, you can measure if your commit message is good or bad with this sentence.&lt;/p&gt;

&lt;p&gt;If applied, this commit will “commit message”&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Good:&lt;/strong&gt; If applied, this commit will “Add cart indicator to navbar”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bad:&lt;/strong&gt; If applied, this commit will “adding cart indicator to navbar”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;That’s all&lt;/strong&gt;, now you need to practice what you have learnt, to be able to write better Git commit messages.&lt;/p&gt;

&lt;p&gt;You can find &amp;amp; contact me on &lt;a href="https://www.linkedin.com/in/ahmed0saber/"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://github.com/ahmed0saber"&gt;GitHub&lt;/a&gt;, and &lt;a href="https://www.facebook.com/profile.php?id=100004875915808"&gt;Facebook&lt;/a&gt;, and here is &lt;a href="https://ahmed0saber.onrender.com/"&gt;my portfolio&lt;/a&gt; for more details about me.&lt;/p&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
