Skip to content

Latest commit

 

History

History
247 lines (209 loc) · 4.32 KB

backend.md

File metadata and controls

247 lines (209 loc) · 4.32 KB

KOOMPI Backend End Dev

Internet

  • How does the internet work?

  • What is HTTP?

  • Browsers and hw they work?

  • DNS and how it works?

  • What is Domain name?

  • What is hosting?

Basic Frontend Knowledge

HTML

  • Learn the basics
  • Form and validations
  • Conventions & Best practices
  • Accessibility
  • SEO basics

CSS

  • Learn the basics
  • Making layouts
    • Floats
    • Positioning
    • Box model
    • CSS Grid
    • Flex box
  • Responsive Design & Media Queries

JavaScript

  • Syntax & Basic Constructs
  • Learn DOM Manipulation
  • Learn Fetch API/Ajax (XHR)
  • ES6+ and modular JavaScript
  • Understand the concepts
    • Hoisting
    • Event Bubbling
    • Scope
    • Prototype
    • Shadow DOM
    • strict

Version Control Systems

  • Basic usage of Git
    • Github
    • GitLab
    • Bitbucket

Web Security

Basic knowledge of all of these would be great advantages

  • HTTPS
  • Content Security Policy
  • CORS
  • OWASP Security

OS & General Knowledge

  • Terminal Usage
  • How OSs work in General
  • Process Management
  • Threads & Concurrency
  • Basic Terminal Commands
    • grep
    • awk
    • sed
    • lsof
    • curl
    • wget
    • tail
    • head
    • less
    • find
    • ssh
    • kill
    • rsync
  • Memory Management
  • Interprocess Communication
  • I/O Management
  • POSIX basics
    • stdin
    • stdout
    • stdrr
    • pipes
  • Basic Networking Concepts

Programing Languages

Order of preferrence language which we use to build tools at KOOMPI

Frameworks

  • JavaScript
    • Expressjs
    • Nestjs
    • Gatsbyjs
    • Meteorjs
    • Nextjs
  • Python
    • Django
    • Flask
    • Pyramid
    • Web2py
    • Bottle
    • CherryPy
    • Falcon
    • Tornado
    • Dash

Version Control Systems

`What are they and why you should use one?

  • Basic usage of Git
    • Github
    • GitLab
    • Bitbucket

Relational Databases

  • PostgreSQL
  • MySQL
  • MariaDB

NoSQL Databases

More about Databases

  • ORMs
  • ACID
  • Transactions
  • N+1 Problem
  • Database normalization
  • Indexes and how they work
  • Data replication
  • Sharding strategies
  • CAP theorem

Learn more about APIs

  • REST
  • JSON APIs
  • Authentication
    • OAuth
    • Basic Authentication
    • Token Authentication
    • JWT
    • Cookie Based

Caching

  • CDN
  • Client side
  • Server side
    • Redis
    • Memcached

Web Security Knowledge

Stage 1

  • HTTPS
  • Content Security Policy
  • CORS
  • SSL/TLS
  • OWASP Security risk

Stage 2

Hashing Algorithms

  • MD5 and why not to use it
  • SHA family
  • scrypt
  • bcrypt

Testing

  • Integration testing
  • Unit testing
  • Functional testing

CI/CD

In itself is topic

Design and Development Principle

Architectural Patterns

  • Monolithic apps
  • Microservices
  • SOA
  • CQRS & Event Sourcing
  • Serverless

Search Engines

  • Elasticsearch
  • Solr

Massage Brokers

  • RabbitMQ
  • Kafka

Containerization vs Virtualization

  • Docker
  • Kubernetes
  • LXC

GraphQL

  • Apollo
  • Relay Modern

Web Sockets

Web Servers

  • Nginx
  • Caddy

Building for scale

General topic that you should learn and care about for the sustainability of the products.

Mitigation Strategies

  • Graceful degradation
  • Throttling
  • Backpressure
  • Loadshifting
  • Circuit Breaker

Understand the Diff

  • Instrumentation
  • Monitoring
  • Telemetry

Migration Strategies

Horizontal vs vertical scaling

Building with observability in mind

Metrics logging and other observable items that could help you in debugging and solving the issues when things go wrong.