chore: update roadmap content json (#7214)

Co-authored-by: kamranahmedse <4921183+kamranahmedse@users.noreply.github.com>
pull/7223/head
github-actions[bot] 2 months ago committed by GitHub
parent b265da3b37
commit 216d389cd4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 30
      public/roadmap-content/android.json
  2. 66
      public/roadmap-content/devrel.json
  3. 12
      public/roadmap-content/python.json
  4. 9
      public/roadmap-content/react.json
  5. 132
      public/roadmap-content/redis.json
  6. 15
      public/roadmap-content/software-architect.json

@ -610,13 +610,35 @@
},
"xB4evbD07n1VrHOIpowV4": {
"title": "Crashlytics",
"description": "`Crashlytics` is a lightweight, real-time crash reporter that helps you track, prioritize, and fix stability issues that dismantle your app's quality. It delivers fast and precise information about crashes and helps you gain insights into your app's performance so you can pinpoint the exact line of code your app crashed on. Crashlytics offers a comprehensive suite of features like crash analysis, issue aggregation, and tracking user activities that led to a crash. This tool is now a part of Google's `Firebase` platform but can also be used independently.",
"links": []
"description": "`Crashlytics` is a lightweight, real-time crash reporter that helps you track, prioritize, and fix stability issues that dismantle your app's quality. It delivers fast and precise information about crashes and helps you gain insights into your app's performance so you can pinpoint the exact line of code your app crashed on. Crashlytics offers a comprehensive suite of features like crash analysis, issue aggregation, and tracking user activities that led to a crash. This tool is now a part of Google's `Firebase` platform but can also be used independently.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Documentation",
"url": "https://firebase.google.com/docs/crashlytics/get-started?platform=android",
"type": "article"
},
{
"title": "Firebase: Crashlytics",
"url": "https://www.youtube.com/watch?v=LhjTAkifr6g",
"type": "video"
}
]
},
"1Tz-Shj_Tuz2U8llEAcLr": {
"title": "Remote Config",
"description": "Firebase Remote Config is a cloud service offered by Firebase. It lets you change the behavior and appearance of your app without requiring a new app release. By using Firebase Remote config, you can customize your app for different user segments, manage the core aspects of your app by modifying parameters externally, and conduct A/B tests to improve your app. It works efficiently by using default values that control the behavior and appearance of your app. When your app needs configuration information, it makes a request to the Firebase Remote Config server. If the server has updated values, these values replace the default ones, hence modifying the app's behavior or appearance according to your needs.",
"links": []
"description": "Firebase Remote Config is a cloud service offered by Firebase. It lets you change the behavior and appearance of your app without requiring a new app release. By using Firebase Remote config, you can customize your app for different user segments, manage the core aspects of your app by modifying parameters externally, and conduct A/B tests to improve your app. It works efficiently by using default values that control the behavior and appearance of your app. When your app needs configuration information, it makes a request to the Firebase Remote Config server. If the server has updated values, these values replace the default ones, hence modifying the app's behavior or appearance according to your needs.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Documentation",
"url": "https://firebase.google.com/docs/remote-config/get-started?platform=android",
"type": "article"
},
{
"title": "Firebase: Remote config",
"url": "https://www.youtube.com/watch?v=pcnnbjAAIkI",
"type": "video"
}
]
},
"e3vHFaFFMV7kI9q6yf5e9": {
"title": "Cloud Messaging",

@ -232,8 +232,24 @@
},
"X0xUzEP0S6SyspvqyoDDk": {
"title": "Technical Documentation",
"description": "",
"links": []
"description": "Technical documentation refers to the process of creating and maintaining written descriptions of software, hardware, and other technical products or systems. It involves communicating complex information in a clear, concise, and organized manner to help users understand, operate, and maintain the product or system. Effective technical documentation can take many forms, including user manuals, guides, tutorials, release notes, and API documentation, and is typically created by technical writers, developers, and subject matter experts. The goal of technical documentation is to provide accurate, up-to-date, and easily accessible information that enables users to get the most out of a product or system, while also reducing support queries and improving overall user experience.\n\nLearn more from the following resources:",
"links": [
{
"title": "Technical Writer Roadmap",
"url": "https://roadmap.sh/technical-writer",
"type": "article"
},
{
"title": "Technical Writing - MDN Docs",
"url": "https://developer.mozilla.org/en-US/blog/technical-writing/",
"type": "article"
},
{
"title": "Technical Documentation - Wikipedia",
"url": "https://en.wikipedia.org/wiki/Technical_documentation",
"type": "article"
}
]
},
"urbtoZtuJryK-6TJ3lmRN": {
"title": "Social Media",
@ -353,8 +369,24 @@
},
"aSYXa25_0O2qQl1O-N3xl": {
"title": "Basic Programming Skills",
"description": "",
"links": []
"description": "Basic programming skills are essential for Developer Relations professionals to effectively communicate with developers, understand their needs, and provide technical support. These skills include proficiency in at least one programming language, understanding of data structures and algorithms, and familiarity with development tools and technologies. Having basic programming skills enables Developer Relations professionals to create educational content, provide technical guidance, and participate in code reviews.\n\nLearn more from the following resources:",
"links": [
{
"title": "TheNewStack.io - Devrel",
"url": "https://thenewstack.io/devrel-for-beginners-how-to-get-started/",
"type": "article"
},
{
"title": "Getting Started With Devrel- Dev.to",
"url": "https://dev.to/rejoice/getting-started-with-devrel-22n3",
"type": "article"
},
{
"title": "How to become a DevRel",
"url": "https://www.pluralsight.com/resources/blog/tech-operations/developer-relations-getting-a-devrel-job",
"type": "article"
}
]
},
"KdFYmj36M2jrGfsYkukpo": {
"title": "IDEs",
@ -379,22 +411,32 @@
},
"j5nNSYI8s-cH8EA6G1EWY": {
"title": "VS Code",
"description": "Visual Studio Code (VSCode) was first announced by Microsoft in 2015 and quickly became one of the most popular and widely used Integrated Development Environments (IDEs). Built on [Electron](https://www.electronjs.org/), a framework that allows web technologies like JavaScript, HTML, and CSS to create desktop applications, VSCode offers a lightweight and highly extensible platform for developers. VSCode focuses on being a streamlined code editor with the ability to install extensions that add features such as debugging, version control, and language-specific tooling. Microsoft's vision was to create a flexible environment that could cater to all types of developers, from beginners to seasoned professionals.\n\nLearn more from the following resources:",
"description": "Visual Studio Code (VSCode) was first announced by Microsoft in 2015 and quickly became one of the most popular and widely used Integrated Development Environments (IDEs). Built on Electron, a framework that allows web technologies like JavaScript, HTML, and CSS to create desktop applications, VSCode offers a lightweight and highly extensible platform for developers. VSCode focuses on being a streamlined code editor with the ability to install extensions that add features such as debugging, version control, and language-specific tooling. Microsoft's vision was to create a flexible environment that could cater to all types of developers, from beginners to seasoned professionals.\n\nLearn more from the following resources:",
"links": [
{
"title": "video@FreeCodeCamp Crash Course",
"title": "Visual Studio Code",
"url": "https://code.visualstudio.com/",
"type": "article"
},
{
"title": "Docs - Visual Studio Code",
"url": "https://code.visualstudio.com/docs",
"type": "article"
},
{
"title": "FreeCodeCamp Crash Course",
"url": "https://www.youtube.com/watch?v=WPqXP_kLzpo",
"type": "course"
"type": "video"
},
{
"title": "video@VS Code basics",
"title": "VSCode Basics",
"url": "https://www.youtube.com/watch?v=B-s71n0dHUk",
"type": "article"
"type": "video"
},
{
"title": "Visual Studio Code",
"url": "https://code.visualstudio.com/",
"type": "article"
"title": "VSCode in 100 Seconds",
"url": "https://www.youtube.com/watch?v=KMxo3T_MTvY",
"type": "video"
}
]
},

@ -1119,16 +1119,10 @@
}
]
},
"_IXXTSwQOgYzYIUuKVWNE": {
"virtualenv@_IXXTSwQOgYzYIUuKVWNE.md": {
"title": "virtualenv",
"description": "`virtualenv` is a tool to create isolated Python environments. It creates a folder which contains all the necessary executables to use the packages that a Python project would need.\n\nLearn more about `virtualenv` by visiting the following resources:",
"links": [
{
"title": "Virtual Environments",
"url": "https://virtualenv.pypa.io/en/latest/",
"type": "article"
}
]
"description": "",
"links": []
},
"N5VaKMbgQ0V_BC5tadV65": {
"title": "pyenv",

@ -222,14 +222,19 @@
"description": "React follows a declarative approach to rendering components, which means that developers specify what a component should look like, and React takes care of rendering the component to the screen. This is in contrast to an imperative approach, where developers would write code to manually manipulate the DOM (Document Object Model) to update the UI.\n\nThe virtual DOM (VDOM) is an important aspect of how React works. It is a lightweight in-memory representation of the DOM (Document Object Model), and it is used to optimize the rendering of components in a React application.\n\n* Components are written as JavaScript classes or functions that define a render method. The render method returns a description of what the component should look like, using JSX syntax.\n* When a component is rendered, React creates a virtual DOM (VDOM) representation of the component. The VDOM is a lightweight in-memory representation of the DOM, and it is used to optimize the rendering of components.\n* React compares the VDOM representation of the component with the previous VDOM representation (if it exists). If there are differences between the two VDOMs, React calculates the minimum number of DOM updates needed to bring the actual DOM into line with the new VDOM.\n* React updates the actual DOM with the minimum number of DOM updates needed to reflect the changes in the VDOM.\n\nThis process is known as reconciliation, and it is an important aspect of how React works. By using a declarative approach and a VDOM, React is able to optimize the rendering of components and improve the performance of web applications.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Rendering - Official Docs",
"url": "https://legacy.reactjs.org/docs/rendering-elements.html",
"title": "Render and Commit - Official Docs",
"url": "https://react.dev/learn/render-and-commit",
"type": "article"
},
{
"title": "Rendering in React - ui.dev",
"url": "https://ui.dev/why-react-renders",
"type": "article"
},
{
"title": "Fix the slow render before you fix the re-render",
"url": "https://kentcdodds.com/blog/fix-the-slow-render-before-you-fix-the-re-render",
"type": "article"
}
]
},

@ -101,8 +101,24 @@
},
"NhcZM4nUQoSBBf_1qXi6l": {
"title": "Basic Commands / SET, GET",
"description": "",
"links": []
"description": "In Redis, the SET and GET commands are fundamental operations used to store and retrieve key-value pairs. Redis is an in-memory key-value store, and these commands form the basis for working with data in Redis.\n\nLearn more from the following resources:",
"links": [
{
"title": "SET Docs",
"url": "https://redis.io/docs/latest/commands/set/",
"type": "article"
},
{
"title": "GET Docs",
"url": "https://redis.io/docs/latest/commands/get/",
"type": "article"
},
{
"title": "Redis command cheat sheet",
"url": "https://redis.io/learn/howtos/quick-start/cheat-sheet",
"type": "article"
}
]
},
"DOdNkTY1yIMipWA2CD9xH": {
"title": "Settings and Getting Keys",
@ -141,8 +157,19 @@
},
"cPWd53BO6tm-uy4gqLdtZ": {
"title": "APPEND",
"description": "",
"links": []
"description": "Redis APPEND command is used to add some value in a key. If the key already exists and is a string, this command appends the value at the end of the string. If key does not exist it is created and set as an empty string,\n\nLearn more from the following resources:",
"links": [
{
"title": "APPEND Docs",
"url": "https://redis.io/docs/latest/commands/append/",
"type": "article"
},
{
"title": "Redis - String Append Command",
"url": "https://www.tutorialspoint.com/redis/strings_append.htm",
"type": "article"
}
]
},
"eJQW986HM4Wf1o1i2FnXs": {
"title": "STRLEN",
@ -396,7 +423,7 @@
},
"jrgaoDnt_RxTu79hk4hCD": {
"title": "Atomicity in Redis",
"description": "",
"description": "Atomicity in Redis refers to the property that ensures a set of operations is executed as a single, indivisible unit. This means that either all the operations are executed successfully or none of them are. Atomicity is crucial in Redis to maintain consistency, especially when multiple operations need to be performed together.\n\nLearn more from the following resources:\n\n* [@official@Atomicity with Lua](https://redis.io/learn/develop/java/spring/rate-limiting/fixed-window/reactive-lua) -[@article@Atomicity in Redis operations](https://lucaspin.medium.com/atomicity-in-redis-operations-a1d7bc9f4a90)",
"links": []
},
"LHlwjN3WHYUBUafzzwsWQ": {
@ -406,13 +433,30 @@
},
"7JzeyTrkZ_1_yxMVrqvZU": {
"title": "Batch Operations",
"description": "",
"links": []
"description": "Batch operations in Redis allow you to execute multiple commands efficiently in a single network round-trip. While Redis does not have true batching like some databases (where a set of operations are sent together and processed atomically), it provides ways to send multiple commands together to reduce the overhead of individual network requests. These include Pipelining, Transactions (MULTI/EXEC), and Lua Scripting.\n\nLearn more from the following resources:",
"links": [
{
"title": "Using pipelining to batch issue commands",
"url": "https://www.alibabacloud.com/help/en/redis/use-cases/use-pipelining-to-batch-issue-commands#:~:text=You%20can%20use%20the%20Redis,network%20latency%20and%20improving%20performance.",
"type": "article"
}
]
},
"0Q3AkE8leWAyYsww3-BHX": {
"title": "Bitmaps",
"description": "",
"links": []
"description": "In Redis, Bitmaps are a data structure that allows you to manipulate individual bits within a string value. While Redis doesn't have a native \"bitmap\" data type, it uses strings to represent bitmaps. The power of bitmaps comes from their ability to perform operations on binary data at the bit level, making them extremely memory-efficient for certain types of applications, like tracking the presence/absence of elements (such as daily active users, features, etc.).\n\nLearn more from the following resources:",
"links": [
{
"title": "Redis Bitmap docs",
"url": "https://redis.io/docs/latest/develop/data-types/bitmaps/",
"type": "article"
},
{
"title": "Redis bitmap explained",
"url": "https://youtu.be/oj8LdJQjhJo?si=jem54LfPbZtrpnEP",
"type": "video"
}
]
},
"B-YUFhPQNdr1KZNupmR5N": {
"title": "SETBIT",
@ -426,8 +470,19 @@
},
"jpcyXSSib7q4WBPmpgnXA": {
"title": "BITCOUNT",
"description": "",
"links": []
"description": "The BITCOUNT command in Redis is used to count the number of bits set to 1 (i.e., the number of binary 1s) in the value stored at a specific key. Since Redis allows string values to be stored as binary data, the BITCOUNT command becomes useful for operations involving bits, like efficiently tracking and counting bits in binary-encoded data.\n\nLearn more from the following resources:",
"links": [
{
"title": "BITCOUNT - Docs",
"url": "https://redis.io/docs/latest/commands/bitcount/",
"type": "article"
},
{
"title": "BITCOUNT",
"url": "https://upstash.com/docs/redis/sdks/ts/commands/bitmap/bitcount",
"type": "article"
}
]
},
"tkrxArg_oYH0aQfM8NkD2": {
"title": "BITOP",
@ -631,8 +686,19 @@
},
"ibaZ34-laQtUyxAsERi7o": {
"title": "AOF rewrite & compaction",
"description": "",
"links": []
"description": "Persistence refers to the writing of data to durable storage, such as a solid-state disk (SSD). Redis provides a range of persistence options of which AOF (Append Only File) is one of the options. AOF persistence logs every write operation received by the server. These operations can then be replayed again at server startup, reconstructing the original dataset.The rewrite will create a small optimized version of the current Append Only File.\n\nLearn more from the following resources:",
"links": [
{
"title": "Persistence in redis",
"url": "https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/",
"type": "article"
},
{
"title": "Enabling redis persistence",
"url": "https://youtu.be/qBKnUeR0p10?si=TPvcFtpFMcTZB-Be",
"type": "video"
}
]
},
"9ToKTUqbi-NV5Wcwb21PT": {
"title": "Truncation / Corruption",
@ -681,8 +747,14 @@
},
"Qy42paiTUsO8HIwbWTMui": {
"title": "Authentication",
"description": "",
"links": []
"description": "Authentication in Redis is a security feature used to restrict access to the server by requiring clients to authenticate themselves with a password before performing any commands. This helps prevent unauthorized users from connecting to your Redis instance and performing operations.\n\nLearn more from the following resources:",
"links": [
{
"title": "AUTH",
"url": "https://redis.io/docs/latest/commands/auth/",
"type": "article"
}
]
},
"wsuKH7YwGDV6GYQbdhA4o": {
"title": "Network Security",
@ -771,8 +843,19 @@
},
"wXRDsNGFckXV_CSiit5sN": {
"title": "Backup and Recovery",
"description": "",
"links": []
"description": "Backing up and recovering Redis data is crucial for ensuring data persistence and reliability. Redis, by default, stores its data in memory for fast access, but it provides mechanisms to persist data to disk to allow for recovery in case of failure or system restarts. The primary methods for backup and recovery in Redis are RDB snapshots and AOF (Append-Only File). These methods can be used individually or in combination, depending on the specific use case.\n\nLearn more from the following resources:",
"links": [
{
"title": "Backup and recovery",
"url": "https://redis.io/redis-enterprise/technology/backup-disaster-recovery/",
"type": "article"
},
{
"title": "Backup & Restore Redis Cluster with Stash",
"url": "https://youtu.be/Py_Ivv-2dcQ?si=z8gAAmhlpUBce4jY",
"type": "video"
}
]
},
"Cb-KazR4PuR86VX5oT0zi": {
"title": "Upgrading Redis",
@ -791,8 +874,19 @@
},
"cybF72wlJyJbHLUjitLvn": {
"title": "Active-Active geo Distribution",
"description": "",
"links": []
"description": "An Active-Active architecture is a data resiliency architecture that distributes the database information over multiple data centers via independent and geographically distributed clusters and nodes. It is a network of separate processing nodes, each having access to a common replicated database such that all nodes can participate in a common application ensuring local low latency with each region being able to run in isolation.\n\nLearn more from the following resources:",
"links": [
{
"title": "Active-Active geo-distribution",
"url": "https://redis.io/active-active/",
"type": "article"
},
{
"title": "What is active active geo-distribution",
"url": "https://youtu.be/x5iHPPZIlQg?si=ZZCwU-tDCIVDboXc",
"type": "video"
}
]
},
"sWOFnbh2EyaHRzquz1UeF": {
"title": "Redis on Flash",

@ -1402,8 +1402,19 @@
},
"Rq1Wi-cHjS54SYo-Btp-e": {
"title": "ITIL",
"description": "",
"links": []
"description": "**ITIL (Information Technology Infrastructure Library)** is a set of best practices for IT service management, designed to align IT services with business needs. Its primary focus is the efficient and effective delivery of value through managing the IT service lifecycle, which includes five phases: `Strategy`, `Design`, `Transition`, `Operation`, and `Continual Service Improvement`. ITIL includes key processes such as incident management, problem management, change management, configuration management, and service level agreements (SLAs). These practices aim to optimize performance, service quality, and customer satisfaction. Adopting ITIL helps organizations improve operational efficiency, reduce risks, and maintain clear control over IT services over time.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Documentation",
"url": "https://www.axelos.com/certifications/itil-service-management/itil-4-foundation",
"type": "article"
},
{
"title": "What is ITIL?",
"url": "https://www.youtube.com/watch?v=wgnpfMK8vDk",
"type": "video"
}
]
},
"SJ5lrlvyXgtAwOx4wvT2W": {
"title": "Prince2",

Loading…
Cancel
Save