modern backend developerになるためのロードマップ
https://roadmap.sh/roadmaps/backend.png
Internet
done.icon What is hosting?
Basic Frontend Knowledge
done.icon HTML
done.icon CSS
done.icon JS
OS and General Knowledge
done.icon Terminal Usage
done.icon Process Management
done.icon Threads and Concurrency
done.icon Basic Terminal command
done.icon Memory Management
done.icon Interprocess Communication
done.icon I/O Management
done.icon POSIX Basics(stdin, stdout, stderr, pipes)
Learn a Language
done.icon JS
done.icon Python
Ruby
Java
C#
done.icon PHP
Rust
done.icon Go
Version Control Systems
done.icon Basic Usage of Git
done.icon GitHub
Relational Databases
done.icon PostgreSQL
done.icon MySQL
MariaDB
MS SQL
Oracle
More about Databases
done.icon ORMs
ACID
Transactions
N+1 Problem
Data Replication
Sharding Strategies
CAP Theorem
NoSQL Databases
MongoDB
RethinkDB
CouchDB
DynamoDB
Learn about APIs
REST
JSON APIs
Authentication
SOAP
HATEOAS
Open API Spec and Swagger
Caching
CDN
Server Side
Redis
Memcached
ClientSide
Web Security Knowledge
HTTPS
Content Security Policy
CORS
SSL/TLS
OWASP Security Risks
MD5 and why not to use it
SHA Family
scrypt
bcrypt
Testing
Integration Testing
Unit Testing
Functional Testing
CI/CD
GitHubActions
CircleCI
Design and Development Principles
SOLID
KISS
YAGNI
DRY
GOF Design Patterns
Domain Driven Design
Test Driven Development
Architecutre Patterns
Monolithic Apps
Microservices
SOA
Serverless
CQRS and Event Sourcing
Search Engines
Elasticsearch
Solr
Message Brokers
RabbitMW
Kafka
Containerization vs Virtualization
done.icon Docker
GraphQL
Apollo
Relay Modern
Graph Databases
Neo4j
Web Sockets
Web Servers
Nginx
Apache
Caddy
MS IIS
Building for Scale
Migration Strategies
Horizontal vs Vertical Scaling
Building with Observability in mind
Understand the Diff
参考