developer-roadmap changelog


Hey there, code wranglers and bug squashers! 🐛🚀 We've got some exciting updates and nifty fixes in this latest batch of commits. Check out the juicy details below:

New Features

  • Sponsor Feature Implementation: 🎉 Say hello to our shiny new sponsor feature! We've jazzed up the PageSponsor component to load sponsor info and handle clicks. Plus, we've added a cookie to track sponsor views, ensuring no duplicates. Big thanks to Kamran Ahmed for co-authoring this awesome addition. (#5480)
  • Profile Button in Navigation: 🧭 Navigating just got easier! We've added a spiffy new profile button to the navigation bar, complete with an icon and text. Now you can zip right to your profile page with a single click. (#4554)

Improvements

  • Linux Upskill Challenge Link: 🔗 We've added a link to the Linux Upskill Challenge in the Ubuntu section of the devops roadmap. Now you can easily access this resource to level up your Linux skills. (#4554)
  • Username Validation: 🛡️ Your username input field just got smarter! We've added real-time validation to ensure usernames are unique, at least 3 characters long, and only contain letters and numbers. No more funky usernames! (#4554)
  • "My Profile" Label: 🏷️ We've updated the navigation label from "Profile" to "My Profile" for a more personalized touch. Small change, big difference! (#4554)

Bugfixes

  • Docker Documentation Typo: 📝 Fixed a pesky typo in the Docker documentation about ephemeral FS. Now it's crystal clear that data is lost when a container is stopped and removed. (#4554)
  • Grammatical Error in React.md: 📚 Corrected a grammatical mistake in the React documentation about Server Components. Clear and precise documentation for the win! Thanks again to Kamran Ahmed for the assist. (#5503)

Keep those commits coming, and let's keep making this project awesome! 🚀

Included Commits

2024-04-15T12:16:55 See commit

This commit implements a sponsor feature in the codebase. It includes changes to the PageSponsor component, adding functionality to load sponsor information and handle sponsor clicks. The code now includes a function to set a cookie when a user views a sponsor, preventing duplicate views from being counted. Additionally, the commit includes updates to the jwt.ts file, adding a function to set a specific cookie related to viewing a sponsor.

Overall, this commit enhances the functionality of the sponsor feature by implementing the necessary logic to track sponsor views and clicks. It introduces new functions to handle sponsor interactions and ensures that viewing a sponsor is properly tracked using cookies. Additionally, the code changes in the PageSponsor component enable the display and interaction with sponsor information on the page.

Files changed

  • src/components/PageSponsor.tsx
  • src/lib/jwt.ts
2024-04-16T14:23:57 See commit

This commit fixes a typo in the ephemeral container file system (FS) section of the Docker documentation. The typo was in the description of what happens to data stored in the ephemeral FS when a container is stopped or removed. The correction clarifies that data is lost when the container is stopped and removed, rather than using the incorrect "or" instead of "and".

Additionally, there was a conflict in information between lines 3 and 9 of the document, where "stopped (and) removed" was used in line 3 and "stopped (or) removed" was used in line 9. This conflict was resolved by making both instances consistent with "stopped and removed". Overall, these changes help ensure accuracy and clarity in the documentation regarding data persistence in Docker containers.

Files changed

  • src/data/roadmaps/docker/content/104-data-persistence/100-ephemeral-container-fs.md
2024-04-16T14:24:51 See commit

This commit fixes a grammatical error in the react.md file related to Server Components in React. The error was corrected from "Server Components in allow developers to write components" to "Server Components allows developers to write components". Server Components enable developers to write components that render on the server instead of the client, resulting in a smaller bundle size and faster loads. They can integrate seamlessly with client components and fetch data directly from the backend without the need for an API layer, improving performance and developer experience.

The changes made in this commit include modifying the react.md file to correct the grammatical error and updating the description of Server Components in React. The correction ensures that the information provided is accurate and clear for developers. Co-authored by Kamran Ahmed, this commit improves the documentation by fixing a minor mistake in the explanation of Server Components in React.

Files changed

  • src/data/question-groups/react/react.md
2024-04-19T13:21:02 See commit

This commit adds a link to the Linux Upskill Challenge in the Ubuntu Linux section of the devops roadmap. The link was updated to point to the correct website for the challenge, fixing issue #4550. The commit includes changes to the Ubuntu.md file, with 2 additions, 2 deletions, and 4 changes made to the content. The link to the Linux Upskill Challenge now directs users to the correct website for the challenge, providing them with additional resources to learn more about Linux.

Overall, this commit improves the resources available in the Ubuntu Linux section of the devops roadmap by adding a link to the Linux Upskill Challenge. By including this link, users can access a valuable resource to enhance their Linux skills and knowledge. The update ensures that users have access to accurate and relevant information to help them on their journey to mastering Linux.

Files changed

  • src/data/roadmaps/devops/content/101-operating-systems/linux/100-ubuntu.md
2024-04-19T16:32:46 See commit

This commit adds validation to the username input field in the UpdateProfile component. The ProfileUsername.tsx file has been modified to include a useDebounceValue hook and an useEffect hook to check if the username is unique. The checkIsUnique function now includes a condition to only check uniqueness if the username is at least 3 characters long and not currently loading. Additionally, the input field now restricts input to letters and numbers only, converting all input to lowercase.

Overall, this commit enhances the user experience by providing real-time validation for the username input field, ensuring that usernames are at least 3 characters long and contain only letters and numbers. The use of debouncing and useEffect hooks improves performance by reducing unnecessary API calls, while the input field now enforces restrictions on the type of characters allowed, enhancing data integrity.

Files changed

  • src/components/UpdateProfile/ProfileUsername.tsx
2024-04-19T16:43:32 See commit

This commit adds a new profile button to the navigation bar in the AccountDropdownList component. The button includes an icon and text for "Profile" and is styled with specific classes for appearance and functionality. The addition of this button allows users to easily access their profile page by clicking on it, enhancing the user experience and navigation within the application.

The changes made in the commit include modifying the AccountDropdownList component to include the new profile button with the necessary HTML structure and styling. The code additions include importing a new icon, updating the list items to include the profile button link, and adjusting the styling classes for consistency. Overall, this update improves the accessibility and usability of the application by providing a direct link to the user's profile page from the navigation menu.

Files changed

  • src/components/Navigation/AccountDropdownList.tsx
2024-04-19T17:03:37 See commit

This commit adds a change to the AccountDropdownList component in the Navigation folder. The word "Profile" is changed to "My Profile" in the code, reflecting a more personalized and user-specific label. This small modification enhances the user experience by making the navigation menu more intuitive and user-friendly. The changes made in this commit include 1 addition and 1 deletion, resulting in a total of 2 changes to the code.

By updating the label from "Profile" to "My Profile," users can easily identify and access their personal profile within the navigation menu. This change also aligns with common design practices that prioritize user-centric language and personalization. Overall, this commit enhances the clarity and usability of the navigation component, improving the overall user experience of the application.

Files changed

  • src/components/Navigation/AccountDropdownList.tsx