백앤드 개발지식

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

Monitoring