mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2025-03-15 12:49:43 +01:00
Add python roadmap
This commit is contained in:
parent
cda4789262
commit
236ec5a570
@ -37,9 +37,10 @@
|
|||||||
},
|
},
|
||||||
"featured": true,
|
"featured": true,
|
||||||
"imagePath": "/roadmaps/frontend.png",
|
"imagePath": "/roadmaps/frontend.png",
|
||||||
"resourcesPath": "/roadmaps/1-frontend/resources.md",
|
"resourcesPath": "/roadmaps/100-frontend/resources.md",
|
||||||
"pdfUrl": "https://kamranahmedse.gumroad.com/l/frontend-roadmap",
|
"pdfUrl": "https://kamranahmedse.gumroad.com/l/frontend-roadmap",
|
||||||
"id": "frontend",
|
"id": "frontend",
|
||||||
|
"metaPath": "/roadmaps/100-frontend/meta.json",
|
||||||
"isUpcoming": false
|
"isUpcoming": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -76,13 +77,14 @@
|
|||||||
"featuredDescription": "Step by step guide to becoming a backend developer in 2021",
|
"featuredDescription": "Step by step guide to becoming a backend developer in 2021",
|
||||||
"featured": true,
|
"featured": true,
|
||||||
"imagePath": "/roadmaps/backend.png",
|
"imagePath": "/roadmaps/backend.png",
|
||||||
"resourcesPath": "/roadmaps/2-backend/resources.md",
|
"resourcesPath": "/roadmaps/101-backend/resources.md",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
},
|
},
|
||||||
"pdfUrl": "https://kamranahmedse.gumroad.com/l/backend-roadmap",
|
"pdfUrl": "https://kamranahmedse.gumroad.com/l/backend-roadmap",
|
||||||
"id": "backend",
|
"id": "backend",
|
||||||
|
"metaPath": "/roadmaps/101-backend/meta.json",
|
||||||
"isUpcoming": false
|
"isUpcoming": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -113,7 +115,7 @@
|
|||||||
"featuredDescription": "Step by step guide for DevOps or operations role in 2021",
|
"featuredDescription": "Step by step guide for DevOps or operations role in 2021",
|
||||||
"featured": true,
|
"featured": true,
|
||||||
"imagePath": "/roadmaps/devops.png",
|
"imagePath": "/roadmaps/devops.png",
|
||||||
"resourcesPath": "/roadmaps/3-devops/resources.md",
|
"resourcesPath": "/roadmaps/102-devops/resources.md",
|
||||||
"versions": [
|
"versions": [
|
||||||
"latest",
|
"latest",
|
||||||
"2018",
|
"2018",
|
||||||
@ -125,6 +127,7 @@
|
|||||||
},
|
},
|
||||||
"pdfUrl": "https://kamranahmedse.gumroad.com/l/devops-roadmap",
|
"pdfUrl": "https://kamranahmedse.gumroad.com/l/devops-roadmap",
|
||||||
"id": "devops",
|
"id": "devops",
|
||||||
|
"metaPath": "/roadmaps/102-devops/meta.json",
|
||||||
"isUpcoming": false
|
"isUpcoming": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -152,8 +155,8 @@
|
|||||||
"isTextHeavy": false,
|
"isTextHeavy": false,
|
||||||
"isCommunity": false,
|
"isCommunity": false,
|
||||||
"featured": true,
|
"featured": true,
|
||||||
"contentPath": "/roadmaps/4-react/landscape.md",
|
"contentPath": "/roadmaps/103-react/landscape.md",
|
||||||
"resourcesPath": "/roadmaps/4-react/resources.md",
|
"resourcesPath": "/roadmaps/103-react/resources.md",
|
||||||
"versions": [
|
"versions": [
|
||||||
"latest",
|
"latest",
|
||||||
"2018",
|
"2018",
|
||||||
@ -165,6 +168,7 @@
|
|||||||
},
|
},
|
||||||
"pdfUrl": "https://kamranahmedse.gumroad.com/l/react-roadmap",
|
"pdfUrl": "https://kamranahmedse.gumroad.com/l/react-roadmap",
|
||||||
"id": "react",
|
"id": "react",
|
||||||
|
"metaPath": "/roadmaps/103-react/meta.json",
|
||||||
"isUpcoming": false
|
"isUpcoming": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -192,8 +196,8 @@
|
|||||||
"isTextHeavy": true,
|
"isTextHeavy": true,
|
||||||
"isCommunity": true,
|
"isCommunity": true,
|
||||||
"featured": true,
|
"featured": true,
|
||||||
"contentPath": "/roadmaps/6-android/landscape.md",
|
"contentPath": "/roadmaps/104-android/landscape.md",
|
||||||
"resourcesPath": "/roadmaps/6-android/resources.md",
|
"resourcesPath": "/roadmaps/104-android/resources.md",
|
||||||
"versions": [
|
"versions": [
|
||||||
"latest",
|
"latest",
|
||||||
"2018",
|
"2018",
|
||||||
@ -204,6 +208,45 @@
|
|||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
},
|
},
|
||||||
"id": "android",
|
"id": "android",
|
||||||
|
"metaPath": "/roadmaps/104-android/meta.json",
|
||||||
|
"isUpcoming": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"seo": {
|
||||||
|
"title": "Python Developer Roadmap: Learn to become a 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.",
|
||||||
|
"keywords": [
|
||||||
|
"guide to becoming an python developer",
|
||||||
|
"python developer roadmap",
|
||||||
|
"python roadmap",
|
||||||
|
"become python developer",
|
||||||
|
"python developer skills",
|
||||||
|
"python skills test",
|
||||||
|
"skills for python development",
|
||||||
|
"learn python development",
|
||||||
|
"what is python",
|
||||||
|
"python quiz",
|
||||||
|
"python interview questions"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"title": "Python Developer",
|
||||||
|
"description": "Step by step guide to becoming a Python developer in 2021",
|
||||||
|
"featuredTitle": "Python",
|
||||||
|
"featuredDescription": "Step by step guide to becoming a Python Developer in 2021",
|
||||||
|
"isTextHeavy": true,
|
||||||
|
"isCommunity": true,
|
||||||
|
"featured": true,
|
||||||
|
"resourcesPath": "/roadmaps/105-python/resources.md",
|
||||||
|
"contentPath": "/roadmaps/105-python/landscape.md",
|
||||||
|
"versions": [
|
||||||
|
"latest"
|
||||||
|
],
|
||||||
|
"author": {
|
||||||
|
"name": "Kamran Ahmed",
|
||||||
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
|
},
|
||||||
|
"id": "python",
|
||||||
|
"metaPath": "/roadmaps/105-python/meta.json",
|
||||||
"isUpcoming": false
|
"isUpcoming": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -235,8 +278,8 @@
|
|||||||
"description": "Step by step guide to becoming a modern PostgreSQL DB Administrator in 2021",
|
"description": "Step by step guide to becoming a modern PostgreSQL DB Administrator in 2021",
|
||||||
"featuredTitle": "DBA",
|
"featuredTitle": "DBA",
|
||||||
"featuredDescription": "Step by step guide to become a PostgreSQL DBA in 2021",
|
"featuredDescription": "Step by step guide to become a PostgreSQL DBA in 2021",
|
||||||
"contentPath": "/roadmaps/7-postgresql-dba/landscape.md",
|
"contentPath": "/roadmaps/106-postgresql-dba/landscape.md",
|
||||||
"resourcesPath": "/roadmaps/7-postgresql-dba/resources.md",
|
"resourcesPath": "/roadmaps/106-postgresql-dba/resources.md",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Alexey Lesovsky",
|
"name": "Alexey Lesovsky",
|
||||||
"url": "https://github.com/lesovsky"
|
"url": "https://github.com/lesovsky"
|
||||||
@ -247,6 +290,7 @@
|
|||||||
"detailed": false,
|
"detailed": false,
|
||||||
"versions": [],
|
"versions": [],
|
||||||
"id": "postgresql-dba",
|
"id": "postgresql-dba",
|
||||||
|
"metaPath": "/roadmaps/106-postgresql-dba/meta.json",
|
||||||
"isUpcoming": false
|
"isUpcoming": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -273,8 +317,8 @@
|
|||||||
"isCommunity": false,
|
"isCommunity": false,
|
||||||
"isUpcoming": true,
|
"isUpcoming": true,
|
||||||
"featured": true,
|
"featured": true,
|
||||||
"contentPath": "/roadmaps/8-aws/landscape.md",
|
"contentPath": "/roadmaps/107-aws/landscape.md",
|
||||||
"resourcesPath": "/roadmaps/8-aws/resources.md",
|
"resourcesPath": "/roadmaps/107-aws/resources.md",
|
||||||
"versions": [
|
"versions": [
|
||||||
"latest",
|
"latest",
|
||||||
"2018",
|
"2018",
|
||||||
@ -284,7 +328,8 @@
|
|||||||
"name": "Kamran Ahmed",
|
"name": "Kamran Ahmed",
|
||||||
"url": "https://twitter.com/kamranahmedse"
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
},
|
},
|
||||||
"id": "aws"
|
"id": "aws",
|
||||||
|
"metaPath": "/roadmaps/107-aws/meta.json"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"seo": {
|
"seo": {
|
||||||
@ -311,12 +356,13 @@
|
|||||||
"featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2021",
|
"featuredDescription": "Step by step guide to becoming a modern QA Engineer in 2021",
|
||||||
"isUpcoming": true,
|
"isUpcoming": true,
|
||||||
"featured": true,
|
"featured": true,
|
||||||
"contentPath": "/roadmaps/9-qa/landscape.md",
|
"contentPath": "/roadmaps/108-qa/landscape.md",
|
||||||
"resourcesPath": "/roadmaps/9-qa/resources.md",
|
"resourcesPath": "/roadmaps/108-qa/resources.md",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Anas Fitiani",
|
"name": "Anas Fitiani",
|
||||||
"url": "https://github.com/anas-qa"
|
"url": "https://github.com/anas-qa"
|
||||||
},
|
},
|
||||||
"id": "qa"
|
"id": "qa",
|
||||||
|
"metaPath": "/roadmaps/108-qa/meta.json"
|
||||||
}
|
}
|
||||||
]
|
]
|
3
content/roadmaps/105-python/landscape.md
Normal file
3
content/roadmaps/105-python/landscape.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
This roadmap is an extension to the [backend developer roadmap](/backend); you should follow that roadmap and once you reach "Pick a Language" block, visit this roadmap to learn python specific tools.
|
||||||
|
|
||||||
|
[](/roadmaps/python.png)
|
35
content/roadmaps/105-python/meta.json
Normal file
35
content/roadmaps/105-python/meta.json
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"seo": {
|
||||||
|
"title": "Python Developer Roadmap: Learn to become a 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.",
|
||||||
|
"keywords": [
|
||||||
|
"guide to becoming an python developer",
|
||||||
|
"python developer roadmap",
|
||||||
|
"python roadmap",
|
||||||
|
"become python developer",
|
||||||
|
"python developer skills",
|
||||||
|
"python skills test",
|
||||||
|
"skills for python development",
|
||||||
|
"learn python development",
|
||||||
|
"what is python",
|
||||||
|
"python quiz",
|
||||||
|
"python interview questions"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"title": "Python Developer",
|
||||||
|
"description": "Step by step guide to becoming a Python developer in 2021",
|
||||||
|
"featuredTitle": "Python",
|
||||||
|
"featuredDescription": "Step by step guide to becoming a Python Developer in 2021",
|
||||||
|
"isTextHeavy": true,
|
||||||
|
"isCommunity": true,
|
||||||
|
"featured": true,
|
||||||
|
"resourcesPath": "./resources.md",
|
||||||
|
"contentPath": "./landscape.md",
|
||||||
|
"versions": [
|
||||||
|
"latest"
|
||||||
|
],
|
||||||
|
"author": {
|
||||||
|
"name": "Kamran Ahmed",
|
||||||
|
"url": "https://twitter.com/kamranahmedse"
|
||||||
|
}
|
||||||
|
}
|
7
content/roadmaps/108-qa/resources.md
Normal file
7
content/roadmaps/108-qa/resources.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
> **We are still preparing the resources**. Please check back later or [subscribe to get notified](/signup).
|
||||||
|
|
||||||
|
While we prepare the list, follow this simple advice to learn anything
|
||||||
|
|
||||||
|
> Just **pick a project and start working on it**, you will learn all that you need along the way.
|
||||||
|
|
||||||
|
**→** [All Roadmaps](/roadmaps) • [Programming guides](/guides) • [Subscribe](/signup)
|
@ -18,6 +18,7 @@ export type RoadmapType = {
|
|||||||
imagePath?: string,
|
imagePath?: string,
|
||||||
contentPath?: string;
|
contentPath?: string;
|
||||||
resourcesPath: string;
|
resourcesPath: string;
|
||||||
|
metaPath: string;
|
||||||
isCommunity: boolean;
|
isCommunity: boolean;
|
||||||
isUpcoming: boolean;
|
isUpcoming: boolean;
|
||||||
id: string;
|
id: string;
|
||||||
|
2970
public/project/python.json
Normal file
2970
public/project/python.json
Normal file
File diff suppressed because it is too large
Load Diff
BIN
public/roadmaps/python.png
Normal file
BIN
public/roadmaps/python.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 552 KiB |
@ -27,25 +27,31 @@
|
|||||||
<url>
|
<url>
|
||||||
<loc>https://roadmap.sh/android</loc>
|
<loc>https://roadmap.sh/android</loc>
|
||||||
<changefreq>monthly</changefreq>
|
<changefreq>monthly</changefreq>
|
||||||
<lastmod>2021-09-25T21:04:08.144Z</lastmod>
|
<lastmod>2021-09-05T18:22:27.710Z</lastmod>
|
||||||
|
<priority>1.0</priority>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://roadmap.sh/python</loc>
|
||||||
|
<changefreq>monthly</changefreq>
|
||||||
|
<lastmod>2021-09-26T19:59:45.842Z</lastmod>
|
||||||
<priority>1.0</priority>
|
<priority>1.0</priority>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://roadmap.sh/postgresql-dba</loc>
|
<loc>https://roadmap.sh/postgresql-dba</loc>
|
||||||
<changefreq>monthly</changefreq>
|
<changefreq>monthly</changefreq>
|
||||||
<lastmod>2021-09-25T21:04:08.144Z</lastmod>
|
<lastmod>2021-09-05T18:22:27.710Z</lastmod>
|
||||||
<priority>1.0</priority>
|
<priority>1.0</priority>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://roadmap.sh/aws</loc>
|
<loc>https://roadmap.sh/aws</loc>
|
||||||
<changefreq>monthly</changefreq>
|
<changefreq>monthly</changefreq>
|
||||||
<lastmod>2021-09-25T21:04:08.144Z</lastmod>
|
<lastmod>2021-09-22T12:34:39.639Z</lastmod>
|
||||||
<priority>1.0</priority>
|
<priority>1.0</priority>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://roadmap.sh/qa</loc>
|
<loc>https://roadmap.sh/qa</loc>
|
||||||
<changefreq>monthly</changefreq>
|
<changefreq>monthly</changefreq>
|
||||||
<lastmod>2021-09-25T21:04:08.144Z</lastmod>
|
<lastmod>2021-09-22T12:27:37.565Z</lastmod>
|
||||||
<priority>1.0</priority>
|
<priority>1.0</priority>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
|
@ -25,6 +25,8 @@ const roadmapsMeta = roadmapDirs.reduce((metaAcc, roadmapDirName) => {
|
|||||||
resourcesPath = path.join(roadmapDir.replace(STORAGE_PATH, ''), roadmapMeta.resourcesPath);
|
resourcesPath = path.join(roadmapDir.replace(STORAGE_PATH, ''), roadmapMeta.resourcesPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let metaPath = path.join(roadmapDir.replace(STORAGE_PATH, ''), 'meta.json');
|
||||||
|
|
||||||
console.log(`----------------------------`);
|
console.log(`----------------------------`);
|
||||||
console.log(`[#] Roadmap: ${roadmapMeta.title}`);
|
console.log(`[#] Roadmap: ${roadmapMeta.title}`);
|
||||||
console.log(`[x] Generating sidebar`);
|
console.log(`[x] Generating sidebar`);
|
||||||
@ -36,6 +38,7 @@ const roadmapsMeta = roadmapDirs.reduce((metaAcc, roadmapDirName) => {
|
|||||||
id: roadmapSlug,
|
id: roadmapSlug,
|
||||||
contentPath: contentPath,
|
contentPath: contentPath,
|
||||||
resourcesPath: resourcesPath,
|
resourcesPath: resourcesPath,
|
||||||
|
metaPath: metaPath,
|
||||||
isUpcoming: roadmapMeta.isUpcoming || false
|
isUpcoming: roadmapMeta.isUpcoming || false
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@ -72,14 +72,16 @@ function getPageRoutes() {
|
|||||||
return pageRoutes;
|
return pageRoutes;
|
||||||
}
|
}
|
||||||
|
|
||||||
function generateNode({
|
function generateNode(nodeProps) {
|
||||||
slug,
|
const {
|
||||||
basePath,
|
slug,
|
||||||
fileName,
|
basePath,
|
||||||
priority = null,
|
fileName,
|
||||||
date = null,
|
priority = null,
|
||||||
frequency = 'monthly'
|
date = null,
|
||||||
}) {
|
frequency = 'monthly'
|
||||||
|
} = nodeProps;
|
||||||
|
|
||||||
const pagePath = path.join(basePath, fileName);
|
const pagePath = path.join(basePath, fileName);
|
||||||
let pageStats = {};
|
let pageStats = {};
|
||||||
try {
|
try {
|
||||||
@ -126,7 +128,7 @@ function generateSiteMap() {
|
|||||||
const roadmapsChunk = roadmaps.map((roadmap, roadmapCounter) => {
|
const roadmapsChunk = roadmaps.map((roadmap, roadmapCounter) => {
|
||||||
return generateNode({
|
return generateNode({
|
||||||
basePath: ROADMAPS_PATH,
|
basePath: ROADMAPS_PATH,
|
||||||
fileName: `${roadmapCounter + 1}-${roadmap.id}/meta.json`,
|
fileName: roadmap.metaPath.replace('/roadmaps', ''),
|
||||||
slug: `/${roadmap.id}`,
|
slug: `/${roadmap.id}`,
|
||||||
date: roadmap.updatedAt,
|
date: roadmap.updatedAt,
|
||||||
priority: '1.0'
|
priority: '1.0'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user