diff --git a/.github/ISSUE_TEMPLATE/01-suggest-changes.yml b/.github/ISSUE_TEMPLATE/01-suggest-changes.yml new file mode 100644 index 000000000000..cf39acc72174 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01-suggest-changes.yml @@ -0,0 +1,25 @@ +name: "✍️ ​ ​Suggest Changes" +description: Help us improve the roadmaps by suggesting changes +labels: [suggestion] +assignees: [] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to help us improve the roadmaps with your suggestions. + - type: input + id: url + attributes: + label: Roadmap URL + description: Please provide the URL of the roadmap you are suggesting changes to. + placeholder: https://roadmap.sh + validations: + required: true + - type: textarea + id: roadmap-suggestions + attributes: + label: Suggestions + description: What changes would you like to suggest? + placeholder: Enter your suggestions here. + validations: + required: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/02-bug-report.yml b/.github/ISSUE_TEMPLATE/02-bug-report.yml new file mode 100644 index 000000000000..755fa99ce943 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02-bug-report.yml @@ -0,0 +1,42 @@ +name: "🐛 ​ ​Bug Report" +description: Report an issue or possible bug +labels: [bug] +assignees: [] +body: + - type: input + id: url + attributes: + label: What is the URL where the issue is happening + placeholder: https://roadmap.sh + validations: + required: true + - type: dropdown + id: browsers + attributes: + label: What browsers are you seeing the problem on? + multiple: true + options: + - Firefox + - Chrome + - Safari + - Microsoft Edge + - Other + - type: textarea + id: bug-description + attributes: + label: Describe the Bug + description: A clear and concise description of what the bug is. + validations: + required: true + - type: textarea + id: logs + attributes: + label: Output from browser console (if any) + description: Please copy and paste any relevant log output. + - type: checkboxes + id: will-pr + attributes: + label: Participation + options: + - label: I am willing to submit a pull request for this issue. + required: false diff --git a/.github/ISSUE_TEMPLATE/03-feature-suggestion.yml b/.github/ISSUE_TEMPLATE/03-feature-suggestion.yml new file mode 100644 index 000000000000..54bb562f6dc7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/03-feature-suggestion.yml @@ -0,0 +1,12 @@ +name: "✨ ​ ​Feature Suggestion" +description: Is there a feature you'd like to see on Roadmap.sh? Let us know! +labels: [feature request] +assignees: [] +body: + - type: textarea + id: feature-description + attributes: + label: Feature Description + description: Please provide a detailed description of the feature you are suggesting and how it would help you/others. + validations: + required: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/04-roadmap-contribution.yml b/.github/ISSUE_TEMPLATE/04-roadmap-contribution.yml new file mode 100644 index 000000000000..a59e632a21b4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/04-roadmap-contribution.yml @@ -0,0 +1,37 @@ +name: "🙏 ​ ​Submit a Roadmap" +description: Help us launch a new roadmap with your expertise. +labels: [roadmap contribution] +assignees: [] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to submit a roadmap! Please fill out the information below and we'll get back to you as soon as we can. + - type: input + id: roadmap-title + attributes: + label: What is the title of the roadmap you are submitting? + placeholder: e.g. Roadmap to learn Data Science + validations: + required: true + - type: dropdown + id: browsers + attributes: + label: Is this roadmap prepared by you or someone else? + options: + - I prepared this roadmap + - I found this roadmap online (please provide a link below) + - type: textarea + id: roadmap-description + attributes: + label: Roadmap Items + description: Please submit a nested list of items which we can convert into the visual. Here is an [example of roadmap items list.](https://gist.github.com/kamranahmedse/98758d2c73799b3a6ce17385e4c548a5). + placeholder: | + - Item 1 + - Subitem 1 + - Subitem 2 + - Item 2 + - Subitem 1 + - Subitem 2 + validations: + required: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/05-something-else.yml b/.github/ISSUE_TEMPLATE/05-something-else.yml new file mode 100644 index 000000000000..95341aa4001c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/05-something-else.yml @@ -0,0 +1,12 @@ +name: "🤷‍♂️ ​ ​Something else" +description: If none of the above templates fit your needs, please use this template to submit your issue. +labels: [] +assignees: [] +body: + - type: textarea + id: issue-description + attributes: + label: Detailed Description + description: Please provide a detailed description of the issue. + validations: + required: true \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000000..9c67fc21a025 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,14 @@ +blank_issues_enabled: false +contact_links: + - name: ✋ ​ ​Roadmap Request + url: https://discord.gg/cJpEt5Qbwa + about: Please do not open issues with roadmap requests, hop onto the discord server for that. + - name: 📝 ​ ​Typo or Grammatical Mistake + url: https://github.com/kamranahmedse/developer-roadmap/tree/master/src/data + about: Please submit a pull request instead of reporting it as an issue. + - name: 💬 ​ ​Chat on Discord + url: https://discord.gg/cJpEt5Qbwa + about: Join the community on our Discord server. + - name: 🤝 ​ ​Guidance + url: https://discord.gg/cJpEt5Qbwa + about: Join the community in our Discord server. diff --git a/src/data/guides/introduction-to-llms.md b/src/data/guides/introduction-to-llms.md index c5c31e25d6a9..ab67d862a3cb 100644 --- a/src/data/guides/introduction-to-llms.md +++ b/src/data/guides/introduction-to-llms.md @@ -33,7 +33,7 @@ OpenAI has been a major contributor to this space in the past few years with the ## Training an LLM Model -On a high level, training an LLM model involves thre steps i.e. data collection, training and evaluation. +On a high level, training an LLM model involves three steps i.e. data collection, training and evaluation. - **Data Collection** The first step is to collect the data that will be used to train the model. The data can be collected from various sources such as Wikipedia, news articles, books, websites etc. diff --git a/src/data/roadmaps/angular/content/111-zones.md b/src/data/roadmaps/angular/content/111-zones.md index be9f572e27c5..47e8a747ef18 100644 --- a/src/data/roadmaps/angular/content/111-zones.md +++ b/src/data/roadmaps/angular/content/111-zones.md @@ -1 +1,3 @@ # Zones + +- [Angular - NgZone](https://angular.io/guide/zone) \ No newline at end of file diff --git a/src/data/roadmaps/aspnet-core/content/100-basics-of-csharp/index.md b/src/data/roadmaps/aspnet-core/content/100-basics-of-csharp/index.md index 1a076ad0af98..ff2da4be2a6b 100644 --- a/src/data/roadmaps/aspnet-core/content/100-basics-of-csharp/index.md +++ b/src/data/roadmaps/aspnet-core/content/100-basics-of-csharp/index.md @@ -11,4 +11,5 @@ Visit the following links for more information: - [C Sharp Basics](https://www.codecademy.com/catalog/language/c-sharp) - [Introduction to C#](https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/tutorials/) - [Basics Of C#](https://www.c-sharpcorner.com/UploadFile/e9fdcd/basics-of-C-Sharp/) -- [C# Tutorials ](https://dotnettutorials.net/course/csharp-dot-net-tutorials/) \ No newline at end of file +- [C# Tutorials](https://dotnettutorials.net/course/csharp-dot-net-tutorials/) +- [C# tutorials - W3Schools](https://www.w3schools.com/cs/index.php) \ No newline at end of file diff --git a/src/data/roadmaps/backend/content/118-containerization/100-docker.md b/src/data/roadmaps/backend/content/118-containerization/100-docker.md index c00670589220..9b469ef0732c 100644 --- a/src/data/roadmaps/backend/content/118-containerization/100-docker.md +++ b/src/data/roadmaps/backend/content/118-containerization/100-docker.md @@ -6,6 +6,6 @@ Visit the following resources to learn more: - [Docker Documentation](https://docs.docker.com/) - [What is Docker | AWS ](https://aws.amazon.com/docker/) -- [Learn Docker | Boot.dev](https://boot.dev/learn/learn-docker) +- [Complete Docker Course - From BEGINNER to PRO!](https://www.youtube.com/watch?v=RqTEHSBrYFw) - [Docker Tutorial](https://youtu.be/3c-iBn73dDE) - [Docker simplified in 55 seconds](https://youtu.be/vP_4DlOH1G4) diff --git a/src/data/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md b/src/data/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md index b2093215e413..cbbec4577cc7 100644 --- a/src/data/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md +++ b/src/data/roadmaps/computer-science/content/104-common-algorithms/109-cache-algorithms/102-mfu-cache.md @@ -1,6 +1,6 @@ # MFU Cache -MFU Cache is a variation of the LRU Cache. The difference is that instead of deleting the least recently used entry, the MFU Cache deletes the least frequently used entry. +MFU Cache is another cache algorithm. The difference is that instead of deleting the least frequently used entry, the MFU Cache deletes the most frequently used entry. Visit the following resources to learn more: diff --git a/src/data/roadmaps/computer-science/content/111-design-patterns/index.md b/src/data/roadmaps/computer-science/content/111-design-patterns/index.md index 75ad3f102575..691550b529fe 100644 --- a/src/data/roadmaps/computer-science/content/111-design-patterns/index.md +++ b/src/data/roadmaps/computer-science/content/111-design-patterns/index.md @@ -5,3 +5,4 @@ Design patterns are solutions to common problems in software design. They are fo Visit the following resources to learn more: - [Design Patterns - Wikipedia](https://en.wikipedia.org/wiki/Software_design_pattern) +- [Design Patterns for Humans](https://github.com/kamranahmedse/design-patterns-for-humans) \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/102-basic-operations/102-loops.md b/src/data/roadmaps/cpp/content/102-basic-operations/102-loops.md index 7292466276f4..6e0e1489ac51 100644 --- a/src/data/roadmaps/cpp/content/102-basic-operations/102-loops.md +++ b/src/data/roadmaps/cpp/content/102-basic-operations/102-loops.md @@ -84,4 +84,6 @@ int main() { } ``` -In summary, loops are an integral part of C++ programming that allow you to execute a block of code multiple times. The three types of loops in C++ are `for`, `while`, and `do-while`. Each type has its own specific use case and can be chosen depending on the desired behavior. \ No newline at end of file +In summary, loops are an integral part of C++ programming that allow you to execute a block of code multiple times. The three types of loops in C++ are `for`, `while`, and `do-while`. Each type has its own specific use case and can be chosen depending on the desired behavior. + +- [C++ For Loop](https://www.w3schools.com/cpp/cpp_for_loop.asp) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/100-basic-it-skills/index.md b/src/data/roadmaps/cyber-security/content/100-basic-it-skills/index.md index e7291078adb8..83c6f6780d74 100644 --- a/src/data/roadmaps/cyber-security/content/100-basic-it-skills/index.md +++ b/src/data/roadmaps/cyber-security/content/100-basic-it-skills/index.md @@ -65,4 +65,4 @@ As the digital world is constantly evolving, so too are cyber threats. Therefore By honing these basic IT skills, you will be better prepared to navigate and protect your digital life, as well as making the most of the technology at your fingertips. -- [IT skills Training for beginners | Complete Course](https://youtu.be/on6dsip5yw0) \ No newline at end of file +- [IT skills Training for beginners | Complete Course](https://www.youtube.com/watch?v=On6dsIp5yw0) diff --git a/src/data/roadmaps/cyber-security/content/101-operating-systems/learn-for-each/106-understand-permissions.md b/src/data/roadmaps/cyber-security/content/101-operating-systems/learn-for-each/106-understand-permissions.md index 6c20ab0faa3d..aea3561030d2 100644 --- a/src/data/roadmaps/cyber-security/content/101-operating-systems/learn-for-each/106-understand-permissions.md +++ b/src/data/roadmaps/cyber-security/content/101-operating-systems/learn-for-each/106-understand-permissions.md @@ -32,3 +32,5 @@ To ensure cyber security with permissions, follow these best practices: - **Implement Security Training**: Educate users about the importance of permissions and their responsibilities to maintain a secure environment. By understanding permissions and following best practices, you can enhance cyber security and minimize the risk of unauthorized access and data breaches. + +- [Linux File Permissions (Linux Journey)](https://linuxjourney.com/lesson/file-permissions) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/102-networking-knowledge/100-osi-model.md b/src/data/roadmaps/cyber-security/content/102-networking-knowledge/100-osi-model.md index 05e013cdfc81..041207cf347a 100644 --- a/src/data/roadmaps/cyber-security/content/102-networking-knowledge/100-osi-model.md +++ b/src/data/roadmaps/cyber-security/content/102-networking-knowledge/100-osi-model.md @@ -35,3 +35,5 @@ The **Application layer** is the interface between the user and the communicatio Each of these layers interacts with the adjacent layers to pass data packets back and forth. Understanding the OCI model is crucial for addressing potential security threats and vulnerabilities that can occur at each layer. By implementing strong network security measures at each layer, you can minimize the risk of cyber attacks and keep your data safe. In the next section, we will discuss network protocols and how they play an essential role in network communication and security. + +- [What is OSI Model?](https://www.youtube.com/watch?v=Ilk7UXzV_Qc&ab_channel=RealPars) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/100-vlan.md b/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/100-vlan.md index 0b22d06d2ef6..1760c895e3e9 100644 --- a/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/100-vlan.md +++ b/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/100-vlan.md @@ -24,3 +24,5 @@ VLANs are created and managed through network switches that support VLAN configu VLANs play a crucial role in network security; however, they are not foolproof. VLAN hopping and unauthorized access can still occur if proper measures, such as Private VLANs and Access Control Lists (ACLs), are not implemented to secure the network. In summary, VLANs offer a flexible and secure way to manage and segment networks based on needs and requirements. By understanding their purpose, types, and security considerations, network administrators can efficiently use VLANs to improve overall network performance and security. + +- [VLAN Explained](https://www.youtube.com/watch?v=jC6MJTh9fRE) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/101-dmz.md b/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/101-dmz.md index 8eff5eda37e8..78af048bf818 100644 --- a/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/101-dmz.md +++ b/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/101-dmz.md @@ -18,3 +18,5 @@ The key components in a DMZ include: - **Public-Facing Servers**: These are the servers hosted within the DMZ, designed to serve content and resources to external users. They are typically configured with additional security measures to further reduce the risk of compromise. As the author of this guide, I hope this brief summary about DMZ helps you enhance your understanding of cyber security terminologies and their importance in protecting organizations' networks and data. Keep reading for more insights! + +- [What is DMZ? (Demilitarized Zone)](https://www.youtube.com/watch?v=dqlzQXo1wqo) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/102-arp.md b/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/102-arp.md index ac0481ff17f9..0467c3d8a13d 100644 --- a/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/102-arp.md +++ b/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/102-arp.md @@ -15,3 +15,5 @@ While ARP is crucial for the functioning of most networks, it also presents cert To mitigate ARP poisoning attacks, organizations can implement security measures such as static ARP entries, dynamic ARP inspection, and ensuring that their network devices are updated with the latest security patches. By understanding ARP and the potential security risks it presents, you can help protect your network by incorporating appropriate security solutions and staying vigilant against potential threats. + +- [ARP Explained - Address Resolution Protocol](https://www.youtube.com/watch?v=cn8Zxh9bPio) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/103-vm.md b/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/103-vm.md index d4d8886bf1d8..328c77364462 100644 --- a/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/103-vm.md +++ b/src/data/roadmaps/cyber-security/content/102-networking-knowledge/understand-the-terminology/103-vm.md @@ -21,3 +21,5 @@ Key terminologies associated with VMs include: - **Live Migration**: This refers to the process of moving a running virtual machine from one physical host to another with minimal or no disruption to the guest OS and its applications. Live migration enables load balancing and ensures minimal downtime during hardware maintenance. Understanding and effectively utilizing virtual machines plays a significant role in enhancing the security posture of an organization, allowing for agile incident response and proactive threat analysis. + +- [Virtualization Explained](https://www.youtube.com/watch?v=UBVVq-xz5i0) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/103-cia-triad.md b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/103-cia-triad.md index 4d553936c725..a435952d9385 100644 --- a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/103-cia-triad.md +++ b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/103-cia-triad.md @@ -33,3 +33,5 @@ Availability ensures that systems and information are accessible and functional - Backups: Regularly saving copies of your data to prevent loss in case of a catastrophe, such as a hardware failure, malware attack, or natural disaster. In summary, the CIA Triad is an essential aspect of cybersecurity, providing a clear framework to evaluate and implement security measures. By ensuring confidentiality, integrity, and availability, you create a robust and secure environment for your information and systems. + +- [What is the CIA Triad (Varonis)?](https://www.varonis.com/blog/cia-triad) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/common-distros-for-hacking/101-kali-linux.md b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/common-distros-for-hacking/101-kali-linux.md index 7e65d4cd77fd..17a5207c63be 100644 --- a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/common-distros-for-hacking/101-kali-linux.md +++ b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/common-distros-for-hacking/101-kali-linux.md @@ -38,3 +38,5 @@ While Kali Linux is widely used and respected in the cybersecurity community, it ## Conclusion Kali Linux is a powerful and widely used distribution tailored for cybersecurity experts and penetration testers. Its extensive collection of tools, combined with regular updates and customization options, make it an attractive choice for those seeking a reliable and feature-rich operating system geared towards cybersecurity tasks. However, it is essential for users to remain mindful of the responsibility and legality associated with using these tools. + +- [kali Linux](https://www.kali.org/) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/tools-for-unintended-purposes/100-lolbas.md b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/tools-for-unintended-purposes/100-lolbas.md index 229aadcde707..8756380848a6 100644 --- a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/tools-for-unintended-purposes/100-lolbas.md +++ b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/tools-for-unintended-purposes/100-lolbas.md @@ -44,3 +44,5 @@ To protect against LoLBAS-based attacks, organizations should consider taking th LoLBAS present a significant challenge to cyber security, as they blend in with legitimate system activities. However, overcoming this challenge is possible through a combination of proactive monitoring, system hardening, and user education. Ensure you are well prepared to identify and mitigate LoLBAS attacks by following the recommendations provided in this guide. Stay vigilant and stay secure! + +- [LOLBAS project](https://lolbas-project.github.io/#) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/uderstand-frameworks/100-attck.md b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/uderstand-frameworks/100-attck.md index e4182ad68764..153b8a0ff22e 100644 --- a/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/uderstand-frameworks/100-attck.md +++ b/src/data/roadmaps/cyber-security/content/103-security-skills-and-knowledge/uderstand-frameworks/100-attck.md @@ -25,3 +25,5 @@ By understanding the possible threats detailed in the ATT&CK framework and incor - Train your team in identifying and responding to typical attack patterns In summary, the ATT&CK framework is an invaluable resource for understanding the techniques and methods used by adversaries in real-world cyber attacks. As an author of a cyber security guide, ensuring that you are familiar with ATT&CK can help you build a more effective, comprehensive, and robust security strategy to keep your organization safe. + +- [Link to MITRE ATT&CK](https://attack.mitre.org/) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/extras/certifications/beginner-certifications/203-ccna.md b/src/data/roadmaps/cyber-security/content/extras/certifications/beginner-certifications/203-ccna.md index 7cf67667b238..896f4e2f03c0 100644 --- a/src/data/roadmaps/cyber-security/content/extras/certifications/beginner-certifications/203-ccna.md +++ b/src/data/roadmaps/cyber-security/content/extras/certifications/beginner-certifications/203-ccna.md @@ -21,3 +21,5 @@ To obtain the CCNA certification, you will need to pass a single exam, currently ## Why CCNA? A CCNA certification can provide you with a solid foundation in networking and open doors to various career opportunities, such as network administrator, network engineer, or security specialist roles. Many employers value CCNA-certified professionals for their validated skills in working with Cisco networking products and their understanding of networking fundamentals. Additionally, attaining a CCNA certification can serve as a stepping stone towards more advanced Cisco certifications, such as the Cisco Certified Network Professional (CCNP) and the Cisco Certified Internetwork Expert (CCIE). + +- [Free CCNA 200-301 | Complete Course 2023 by Jeremy's IT Lab](https://www.youtube.com/playlist?list=PLxbwE86jKRgMpuZuLBivzlM8s2Dk5lXBQ) \ No newline at end of file diff --git a/src/data/roadmaps/cyber-security/content/extras/ctfs/200-hack-the-box.md b/src/data/roadmaps/cyber-security/content/extras/ctfs/200-hack-the-box.md index 3055d97a8195..1146ab895f03 100644 --- a/src/data/roadmaps/cyber-security/content/extras/ctfs/200-hack-the-box.md +++ b/src/data/roadmaps/cyber-security/content/extras/ctfs/200-hack-the-box.md @@ -25,3 +25,6 @@ Hack The Box (HTB) is a popular online platform designed for security enthusiast - **Submit Flags and Write-ups:** Upon solving a challenge, submit the flags you found to gain points and secure your spot on the leaderboard. Additionally, once a box is retired from the platform, you can create and share write-ups of your solution technique with the community. Hack The Box is an excellent resource for anyone looking to enhance their cybersecurity skills or explore the ethical hacking domain. Whether you're a beginner or a seasoned expert, HTB offers an engaging and collaborative environment to learn and grow as a cybersecurity professional. + +- [HackTheBox website](https://www.hackthebox.com/) +- [HTB Academy ](https://academy.hackthebox.com/) \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/101-operating-systems/linux/100-ubuntu.md b/src/data/roadmaps/devops/content/101-operating-systems/linux/100-ubuntu.md index 7b51e9faea4f..2a8af73a218b 100644 --- a/src/data/roadmaps/devops/content/101-operating-systems/linux/100-ubuntu.md +++ b/src/data/roadmaps/devops/content/101-operating-systems/linux/100-ubuntu.md @@ -11,4 +11,6 @@ Visit the following resources to learn more: - [Learn the ways of Linux-fu, for free](https://linuxjourney.com/) - [Linux Operating System - Crash Course for Beginners](https://www.youtube.com/watch?v=ROjZy1WbCIA) - [The Linux Command Line by William Shotts](https://linuxcommand.org/tlcl.php) -- [r/linuxupskillchallenge](https://www.reddit.com/r/linuxupskillchallenge/) \ No newline at end of file +- [r/linuxupskillchallenge](https://www.reddit.com/r/linuxupskillchallenge/) +- [Introduction to Linux - Full Course for Beginners](https://www.youtube.com/watch?v=sWbUDq4S6Y8&pp=ygUTVWJ1bnR1IGNyYXNoIGNvdXJzZQ%3D%3D) +- [Linux Fundamentals](https://academy.hackthebox.com/course/preview/linux-fundamentals) \ No newline at end of file diff --git a/src/data/roadmaps/devops/content/109-serverless/index.md b/src/data/roadmaps/devops/content/109-serverless/index.md index 0ef70d39642f..b19c67edaa5f 100644 --- a/src/data/roadmaps/devops/content/109-serverless/index.md +++ b/src/data/roadmaps/devops/content/109-serverless/index.md @@ -1 +1,3 @@ -# Serverless \ No newline at end of file +# Serverless + +- [What is Serverless?](https://www.redhat.com/en/topics/cloud-native-apps/what-is-serverless) \ No newline at end of file diff --git a/src/data/roadmaps/frontend/content/106-web-security-knowledge/101-content-security-policy.md b/src/data/roadmaps/frontend/content/106-web-security-knowledge/101-content-security-policy.md index 4682993ce7e2..ab3736374198 100644 --- a/src/data/roadmaps/frontend/content/106-web-security-knowledge/101-content-security-policy.md +++ b/src/data/roadmaps/frontend/content/106-web-security-knowledge/101-content-security-policy.md @@ -4,5 +4,6 @@ Content Security Policy is a computer security standard introduced to prevent cr Visit the following resources to learn more: -- [MDN — Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) -- [Google Devs — Content Security Policy (CSP)](https://developers.google.com/web/fundamentals/security/csp) +- [MDN Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) +- [Google Devs Content Security Policy (CSP)](https://developers.google.com/web/fundamentals/security/csp) +- [Web.dev - Content Security Policy (CSP)](https://web.dev/csp/) \ No newline at end of file diff --git a/src/data/roadmaps/java/content/101-java-advanced-topics/101-memory-management.md b/src/data/roadmaps/java/content/101-java-advanced-topics/101-memory-management.md index f7d50066ba8b..356548e0f50a 100644 --- a/src/data/roadmaps/java/content/101-java-advanced-topics/101-memory-management.md +++ b/src/data/roadmaps/java/content/101-java-advanced-topics/101-memory-management.md @@ -6,4 +6,4 @@ Visit the following resources to learn more: - [Java Memory Management](https://www.geeksforgeeks.org/java-memory-management/) - [Memory Management in Java](https://www.javatpoint.com/memory-management-in-java) -- [Memory Management Tutorial in Java](https://www.youtube.com/watch?v=fm8yj93x80s) \ No newline at end of file +- [Memory Management Tutorial in Java](https://www.youtube.com/watch?v=fM8yj93X80s) \ No newline at end of file diff --git a/src/data/roadmaps/nodejs/content/112-nodejs-logging/index.md b/src/data/roadmaps/nodejs/content/112-nodejs-logging/index.md index 6fe427feaf79..47ad8648b2eb 100644 --- a/src/data/roadmaps/nodejs/content/112-nodejs-logging/index.md +++ b/src/data/roadmaps/nodejs/content/112-nodejs-logging/index.md @@ -6,3 +6,4 @@ Visit the following resources to learn more: - [Node.js Logging](https://stackify.com/node-js-logging/) - [Logging best practices](https://blog.appsignal.com/2021/09/01/best-practices-for-logging-in-nodejs.html) +- [Logging](https://stackify.com/node-js-logging/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/102-rdbms-concepts/100-object-model/101-tables.md b/src/data/roadmaps/postgresql-dba/content/102-rdbms-concepts/100-object-model/101-tables.md index 67ff80488c61..2226c49b4a18 100644 --- a/src/data/roadmaps/postgresql-dba/content/102-rdbms-concepts/100-object-model/101-tables.md +++ b/src/data/roadmaps/postgresql-dba/content/102-rdbms-concepts/100-object-model/101-tables.md @@ -72,4 +72,6 @@ DROP TABLE table_name; Be cautious when using this command, as there's no way to recover a table once it's dropped. -By understanding the basics of creating, modifying, and deleting tables in PostgreSQL, you now have a solid foundation to build your database and store data in a structured manner. \ No newline at end of file +By understanding the basics of creating, modifying, and deleting tables in PostgreSQL, you now have a solid foundation to build your database and store data in a structured manner. + +- [Table Basics](https://www.postgresql.org/docs/current/ddl-basics.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/102-rdbms-concepts/100-object-model/105-data-types.md b/src/data/roadmaps/postgresql-dba/content/102-rdbms-concepts/100-object-model/105-data-types.md index 2740e4f15a52..ff9c4ac7f7de 100644 --- a/src/data/roadmaps/postgresql-dba/content/102-rdbms-concepts/100-object-model/105-data-types.md +++ b/src/data/roadmaps/postgresql-dba/content/102-rdbms-concepts/100-object-model/105-data-types.md @@ -57,4 +57,6 @@ PostgreSQL provides special data types to work with geometric and network data: - **`point`, `line`, `lseg`, `box`, `polygon`, `path`, `circle`**: Geometric data types to store points, lines, and various shapes. - **`inet`, `cidr`**: Network data types to store IP addresses and subnets. -In summary, PostgreSQL offers a broad range of data types that cater to different types of information. Understanding these data types and how to use them effectively will help you design efficient database schemas and optimize your database performance. \ No newline at end of file +In summary, PostgreSQL offers a broad range of data types that cater to different types of information. Understanding these data types and how to use them effectively will help you design efficient database schemas and optimize your database performance. + +- [An introduction to PostgreSQL data types](https://www.prisma.io/dataguide/postgresql/introduction-to-data-types) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/102-rdbms-concepts/100-object-model/106-queries.md b/src/data/roadmaps/postgresql-dba/content/102-rdbms-concepts/100-object-model/106-queries.md index 80f7dae805f4..9a0af4de5210 100644 --- a/src/data/roadmaps/postgresql-dba/content/102-rdbms-concepts/100-object-model/106-queries.md +++ b/src/data/roadmaps/postgresql-dba/content/102-rdbms-concepts/100-object-model/106-queries.md @@ -84,4 +84,6 @@ FROM users WHERE id IN (SELECT DISTINCT user_id FROM orders); ``` -There's much more to explore with various types of queries, but this foundational knowledge will serve as a solid basis for further learning and experimentation. \ No newline at end of file +There's much more to explore with various types of queries, but this foundational knowledge will serve as a solid basis for further learning and experimentation. + +- [Querying a Table](https://www.postgresql.org/docs/current/tutorial-select.html) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/103-installation-and-setup/103-deployment-in-cloud.md b/src/data/roadmaps/postgresql-dba/content/103-installation-and-setup/103-deployment-in-cloud.md index 540efdbf7de8..30b5578d667b 100644 --- a/src/data/roadmaps/postgresql-dba/content/103-installation-and-setup/103-deployment-in-cloud.md +++ b/src/data/roadmaps/postgresql-dba/content/103-installation-and-setup/103-deployment-in-cloud.md @@ -49,4 +49,6 @@ Here's a general outline of the steps to deploy PostgreSQL in the cloud: - **Manage and monitor the instance:** Use the cloud provider's web console or tools to manage and monitor the performance, resource usage, and backups of your PostgreSQL instance. -By following these steps, you can have a fully operational PostgreSQL instance in the cloud. Make sure to review the specific documentation and tutorials provided by each cloud service to ensure proper setup and configuration. As your PostgreSQL database grows, you can take advantage of the scalability and flexibility offered by cloud providers to adjust resources and performance as needed. \ No newline at end of file +By following these steps, you can have a fully operational PostgreSQL instance in the cloud. Make sure to review the specific documentation and tutorials provided by each cloud service to ensure proper setup and configuration. As your PostgreSQL database grows, you can take advantage of the scalability and flexibility offered by cloud providers to adjust resources and performance as needed. + +- [Postgres On Kubernetes](https://cloudnative-pg.io/) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/105-kubernetes-deployment/index.md b/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/105-kubernetes-deployment/index.md index a99b038439bf..ab77fbc6895b 100644 --- a/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/105-kubernetes-deployment/index.md +++ b/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/105-kubernetes-deployment/index.md @@ -67,4 +67,6 @@ You can deploy a PostgreSQL application on Kubernetes by following these steps: - **Scale your deployment** - You can easily scale your PostgreSQL application by changing the number of replicas in the deployment file, then updating it using `kubectl apply -f deployment.yaml`. -By following these steps, you can successfully deploy and manage a PostgreSQL application using the Kubernetes deployment system. \ No newline at end of file +By following these steps, you can successfully deploy and manage a PostgreSQL application using the Kubernetes deployment system. + +- [Run PostgreSQL. The Kubernetes way](https://cloudnative-pg.io/) \ No newline at end of file diff --git a/src/data/roadmaps/python/content/106-python-frameworks/102-fastapi.md b/src/data/roadmaps/python/content/106-python-frameworks/102-fastapi.md index ecf51fda46e3..a871c20e024b 100644 --- a/src/data/roadmaps/python/content/106-python-frameworks/102-fastapi.md +++ b/src/data/roadmaps/python/content/106-python-frameworks/102-fastapi.md @@ -3,3 +3,4 @@ FastAPI is a Web framework for developing RESTful APIs in Python. FastAPI is based on Pydantic and type hints to validate, serialize, and deserialize data and automatically auto-generate OpenAPI documents. - [Official Documentation](https://fastapi.tiangolo.com/) +- [Create an API with Fast-API (Full 19 Hour Course)](https://www.youtube.com/watch?v=0sOvCWFmrtA) \ No newline at end of file diff --git a/src/data/roadmaps/react/content/101-cli-tools/101-create-react-app.md b/src/data/roadmaps/react/content/101-cli-tools/101-create-react-app.md index 95c563048b69..2f14b7bce0b6 100644 --- a/src/data/roadmaps/react/content/101-cli-tools/101-create-react-app.md +++ b/src/data/roadmaps/react/content/101-cli-tools/101-create-react-app.md @@ -6,5 +6,5 @@ It sets up your development environment so that you can use the latest JavaScrip Visit the following resources to learn more: -- [Official Website](https://create-react-app.dev/docs/getting-started) -- [Advanced: Custom Setup with Webpack](https://www.robinwieruch.de/minimal-react-webpack-babel-setup/) +- [Official Docs](https://react.dev/learn/start-a-new-react-project) +- [Advanced: Custom Setup with Webpack](https://www.robinwieruch.de/minimal-react-webpack-babel-setup/) \ No newline at end of file diff --git a/src/data/roadmaps/spring-boot/content/100-spring-core/index.md b/src/data/roadmaps/spring-boot/content/100-spring-core/index.md index cc3a2c9f0563..672b3b494c59 100644 --- a/src/data/roadmaps/spring-boot/content/100-spring-core/index.md +++ b/src/data/roadmaps/spring-boot/content/100-spring-core/index.md @@ -12,3 +12,4 @@ You can learn more about Spring Core from the links below: - [Official Documentation](https://spring.io/why-spring) - [Getting Started with Spring](https://spring.io/guides/gs/spring-boot/) - [Spring Core Tutorial](https://www.tutorialspoint.com/spring/index.htm) +- [Spring Framework](https://www.youtube.com/playlist?list=PLC97BDEFDCDD169D7) \ No newline at end of file diff --git a/src/data/roadmaps/spring-boot/content/101-spring-security/index.md b/src/data/roadmaps/spring-boot/content/101-spring-security/index.md index ef7498e9c791..3a7ee81da26c 100644 --- a/src/data/roadmaps/spring-boot/content/101-spring-security/index.md +++ b/src/data/roadmaps/spring-boot/content/101-spring-security/index.md @@ -7,3 +7,4 @@ Visit the following links for more resources: - [Spring Security](https://spring.io/projects/spring-security) - [Spring Security Introduction](https://www.javatpoint.com/spring-security-introduction) - [What is Spring security](https://www.javadevjournal.com/spring/what-is-spring-security/) +- [Spring Security: Authentication and Authorization In-Depth](https://www.marcobehler.com/guides/spring-security) \ No newline at end of file diff --git a/src/data/roadmaps/typescript/content/101-typescript-types/index.md b/src/data/roadmaps/typescript/content/101-typescript-types/index.md index 98577cec1f4b..0590b680b670 100644 --- a/src/data/roadmaps/typescript/content/101-typescript-types/index.md +++ b/src/data/roadmaps/typescript/content/101-typescript-types/index.md @@ -23,4 +23,4 @@ You can also create custom types in TypeScript using interfaces, classes, and ty Learn more from the following links: -- [Transcript - Everyday Types](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html) +- [TypeScript - Everyday Types](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html) diff --git a/src/data/roadmaps/ux-design/content/100-human-decision-making/index.md b/src/data/roadmaps/ux-design/content/100-human-decision-making/index.md index eb26dd04d1ca..6a966d8724f1 100644 --- a/src/data/roadmaps/ux-design/content/100-human-decision-making/index.md +++ b/src/data/roadmaps/ux-design/content/100-human-decision-making/index.md @@ -27,4 +27,5 @@ To enhance user decision-making experience, consider the following principles: Understanding human decision making and incorporating these principles into UX design will enable designers to create more intuitive, enjoyable, and efficient user experiences. -- [Types of Cognitive Bias](https://www.youtube.com/watch?v=wewgbir_riw) \ No newline at end of file +- [Types of Cognitive Bias](https://www.youtube.com/watch?v=wewgbir_riw) +- [List of Cognitive Biases](https://thedecisionlab.com/biases) \ No newline at end of file diff --git a/src/data/roadmaps/ux-design/content/100-human-decision-making/ux-buzzwords/100-nudge-theory.md b/src/data/roadmaps/ux-design/content/100-human-decision-making/ux-buzzwords/100-nudge-theory.md index bf21de2d8951..b8b7c359a018 100644 --- a/src/data/roadmaps/ux-design/content/100-human-decision-making/ux-buzzwords/100-nudge-theory.md +++ b/src/data/roadmaps/ux-design/content/100-human-decision-making/ux-buzzwords/100-nudge-theory.md @@ -12,4 +12,5 @@ In the context of UX design, nudge theory can be applied in various ways to infl When applying nudge theory in UX design, it's crucial to maintain a balance between encouraging positive behaviors and respecting user autonomy. Designers should aim to empower users with meaningful choices and useful information, rather than manipulating or deceiving them. - [Nudge Theory Explained with Examples (on YouTube)](https://www.youtube.com/watch?v=u3yxxteiyya&ab_channel=epm) -- [Nudge Theory Explained in less than 10 minutes](https://youtu.be/fA5eGIMZTRQ) \ No newline at end of file +- [Nudge Theory Explained in less than 10 minutes](https://youtu.be/fA5eGIMZTRQ) +- [Nudge Theory overview with examples](https://www.businessballs.com/improving-workplace-performance/nudge-theory/) \ No newline at end of file