Skip to content

Commit

Permalink
Merge pull request #87 from kamranahmedse/master
Browse files Browse the repository at this point in the history
Create a new pull request by comparing changes across two branches
  • Loading branch information
GulajavaMinistudio authored Jul 7, 2023
2 parents c1aa8b3 + ceb51a1 commit 43789a8
Show file tree
Hide file tree
Showing 43 changed files with 215 additions and 21 deletions.
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/01-suggest-changes.yml
Original file line number Diff line number Diff line change
@@ -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
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/02-bug-report.yml
Original file line number Diff line number Diff line change
@@ -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
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/03-feature-suggestion.yml
Original file line number Diff line number Diff line change
@@ -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
37 changes: 37 additions & 0 deletions .github/ISSUE_TEMPLATE/04-roadmap-contribution.yml
Original file line number Diff line number Diff line change
@@ -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
12 changes: 12 additions & 0 deletions .github/ISSUE_TEMPLATE/05-something-else.yml
Original file line number Diff line number Diff line change
@@ -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
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -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.
2 changes: 1 addition & 1 deletion src/data/guides/introduction-to-llms.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
2 changes: 2 additions & 0 deletions src/data/roadmaps/angular/content/111-zones.md
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
# Zones

- [Angular - NgZone](https://angular.io/guide/zone)
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
- [C# Tutorials](https://dotnettutorials.net/course/csharp-dot-net-tutorials/)
- [C# tutorials - W3Schools](https://www.w3schools.com/cs/index.php)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
@@ -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:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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.
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)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
- [IT skills Training for beginners | Complete Course](https://www.youtube.com/watch?v=On6dsIp5yw0)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
Original file line number Diff line number Diff line change
Expand Up @@ -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/#)
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
- [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)
4 changes: 3 additions & 1 deletion src/data/roadmaps/devops/content/109-serverless/index.md
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
# Serverless
# Serverless

- [What is Serverless?](https://www.redhat.com/en/topics/cloud-native-apps/what-is-serverless)
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
- [Memory Management Tutorial in Java](https://www.youtube.com/watch?v=fM8yj93X80s)
Original file line number Diff line number Diff line change
Expand Up @@ -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/)
Original file line number Diff line number Diff line change
Expand Up @@ -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.
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)
Loading

0 comments on commit 43789a8

Please sign in to comment.