1
0
mirror of https://github.com/kamranahmedse/developer-roadmap.git synced 2025-01-16 13:51:23 +01:00

chore: update roadmap content json (#7954)

Co-authored-by: kamranahmedse <4921183+kamranahmedse@users.noreply.github.com>
This commit is contained in:
github-actions[bot] 2024-12-30 12:30:44 +06:00 committed by GitHub
parent ad203cca4e
commit 657ee41900
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 216 additions and 70 deletions

View File

@ -3,6 +3,11 @@
"title": "Introduction",
"description": "AI Engineering is the process of designing and implementing AI systems using pre-trained models and existing AI tools to solve practical problems. AI Engineers focus on applying AI in real-world scenarios, improving user experiences, and automating tasks, without developing new models from scratch. They work to ensure AI systems are efficient, scalable, and can be seamlessly integrated into business applications, distinguishing their role from AI Researchers and ML Engineers, who concentrate more on creating new models or advancing AI theory.\n\nLearn more from the following resources:",
"links": [
{
"title": "AI Engineering",
"url": "https://en.wikipedia.org/wiki/Artificial_intelligence_engineering",
"type": "article"
},
{
"title": "AI vs Machine Learning",
"url": "https://www.youtube.com/watch?v=4RixMPF4xis",
@ -62,7 +67,7 @@
"type": "article"
},
{
"title": "How Large Langauge Models Work",
"title": "How Large Language Models Work",
"url": "https://www.youtube.com/watch?v=5sLYAQS9sWQ",
"type": "video"
},
@ -120,12 +125,12 @@
"description": "Embeddings are dense, continuous vector representations of data, such as words, sentences, or images, in a lower-dimensional space. They capture the semantic relationships and patterns in the data, where similar items are placed closer together in the vector space. In machine learning, embeddings are used to convert complex data into numerical form that models can process more easily. For example, word embeddings represent words based on their meanings and contexts, allowing models to understand relationships like synonyms or analogies. Embeddings are widely used in tasks like natural language processing, recommendation systems, and image recognition to improve model performance and efficiency.\n\nLearn more from the following resources:",
"links": [
{
"title": "What are embeddings in machine learning?",
"title": "What are Embeddings in Machine Learning?",
"url": "https://www.cloudflare.com/en-gb/learning/ai/what-are-embeddings/",
"type": "article"
},
{
"title": "What is embedding?",
"title": "What is Embedding?",
"url": "https://www.ibm.com/topics/embedding",
"type": "article"
},
@ -178,7 +183,7 @@
"description": "Prompt engineering is the process of crafting effective inputs (prompts) to guide AI models, like GPT, to generate desired outputs. It involves strategically designing prompts to optimize the models performance by providing clear instructions, context, and examples. Effective prompt engineering can improve the quality, relevance, and accuracy of responses, making it essential for applications like chatbots, content generation, and automated support. By refining prompts, developers can better control the models behavior, reduce ambiguity, and achieve more consistent results, enhancing the overall effectiveness of AI-driven systems.\n\nLearn more from the following resources:",
"links": [
{
"title": "Prompt Engineering Roadmap",
"title": "Visit DedicatedPrompt Engineering Roadmap",
"url": "https://roadmap.sh/prompt-engineering",
"type": "article"
},
@ -263,7 +268,7 @@
"description": "Pre-trained models are Machine Learning (ML) models that have been previously trained on a large dataset to solve a specific task or set of tasks. These models learn patterns, features, and representations from the training data, which can then be fine-tuned or adapted for other related tasks. Pre-training provides a good starting point, reducing the amount of data and computation required to train a new model from scratch.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Pre-trained models: Past, present and future",
"title": "Pre-trained Models: Past, Present and Future",
"url": "https://www.sciencedirect.com/science/article/pii/S2666651021000231",
"type": "article"
}
@ -290,7 +295,7 @@
"description": "Pre-trained models, while powerful, come with several limitations and considerations. They may carry biases present in the training data, leading to unintended or discriminatory outcomes, these models are also typically trained on general data, so they might not perform well on niche or domain-specific tasks without further fine-tuning. Another concern is the \"black-box\" nature of many pre-trained models, which can make their decision-making processes hard to interpret and explain.\n\nLearn more from the following resources:",
"links": [
{
"title": "Pretrained Topic Models: Advantages and Limitation",
"title": "Pre-trained Topic Models: Advantages and Limitation",
"url": "https://www.kaggle.com/code/amalsalilan/pretrained-topic-models-advantages-and-limitation",
"type": "article"
},
@ -371,6 +376,11 @@
"links": [
{
"title": "Google Gemini",
"url": "https://gemini.google.com/",
"type": "article"
},
{
"title": "Google's Gemini Documentation",
"url": "https://workspace.google.com/solutions/ai/",
"type": "article"
},
@ -469,8 +479,14 @@
},
"zdeuA4GbdBl2DwKgiOA4G": {
"title": "OpenAI API",
"description": "The OpenAI API provides access to powerful AI models like GPT, Codex, DALL-E, and Whisper, enabling developers to integrate capabilities such as text generation, code assistance, image creation, and speech recognition into their applications via a simple, scalable interface.",
"links": []
"description": "The OpenAI API provides access to powerful AI models like GPT, Codex, DALL-E, and Whisper, enabling developers to integrate capabilities such as text generation, code assistance, image creation, and speech recognition into their applications via a simple, scalable interface.\n\nLearn more from the following resources:",
"links": [
{
"title": "Open AI API",
"url": "https://openai.com/api/",
"type": "article"
}
]
},
"_bPTciEA1GT1JwfXim19z": {
"title": "Chat Completions API",
@ -482,7 +498,7 @@
"type": "article"
},
{
"title": "",
"title": "Getting Start with Chat Completions API",
"url": "https://medium.com/the-ai-archives/getting-started-with-openais-chat-completions-api-in-2024-462aae00bf0a",
"type": "article"
}
@ -493,7 +509,7 @@
"description": "Prompts for the OpenAI API are carefully crafted inputs designed to guide the language model in generating specific, high-quality content. These prompts can be used to direct the model to create stories, articles, dialogue, or even detailed responses on particular topics. Effective prompts set clear expectations by providing context, specifying the format, or including examples, such as \"Write a short sci-fi story about a future where humans can communicate with animals,\" or \"Generate a detailed summary of the key benefits of using renewable energy.\" Well-designed prompts help ensure that the API produces coherent, relevant, and creative outputs, making it easier to achieve desired results across various applications.\n\nLearn more from the following resources:",
"links": [
{
"title": "",
"title": "Visit Dedicated Prompt Engineering Roadmap",
"url": "https://roadmap.sh/prompt-engineering",
"type": "article"
},
@ -589,7 +605,7 @@
"description": "AI safety and ethics involve establishing guidelines and best practices to ensure that artificial intelligence systems are developed, deployed, and used in a manner that prioritizes human well-being, fairness, and transparency. This includes addressing risks such as bias, privacy violations, unintended consequences, and ensuring that AI operates reliably and predictably, even in complex environments. Ethical considerations focus on promoting accountability, avoiding discrimination, and aligning AI systems with human values and societal norms. Frameworks like explainability, human-in-the-loop design, and robust monitoring are often used to build systems that not only achieve technical objectives but also uphold ethical standards and mitigate potential harms.\n\nLearn more from the following resources:",
"links": [
{
"title": "Understanding artificial intelligence ethics and safety",
"title": "Understanding Artificial Intelligence Ethics and Safety",
"url": "https://www.turing.ac.uk/news/publications/understanding-artificial-intelligence-ethics-and-safety",
"type": "article"
},
@ -760,12 +776,12 @@
"description": "Open-source models are freely available for customization and collaboration, promoting transparency and flexibility, while closed-source models are proprietary, offering ease of use but limiting modification and transparency.\n\nLearn more from the following resources:",
"links": [
{
"title": "OpenAI vs. open-source LLM",
"title": "OpenAI vs. Open Source LLM",
"url": "https://ubiops.com/openai-vs-open-source-llm/",
"type": "article"
},
{
"title": "AI360 | Open-Source vs Closed-Source LLMs",
"title": "Open-Source vs Closed-Source LLMs",
"url": "https://www.youtube.com/watch?v=710PDpuLwOc",
"type": "video"
}
@ -818,7 +834,7 @@
"type": "course"
},
{
"title": "Documentation",
"title": "Hugging Face Documentation",
"url": "https://huggingface.co/docs/hub/en/index",
"type": "article"
}
@ -932,20 +948,31 @@
},
"--ig0Ume_BnXb9K2U7HJN": {
"title": "What are Embeddings",
"description": "Embeddings are dense, numerical vector representations of data, such as words, sentences, images, or audio, that capture their semantic meaning and relationships. By converting data into fixed-length vectors, embeddings allow machine learning models to process and understand the data more effectively. For example, word embeddings represent similar words with similar vectors, enabling tasks like semantic search, recommendation systems, and clustering. Embeddings make it easier to compare, search, and analyze complex, unstructured data by mapping similar items close together in a high-dimensional space.",
"links": []
"description": "Embeddings are dense, numerical vector representations of data, such as words, sentences, images, or audio, that capture their semantic meaning and relationships. By converting data into fixed-length vectors, embeddings allow machine learning models to process and understand the data more effectively. For example, word embeddings represent similar words with similar vectors, enabling tasks like semantic search, recommendation systems, and clustering. Embeddings make it easier to compare, search, and analyze complex, unstructured data by mapping similar items close together in a high-dimensional space.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Introducing Text and Code Embeddings",
"url": "https://openai.com/index/introducing-text-and-code-embeddings/",
"type": "article"
},
{
"title": "What are Embeddings",
"url": "https://www.cloudflare.com/learning/ai/what-are-embeddings/",
"type": "article"
}
]
},
"eMfcyBxnMY_l_5-8eg6sD": {
"title": "Semantic Search",
"description": "Embeddings are used for semantic search by converting text, such as queries and documents, into high-dimensional vectors that capture the underlying meaning and context, rather than just exact words. These embeddings represent the semantic relationships between words or phrases, allowing the system to understand the querys intent and retrieve relevant information, even if the exact terms dont match.\n\nLearn more from the following resources:",
"links": [
{
"title": "What is semantic search?",
"title": "What is Semantic Search?",
"url": "https://www.elastic.co/what-is/semantic-search",
"type": "article"
},
{
"title": "What is Semantic Search? Cohere",
"title": "What is Semantic Search? - Cohere",
"url": "https://www.youtube.com/watch?v=fFt4kR4ntAA",
"type": "video"
}
@ -972,7 +999,7 @@
"description": "Anomaly detection with embeddings works by transforming data, such as text, images, or time-series data, into vector representations that capture their patterns and relationships. In this high-dimensional space, similar data points are positioned close together, while anomalies stand out as those that deviate significantly from the typical distribution. This approach is highly effective for detecting outliers in tasks like fraud detection, network security, and quality control.\n\nLearn more from the following resources:",
"links": [
{
"title": "Anomoly in Embeddings",
"title": "Anomaly in Embeddings",
"url": "https://ai.google.dev/gemini-api/tutorials/anomaly_detection",
"type": "article"
}
@ -999,7 +1026,7 @@
"type": "article"
},
{
"title": "Master OpenAI EMBEDDING API",
"title": "Master OpenAI Embedding API",
"url": "https://www.youtube.com/watch?v=9oCS-VQupoc",
"type": "video"
}
@ -1065,8 +1092,19 @@
},
"tt9u3oFlsjEMfPyojuqpc": {
"title": "Vector Databases",
"description": "Vector databases are systems specialized in storing, indexing, and retrieving high-dimensional vectors, often used as embeddings for data like text, images, or audio. Unlike traditional databases, they excel at managing unstructured data by enabling fast similarity searches, where vectors are compared to find the closest matches. This makes them essential for tasks like semantic search, recommendation systems, and content discovery. Using techniques like approximate nearest neighbor (ANN) search, vector databases handle large datasets efficiently, ensuring quick and accurate retrieval even at scale.",
"links": []
"description": "Vector databases are systems specialized in storing, indexing, and retrieving high-dimensional vectors, often used as embeddings for data like text, images, or audio. Unlike traditional databases, they excel at managing unstructured data by enabling fast similarity searches, where vectors are compared to find the closest matches. This makes them essential for tasks like semantic search, recommendation systems, and content discovery. Using techniques like approximate nearest neighbor (ANN) search, vector databases handle large datasets efficiently, ensuring quick and accurate retrieval even at scale.\n\nLearn more from the following resources:",
"links": [
{
"title": "Vector Databases",
"url": "https://developers.cloudflare.com/vectorize/reference/what-is-a-vector-database/",
"type": "article"
},
{
"title": "What are Vector Databases?",
"url": "https://www.mongodb.com/resources/basics/databases/vector-databases",
"type": "article"
}
]
},
"WcjX6p-V-Rdd77EL8Ega9": {
"title": "Purpose and Functionality",
@ -1110,7 +1148,7 @@
"description": "Pinecone is a managed vector database designed for efficient similarity search and real-time retrieval of high-dimensional data, such as embeddings. It allows developers to store, index, and query vector representations, making it easy to build applications like recommendation systems, semantic search, and AI-driven content discovery. Pinecone is scalable, handles large datasets, and provides fast, low-latency searches using optimized indexing techniques.\n\nLearn more from the following resources:",
"links": [
{
"title": "Pinecone Website",
"title": "Pinecone",
"url": "https://www.pinecone.io",
"type": "article"
},
@ -1131,7 +1169,7 @@
"description": "Weaviate is an open-source vector database that allows users to store, search, and manage high-dimensional vectors, often used for tasks like semantic search and recommendation systems. It enables efficient similarity searches by converting data (like text, images, or audio) into embeddings and indexing them for fast retrieval. Weaviate also supports integrating external data sources and schemas, making it easy to combine structured and unstructured data.\n\nLearn more from the following resources:",
"links": [
{
"title": "Weaviate Website",
"title": "Weaviate",
"url": "https://weaviate.io/",
"type": "article"
},
@ -1173,9 +1211,14 @@
"type": "opensource"
},
{
"title": "LanceDB Website",
"title": "LanceDB",
"url": "https://lancedb.com/",
"type": "article"
},
{
"title": "LanceDB Documentation",
"url": "https://docs.lancedb.com/enterprise/introduction",
"type": "article"
}
]
},
@ -1189,7 +1232,7 @@
"type": "opensource"
},
{
"title": "Qdrant Website",
"title": "Qdrant",
"url": "https://qdrant.tech/",
"type": "article"
},
@ -1205,7 +1248,7 @@
"description": "Supabase Vector is an extension of the Supabase platform, specifically designed for AI and machine learning applications that require vector operations. It leverages PostgreSQL's pgvector extension to provide efficient vector storage and similarity search capabilities. This makes Supabase Vector particularly useful for applications involving embeddings, semantic search, and recommendation systems. With Supabase Vector, developers can store and query high-dimensional vector data alongside regular relational data, all within the same PostgreSQL database.\n\nLearn more from the following resources:",
"links": [
{
"title": "Supabase Vector website",
"title": "Supabase Vector",
"url": "https://supabase.com/vector",
"type": "article"
},
@ -1237,7 +1280,7 @@
"type": "article"
},
{
"title": "Vector Databases simply explained! (Embeddings & Indexes)",
"title": "Vector Databases Simply Explained! (Embeddings & Indexes)",
"url": "https://www.youtube.com/watch?v=dN0lsF2cvm4",
"type": "video"
}
@ -1250,8 +1293,19 @@
},
"lVhWhZGR558O-ljHobxIi": {
"title": "RAG & Implementation",
"description": "Retrieval-Augmented Generation (RAG) combines information retrieval with language generation to produce more accurate, context-aware responses. It uses two components: a retriever, which searches a database to find relevant information, and a generator, which crafts a response based on the retrieved data. Implementing RAG involves using a retrieval model (e.g., embeddings and vector search) alongside a generative language model (like GPT). The process starts by converting a query into embeddings, retrieving relevant documents from a vector database, and feeding them to the language model, which then generates a coherent, informed response. This approach grounds outputs in real-world data, resulting in more reliable and detailed answers.",
"links": []
"description": "Retrieval-Augmented Generation (RAG) combines information retrieval with language generation to produce more accurate, context-aware responses. It uses two components: a retriever, which searches a database to find relevant information, and a generator, which crafts a response based on the retrieved data. Implementing RAG involves using a retrieval model (e.g., embeddings and vector search) alongside a generative language model (like GPT). The process starts by converting a query into embeddings, retrieving relevant documents from a vector database, and feeding them to the language model, which then generates a coherent, informed response. This approach grounds outputs in real-world data, resulting in more reliable and detailed answers.\n\nLearn more from the following resources:",
"links": [
{
"title": "What is RAG?",
"url": "https://aws.amazon.com/what-is/retrieval-augmented-generation/",
"type": "article"
},
{
"title": "What is Retrieval-Augmented Generation? IBM",
"url": "https://www.youtube.com/watch?v=T-D1OfcDW1M",
"type": "video"
}
]
},
"GCn4LGNEtPI0NWYAZCRE-": {
"title": "RAG Usecases",
@ -1382,7 +1436,7 @@
},
"WZVW8FQu6LyspSKm1C_sl": {
"title": "Using SDKs Directly",
"description": "While tools like Langchain and LlamaIndex make it easy to implement RAG, you don't have to necessarily learn and use them. If you know about the different steps of implementing RAG you can simply do it all yourself e.g. do the chunking using @langchain/textsplitters package, create embeddings using any LLM e.g. use OpenAI Embedding API through their SDK, save the embeddings to any vector database e.g. if you are using Supabase Vector DB, you can use their SDK and similarly you can use the relevant SDKs for the rest of the steps as well.\n\nLearn more from the following resources:",
"description": "While tools like Langchain and LlamaIndex make it easy to implement RAG, you don't have to necessarily learn and use them. If you know about the different steps of implementing RAG you can simply do it all yourself e.g. do the chunking using `@langchain/textsplitters` package, create embeddings using any LLM e.g. use OpenAI Embedding API through their SDK, save the embeddings to any vector database e.g. if you are using Supabase Vector DB, you can use their SDK and similarly you can use the relevant SDKs for the rest of the steps as well.\n\nLearn more from the following resources:",
"links": [
{
"title": "Langchain Text Splitter Package",
@ -1406,7 +1460,7 @@
"description": "LangChain is a development framework that simplifies building applications powered by language models, enabling seamless integration of multiple AI models and data sources. It focuses on creating chains, or sequences, of operations where language models can interact with databases, APIs, and other models to perform complex tasks. LangChain offers tools for prompt management, data retrieval, and workflow orchestration, making it easier to develop robust, scalable applications like chatbots, automated data analysis, and multi-step reasoning systems.\n\nLearn more from the following resources:",
"links": [
{
"title": "LangChain Website",
"title": "LangChain",
"url": "https://www.langchain.com/",
"type": "article"
},
@ -1422,7 +1476,7 @@
"description": "LlamaIndex, formerly known as GPT Index, is a tool designed to facilitate the integration of large language models (LLMs) with structured and unstructured data sources. It acts as a data framework that helps developers build retrieval-augmented generation (RAG) applications by indexing various types of data, such as documents, databases, and APIs, enabling LLMs to query and retrieve relevant information efficiently.\n\nLearn more from the following resources:",
"links": [
{
"title": "llamaindex Website",
"title": "Llama Index",
"url": "https://docs.llamaindex.ai/en/stable/",
"type": "article"
},
@ -1525,7 +1579,7 @@
},
"6xaRB34_g0HGt-y1dGYXR": {
"title": "Manual Implementation",
"description": "Services like [Open AI functions](https://platform.openai.com/docs/guides/function-calling) and Tools or [Vercel's AI SDK](https://sdk.vercel.ai/docs/foundations/tools) make it really easy to make SDK agents however it is a good idea to learn how these tools work under the hood. You can also create fully custom implementation of agents using by implementing custom loop.\n\nLearn more from the following resources:",
"description": "Services like Open AI functions and Tools or Vercel's AI SDK make it really easy to make SDK agents however it is a good idea to learn how these tools work under the hood. You can also create fully custom implementation of agents using by implementing custom loop.\n\nLearn more from the following resources:",
"links": [
{
"title": "OpenAI Function Calling",
@ -1637,8 +1691,19 @@
},
"TxaZCtTCTUfwCxAJ2pmND": {
"title": "Video Understanding",
"description": "Video understanding with multimodal AI involves analyzing and interpreting both visual and audio content to provide a more comprehensive understanding of videos. Common use cases include video summarization, where AI extracts key scenes and generates summaries; content moderation, where the system detects inappropriate visuals or audio; and video indexing for easier search and retrieval of specific moments within a video. Other applications include enhancing video-based recommendations, security surveillance, and interactive entertainment, where video and audio are processed together for real-time user interaction.",
"links": []
"description": "Video understanding with multimodal AI involves analyzing and interpreting both visual and audio content to provide a more comprehensive understanding of videos. Common use cases include video summarization, where AI extracts key scenes and generates summaries; content moderation, where the system detects inappropriate visuals or audio; and video indexing for easier search and retrieval of specific moments within a video. Other applications include enhancing video-based recommendations, security surveillance, and interactive entertainment, where video and audio are processed together for real-time user interaction.\n\nLearn more from the following resources:",
"links": [
{
"title": "Awesome LLM for Video Understanding",
"url": "https://github.com/yunlong10/Awesome-LLMs-for-Video-Understanding",
"type": "opensource"
},
{
"title": "Video Understanding",
"url": "https://dl.acm.org/doi/10.1145/3503161.3551600",
"type": "article"
}
]
},
"mxQYB820447DC6kogyZIL": {
"title": "Audio Processing",
@ -1677,17 +1742,17 @@
"description": "In the context of multimodal AI, speech-to-text technology converts spoken language into written text, enabling seamless integration with other data types like images and text. This allows AI systems to process audio input and combine it with visual or textual information, enhancing applications such as virtual assistants, interactive chatbots, and multimedia content analysis. For example, a multimodal AI can transcribe a videos audio while simultaneously analyzing on-screen visuals and text, providing richer and more context-aware insights.\n\nLearn more from the following resources:",
"links": [
{
"title": "What is speech to text? Amazon",
"title": "What is Speech to Text?",
"url": "https://aws.amazon.com/what-is/speech-to-text/",
"type": "article"
},
{
"title": "Turn speech into text using Google AI",
"title": "Turn Speech into Text using Google AI",
"url": "https://cloud.google.com/speech-to-text",
"type": "article"
},
{
"title": "How is Speech to Text Used? ",
"title": "How is Speech to Text Used?",
"url": "https://h2o.ai/wiki/speech-to-text/",
"type": "article"
}
@ -1778,7 +1843,7 @@
"description": "LlamaIndex enables multi-modal apps by linking language models (LLMs) to diverse data sources, including text and images. It indexes and retrieves information across formats, allowing LLMs to process and integrate data from multiple modalities. This supports applications like visual question answering, content summarization, and interactive systems by providing structured, context-aware inputs from various content types.\n\nLearn more from the following resources:",
"links": [
{
"title": "LlamaIndex Multy-modal",
"title": "LlamaIndex Multi-modal",
"url": "https://docs.llamaindex.ai/en/stable/use_cases/multimodal/",
"type": "article"
},
@ -1791,7 +1856,7 @@
},
"NYge7PNtfI-y6QWefXJ4d": {
"title": "Development Tools",
"description": "AI has given rise to a collection of AI powered development tools of various different varieties. We have IDEs like Cursor that has AI baked into it, live context capturing tools such as Pieces and a variety of brower based tools like V0, Claude and more.",
"description": "AI has given rise to a collection of AI powered development tools of various different varieties. We have IDEs like Cursor that has AI baked into it, live context capturing tools such as Pieces and a variety of brower based tools like V0, Claude and more.\n\nLearn more from the following resources:",
"links": [
{
"title": "v0 Website",
@ -1809,7 +1874,7 @@
"type": "article"
},
{
"title": "Pieces Website",
"title": "Pieces",
"url": "https://pieces.app",
"type": "article"
}

View File

@ -87,6 +87,11 @@
"title": "Rust",
"description": "Rust is a systems programming language known for its focus on safety, performance, and concurrency. It provides fine-grained control over system resources while ensuring memory safety without needing a garbage collector. Rust's ownership model enforces strict rules on how data is accessed and managed, preventing common issues like null pointer dereferences and data races. Its strong type system and modern features, such as pattern matching and concurrency support, make it suitable for a wide range of applications, from low-level systems programming to high-performance web servers and tools. Rust is gaining traction in both industry and open source for its reliability and efficiency.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Visit Dedicated Rust Roadmap",
"url": "https://roadmap.sh/rust",
"type": "article"
},
{
"title": "The Rust Programming Language - Book",
"url": "https://doc.rust-lang.org/book/",
@ -119,7 +124,12 @@
"description": "PHP (Hypertext Preprocessor) is a widely-used, open-source scripting language designed primarily for web development but also applicable for general-purpose programming. It is embedded within HTML to create dynamic web pages and interact with databases, often working with MySQL or other database systems. PHP is known for its simplicity, ease of integration with various web servers, and extensive support for web-related functionalities. Its wide adoption is driven by its role in powering major platforms and content management systems like WordPress, Joomla, and Drupal. PHP's features include server-side scripting, session management, and support for various web protocols and formats.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "PHP Website",
"title": "Visit Dedicated PHP Roadmap",
"url": "https://roadmap.sh/php",
"type": "article"
},
{
"title": "PHP",
"url": "https://php.net/",
"type": "article"
},
@ -196,7 +206,7 @@
"type": "article"
},
{
"title": "Build 30 Javascript projects in 30 days",
"title": "Build 30 Javascript Projects in 30 days",
"url": "https://javascript30.com/",
"type": "article"
},
@ -288,6 +298,11 @@
"url": "https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/?WT.mc_id=dotnet-35129-website",
"type": "course"
},
{
"title": "C# Tour",
"url": "https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/",
"type": "article"
},
{
"title": "C# on W3 schools",
"url": "https://www.w3schools.com/cs/index.php",
@ -346,7 +361,7 @@
"description": "Git is a distributed version control system designed to handle projects of any size with speed and efficiency. Created by Linus Torvalds in 2005, it tracks changes in source code during software development, allowing multiple developers to work together on non-linear development. Git maintains a complete history of all changes, enabling easy rollbacks and comparisons between versions. Its distributed nature means each developer has a full copy of the repository, allowing for offline work and backup. Git's key features include branching and merging capabilities, staging area for commits, and support for collaborative workflows like pull requests. Its speed, flexibility, and robust branching and merging capabilities have made it the most widely used version control system in software development, particularly for open-source projects and team collaborations.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Learn Git & GitHub",
"title": "Visit Dedicated Git & GitHub Roadmap",
"url": "https://roadmap.sh/git-github",
"type": "article"
},
@ -382,7 +397,7 @@
"description": "Version Control Systems (VCS) are tools that manage and track changes to code or documents over time, allowing multiple users to collaborate on a project efficiently. They record every change made to files, enabling developers to revert to previous versions, compare changes, and maintain a history of modifications. VCS can be centralized, where the repository is hosted on a central server (e.g., Subversion), or distributed, where each user has a complete copy of the repository (e.g., Git, Mercurial). Version control facilitates collaboration, enhances code integrity, and supports continuous integration by enabling smooth management of concurrent changes and resolving conflicts.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Learn Git & GitHub",
"title": "Visit Dedicated Git & GitHub Roadmap",
"url": "https://roadmap.sh/git-github",
"type": "article"
},
@ -408,7 +423,7 @@
"description": "GitHub is a web-based platform for version control and collaboration using Git. Owned by Microsoft, it provides hosting for software development and offers features beyond basic Git functionality. GitHub includes tools for project management, code review, and social coding. Key features include repositories for storing code, pull requests for proposing and reviewing changes, issues for tracking bugs and tasks, and actions for automating workflows. It supports both public and private repositories, making it popular for open-source projects and private development. GitHub's collaborative features, like forking repositories and inline code comments, facilitate team development and community contributions. With its extensive integrations and large user base, GitHub has become a central hub for developers, serving as a portfolio, collaboration platform, and deployment tool for software projects of all sizes.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Learn Git & GitHub",
"title": "Visit Dedicated Git & GitHub Roadmap",
"url": "https://roadmap.sh/git-github",
"type": "article"
},
@ -417,6 +432,11 @@
"url": "https://github.com",
"type": "article"
},
{
"title": "GitHub Documentation",
"url": "https://docs.github.com",
"type": "article"
},
{
"title": "Explore top posts about GitHub",
"url": "https://app.daily.dev/tags/github?ref=roadmapsh",
@ -444,10 +464,15 @@
"description": "Bitbucket is a web-based version control repository hosting service owned by Atlassian. It primarily uses Git version control systems, offering both cloud-hosted and self-hosted options. Bitbucket provides features such as pull requests for code review, branch permissions, and inline commenting on code. It integrates seamlessly with other Atlassian products like Jira and Trello, making it popular among teams already using Atlassian tools. Bitbucket supports continuous integration and deployment through Bitbucket Pipelines. It offers unlimited private repositories for small teams, making it cost-effective for smaller organizations.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Bitbucket Website",
"title": "Bitbucket",
"url": "https://bitbucket.org/product",
"type": "article"
},
{
"title": "Overview of Bitbucket",
"url": "https://bitbucket.org/product/guides/getting-started/overview#a-brief-overview-of-bitbucket",
"type": "article"
},
{
"title": "Using Git with Bitbucket Cloud",
"url": "https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud",
@ -553,7 +578,7 @@
"description": "Microsoft SQL Server (MS SQL) is a relational database management system developed by Microsoft for managing and storing structured data. It supports a wide range of data operations, including querying, transaction management, and data warehousing. SQL Server provides tools and features for database design, performance optimization, and security, including support for complex queries through T-SQL (Transact-SQL), data integration with SQL Server Integration Services (SSIS), and business intelligence with SQL Server Analysis Services (SSAS) and SQL Server Reporting Services (SSRS). It is commonly used in enterprise environments for applications requiring reliable data storage, transaction processing, and reporting.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "SQL Roadmap",
"title": "Visit Dedicated SQL Roadmap",
"url": "https://roadmap.sh/sql",
"type": "article"
},
@ -978,8 +1003,19 @@
},
"95d9itpUZ4s9roZN8kG9x": {
"title": "Scaling Databases",
"description": "Scaling databases is the process of adapting them to handle more data and users efficiently. It's achieved by either upgrading existing hardware (vertical scaling) or adding more servers (horizontal scaling). Techniques like sharding and replication are key. This ensures databases continue to be a robust asset as they grow.",
"links": []
"description": "Scaling databases is the process of adapting them to handle more data and users efficiently. It's achieved by either upgrading existing hardware (vertical scaling) or adding more servers (horizontal scaling). Techniques like sharding and replication are key. This ensures databases continue to be a robust asset as they grow.\n\nLearn more from the following resources:",
"links": [
{
"title": "Strategies for Scaling Databases: A Comprehensive Guide",
"url": "https://medium.com/@anil.goyal0057/strategies-for-scaling-databases-a-comprehensive-guide-b69cda7df1d3",
"type": "article"
},
{
"title": "Horizontal vs. Vertical Scaling - How to Scale a Database",
"url": "https://www.freecodecamp.org/news/horizontal-vs-vertical-scaling-in-database/",
"type": "article"
}
]
},
"dLY0KafPstajCcSbslC4M": {
"title": "HATEOAS",
@ -1122,7 +1158,7 @@
"description": "GraphQL is a query language for APIs and a runtime for executing those queries, developed by Facebook. Unlike REST, where fixed endpoints return predefined data, GraphQL allows clients to request exactly the data they need, making API interactions more flexible and efficient. It uses a single endpoint and relies on a schema that defines the types and structure of the available data. This approach reduces over-fetching and under-fetching of data, making it ideal for complex applications with diverse data needs across multiple platforms (e.g., web, mobile).\n\nVisit the following resources to learn more:",
"links": [
{
"title": "GraphQL Roadmap",
"title": "Visit Dedicated GraphQL Roadmap",
"url": "https://roadmap.sh/graphql",
"type": "article"
},
@ -1305,7 +1341,7 @@
"description": "Unit testing is a software testing method where individual components or units of a program are tested in isolation to ensure they function correctly. This approach focuses on verifying the smallest testable parts of an application, such as functions or methods, by executing them with predefined inputs and comparing the results to expected outcomes. Unit tests are typically automated and written by developers during the coding phase to catch bugs early, facilitate code refactoring, and ensure that each unit of code performs as intended. By isolating and testing each component, unit testing helps improve code reliability and maintainability.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Unit testing",
"title": "Unit Testing",
"url": "https://en.wikipedia.org/wiki/Unit_testing",
"type": "article"
},
@ -1727,7 +1763,7 @@
"description": "Message brokers are intermediaries that facilitate communication between distributed systems or components by receiving, routing, and delivering messages. They enable asynchronous message passing, decoupling producers (senders) from consumers (receivers), which improves scalability and flexibility. Common functions of message brokers include message queuing, load balancing, and ensuring reliable message delivery through features like persistence and acknowledgment. Popular message brokers include Apache Kafka, RabbitMQ, and ActiveMQ, each offering different features and capabilities suited to various use cases like real-time data processing, event streaming, or task management.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "What are message brokers?",
"title": "What are Message Brokers?",
"url": "https://www.ibm.com/topics/message-brokers",
"type": "article"
},
@ -1795,13 +1831,13 @@
"description": "WebSockets provide a protocol for full-duplex, real-time communication between a client (usually a web browser) and a server over a single, long-lived connection. Unlike traditional HTTP, which requires multiple request-response cycles to exchange data, WebSockets establish a persistent connection that allows for continuous data exchange in both directions. This enables efficient real-time interactions, such as live chat, online gaming, and real-time updates on web pages. WebSocket connections start with an HTTP handshake, then upgrade to a WebSocket protocol, facilitating low-latency communication and reducing overhead compared to HTTP polling or long polling.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Introduction to WebSockets",
"url": "https://www.tutorialspoint.com/websockets/index.htm",
"title": "Socket.io Library Bidirectional and Low-latency Communication for Every Platform",
"url": "https://socket.io/",
"type": "article"
},
{
"title": "Socket.io Library Bidirectional and low-latency communication for every platform",
"url": "https://socket.io/",
"title": "Introduction to WebSockets",
"url": "https://www.tutorialspoint.com/websockets/index.htm",
"type": "article"
},
{
@ -1868,7 +1904,7 @@
"type": "opensource"
},
{
"title": "Official Website",
"title": "Caddy Server",
"url": "https://caddyserver.com/",
"type": "article"
},
@ -1884,10 +1920,15 @@
"description": "Apache, officially known as the Apache HTTP Server, is a free, open-source web server software developed and maintained by the Apache Software Foundation. It's one of the most popular web servers worldwide, known for its robustness, flexibility, and extensive feature set. Apache supports a wide range of operating systems and can handle various content types and programming languages through its modular architecture. It offers features like virtual hosting, SSL/TLS support, and URL rewriting. Apache's configuration files allow for detailed customization of server behavior. While it has faced competition from newer alternatives like Nginx, especially in high-concurrency scenarios, Apache remains widely used due to its stability, comprehensive documentation, and large community support. It's particularly favored for its ability to integrate with other open-source technologies in the LAMP (Linux, Apache, MySQL, PHP/Perl/Python) stack.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Apache Server Website",
"title": "Apache Server",
"url": "https://httpd.apache.org/",
"type": "article"
},
{
"title": "Apache Server Documentation",
"url": "https://httpd.apache.org/docs/2.4/",
"type": "article"
},
{
"title": "Explore top posts about Apache",
"url": "https://app.daily.dev/tags/apache?ref=roadmapsh",
@ -1978,10 +2019,20 @@
"type": "course"
},
{
"title": "Redis Website",
"title": "Visit Dedicated Redis Roadmap",
"url": "https://roadmap.sh/redis",
"type": "article"
},
{
"title": "Redis",
"url": "https://redis.io/",
"type": "article"
},
{
"title": "Redis Documentation",
"url": "https://redis.io/docs/latest/",
"type": "article"
},
{
"title": "Explore top posts about Redis",
"url": "https://app.daily.dev/tags/redis?ref=roadmapsh",
@ -2051,10 +2102,15 @@
"description": "Apache CouchDB is an open-source document-oriented NoSQL database. It uses JSON to store data, JavaScript as its query language using MapReduce, and HTTP for an API. Unlike a relational database, a CouchDB database does not store data and relationships in tables. Instead, each database is a collection of independent documents. Each document maintains its own data and self-contained schema.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "CouchDB Website",
"title": "CouchDB",
"url": "https://couchdb.apache.org/",
"type": "article"
},
{
"title": "CouchDB Documentation",
"url": "https://docs.couchdb.org/en/stable/",
"type": "article"
},
{
"title": "Explore top posts about CouchDB",
"url": "https://app.daily.dev/tags/couchdb?ref=roadmapsh",
@ -2160,6 +2216,11 @@
"title": "Loadshifting",
"description": "Load shifting is a strategy used to manage and distribute computing or system workloads more efficiently by moving or redistributing the load from peak times to off-peak periods. This approach helps in balancing the demand on resources, optimizing performance, and reducing costs. In cloud computing and data centers, load shifting can involve rescheduling jobs, leveraging different regions or availability zones, or adjusting resource allocation based on real-time demand. By smoothing out peak loads, organizations can enhance system reliability, minimize latency, and better utilize their infrastructure.\n\nLearn more from the following resources:",
"links": [
{
"title": "Load Shifting",
"url": "https://en.wikipedia.org/wiki/Load_shifting",
"type": "article"
},
{
"title": "Load Shifting 101",
"url": "https://www.youtube.com/watch?v=DOyMJEdk5aE",
@ -2231,7 +2292,7 @@
"links": [
{
"title": "What is Instrumentation?",
"url": "https://en.wikipedia.org/wiki/Instrumentation_(computer_programming)",
"url": "https://en.wikipedia.org/wiki/Instrumentation_/(computer_programming/)",
"type": "article"
},
{
@ -2579,7 +2640,7 @@
"type": "article"
},
{
"title": "An overview of HTTP",
"title": "Overview of HTTP",
"url": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview",
"type": "article"
},
@ -2631,7 +2692,7 @@
"description": "Hosting refers to the service of providing server space and resources for storing and delivering website files and applications to users over the internet. Hosting providers offer the infrastructure, such as servers, storage, and network connectivity, required to make websites and applications accessible online. There are various types of hosting, including shared hosting (where multiple websites share a single server), virtual private servers (VPS), dedicated hosting (where a single server is dedicated to one user), and cloud hosting (which uses a network of servers to provide scalable resources). Hosting services often include domain registration, security features, and technical support to ensure websites are reliably available and perform well.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "What is the difference between webpage, website, web server, and search engine?",
"title": "What is the difference between Webpage, Website, Web server, and search engine?",
"url": "https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/Pages_sites_servers_and_search_engines",
"type": "article"
},
@ -2806,6 +2867,11 @@
"title": "Token Authentication",
"description": "Token-based authentication is a protocol which allows users to verify their identity, and in return receive a unique access token. During the life of the token, users then access the website or app that the token has been issued for, rather than having to re-enter credentials each time they go back to the same webpage, app, or any resource protected with that same token. Auth tokens work like a stamped ticket. The user retains access as long as the token remains valid. Once the user logs out or quits an app, the token is invalidated. Token-based authentication is different from traditional password-based or server-based authentication techniques. Tokens offer a second layer of security, and administrators have detailed control over each action and transaction.\n\nVisit the following resources to learn more:",
"links": [
{
"title": "Token Based Authentication",
"url": "https://roadmap.sh/guides/token-authentication",
"type": "article"
},
{
"title": "What Is Token-Based Authentication?",
"url": "https://www.okta.com/identity-101/what-is-token-based-authentication/",
@ -3022,10 +3088,20 @@
"type": "course"
},
{
"title": "Redis Website",
"title": "Visit Dedicated Redis Roadmap",
"url": "https://roadmap.sh/redis",
"type": "article"
},
{
"title": "Redis",
"url": "https://redis.io/",
"type": "article"
},
{
"title": "Redis Documentation",
"url": "https://redis.io/docs/latest/",
"type": "article"
},
{
"title": "Explore top posts about Redis",
"url": "https://app.daily.dev/tags/redis?ref=roadmapsh",
@ -3069,10 +3145,15 @@
"type": "course"
},
{
"title": "Firebase Website",
"title": "Firebase",
"url": "https://firebase.google.com/",
"type": "article"
},
{
"title": "Firebase Documentation",
"url": "https://firebase.google.com/docs",
"type": "article"
},
{
"title": "Firebase in 100 seconds",
"url": "https://www.youtube.com/watch?v=vAoB4VbhRzM",
@ -3200,7 +3281,7 @@
"description": "Oracle Base Database Service enables you to maintain absolute control over your data while using the combined capabilities of Oracle Database and Oracle Cloud Infrastructure. Oracle Base Database Service offers database systems (DB systems) on virtual machines. They are available as single-node DB systems and multi-node RAC DB systems on Oracle Cloud Infrastructure (OCI). You can manage these DB systems by using the OCI Console, the OCI API, the OCI CLI, the Database CLI (DBCLI), Enterprise Manager, or SQL Developer.\n\nLearn more from the following resources:",
"links": [
{
"title": "Base Database Website",
"title": "Base Database Documentation",
"url": "https://docs.oracle.com/en-us/iaas/base-database/index.html",
"type": "article"
}
@ -3211,7 +3292,7 @@
"description": "Amazon Neptune is a fully managed graph database service provided by Amazon Web Services (AWS). It's designed to store and navigate highly connected data, supporting both property graph and RDF (Resource Description Framework) models. Neptune uses graph query languages like Gremlin and SPARQL, making it suitable for applications involving complex relationships, such as social networks, recommendation engines, fraud detection systems, and knowledge graphs. It offers high availability, with replication across multiple Availability Zones, and supports up to 15 read replicas for improved performance. Neptune integrates with other AWS services, provides encryption at rest and in transit, and offers fast recovery from failures. Its scalability and performance make it valuable for handling large-scale, complex data relationships in enterprise-level applications.\n\nLearn more from the following resources:",
"links": [
{
"title": "AWS Neptune Website",
"title": "AWS Neptune",
"url": "https://aws.amazon.com/neptune/",
"type": "article"
},

View File

@ -63,7 +63,7 @@
"links": [
{
"title": "What is PHP?",
"url": "https://www.php.net/manual/en/intro-whatis.php",
"url": "https://www.php.net/manual/en/introduction.php",
"type": "article"
},
{