백앤드 개발지식
Backend 개발
웹 백앤드 개발자를 위한 필요한 기술을 나열하고
학습 할 수 있는 링크와 내용을 정리했다
HTML
- HTML Basics
CSS
- CSS Basics
JavaScript
- Syntax and Basic Constructs
OS and General Knowledge
- Terminal Usage
- How OSs work in General
- Process Management
- Threads and Concurrency
- Basic Terminal Commands
- Memory Management
- Interprocess Communication
- I/O Management
- POSIX Basics
- Basic Networking Concepts
Programming Language
- Javascript
- Python
- Java
- C#
- PHP
- Ruby
- Rust
- Go
Relational Database
- PostgreSQL
- MySQL
- MariaDB
- MSSQL
- Oracle
More about Databases
- ORMs
- ACID
- Transactions
- N+1 Problem
- Database Normalization
- Indexes and how they work
- Data Replication
- Sharding Strategies
- CAP Theorem
NoSQL Databases
- MongoDB
- RethinkDB
- CouchDB
- DynamoDB
APIs
- REST
- JSON APIs
- SOAP
- HATEOAS
- Open API Spec and Swagger
- Authentication
- Cookie Based
- OAuth
- Basic Authentication
- Token Authentication
- JWT
- OpenID
- SAML
Caching
- CDN
- Redis
- Memcached
- Client Side
Web Security Knowledge
- MD5 and why not to use it
- SHA Family
- scrypt
- bcrypt
- HTTPS
- Content Security Policy
- CORS
- SSL/TLS
- OWASP Security Risks
Testing
- Integration Testing
- Unit Testing
- Functional Testing
CI/CD
Design and Development Principles
- GOF Design Patterns
- Domain Driven Design
- Test Driven Development
- SOLID
- KISS
- YAGNI
- DRY
Architectural Patterns
- Monolithic Apps
- Microservices
- SOA
- CQRS and Event Sourcing
- Serverless
Search Engines
- Elasticsearch
- Solr
Message Brokers
- RabbitMQ
- Kafka
Containerization and Virtualization
- Docker
- rkt
- LXC
GraphQL
- Apollo
- Relay Modern
Graph Database
- Neo4j
WebSockets
Web Servers
- Nginx
- Apache
- Caddy
- MS IIS
Building for Scale
- Migration Strategies
- Horizontal vs Vertical Scaling