Skip to content

Latest commit

 

History

History
92 lines (71 loc) · 2.12 KB

File metadata and controls

92 lines (71 loc) · 2.12 KB

Introduction to Backend Development

Mosly Referred to the server-side of an app and anything that communicates between the database and the frontend/browser.


A Backend Developer's Life Cycle

understand

plan

develop

test


Review Needed

Backend Development Tools and Technologies Servers: A computer that listens for incoming requests from the clients (frontend). Example of web servers are Apache Nginx, IIS servers, Tomcat.

A list of few things a Backend developer should learn under servers.


Types of Servers :

  1. Static : the server sends its hosted files as it is to your browser
  2. Dynamic : the application server updates the hosted files before sending them to your browser visa the HTTP server.

Communication Protocol(HTTP) :

It comprises of the formal description of rules and formats of a digital messages.

Others :

  1. Load Balancing
  2. Message Queues

Need Some Research here, i didn't understood these terms.

Databases :

it provide an interface to save data in a persistent way to memory.

Types of database :

  1. MySQL
  2. SQLite
  3. MongoDB
  4. PostgreDB etc.

Things to learn in databases as a Backend developer

  1. Schemas
  2. Normalization
  3. Indexes
  4. Stored procedure and triggers
  5. Wide knowledge of SQL, DDL & DML
  6. Views
  7. Strong database optimization skills

Things to learn in Operating Systems

  1. Memory Management
  2. Cloud Computing
  3. Processes & process management
  4. Inter Process Communication
  5. Threads & concurrency
  6. Input & Output management
  7. Scheduling
  8. Distributed File System
  9. Virtualization

Topics to Master

in any programming language

  • Session management
  • Authentication & Authorization
  • Caching Mechanisms
  • APIs & Web Services
  • Software architectures (MVC)
  • Software design patterns
  • Algorithms and data structures
  • Structured logging
  • Debugging, profiling and tracing
  • Deployment
  • Software testing
  • Frameworks and Package Managers

Things to consider as a Backend Developer

  • Scalability
  • Security
  • Robustness
  • Readability
  • Performance Oriented
  • Maintainability