From ea944a001e680e636694e70be8100aab0f9b184b Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 17 Mar 2025 12:25:34 +0000 Subject: [PATCH 01/83] Add AI and Data Scientist Roadmap FAQs --- src/components/RelatedRoadmaps.astro | 2 +- .../ai-data-scientist/ai-data-scientist.md | 46 +++++++ .../roadmaps/ai-data-scientist/faqs.astro | 116 ++++++++++++++++++ 3 files changed, 163 insertions(+), 1 deletion(-) diff --git a/src/components/RelatedRoadmaps.astro b/src/components/RelatedRoadmaps.astro index cc31f2643..919e64f3b 100644 --- a/src/components/RelatedRoadmaps.astro +++ b/src/components/RelatedRoadmaps.astro @@ -60,7 +60,7 @@ const relatedQuestionDetails = await getQuestionGroupsByIds(relatedQuestions); class:list={[ 'border-t bg-gray-100', { - 'mt-8': !relatedQuestionDetails.length, + 'mt-0': !relatedQuestionDetails.length, }, ]} > diff --git a/src/data/roadmaps/ai-data-scientist/ai-data-scientist.md b/src/data/roadmaps/ai-data-scientist/ai-data-scientist.md index 9b80eb517..aec3b3421 100644 --- a/src/data/roadmaps/ai-data-scientist/ai-data-scientist.md +++ b/src/data/roadmaps/ai-data-scientist/ai-data-scientist.md @@ -18,6 +18,52 @@ schema: imageUrl: 'https://roadmap.sh/roadmaps/ai-data-scientist.png' datePublished: '2023-08-17' dateModified: '2023-08-17' +question: + title: 'What is a data scientist?' + description: | + A data scientist is a person who extracts actionable insights from data by using programming, statistics, machine learning, and domain knowledge. + + That is a very generic description, however, the field of data science is so broad that it's tough to define the role without going into the specifics. + + To give you an example of what a data scientist can do, take a closer look at the last selfie you took. Look at your face; what emotion are you showing? Are you happy? Sad? Crying? Laughing? All at the same time? For you, answering those questions is trivially simple; however, getting a computer to do it is a whole different problem. + + And that's where data scientists come into play. + + Data scientists take unstructured data (like video, photos, text files, etc) and structured data (like database rows, spreadsheets, etc) and figure out what it all means. By analyzing this data (some call it "big data"), they help companies make better decisions, such as understanding what customers want, how they feel about their products, or even predicting future trends. + + They help find the hidden answers in the data, which is what makes this profession so appealing to some. + + ## What does a data scientist do? + + Most data scientists collect, organize, and study data to uncover useful insights. At a high level, here's a simple way to break that process down: + + **Collecting Data:** They gather information from various sources, like websites, databases, or devices. Depending on the project, the sources of information might be very different, but the point is that once the data enters the domains of the data scientist, it's all 1's and 0's for them to process. + + **Cleaning Data:** Before being able to use the data, they need to ensure the data is formatted correctly, doesn't have any holes, and that the values actually make sense within the context of their source (i.e., that there are not too many "outliers"). They fix these mistakes and make sure the data is ready to use. + + **Analyzing Data:** They use tools and techniques, like exploratory data analysis, charts, or algorithms, to find patterns and trends. + + **Sharing Insights:** Once they're done with their analysis, the last step is sharing the results. Data scientists explain their findings in easy-to-understand ways, often with visuals, so that others can take action based on the data. + + For example, using these steps, a data scientist might help a company predict which products will sell best next month based on historical sales data and customer trends. + + ## How do you become a data scientist? + + There is no single way to become a data scientist, however, the journey usually involves these steps: + + **#1. Learn the Basics:** Start with math (like statistics) and programming (Python or R) to understand and process data efficiently. + + **#2.** Practice with Data: Begin with small projects, like analyzing trends or creating charts, and gradually tackle more complex goals. + + **#3. Take Courses:** Use online classes and tutorials to learn Data Science step by step. + + **#4. Build a Portfolio:** Solve real-world problems and share your work to showcase your skills and attract opportunities. + + **#5. Get Experience:** Seek internships or entry-level roles to apply and grow your skills. + + In the end, you have to keep in mind that this is a marathon, not a race. Rushing through knowledge or cutting corners for the sake of speed will only limit your options and your understanding by the time you actually do get the job. + + With curiosity and practice, anyone can start exploring the world of Data Science. seo: title: 'AI and Data Scientist Roadmap' description: 'Learn to become an AI and Data Scientist using this roadmap. Community driven, articles, resources, guides, interview questions, quizzes for modern backend development.' diff --git a/src/data/roadmaps/ai-data-scientist/faqs.astro b/src/data/roadmaps/ai-data-scientist/faqs.astro index e69de29bb..aeb3b180a 100644 --- a/src/data/roadmaps/ai-data-scientist/faqs.astro +++ b/src/data/roadmaps/ai-data-scientist/faqs.astro @@ -0,0 +1,116 @@ +--- +import type { FAQType } from '../../components/FAQs/FAQs.astro'; + +export const faqs: FAQType[] = [ + { + question: 'What degree do you need to become a data scientist?', + answer: [ + "You don't need a specific degree to become a data scientist, but fields like Computer Science, Mathematics, Statistics, or Engineering are helpful for their focus on programming, algorithms, and databases.", + 'Degrees in Physics, Economics, or Social Sciences also provide critical thinking and research skills valuable for analyzing data.', + 'Recently, many have transitioned into Data Science through bootcamps or online courses, highlighting the importance of practical skills over formal degrees.', + ], + }, + { + question: 'Is becoming a data scientist a good career path?', + answer: [ + 'Yes, [becoming a data scientist is a good career path](https://roadmap.sh/ai-data-scientist/career-path) for many reasons, although all of them stem from the same one: technology is generating more and more data every day, and making sense of it is crucial for any business. The main derived reasons validating data science as a great career choice are:', + '**High Demand:** Companies in almost every industry need data scientists to help them make sense of their data. This creates plenty of job opportunities.', + '**Competitive Salaries:** Data Science is one of the highest-paying fields in tech, making it financially rewarding.', + '**Diverse Applications:** Getting bored in the field of data science is quite a challenge. If you think about it, data science skills can be applied in healthcare, finance, marketing, sports, and more, offering flexibility in choosing industries.', + '**Continuous Learning:** The field evolves quickly, which makes it exciting for those who love learning and staying up-to-date with new tools and techniques.', + '**Impactful Work:** Data scientists solve real-world problems, like predicting diseases, optimizing business processes, or making products more user-friendly.', + 'While the path requires dedication and learning, the rewards—both professional and personal—make it a worthwhile choice for those who enjoy working with data and solving problems.', + ], + }, + { + question: 'What are data scientist salaries like?', + answer: [ + 'Data scientist salaries vary based on factors such as location, experience, and industry, making them very hard to average and provide values that are useful to everyone around the globe.', + "Here's an overview of average annual salaries for entry-level data scientists in various regions based on information gathered from Glassdoor and Indeed:", + 'In the United States, according to Glassdoor, the average salary for an entry-level data scientist is approximately $110k per year. Indeed, on the other hand, reports an average salary of around $54,313 per year for entry-level data scientists.', + "For European countries, like Spain, for example, the average salary for an entry-level data scientist is about $40k per year. In the **United Kingdom**, while there aren't a lot of details for entry-level positions, reports show that the average salary for a data scientist in London is £50k per year, suggesting that entry-level positions may start lower.", + 'Finally, in **Canada**, the average salary for entry-level data scientists is around CAD 88k.', + 'Remember that all these figures are averages and can vary based on individual qualifications, specific job roles, the employing organization, and even your ability to negotiate your salary.', + 'However, generally speaking, Data Science is considered a well-compensated field with opportunities for growth and advancement.', + ], + }, + { + question: 'What skills does a data scientist need?', + answer: [ + 'The most important [data science skills](https://roadmap.sh/ai-data-scientist/skills) a data scientist needs to possess are all listed in this roadmap.', + 'At a high level, a data scientist needs a mix of technical and soft skills to succeed. Here are some of the key skills:', + '**Programming:** Knowing Python, R, or [SQL](https://roadmap.sh/sql) is a big plus, as relying on others to deploy your work can be limiting.', + '**Statistics & Math:** Essential for interpreting and modeling data, focusing on statistics, probability, and linear algebra.', + '**Data Visualization:** Master creating charts, graphs, and dashboards to effectively share your findings.', + '**Machine Learning:** Understand algorithms and models for predicting and classifying data.', + '**Big Data Tools:** Basic knowledge of Hadoop or Spark helps in handling large datasets and collaborating with data engineers.', + '**Data Wrangling:** Cleaning and prepping messy data is a must-have skill.', + '**Critical Thinking:** Asking the right questions and solving novel problems is key.', + '**Communication:** Simplify complex findings for stakeholders.', + '**Domain Knowledge:** Knowing your industry (e.g., finance or healthcare) helps you choose the right tools and approaches.', + 'These skills combined will help data scientists extract actionable insights from data and drive decision-making in organizations.', + ], + }, + { + question: 'What tools do data scientists use?', + answer: [ + "The [tools used by data scientists](https://roadmap.sh/ai-data-scientist/tools) vary quite a lot depending on the projects they're working on, the industry they're in, and even on their focus (whether they're purely theoretical data scientists or if they're also writing production-ready code).", + 'That said, here are some of the most common tools used in the data science field:', + '**Programming Languages:** **Python** is one of the most popular programming languages for data analysis, machine learning, and visualization. It is also ideal for developing microservices that make your ML models available to the public. On the other hand, something like R would be perfect for statistical computing and data visualization. Finally, **SQL** is used to query and manage databases.', + "**Data Manipulation and Analysis Tools:** Libraries like **Pandas** and **NumPy** are industry standards for data manipulation in Python. If you're using R instead, check out Dplyr and Tidyr; they're both great for data manipulation in that language. Both quantitative and qualitative data are processed and analyzed using tools like Pandas, NumPy, Dplyr, and Tidyr.", + '**Data Visualization Tools:** Tableau and Power BI are some of the most used tools for creating interactive dashboards. If, on the other hand, you require more control and customization, you might want to look at Matplotlib and Seaborn; they are Python libraries for generating graphs and plots.', + "**Machine Learning Frameworks:** In this case, there aren't that many options; the industry is currently focusing on Scikit-learn, a Python library for machine learning, TensorFlow, and PyTorch, which focus more on deep learning applications.", + '**Big Data Tools:** Hadoop and Spark are de facto standards at this point for handling and processing large datasets.', + "**Databases:** If you're looking into SQL, MySQL, and [PostgreSQL](https://roadmap.sh/postgresql-dba), they are your best bets. For NoSQL, a great starting point is MongoDB.", + "**Cloud Platforms:** In this category, nothing beats the 3 big ones: **AWS**, **Google Cloud**, and **Azure**. If you're looking for scalable storage, processing, and machine learning services, you've found your answers.", + '**Version Control:** In terms of industry standards, **Git** is pretty much alone here.', + '**Collaboration Tools:** **Jupyter Notebooks** and **RStudio** are designed for sharing code and analysis in an interactive format.', + ], + }, + { + question: 'What is the Data Science Lifecycle?', + answer: [ + 'The [Data Science Lifecycle](https://roadmap.sh/ai-data-scientist/lifecycle) is the process data scientists follow to complete a data science project.', + 'It consists of several stages:', + '**Problem Definition:** Clearly define the problem you want to solve and understand the objectives.', + '**Data Collection:** Gather relevant data from various sources, such as databases, APIs, or external datasets.', + "**Data Preparation:** Clean, organize, and preprocess the data to ensure it's ready for analysis. This includes handling missing values, removing duplicates, and formatting data correctly.", + '**Exploratory Data Analysis (EDA):** Analyze the data to identify patterns, trends, and relationships. Use visualization tools to gain insights.', + '**Model Building:** Develop and train machine learning models or statistical algorithms to solve the problem.', + "**Model Evaluation:** Test the model's performance using metrics like accuracy, precision, recall, or F1 score to ensure it meets the objectives.", + '**Deployment:** Integrate the model into production systems so it can be used in real-world applications.', + "**Monitoring and Maintenance:** Continuously monitor the model's performance and update it as needed to adapt to new data or changing requirements.", + 'With these steps, data scientists ensure that they cover all the basics when working on a project, from ideation to production release.', + ], + }, + { + question: 'How are data scientists different from AI Engineers?', + answer: [ + "Data scientists are different from [AI Engineers](https://roadmap.sh/ai-engineer), however, they're often confused due to overlapping skills.", + 'For **data scientists**, the focus is to analyze data and uncover insights, while in the case of **AI Engineers**, their focus is on building, deploying, and maintaining AI systems. **Data scientists** tend to be great at data manipulation (Python, R, SQL) and statistical analysis, while **AI Engineers** are quite skilled in software engineering, programming, and machine learning frameworks.', + 'In the end, **data scientists** will provide insights, reports, and predictive models. While **AI Engineers** will deliver AI-powered applications, APIs, and scalable systems.', + ], + }, + { + question: 'What is the difference between Data Science and Data Analytics?', + answer: [ + "The difference between [data science and data analytics](https://roadmap.sh/ai-data-scientist/vs-data-analytics) might not be obvious at first sight, but it's a big one once you look closer into both roles. Data science involves creating predictive models, applying statistical methods, and exploring data to uncover insights. It usually includes advanced techniques such as machine learning. Data analysts, on the other hand, focus on analyzing current and historical data to answer specific questions and generate reports or dashboards, often with less emphasis on predictive modeling or advanced algorithms.", + ], + }, + { + question: + 'What is the difference between Data Science and Data Engineering?', + answer: [ + 'The main difference between data science and data engineering is their focus.', + 'Data Science focuses on analyzing and modeling data to extract insights and make predictions. It emphasizes statistics, machine learning, and visualization. Data engineering involves building and maintaining the infrastructure and pipelines needed to collect, store, and process data efficiently from multiple data sources. Data engineers ensure that data scientists have clean, accessible, and reliable data for their analyses.', + ], + }, + { + question: 'How long does it take to become a data scientist?', + answer: [ + "Becoming a data scientist can take between 1 to 3 years, on average, considering a focused approach. Of course, keep in mind that this answer will highly depend on your approach to becoming a data scientist and your prior experience. And if you're aiming for a position as a senior data scientist, the time to get there will increase significantly if you haven't started yet.", + 'A strong foundation in programming, statistics, and ML is essential for this to happen. Many achieve this through a combination of formal education, such as a degree or certification program, and hands-on projects to build practical skills.', + ], + }, +]; +--- From 4996d513405587153bce080eea5fa8105745668a Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 17 Mar 2025 12:46:12 +0000 Subject: [PATCH 02/83] Add JavaScript faqs --- src/data/roadmaps/javascript/faqs.astro | 57 ++++++++++++++++++++++ src/data/roadmaps/javascript/javascript.md | 14 ++++++ 2 files changed, 71 insertions(+) diff --git a/src/data/roadmaps/javascript/faqs.astro b/src/data/roadmaps/javascript/faqs.astro index e69de29bb..2705cb2b8 100644 --- a/src/data/roadmaps/javascript/faqs.astro +++ b/src/data/roadmaps/javascript/faqs.astro @@ -0,0 +1,57 @@ +--- +import type { FAQType } from '../../components/FAQs/FAQs.astro'; + +export const faqs: FAQType[] = [ + { + question: 'What skills does a JavaScript developer need?', + answer: [ + 'A JavaScript developer needs to have a solid grasp of core JavaScript concepts to be successful because those will be the only common concepts that any framework or library they might depend on will use.', + 'These core concepts include functions, operators, and data structures. And they should include experience with at least one JavaScript framework or core library, such as React for building interactive websites or NextJS for backends.', + "If their focus is back-end development, concepts such as API design and integration, data modeling, server-side rendering, and database querying are a must, as these will be part of the developer's daily tasks.", + "Front-end developers should also learn about web standards, the DOM API, web components (or lightning web components if you're working with the Salesforce ecosystem), and have some basic understanding of UX.", + 'Candidates looking to prepare for JavaScript developer interview questions should include the above-mentioned topics in their study program. For that, many developers schedule their studies at their own pace through extensive documentation, online training, and roadmaps like this one to build a solid foundational knowledge base.', + ], + }, + { + question: 'Is JavaScript hard to learn?', + answer: [ + "JavaScript can be challenging at first, but it's not necessarily hard to learn. It has a lot of flexibility, which can be both a strength and a source of confusion. If you're new to programming, it might feel overwhelming due to the variety of ways you can do the same thing.", + 'However, if you have some programming background, JS can be accessible due to its extensive online documentation and supportive community, which makes it easier to learn at your own pace.', + "As learners progress and encounter the language's continuous stream of new features (due to its constant evolution), the learning process becomes challenging and rewarding.", + ], + }, + { + question: 'How much is a JavaScript developer paid?', + answer: [ + 'JavaScript developers are usually paid very well due to their high demand. The web industry keeps growing, and the demand for developers who can build complex experiences is even higher. This translates to companies fighting each other over JavaScript developers, which tends to increase the base salary for these roles.', + 'That said, compensation can vary significantly based on factors such as geographical location and level of expertise. Salaries tend to be competitive in major tech hubs like New York and San Francisco, and experienced professionals or certified JavaScript developers with extensive knowledge of JavaScript frameworks often require higher pay.', + "As a basis for comparison, according to sites such as Glassdoors, an average JavaScript developer earns 70,000 USD in the United States at an entry level (about 1 year of experience). Someone who's more experienced (10+ years of experience), however, can take that number to 110,000 USD on average.", + "In the end, it depends on the company and how much they're willing to pay, as well as on your negotiation skills.", + ], + }, + { + question: 'How is JavaScript different from Java?', + answer: [ + 'JavaScript is very different from Java, despite the similarity in their names. This is because JavaScript and Java are fundamentally different languages. JavaScript is a dynamically typed language that favors a mixed programming model between procedural and functional programming with some sprinkles of OOP, while Java is a statically typed, object-oriented language.', + 'JavaScript usually runs in browsers or server environments like Node.js, whereas Java is commonly used in desktop and server-side applications requiring the Java Virtual Machine (JVM) to be executed.', + "These differences extend to the languages' design philosophies and learning curves, with JavaScript emphasizing dynamic content creation through flexible tools and data structures.", + ], + }, + { + question: 'How is JavaScript different from PHP?', + answer: [ + 'JavaScript is very different from PHP because it serves a different role within the web development ecosystem.', + 'JavaScript can be used both by front-end developers to create interactive elements and on the back-end to code business logic, while PHP is a server-side-only scripting language that manages backend logic.', + 'Developers can use a combination of the two to build web applications that blend interactive design (thanks to JavaScript) with robust server-side functionality (thanks to PHP).', + ], + }, + { + question: 'How is JavaScript different from TypeScript?', + answer: [ + 'JavaScript is different from TypeScript because TS is a superset of JavaScript. In other words, TypeScript enhances the language by adding new features that tend to align with the expectations of many developers (especially those coming from other languages like Java).', + 'Although TypeScript introduces additional layers of explicit documentation and data type definitions, it also builds on the core principles of JavaScript (so at its core, it feels like JavaScript and is compatible with it). At the end of the day, they can both be used to build interactive web applications.', + 'Many certified JavaScript developers and front end experts choose TypeScript for its ability to produce more robust and maintainable code while still relying on the flexible and innovative features that make JavaScript the de facto tool for web developers.', + ], + }, +]; +--- diff --git a/src/data/roadmaps/javascript/javascript.md b/src/data/roadmaps/javascript/javascript.md index 56b1de536..d02b2f426 100644 --- a/src/data/roadmaps/javascript/javascript.md +++ b/src/data/roadmaps/javascript/javascript.md @@ -18,6 +18,20 @@ schema: imageUrl: 'https://roadmap.sh/roadmaps/javascript.png' datePublished: '2023-01-05' dateModified: '2023-01-20' +question: + title: 'What is JavaScript?' + description: | + JavaScript is a very flexible and versatile programming language, considered as a core technology for web development. This is because it is the only language natively supported by all browsers, allowing developers to add dynamic behavior and create complex user experiences with this language. + + Because of its flexibility and portability, JavaScript is also widely used for back-end development (thanks to runtimes such as Node.js, Bun, and Deno) and even server-side scripting (for automation and for creating developer tools). + + ## What does a JavaScript developer do? + + A JavaScript developer writes and maintains code to build interactive web applications, back-end logic (usually RESTful APIs), or some automation work. + + If they're focused on front-end development, their work usually involves designing dynamic user interfaces and integrating them with REST APIs (usually) to connect with back-end systems. + + If, on the other hand, they're focused on back-end development, then most likely, they're spending most of their time developing APIs using a back-end framework like NextJS. seo: title: 'JavaScript Developer Roadmap: Step by step guide to learn JavaScript' description: 'Community driven, articles, resources, guides, interview questions, quizzes for javascript development. Learn to become a modern JavaScript developer by following the steps, skills, resources and guides listed in this roadmap.' From eb5e5fadccc9af1556b2105689d1ae81ed846ce5 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 17 Mar 2025 13:27:55 +0000 Subject: [PATCH 03/83] Add python FAQs --- src/data/roadmaps/python/faqs.astro | 62 +++++++++++++++++++++++++++++ src/data/roadmaps/python/python.md | 34 ++++++++++++++++ src/lib/markdown.ts | 21 ---------- 3 files changed, 96 insertions(+), 21 deletions(-) diff --git a/src/data/roadmaps/python/faqs.astro b/src/data/roadmaps/python/faqs.astro index e69de29bb..d94ab94be 100644 --- a/src/data/roadmaps/python/faqs.astro +++ b/src/data/roadmaps/python/faqs.astro @@ -0,0 +1,62 @@ +--- +import type { FAQType } from '../../components/FAQs/FAQs.astro'; + +export const faqs: FAQType[] = [ + { + question: 'What skills does a Python developer need?', + answer: [ + "The skills that a Python developer needs are highly dependent on the industry they'd like to focus on.", + 'For example, developers interested in backend web development should be familiar with web frameworks such as Django and Flask. They should also spend some time learning about RESTful design, API management, system architecture, and most likely, some SQL for database querying.', + "On the other hand, for a Python developer who's more interested in data science (also known as a data scientist), expertise in NumPy, Pandas, and machine learning tools becomes necessary.", + 'If automation is their focus, developers should look into IaC (Infrastructure as Code) tools and configuration management and delve a bit deeper into cloud platforms and deployment strategies.', + 'Universally speaking (now outside the domains of Python alone), writing efficient and clean code along with strong problem-solving skills are essential for any development-related role. And you can boost that up with knowledge of data structures and algorithms and understanding object-oriented programming (or functional programming) to top it all up.', + ], + }, + { + question: 'Is Python easy to learn?', + answer: [ + "Python is considered one of the easiest programming languages to learn because of its simple and readable syntax. To many, Python reads a lot like the English language, greatly reducing the cognitive load involved with understanding other people's code.", + 'Unlike other languages, Python code requires fewer lines, making it a great choice for beginners. Many universities and coding bootcamps use Python as an introduction to programming because of its logical structure and extensive documentation.', + 'But in the end, it\'s also important to mention that "easy" is relative, and everyone learns in their own way, and what might be considered simple or easy for the majority of developers doesn\'t automatically make it easy for the rest.', + "If you're looking to become a Python developer, the best thing you can do is to focus on following a pre-defined [Python roadmap](https://roadmap.sh/python) and avoid comparing your progress with that of others.", + ], + }, + { + question: 'Why do beginners use Python?', + answer: [ + 'Beginners choose Python because, generally speaking, it tends to be easier to read, write, and understand than many other programming languages.', + 'Python removes the need for complex syntax rules found in languages like C++ or Java (like the use of squirrely braces, or "&&" and "||" to represent a logical AND or a logical OR operator), allowing developers to focus on solving problems rather than debugging syntax errors.', + 'On top of that, Python has a vast ecosystem of libraries and frameworks that simplify tasks in web development, data science, and automation, making it very "beginner-friendly" from that POV.', + 'Finally, the very active and large community around the language (which helps answer questions and provide learning resources to newcomers) is a very appealing characteristic that attracts beginners to Python.', + ], + }, + { + question: 'Is Python easier than C++?', + answer: [ + 'Python is easier than C++ because of its simplified syntax and dynamic typing, making it a more appealing option for new developers.', + 'Looking at both languages, C++ can be considered to be "lower level" when compared to Python because the former provides an interface that is closer to the actual hardware than the API provided by Python.', + 'A classic example that shows how C++ is closer to the machine is the language requiring manual memory management. That allows developers to directly interact with hardware components by letting them fine-tune CPU records and more.', + 'On the other hand, Python handles memory allocation automatically and has a more flexible approach to programming. This higher level of abstraction is what allows Python developers to focus on building software rather than on learning how the machine works so they can build the software on top of it.', + 'Of course, there are downsides to this approach as well, but when considering ease of adoption, especially for new developers, abstraction helps keep problems at bay.', + ], + }, + { + question: 'How is Python different from Java?', + answer: [ + 'Python is different from Java in many ways. Looking at the syntax alone, Python has a simpler syntax and is dynamically typed, whereas Java is more verbose (and much more similar to that of C or C++) and statically typed.', + 'In terms of execution, Java requires its code to be compiled so it can be executed inside its virtual machine (known as JVM or Java Virtual Machine), while Python is interpreted, which makes Python a more flexible but often slower option.', + 'Finally, when considering the best use cases for each language, Python is widely used in data science, automation, and backend development, while Java is more common in enterprise applications, Android development, and large-scale system architectures.', + "In the end, there is no best choice between both languages, it's all about your use case and project needs.", + ], + }, + { + question: 'How long does it take to learn Python?', + answer: [ + 'The time it takes to learn Python depends on several things, including your past programming experience, how much you want to learn about the language, and the field in which you want to use Python.', + 'Generally, most developers going through the learning process can pick up basic Python skills in a few weeks, while mastering the language for professional development could take several months or even years.', + 'If, on the other hand, you have no prior experience with programming, it can take somewhere between 6 to 8 weeks to learn the basics of Python and programming, as long as you keep the learning consistent.', + "Finally, if you're hoping to work as a Python developer, chances are you'll need 6 months to a year of consistent learning and practice on top of having all the programming basics covered.", + ], + }, +]; +--- diff --git a/src/data/roadmaps/python/python.md b/src/data/roadmaps/python/python.md index fbaa19124..374e2019a 100644 --- a/src/data/roadmaps/python/python.md +++ b/src/data/roadmaps/python/python.md @@ -17,6 +17,40 @@ schema: imageUrl: 'https://roadmap.sh/roadmaps/python.png' datePublished: '2023-01-05' dateModified: '2024-07-31' +question: + title: 'What is a Python developer?' + description: | + A Python developer is a software developer tasked with building web services, automating tasks, performing data analysis, and everything in between using Python. + + In terms of responsibilities, they will vary based on their project, company, and seniority. However, they usually include writing efficient code, managing data structures (especially when doing data science with Python), optimizing algorithms, and working with frameworks such as Pandas, TensorFlow, Django, and others. + + ## How to become a Python developer + + To become a Python developer, the first step is learning the basics of Python, including data types, functions, and object-oriented programming (you can get away without learning OOP as well since Python allows for a hybrid programming model). + + Understanding how to work with Python libraries like NumPy, Pandas, and Requests is also essential. Since Python can be used in many different ways, picking the right library and framework to focus on depends on you and your intentions with the language. + + Beyond coding skills, to become a great Python developer, you should also spend some time looking into data structures like linked lists, trees, and hash maps. While they're not critical to building applications, they're great tools to show you how to solve problems in different ways. + + Python developers should also learn about version control systems like Git, and completing projects that involve APIs, automation, or data processing helps in building a strong portfolio. One way to do this is by contributing to open-source projects to get hands-on experience and improve your problem-solving skills. + + ## Is Python a frontend or backend language? + + Python is a backend language, as the only language natively supported by browsers is JavaScript. On the backend, it is used to build the server-side logic that handles data processing, authentication, and even database management. + + While it can be used on the frontend through the addition of extra libraries such as [PyScript](https://pyscript.net/), this is not a normal practice as it adds dependencies and extra logic to already complex applications. + + In web development, Python is often used alongside Django or Flask to build robust backend services. It is also used for API development, data processing, and automation. + + ## What is Python used for? + + Python is used for many different things and across multiple domains, given how versatile it is. + + In web development, for example, Python can be used with frameworks like Django and Flask to help developers create scalable applications. In data science, it is the de facto language for data analysis, machine learning, and artificial intelligence (thanks to libraries like Pandas, NumPy, and TensorFlow). + + In the field of automation, this language is also very popular, allowing developers to streamline repetitive tasks through Python code. + + Finally, even though it's not as popular in these industries, Python can be used in cybersecurity, embedded systems, and even game development. Many companies use Python for cloud computing and backend services because of its simplicity and extensive support for integration with external systems. seo: title: 'Learn to become a modern Python developer' description: 'Community driven, articles, resources, guides, interview questions, quizzes for python development. Learn to become a modern Python developer by following the steps, skills, resources and guides listed in this roadmap.' diff --git a/src/lib/markdown.ts b/src/lib/markdown.ts index dc12f8f67..c5429df42 100644 --- a/src/lib/markdown.ts +++ b/src/lib/markdown.ts @@ -24,27 +24,6 @@ const md = new MarkdownIt({ export function markdownToHtml(markdown: string, isInline = true): string { try { - // Solution to open links in new tab in markdown - // otherwise default behaviour is to open in same tab - // - // SOURCE: https://github.com/markdown-it/markdown-it/blob/master/docs/architecture.md#renderer - // - const defaultRender = - md.renderer.rules.link_open || - // @ts-ignore - function (tokens, idx, options, env, self) { - return self.renderToken(tokens, idx, options); - }; - - // @ts-ignore - md.renderer.rules.link_open = function (tokens, idx, options, env, self) { - // Add a new `target` attribute, or replace the value of the existing one. - tokens[idx].attrSet('target', '_blank'); - - // Pass the token to the default renderer. - return defaultRender(tokens, idx, options, env, self); - }; - if (isInline) { return md.renderInline(markdown); } else { From 281f6f369ca9a72d5b059f9477a0af74e722996d Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 17 Mar 2025 15:28:54 +0000 Subject: [PATCH 04/83] Remove old guide flags --- src/data/guides/ai-data-scientist-lifecycle.md | 2 +- src/data/guides/ai-data-scientist-vs-computer-science.md | 2 +- src/data/guides/ai-data-scientist-vs-data-analytics.md | 2 +- src/data/guides/ai-data-scientist-vs-machine-learning.md | 2 +- src/data/guides/full-stack-how-to-become.md | 2 +- src/data/guides/go-vs-java.md | 2 +- src/data/guides/java-vs-javascript.md | 2 +- src/data/question-groups/full-stack/full-stack.md | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/data/guides/ai-data-scientist-lifecycle.md b/src/data/guides/ai-data-scientist-lifecycle.md index 8a20aeaa2..9414ddf32 100644 --- a/src/data/guides/ai-data-scientist-lifecycle.md +++ b/src/data/guides/ai-data-scientist-lifecycle.md @@ -7,7 +7,7 @@ seo: title: "Data Science Lifecycle 101: A Beginners' Ultimate Guide" description: 'Discover the Data Science Lifecycle step-by-step: Learn key phases, tools, and techniques in this beginner-friendly guide.' ogImageUrl: 'https://assets.roadmap.sh/guest/data-science-lifecycle-eib3s.jpg' -isNew: true +isNew: false type: 'textual' date: 2025-01-29 sitemap: diff --git a/src/data/guides/ai-data-scientist-vs-computer-science.md b/src/data/guides/ai-data-scientist-vs-computer-science.md index 3a37268bc..d956d095f 100644 --- a/src/data/guides/ai-data-scientist-vs-computer-science.md +++ b/src/data/guides/ai-data-scientist-vs-computer-science.md @@ -7,7 +7,7 @@ seo: title: 'Data Science vs. Computer Science: Which Path to Choose' description: 'Data science or computer science? Learn the tools, roles, and paths in each field to decide which fits your strengths and career goals.' ogImageUrl: 'https://assets.roadmap.sh/guest/data-science-vs-computer-science-rudoc.jpg' -isNew: true +isNew: false type: 'textual' date: 2025-02-06 sitemap: diff --git a/src/data/guides/ai-data-scientist-vs-data-analytics.md b/src/data/guides/ai-data-scientist-vs-data-analytics.md index 335b52acb..c4d2f5d0c 100644 --- a/src/data/guides/ai-data-scientist-vs-data-analytics.md +++ b/src/data/guides/ai-data-scientist-vs-data-analytics.md @@ -7,7 +7,7 @@ seo: title: 'Data Science vs. Data Analytics: Which is Right for You?' description: 'Data science vs. Data analytics? This guide breaks down roles, tools, and growth opportunities for aspiring data professionals.' ogImageUrl: 'https://assets.roadmap.sh/guest/data-science-vs-data-analytics-3ol7o.jpg' -isNew: true +isNew: false type: 'textual' date: 2025-02-06 sitemap: diff --git a/src/data/guides/ai-data-scientist-vs-machine-learning.md b/src/data/guides/ai-data-scientist-vs-machine-learning.md index c5f349318..60c14f14a 100644 --- a/src/data/guides/ai-data-scientist-vs-machine-learning.md +++ b/src/data/guides/ai-data-scientist-vs-machine-learning.md @@ -7,7 +7,7 @@ seo: title: 'Data Science vs Machine Learning: How are they different?' description: 'Excited about a career in data science or machine learning? Learn the differences, key skills, tools, and how to choose the role that aligns with your ambitions.' ogImageUrl: 'https://assets.roadmap.sh/guest/data-science-vs-machine-learning-gaa7s.jpg' -isNew: true +isNew: false type: 'textual' date: 2025-02-06 sitemap: diff --git a/src/data/guides/full-stack-how-to-become.md b/src/data/guides/full-stack-how-to-become.md index c4e74efdd..4c13362f8 100644 --- a/src/data/guides/full-stack-how-to-become.md +++ b/src/data/guides/full-stack-how-to-become.md @@ -9,7 +9,7 @@ seo: ogImageUrl: 'https://assets.roadmap.sh/guest/become-a-full-stack-developer-54s51.jpg' relatedTitle: 'Other Guides' relatedGuidesId: full-stack -isNew: true +isNew: false type: 'textual' date: 2025-02-04 sitemap: diff --git a/src/data/guides/go-vs-java.md b/src/data/guides/go-vs-java.md index 022868b36..9f67b3ae4 100644 --- a/src/data/guides/go-vs-java.md +++ b/src/data/guides/go-vs-java.md @@ -8,7 +8,7 @@ seo: description: 'Comparing Go vs Java for your projects? Explore features like concurrency, memory management, and learning curves to find the right fit for your needs.' ogImageUrl: 'https://assets.roadmap.sh/guest/go-vs-java-fo08l.jpg' relatedGuidesTitle: 'Other Guides' -isNew: true +isNew: false type: 'textual' date: 2025-02-04 sitemap: diff --git a/src/data/guides/java-vs-javascript.md b/src/data/guides/java-vs-javascript.md index a36c72aa3..dff887493 100644 --- a/src/data/guides/java-vs-javascript.md +++ b/src/data/guides/java-vs-javascript.md @@ -8,7 +8,7 @@ seo: description: 'Understand the unique strengths of Java and JavaScript to decide which suits your programming needs best.' ogImageUrl: 'https://assets.roadmap.sh/guest/java-vs-javascript-66pqp.jpg' relatedTitle: 'Other Guides' -isNew: true +isNew: false type: 'textual' date: 2025-01-30 sitemap: diff --git a/src/data/question-groups/full-stack/full-stack.md b/src/data/question-groups/full-stack/full-stack.md index 20fb12fa7..53d94025f 100644 --- a/src/data/question-groups/full-stack/full-stack.md +++ b/src/data/question-groups/full-stack/full-stack.md @@ -5,7 +5,7 @@ briefDescription: 'Test, Rate and Improve your Full-stack knowledge with these q title: 'Top 50 Full Stack Developer Interview Questions' description: 'Ace your interview with our curated list of 50 full-stack developer interview questions, perfect for beginners and experienced candidates.' authorId: 'fernando' -isNew: true +isNew: false date: 2025-01-29 seo: title: 'Top 50 Full Stack Developer Interview Questions' From 1f727d2e1748dc4b885c76ca5ab351f3d133eb24 Mon Sep 17 00:00:00 2001 From: Gleison <126490844+gvieira-dutra@users.noreply.github.com> Date: Mon, 17 Mar 2025 11:57:14 -0400 Subject: [PATCH 05/83] feat: add content for StyleCop (#8337) * Added content for StyleCop section * Update src/data/roadmaps/aspnet-core/content/stylecop-rules@R7Qk5hsEIl9dspQXdaJAJ.md * Update src/data/roadmaps/aspnet-core/content/stylecop-rules@R7Qk5hsEIl9dspQXdaJAJ.md --------- Co-authored-by: Arik Chakma --- .../content/stylecop-rules@R7Qk5hsEIl9dspQXdaJAJ.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/data/roadmaps/aspnet-core/content/stylecop-rules@R7Qk5hsEIl9dspQXdaJAJ.md b/src/data/roadmaps/aspnet-core/content/stylecop-rules@R7Qk5hsEIl9dspQXdaJAJ.md index 90022a147..9bb092720 100644 --- a/src/data/roadmaps/aspnet-core/content/stylecop-rules@R7Qk5hsEIl9dspQXdaJAJ.md +++ b/src/data/roadmaps/aspnet-core/content/stylecop-rules@R7Qk5hsEIl9dspQXdaJAJ.md @@ -1 +1,10 @@ -# StyleCop Rules \ No newline at end of file +# StyleCop Rules + +StyleCop is a tool used for developers to standardize their code and ensure they all follow the same syntax principles. With StyleCop, one standard can be defined in a `stylecop.json` file and shared across your team so that each member has the same guidelines when formatting your code. Beyond a single project, StyleCop can also be added as an extension, so all of the projects on your IDE follow the same formatting rules, this is especially useful if your organization follows the same rule standards for all projects. + +Visit the following resources to learn more: + +- [@opensource@StyleCop GitHub official page](https://github.com/StyleCop/StyleCop) +- [@opensource@StyeleCop Analyzers, a more modern version of StyleCop](https://github.com/DotNetAnalyzers/StyleCopAnalyzers) +- [@video@The StyleCop setup and Advantages](https://www.youtube.com/watch?v=dmpOKmz3lPw) +- [@article@StyleCop: A Detailed Guide to Starting and Using It](https://blog.submain.com/stylecop-detailed-guide/) From 017fe3e0a424b453dcb9929cd65bce6e51312a84 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Mon, 17 Mar 2025 17:15:35 +0000 Subject: [PATCH 06/83] Add UI --- src/components/GenerateCourse/AICourse.tsx | 3 + .../GenerateCourse/FineTuneCourse.tsx | 83 +++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 src/components/GenerateCourse/FineTuneCourse.tsx diff --git a/src/components/GenerateCourse/AICourse.tsx b/src/components/GenerateCourse/AICourse.tsx index 7d4ea4326..8a92cf99f 100644 --- a/src/components/GenerateCourse/AICourse.tsx +++ b/src/components/GenerateCourse/AICourse.tsx @@ -4,6 +4,7 @@ import { cn } from '../../lib/classname'; import { isLoggedIn } from '../../lib/jwt'; import { showLoginPopup } from '../../lib/popup'; import { UserCoursesList } from './UserCoursesList'; +import { FineTuneCourse } from './FineTuneCourse'; export const difficultyLevels = [ 'beginner', @@ -98,6 +99,8 @@ export function AICourse(props: AICourseProps) { + +