chore: update roadmap content json (#6795)

Co-authored-by: kamranahmedse <kamranahmedse@users.noreply.github.com>
pull/6878/head
github-actions[bot] 2 months ago committed by GitHub
parent 4a610a1eea
commit c9729ed073
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 55
      public/roadmap-content/android.json
  2. 109
      public/roadmap-content/cyber-security.json
  3. 10
      public/roadmap-content/frontend.json
  4. 20
      public/roadmap-content/game-developer.json
  5. 12
      public/roadmap-content/javascript.json
  6. 10
      public/roadmap-content/nodejs.json
  7. 34
      public/roadmap-content/python.json
  8. 5
      public/roadmap-content/software-architect.json
  9. 10
      public/roadmap-content/sql.json
  10. 2
      public/roadmap-content/terraform.json

@ -199,8 +199,19 @@
},
"3fFNMhQIuuh-NRzSXYpXO": {
"title": "Constraint",
"description": "",
"links": []
"description": "Lets you create large, complex layouts with a flat view hierarchy—no nested view groups. It's similar to `RelativeLayout` in that all views are laid out according to relationships between sibling views and the parent layout, but it's more flexible than RelativeLayout and easier to use. Its available on xml and jetpack compose.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Android developers: ConstraintLayout in xml",
"url": "https://developer.android.com/develop/ui/views/layout/constraint-layout",
"type": "article"
},
{
"title": "Android developers: ContraintLayout in compose",
"url": "https://developer.android.com/develop/ui/compose/layouts/constraintlayout",
"type": "article"
}
]
},
"xIvplWfe-uDr9iHjPT1Mx": {
"title": "RecycleView",
@ -303,13 +314,30 @@
},
"EzLjX4iRT7AxkAOsJYnSU": {
"title": "ListView",
"description": "",
"links": []
"description": "Displays a vertically-scrollable collection of views, where each view is positioned immediatelybelow the previous view in the list.\n\nFor a more modern, flexible, and performant approach to displaying lists, use `RecyclerView`.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Android developers: ListView",
"url": "https://developer.android.com/reference/android/widget/ListView",
"type": "article"
}
]
},
"amTxz7mS98lkhOrNMJXG_": {
"title": "Drawer",
"description": "",
"links": []
"description": "The **Navigation Drawer** in Android is a sliding menu from the left that simplifies navigation between important app links. It opens by sliding or via an icon in the `ActionBar`. It’s an overlay panel that replaces a screen dedicated to displaying options.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Android developers: DrawerLayout",
"url": "https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout",
"type": "article"
},
{
"title": "Navigate Drawer Tutorial",
"url": "https://www.digitalocean.com/community/tutorials/android-navigation-drawer-example-tutorial",
"type": "article"
}
]
},
"pEBpXv3Jf1AzBNHlvVrG8": {
"title": "Tabs",
@ -324,8 +352,19 @@
},
"Xn1VQ-xOT67ZfJJTM4r1p": {
"title": "Animations",
"description": "",
"links": []
"description": "`Animations` can add visual cues that notify users about what's going on in your app. They are especially useful when the UI changes state, such as when new content loads or new actions become available. Animations also add a polished look to your app, which gives it a higher quality look and feel.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Google developers: Animations",
"url": "https://developer.android.com/develop/ui/views/animations/overview",
"type": "article"
},
{
"title": "Google developers: Animations",
"url": "https://www.youtube.com/watch?v=N_x7SV3I3P0",
"type": "video"
}
]
},
"60Vm-77rseUqpMiFvp-dA": {
"title": "Jetpack Compose",

@ -1503,7 +1503,7 @@
},
"c2kY3wZVFKZYxMARhLIwO": {
"title": "SIEM",
"description": "SIEM, short for Security Information and Event Manager, is a term used to describe tools that greatly increases visibility into a network or system. It does this by monitoring, filtering, collecting, normalizing, and correlating vast amounts of data such as logs, and neatly presents it via an interface/dashboard.\n\nOrganizations leverage SIEMs to monitor and thus identify, protect, and respond to potential threats in their environment.\n\nFor hands-on experience, you should consider setting up a SIEM in your own environment. A common stack widely used for various purposes across the industry is the ELK-stack.\n\nVisit the following resources to learn more:",
"description": "SIEM, short for Security Information and Event Manager, is a term used to describe tools that greatly increases visibility into a network or system. It does this by monitoring, filtering, collecting, normalizing, and correlating vast amounts of data such as logs, and neatly presents it via an interface/dashboard.\n\nOrganizations leverage SIEMs to monitor and thus identify, protect, and respond to potential threats in their environment.\n\nFor hands-on experience, you should consider setting up a SIEM in your own environment. There are some commercial tools that you can try out for free, and there are also open source alternatives, such as Wazuh or LevelBlue OSSIM (AlienVault).\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Security 101: What is a SIEM? - Microsoft",
@ -1511,12 +1511,22 @@
"type": "article"
},
{
"title": "Using the ELK stack for SIEM",
"url": "https://logz.io/blog/elk-siem/",
"type": "article"
"title": "SIEM Explained - Professor Messer",
"url": "https://www.youtube.com/watch?v=JEcETdy5WxU",
"type": "video"
},
{
"title": "Wazuh | Open source SIEM",
"url": "https://www.youtube.com/watch?v=3CaG2GI1kn0",
"type": "video"
},
{
"title": "Build a powerful home SIEM",
"title": "Splunk | The Complete Beginner Tutorial",
"url": "https://www.youtube.com/playlist?list=PLY2f3p7xyMiTUbUo0A_lBFEwj6KdH0nFy",
"type": "video"
},
{
"title": "Elastic Security | Build a powerful home SIEM",
"url": "https://www.youtube.com/watch?v=2XLzMb9oZBI",
"type": "video"
}
@ -1699,7 +1709,7 @@
},
"9rmDvycXFcsGOq3v-_ziD": {
"title": "S/MIME",
"description": "",
"description": "**S/MIME** stands for Secure/Multipurpose Internet Mail Extensions, and it is a cryptographic protocol that enhances the security of business emails through encryption and digital signatures. It allows users to encrypt emails and digitally sign them to verify the sender’s identity.\n\nAdvantages of S/MIME\n--------------------\n\n* **Verification**: Confirms the sender’s identity.\n \n* **Confidentiality**: Protects the content from unauthorized access.\n \n* **Integrity**: Ensures the message has not been altered.\n \n* **Secure Data Transfer**: Safely transmits files like images, audio, videos, and documents.\n \n* **Non-repudiation**: Prevents the sender from denying the origin of the message.\n \n\nHow S/MIME Works\n----------------\n\nS/MIME enables the transmission of non-ASCII data via the Secure Mail Transfer Protocol (SMTP). It securely sends various data files, including music, video, and images, using encryption. Data encrypted with a public key can only be decrypted by the recipient’s private key, ensuring secure end-to-end communication.",
"links": []
},
"3140n5prZYySsuBHjqGOJ": {
@ -2096,8 +2106,19 @@
},
"LfWJJaT3fv0p6fUeS8b84": {
"title": "Deauth Attack",
"description": "",
"links": []
"description": "A Deauthentication (Deauth) Attack is a type of denial-of-service (DoS) attack specific to wireless networks. It involves sending fake deauthentication frames to a Wi-Fi client or access point, forcing the client to disconnect from the network. The attacker uses this technique to disrupt the communication between the client and the access point, often with the intention of capturing data, launching further attacks, or simply causing disruption.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Wi-Fi Deauthentication Attack",
"url": "https://medium.com/@balaramapunna123/wi-fi-deauthentication-attack-76cdd91d5fc",
"type": "article"
},
{
"title": "Deauthentication Attacks",
"url": "https://www.baeldung.com/cs/deauthentication-attacks",
"type": "article"
}
]
},
"u4hySof6if5hiONSaW-Uf": {
"title": "VLAN Hopping",
@ -2106,12 +2127,18 @@
},
"Ee7LfbhwJbiWjJ3b_bbni": {
"title": "Rogue Access Point",
"description": "",
"links": []
"description": "A Rogue Access Point (Rogue AP) is an unauthorized wireless access point installed on a secure network without the network administrator's knowledge or consent. These devices can be set up by malicious actors to intercept, steal, or manipulate network traffic, or by employees who unintentionally compromise network security by setting up their own wireless access points.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Rogue access points",
"url": "https://www.khanacademy.org/computing/computers-and-internet/xcae6f4a7ff015e7d:online-data-security/xcae6f4a7ff015e7d:cyber-attacks/a/rogue-access-points-mitm-attacks",
"type": "article"
}
]
},
"n8ZOZxNhlnw7DpzoXe_f_": {
"title": "Buffer Overflow",
"description": "",
"description": "A Buffer Overflow is a type of vulnerability that occurs when a program or process attempts to write more data to a buffer—a temporary storage area in memory—than it can hold. This overflow can cause the extra data to overwrite adjacent memory locations, potentially leading to unintended behavior, crashes, or security breaches.\n\nVisit the following resources to learn more:",
"links": []
},
"nOND14t7ISgSH3zNpV3F8": {
@ -2158,8 +2185,14 @@
},
"mIX8PsIGuwgPCGQZ6ok2H": {
"title": "Replay Attack",
"description": "",
"links": []
"description": "A Replay Attack is a type of network attack where an attacker intercepts and retransmits legitimate communication data, often with the aim of gaining unauthorized access to a system or performing unauthorized actions. In this attack, the attacker captures a valid data transmission and then \"replays\" it later, without needing to decrypt or alter the data, to trick the recipient into thinking it's a legitimate request.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "What Is a Replay Attack?",
"url": "https://usa.kaspersky.com/resource-center/definitions/replay-attack",
"type": "article"
}
]
},
"sMuKqf27y4iG0GrCdF5DN": {
"title": "Pass the Hash",
@ -2168,13 +2201,55 @@
},
"L0ROYh2DNlkybNDO2ezJY": {
"title": "Directory Traversal",
"description": "",
"links": []
"description": "Directory Traversal, also known as Path Traversal, is a vulnerability that allows attackers to read files on a system without proper authorization. These attacks typically exploit unsecured paths using \"../\" (dot-dot-slash) sequences and their variations, or absolute file paths. The attack is also referred to as \"dot-dot-slash,\" \"directory climbing,\" or \"backtracking.\"\n\nWhile Directory Traversal is sometimes combined with other vulnerabilities like Local File Inclusion (LFI) or Remote File Inclusion (RFI), the key difference is that Directory Traversal doesn't execute code, whereas LFI and RFI usually do.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "TryHackMe's room on Path Traversal & File Inclusion",
"url": "https://tryhackme.com/r/room/filepathtraversal",
"type": "course"
},
{
"title": "HackTheBox Academy's module on File Inclusion & Path Traversal",
"url": "https://academy.hackthebox.com/course/preview/file-inclusion",
"type": "course"
},
{
"title": "Portswigger's guide on File Path Traversal",
"url": "https://portswigger.net/web-security/file-path-traversal",
"type": "article"
},
{
"title": "OWASP's article on Path Traversal",
"url": "https://owasp.org/www-community/attacks/Path_Traversal",
"type": "article"
},
{
"title": "Acunetix's article on directory traversal",
"url": "https://www.acunetix.com/websitesecurity/directory-traversal/",
"type": "article"
}
]
},
"lv6fI3WeJawuCbwKtMRIh": {
"title": "Stakeholders",
"description": "",
"links": []
"description": "Stakeholders are individuals or organizations with a right, share, claim, or interest in a system or its characteristics that meet their needs and expectations.\n\n### External Stakeholders:\n\n* Government agencies\n* Policy regulators\n* Partners\n* Suppliers\n\n### Internal Stakeholders:\n\n* Subject matter experts\n* Legal\n* Compliance\n* Senior management\n\nStakeholders vary based on the organization, making their identification essential. They must be notified according to the organization's playbook for escalating problems and providing updates. Not all stakeholders are equal, some may require a less technical report highlighting the main points, while others will need a full technical report.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "TryHackMe room on Cyber Governance and regulation",
"url": "https://tryhackme.com/r/room/cybergovernanceregulation",
"type": "course"
},
{
"title": "NIST Publication on Engineering Trustworthy Secure Systems",
"url": "https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-160v1r1.pdf",
"type": "article"
},
{
"title": "NIST Glossary",
"url": "https://csrc.nist.gov/glossary/term/stakeholder",
"type": "article"
}
]
},
"05tH6WhToC615JTFN-TPc": {
"title": "HR",

@ -593,11 +593,6 @@
"title": "Making Layouts",
"description": "Float, grid, flexbox, positioning, display and box model are some of the key topics that are used for making layouts. Use the resources below to learn about these topics:\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Learn CSS Grid for free",
"url": "https://scrimba.com/learn/cssgrid?via=roadmap",
"type": "course"
},
{
"title": "Learn and Practice Flexbox",
"url": "https://flexboxfroggy.com/",
@ -2086,11 +2081,6 @@
"title": "TypeScript",
"description": "TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Scrimba — TypeScript Basics",
"url": "https://scrimba.com/learn/typescript?via=roadmap",
"type": "course"
},
{
"title": "Official Website",
"url": "https://www.typescriptlang.org/",

@ -777,8 +777,14 @@
},
"ltkEyfuDxExs7knqs79ya": {
"title": "Deep Learning",
"description": "Deep Learning is a sub-field of machine learning, inspired by the structure and function of the human brain, specifically designed to process complex input/output transformations. It uses artificial neural networks with many layers (hence the term 'deep' learning) to model complex, non-linear hypotheses and discover hidden patterns within large datasets. Deep learning techniques are crucial in game development, primarily in creating intelligent behaviors and features in gaming agents, procedural content generation, and player profiling. You might have heard about the uses of deep learning technologies in popular, cutting-edge games like Google DeepMind's AlphaGo. Coding languages like Python, R, and frameworks like TensorFlow, Keras, and PyTorch are commonly used for deep learning tasks. Learning Deep Learning can be a prominent game-changer in your game development journey.",
"links": []
"description": "Deep Learning is a sub-field of machine learning, inspired by the structure and function of the human brain, specifically designed to process complex input/output transformations. It uses artificial neural networks with many layers (hence the term 'deep' learning) to model complex, non-linear hypotheses and discover hidden patterns within large datasets. Deep learning techniques are crucial in game development, primarily in creating intelligent behaviors and features in gaming agents, procedural content generation, and player profiling. You might have heard about the uses of deep learning technologies in popular, cutting-edge games like Google DeepMind's AlphaGo. Coding languages like Python, R, and frameworks like TensorFlow, Keras, and PyTorch are commonly used for deep learning tasks. Learning Deep Learning can be a prominent game-changer in your game development journey.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "But what is a neural network? | Chapter 1, Deep learning",
"url": "https://www.youtube.com/watch?v=aircAruvnKk",
"type": "video"
}
]
},
"AoH2r4EOHyZd8YaV24rBk": {
"title": "Artificial Neural Network",
@ -854,7 +860,13 @@
},
"YrQgfjsdLCIUxrwflpEHO": {
"title": "Microsurface Scattering",
"description": "Microsurface scattering, also known as sub-surface scattering, is an important phenomenon in Physically Based Rendering (PBR). This process involves the penetration of light into the surface of a material, where it is scattered by interacting with the material. In other words, when light strikes an object, rather than simply bouncing off the surface, some of it goes into the object and gets scattered around inside before getting re-emitted. It is key to achieving more realistic rendering of translucent materials like skin, marble, milk, and more. Consider it essential for replicating how light interacts with real-world materials in a convincing manner in your game.",
"links": []
"description": "Microsurface scattering, also known as sub-surface scattering, is an important phenomenon in Physically Based Rendering (PBR). This process involves the penetration of light into the surface of a material, where it is scattered by interacting with the material. In other words, when light strikes an object, rather than simply bouncing off the surface, some of it goes into the object and gets scattered around inside before getting re-emitted. It is key to achieving more realistic rendering of translucent materials like skin, marble, milk, and more. Consider it essential for replicating how light interacts with real-world materials in a convincing manner in your game.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "The 4 main types of subsurface scattering",
"url": "https://www.youtube.com/watch?v=GkjvYSbGHg4",
"type": "video"
}
]
}
}

@ -1415,7 +1415,7 @@
]
},
"k9rSR-YQ8B_iRcXNm2btP": {
"title": "Unary Opeartors",
"title": "Unary Operators",
"description": "JavaScript Unary Operators are the special operators that consider a single operand and perform all the types of operations on that single operand. These operators include unary plus, unary minus, prefix increments, postfix increments, prefix decrements, and postfix decrements.\n\nVisit the following resources to learn more:",
"links": [
{
@ -1790,8 +1790,14 @@
},
"-BtF34cEzI6J8sZCDRlRE": {
"title": "apply",
"description": "",
"links": []
"description": "The apply() method of Function instances calls this function with a given this value, and arguments provided as an array (or an array-like object).\n\n const numbers = [5, 6, 2, 3, 7];\n \n const max = Math.max.apply(null, numbers);\n \n console.log(max);\n // Expected output: 7\n \n const min = Math.min.apply(null, numbers);\n \n console.log(min);\n // Expected output: 2\n \n\nVisit the following resources to learn more:",
"links": [
{
"title": "apply() - MDN",
"url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply",
"type": "article"
}
]
},
"dbercnxXVTJXMpYSDNGb2": {
"title": "bind",

@ -1616,6 +1616,11 @@
"title": "Drizzle",
"description": "Drizzle lets you build your project the way you want, without interfering with your project or structure. Using Drizzle you can define and manage database schemas in TypeScript, access your data in a SQL-like or relational way, and take advantage of opt-in tools to make your developer experience amazing.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Drizzle Github",
"url": "https://github.com/drizzle-team/drizzle-orm",
"type": "opensource"
},
{
"title": "Drizzle Website",
"url": "https://orm.drizzle.team/",
@ -1626,11 +1631,6 @@
"url": "https://orm.drizzle.team/docs/overview",
"type": "article"
},
{
"title": "Drizzle Github",
"url": "https://github.com/drizzle-team/drizzle-orm",
"type": "article"
},
{
"title": "Getting Started with Drizzle",
"url": "https://dev.to/franciscomendes10866/getting-started-with-drizzle-orm-a-beginners-tutorial-4782",

@ -95,6 +95,17 @@
"title": "Type Conversion and Casting",
"url": "https://www.programiz.com/python-programming/type-conversion-and-casting",
"type": "article"
}
]
},
"fNTb9y3zs1HPYclAmu_Wv": {
"title": "Exceptions",
"description": "Python exceptions are events that occur during the execution of a program and disrupt the normal flow of the program's instructions. When an exception is raised, it indicates that an error has occurred. Python provides a way to handle these exceptions using try-except blocks, allowing developers to manage errors gracefully and ensure the program can continue or exit smoothly.",
"links": [
{
"title": "Exceptions Documentation",
"url": "https://docs.python.org/3/tutorial/errors.html#exceptions",
"type": "article"
},
{
"title": "Python Exceptions: An Introduction",
@ -115,17 +126,6 @@
"title": "Python Try Except",
"url": "https://www.w3schools.com/python/python_try_except.asp",
"type": "article"
}
]
},
"fNTb9y3zs1HPYclAmu_Wv": {
"title": "Exceptions",
"description": "Python exceptions are events that occur during the execution of a program and disrupt the normal flow of the program's instructions. When an exception is raised, it indicates that an error has occurred. Python provides a way to handle these exceptions using try-except blocks, allowing developers to manage errors gracefully and ensure the program can continue or exit smoothly.",
"links": [
{
"title": "Exceptions Documentation",
"url": "https://docs.python.org/3/tutorial/errors.html#exceptions",
"type": "article"
},
{
"title": "Exception Handling in Python",
@ -1207,10 +1207,16 @@
}
]
},
"black@DS6nuAUhUYcqiJDmQisKM.md": {
"DS6nuAUhUYcqiJDmQisKM": {
"title": "black",
"description": "",
"links": []
"description": "black is a code formatter for Python. It is a tool that automatically formats Python code to adhere to the PEP 8 style guide. It is a great tool to use in your Python projects to ensure that your code is formatted consistently and correctly.",
"links": [
{
"title": "black documentation",
"url": "https://black.readthedocs.io/en/stable/",
"type": "article"
}
]
},
"tsh_vbhzKz1-H9Vh69tsK": {
"title": "yapf",

@ -315,11 +315,6 @@
"url": "https://www.tutorialspoint.com/typescript/index.htm",
"type": "article"
},
{
"title": "Scrimba — TypeScript Basics",
"url": "https://scrimba.com/learn/typescript?via=roadmap",
"type": "article"
},
{
"title": "Explore top posts about JavaScript",
"url": "https://app.daily.dev/tags/javascript?ref=roadmapsh",

@ -116,8 +116,14 @@
},
"rmqXH29n1oXtZ8tvmcRFn": {
"title": "SELECT",
"description": "",
"links": []
"description": "The SELECT statement in SQL is used to retrieve data from a database. It allows you to specify the columns you want to fetch from a particular table or a combination of tables. Here’s a basic syntax of a SELECT statement:\n\n'''sql SELECT \\* FROM employees; '''\n\nLearn more from the following resources:",
"links": [
{
"title": "SQL_Select",
"url": "https://www.w3schools.com/sql/sql_select.asp",
"type": "article"
}
]
},
"mPj6BiK5FKKkIQ9WsWEo6": {
"title": "INSERT",

@ -535,7 +535,7 @@
"type": "article"
},
{
"title": "Surpressing values in CLI output",
"title": "Suppressing values in CLI output",
"url": "https://developer.hashicorp.com/terraform/language/values/outputs#sensitive-suppressing-values-in-cli-output",
"type": "article"
}

Loading…
Cancel
Save