mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2025-08-22 00:43:01 +02:00
Add backend performance best practices
This commit is contained in:
@@ -5,7 +5,7 @@ const CONTENT_DIR = path.join(__dirname, '../content');
|
||||
// Directory containing the best-practices
|
||||
const BEST_PRACTICE_CONTENT_DIR = path.join(
|
||||
__dirname,
|
||||
'../src/data/best-practices'
|
||||
'../src/data/best-practices',
|
||||
);
|
||||
const bestPracticeId = process.argv[2];
|
||||
|
||||
@@ -33,18 +33,18 @@ if (!bestPracticeDirName) {
|
||||
|
||||
const bestPracticeDirPath = path.join(
|
||||
BEST_PRACTICE_CONTENT_DIR,
|
||||
bestPracticeDirName
|
||||
bestPracticeDirName,
|
||||
);
|
||||
const bestPracticeContentDirPath = path.join(
|
||||
BEST_PRACTICE_CONTENT_DIR,
|
||||
bestPracticeDirName,
|
||||
'content'
|
||||
'content',
|
||||
);
|
||||
|
||||
// If best practice content already exists do not proceed as it would override the files
|
||||
if (fs.existsSync(bestPracticeContentDirPath)) {
|
||||
console.error(
|
||||
`Best Practice content already exists @ ${bestPracticeContentDirPath}`
|
||||
`Best Practice content already exists @ ${bestPracticeContentDirPath}`,
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
@@ -88,10 +88,12 @@ function prepareDirTree(control, dirTree) {
|
||||
return { dirTree };
|
||||
}
|
||||
|
||||
const bestPractice = require(path.join(
|
||||
__dirname,
|
||||
`../public/jsons/best-practices/${bestPracticeId}`
|
||||
));
|
||||
const bestPractice = require(
|
||||
path.join(
|
||||
__dirname,
|
||||
`../src/data/best-practices/${bestPracticeId}/${bestPracticeId}`,
|
||||
),
|
||||
);
|
||||
const controls = bestPractice.mockup.controls.control;
|
||||
|
||||
// Prepare the dir tree that we will be creating
|
||||
|
4527
src/data/best-practices/backend-performance/backend-performance.json
Normal file
4527
src/data/best-practices/backend-performance/backend-performance.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,30 @@
|
||||
---
|
||||
jsonUrl: '/jsons/best-practices/backend-performance.json'
|
||||
pdfUrl: '/pdfs/best-practices/backend-performance.pdf'
|
||||
order: 1
|
||||
briefTitle: 'Backend Performance'
|
||||
briefDescription: 'Backend Performance Best Practices'
|
||||
isNew: true
|
||||
isUpcoming: false
|
||||
title: 'Backend Performance Best Practices'
|
||||
description: 'Detailed list of best practices to improve your backend performance'
|
||||
dimensions:
|
||||
width: 968
|
||||
height: 1860.38
|
||||
schema:
|
||||
headline: 'Backend Performance Best Practices'
|
||||
description: 'Detailed list of best practices to improve the backend performance of your website. Each best practice carries further details and how to implement that best practice.'
|
||||
imageUrl: 'https://roadmap.sh/best-practices/backend-performance.png'
|
||||
datePublished: '2023-01-23'
|
||||
dateModified: '2023-01-23'
|
||||
seo:
|
||||
title: 'Backend Performance Best Practices'
|
||||
description: 'Detailed list of best practices to improve the backend performance of your website. Each best practice carries further details and how to implement that best practice.'
|
||||
keywords:
|
||||
- 'backend performance'
|
||||
- 'api performance'
|
||||
- 'backend performance best practices'
|
||||
- 'backend performance checklist'
|
||||
- 'backend checklist'
|
||||
- 'make performant backends'
|
||||
---
|
@@ -0,0 +1 @@
|
||||
# Architectural styles
|
@@ -0,0 +1 @@
|
||||
# Async logging
|
@@ -0,0 +1 @@
|
||||
# Authentication authorization
|
@@ -0,0 +1 @@
|
||||
# Cache invalidation
|
@@ -0,0 +1 @@
|
||||
# Caching locations
|
@@ -0,0 +1 @@
|
||||
# Caching strategies
|
@@ -0,0 +1 @@
|
||||
# Cdns
|
@@ -0,0 +1 @@
|
||||
# Cleanup data
|
@@ -0,0 +1 @@
|
||||
# Compiled languages
|
@@ -0,0 +1 @@
|
||||
# Connection pool settings
|
@@ -0,0 +1 @@
|
||||
# Connection pooling
|
@@ -0,0 +1 @@
|
||||
# Connection timeouts
|
@@ -0,0 +1 @@
|
||||
# Critical paths
|
@@ -0,0 +1 @@
|
||||
# Db indexes
|
@@ -0,0 +1 @@
|
||||
# Denormalize
|
@@ -0,0 +1 @@
|
||||
# Enable compression
|
@@ -0,0 +1 @@
|
||||
# Implement pagination
|
@@ -0,0 +1 @@
|
||||
#
|
@@ -0,0 +1 @@
|
||||
# Join operations
|
@@ -0,0 +1 @@
|
||||
# Keep alive
|
@@ -0,0 +1 @@
|
||||
# Lazy eager
|
@@ -0,0 +1 @@
|
||||
# Load balancing
|
@@ -0,0 +1 @@
|
||||
# Message brokers
|
@@ -0,0 +1 @@
|
||||
# Minimize iframe count
|
@@ -0,0 +1 @@
|
||||
# Monitoring logging
|
@@ -0,0 +1 @@
|
||||
# Network latency
|
@@ -0,0 +1 @@
|
||||
# Offload heavy
|
@@ -0,0 +1 @@
|
||||
# Optimize algorithms
|
@@ -0,0 +1 @@
|
||||
# Orm queries
|
@@ -0,0 +1 @@
|
||||
# Pagination large data
|
@@ -0,0 +1 @@
|
||||
# Perf testing
|
@@ -0,0 +1 @@
|
||||
# Prefetch preload
|
@@ -0,0 +1 @@
|
||||
# Profile code
|
@@ -0,0 +1 @@
|
||||
# Profiling tools
|
@@ -0,0 +1 @@
|
||||
# Prometheus graphana
|
@@ -0,0 +1 @@
|
||||
# Reasonable payload
|
@@ -0,0 +1 @@
|
||||
# Regular audits
|
@@ -0,0 +1 @@
|
||||
# Replication
|
@@ -0,0 +1 @@
|
||||
# Request throttling
|
@@ -0,0 +1 @@
|
||||
# Scaling strategies
|
@@ -0,0 +1 @@
|
||||
# Select star
|
@@ -0,0 +1 @@
|
||||
# Similar requests
|
@@ -0,0 +1 @@
|
||||
# Slow logging
|
@@ -0,0 +1 @@
|
||||
# Streaming large
|
@@ -0,0 +1 @@
|
||||
# Unnecessary computation
|
@@ -0,0 +1 @@
|
||||
# Up to date
|
@@ -0,0 +1 @@
|
||||
# Use db sharding
|
@@ -0,0 +1 @@
|
||||
# Utilize caching
|
Reference in New Issue
Block a user