Software Engineer Handbook
  • πŸ‘‹Welcome to this handbook
  • Level 0 : Non-technical considerations
    • How to manage your time effectively
    • How to prepare for job interviews #1 : Digital Presence
    • How to prepare for job interviews #2 : At the interview
  • Level 1 : Computer Science
    • Intro: Why computer science is critical
    • Algorithms & Data structures Handbook
      • Algorithms & Data structures Handbook
      • Sorting Algorithms
      • Data Structures ADTs Implementation (In Go)
      • Techniques for Solving Data Structures Problems
    • Computer Organization and Architecture
    • Operating Systems
    • Database systems
  • Level 2 : System Design
    • Step 1 : Analysis
    • Step 2 : Digging deeper into data modeling
    • Step 3 : High-Level component design
    • Step 4: Low-Level / Detailed Design system
      • Clients
      • Application Servers
      • Databases
      • Security
      • Distributed Systems with Microservices
  • Level 4: Productivity Handbook for Software Engineers
    • How I use Fig
    • Command line tools
    • Develop on the cloud
  • Extra
  • Leadership
    • Processes
    • Poeple
    • Delivery
    • Transitioning to a new role
    • Resources I like
Powered by GitBook
On this page
  • Web
  • Caching
  • Network requests
  • Performance
  • Testing
  1. Level 2 : System Design
  2. Step 4: Low-Level / Detailed Design system

Clients

This page contains cllie

We have many types of client applications

  • Web / Browser

  • Mobile

  • API

  • ...

Web

Caching

  • CDN : to serve static assets such as HTML,CSS,JS, and media

  • Local storage

    • You can't specify expiry as built-in but you can do it as an author {β€œvalue”:””, createdAt:””}

  • Session storage

    • expire when you close the tab

    • it can be used to save UI State

  • Cookies

    • User sessions

    • Authentication : Session ID or JWT

  • Service workers and cache API : save responses to be used offline

  • IndexedDB

Network requests

  • Retry

  • Timeout

  • Web socket

  • HTTP pooling

  • Error handling

Performance

  • Rendering

  • Network bandwidth

  • Compressing media

  • Profiling

Testing

  • End-to-end

  • A/B

  • Automated UI Testing

PreviousStep 4: Low-Level / Detailed Design systemNextApplication Servers

Last updated 2 years ago

Creating a Production Build | Create React App
Logo
JavaScript End to End Testing FrameworkJavaScript End to End Testing Framework | cypress.io testing tools
Logo