Sahn Lam(@sahnlam) 's Twitter Profileg
Sahn Lam

@sahnlam

Coauthor of the Bestselling 'System Design Interview' Series | Cofounder at ByteByteGo | YouTube: https://t.co/IphBm2DLnZ

ID:20085903

linkhttps://blog.bytebytego.com calendar_today04-02-2009 19:57:04

706 Tweets

28,0K Followers

310 Following

Sahn Lam(@sahnlam) 's Twitter Profile Photo

What Does ACID Mean?

Below is a breakdown of the ACID properties, which are critical to the operations of database transactions.

๐Ÿ”น Atomicity
A transaction is a single unit of operation โ€“ either all its data modifications are performed, or none are. If a fault occurs during the

What Does ACID Mean? Below is a breakdown of the ACID properties, which are critical to the operations of database transactions. ๐Ÿ”น Atomicity A transaction is a single unit of operation โ€“ either all its data modifications are performed, or none are. If a fault occurs during the
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

Software Testing Basics

Testing is crucial in software development to verify applications operate as expected, meet requirements, and run reliably. Key testing methods:

1. Unit Testing: Validates individual code components in isolation to ensure they function properly.

2.

Software Testing Basics Testing is crucial in software development to verify applications operate as expected, meet requirements, and run reliably. Key testing methods: 1. Unit Testing: Validates individual code components in isolation to ensure they function properly. 2.
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

Cookie Basics ๐Ÿช

At its core, HTTP is stateless - each request/response cycle stands on its own, with the server forgetting everything after responding. But often we need to remember things between requests, like user logins or shopping carts. That's where cookies come in.

Cookie Basics ๐Ÿช At its core, HTTP is stateless - each request/response cycle stands on its own, with the server forgetting everything after responding. But often we need to remember things between requests, like user logins or shopping carts. That's where cookies come in.
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

System design cheat sheet

It includes 15 core concepts. Save it for future reference!

๐Ÿ”น Requirement gathering
๐Ÿ”น System architecture
๐Ÿ”น Data design
๐Ÿ”น Domain design
๐Ÿ”น Scalability
๐Ÿ”น Reliability
๐Ÿ”น Availability
๐Ÿ”น Performance
๐Ÿ”น Security
๐Ÿ”น Maintainability
๐Ÿ”น Testing
๐Ÿ”น User

System design cheat sheet It includes 15 core concepts. Save it for future reference! ๐Ÿ”น Requirement gathering ๐Ÿ”น System architecture ๐Ÿ”น Data design ๐Ÿ”น Domain design ๐Ÿ”น Scalability ๐Ÿ”น Reliability ๐Ÿ”น Availability ๐Ÿ”น Performance ๐Ÿ”น Security ๐Ÿ”น Maintainability ๐Ÿ”น Testing ๐Ÿ”น User
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

Cookies vs sessions for managing user session

Cookies and sessions are both used to carry user login credentials and permissions over HTTP requests.

๐Ÿ”น Cookies
- Cookies typically have size limits of 4KB
- Used to store user login credentials or permissions
- Sent with each

Cookies vs sessions for managing user session Cookies and sessions are both used to carry user login credentials and permissions over HTTP requests. ๐Ÿ”น Cookies - Cookies typically have size limits of 4KB - Used to store user login credentials or permissions - Sent with each
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

Inter-Process Communication Explained

Inter-process communication (IPC) refers to methods that allow processes to exchange data and coordinate actions. Here's an overview of the key IPC mechanisms in UNIX-like operating systems like Linux.

๐—ฃ๐—ถ๐—ฝ๐—ฒ๐˜€

Pipes connect the input

Inter-Process Communication Explained Inter-process communication (IPC) refers to methods that allow processes to exchange data and coordinate actions. Here's an overview of the key IPC mechanisms in UNIX-like operating systems like Linux. ๐—ฃ๐—ถ๐—ฝ๐—ฒ๐˜€ Pipes connect the input
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

Top 12 Tips for API Security

- Use HTTPS
- Use OAuth2
- Use WebAuthn
- Use Leveled API Keys
- Authorization
- Rate Limiting
- API Versioning
- Whitelisting
- Check OWASP API Security Risks
- Use API Gateway
- Error Handling
- Input Validation

โ€“
Subscribe to our weekly

Top 12 Tips for API Security - Use HTTPS - Use OAuth2 - Use WebAuthn - Use Leveled API Keys - Authorization - Rate Limiting - API Versioning - Whitelisting - Check OWASP API Security Risks - Use API Gateway - Error Handling - Input Validation โ€“ Subscribe to our weekly
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

How Data Travels Through the Layers of the Internet

As data is transmitted over the internet, it passes through several layers of communication protocols. The TCP/IP model provides a more practical framework compared to the theoretical OSI model. We examine how data becomes

How Data Travels Through the Layers of the Internet As data is transmitted over the internet, it passes through several layers of communication protocols. The TCP/IP model provides a more practical framework compared to the theoretical OSI model. We examine how data becomes
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

Git can seem confusing at first, but a few key concepts make it clearer:

There are 4 locations for your code:
- Working Directory
- Staging Area
- Local Repository
- Remote Repository (like GitHub)

Basic commands move code between these locations:
- git add stages changes
- git

Git can seem confusing at first, but a few key concepts make it clearer: There are 4 locations for your code: - Working Directory - Staging Area - Local Repository - Remote Repository (like GitHub) Basic commands move code between these locations: - git add stages changes - git
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

REST API Cheatsheet

It covers:

โœ… The six fundamental principles of REST API design
โœ… Key components like HTTP methods, protocols, and versioning
โœ… Practical tips on pagination, filtering, and endpoint design

โ€“
Subscribe to our weekly newsletter to get a Free System Design

REST API Cheatsheet It covers: โœ… The six fundamental principles of REST API design โœ… Key components like HTTP methods, protocols, and versioning โœ… Practical tips on pagination, filtering, and endpoint design โ€“ Subscribe to our weekly newsletter to get a Free System Design
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

Top 5 Kafka Use Cases

Originally built for log processing, Kafka now powers a wide range of applications. Its durable message storage and flexible data access enables consumers to pull records at their convenience.

Here are some popular Kafka use cases:

- ๐—Ÿ๐—ผ๐—ด

Top 5 Kafka Use Cases Originally built for log processing, Kafka now powers a wide range of applications. Its durable message storage and flexible data access enables consumers to pull records at their convenience. Here are some popular Kafka use cases: - ๐—Ÿ๐—ผ๐—ด
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

Push Notification System: The Basics

Push notifications keep users engaged, but setting up a solid system can be quite the challenge. We're talking in-app notifications, emails, SMS, and even social media pushes โ€“ it's a lot to handle!

So, how does it all work?

๐Ÿ”น First off,

Push Notification System: The Basics Push notifications keep users engaged, but setting up a solid system can be quite the challenge. We're talking in-app notifications, emails, SMS, and even social media pushes โ€“ it's a lot to handle! So, how does it all work? ๐Ÿ”น First off,
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

Scaling Database: When and How to Shard

Database sharding refers to splitting data across multiple database servers and is commonly used for scaling. However, sharding introduces major operational and infrastructure complexity that should be ๐—ฎ๐˜ƒ๐—ผ๐—ถ๐—ฑ๐—ฒ๐—ฑ ๐˜‚๐—ป๐—น๐—ฒ๐˜€๐˜€

Scaling Database: When and How to Shard Database sharding refers to splitting data across multiple database servers and is commonly used for scaling. However, sharding introduces major operational and infrastructure complexity that should be ๐—ฎ๐˜ƒ๐—ผ๐—ถ๐—ฑ๐—ฒ๐—ฑ ๐˜‚๐—ป๐—น๐—ฒ๐˜€๐˜€
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

Encoding vs. Encryption vs. Tokenization

Encoding, encryption, and tokenization are three distinct processes that handle data in different ways for various purposes, including data transmission, security, and compliance. In system design, it's important to choose the right

Encoding vs. Encryption vs. Tokenization Encoding, encryption, and tokenization are three distinct processes that handle data in different ways for various purposes, including data transmission, security, and compliance. In system design, it's important to choose the right
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

Ever wonder what it means when your manager asks you to design for 'high availability,' 'high scalability,' or 'high throughput'? Let me break it down in simple terms.

๐—›๐—ถ๐—ด๐—ต ๐—”๐˜ƒ๐—ฎ๐—ถ๐—น๐—ฎ๐—ฏ๐—ถ๐—น๐—ถ๐˜๐˜† - ๐—ž๐—ฒ๐—ฒ๐—ฝ๐—ถ๐—ป๐—ด ๐˜๐—ต๐—ฒ ๐—ฆ๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ ๐—จ๐—ฝ ๐—ฎ๐—ป๐—ฑ ๐—ฅ๐˜‚๐—ป๐—ป๐—ถ๐—ป๐—ด

This

Ever wonder what it means when your manager asks you to design for 'high availability,' 'high scalability,' or 'high throughput'? Let me break it down in simple terms. ๐—›๐—ถ๐—ด๐—ต ๐—”๐˜ƒ๐—ฎ๐—ถ๐—น๐—ฎ๐—ฏ๐—ถ๐—น๐—ถ๐˜๐˜† - ๐—ž๐—ฒ๐—ฒ๐—ฝ๐—ถ๐—ป๐—ด ๐˜๐—ต๐—ฒ ๐—ฆ๐—ฒ๐—ฟ๐˜ƒ๐—ถ๐—ฐ๐—ฒ ๐—จ๐—ฝ ๐—ฎ๐—ป๐—ฑ ๐—ฅ๐˜‚๐—ป๐—ป๐—ถ๐—ป๐—ด This
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

How does HTTPS work?

Hypertext Transfer Protocol Secure (HTTPS) is an extension of HTTP that utilizes Transport Layer Security (TLS) to encrypt communication between a client and server. Any intercepted data will be unreadable and secure from tampering and eavesdropping.

How does HTTPS work? Hypertext Transfer Protocol Secure (HTTPS) is an extension of HTTP that utilizes Transport Layer Security (TLS) to encrypt communication between a client and server. Any intercepted data will be unreadable and secure from tampering and eavesdropping.
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

A Visual Overview of Kubernetes

Containers revolutionized modern application development and deployment. Unlike bulky virtual machines, containers package up just the application code and dependencies, making them lightweight and portable. However, running containers at scale

A Visual Overview of Kubernetes Containers revolutionized modern application development and deployment. Unlike bulky virtual machines, containers package up just the application code and dependencies, making them lightweight and portable. However, running containers at scale
account_circle
Sahn Lam(@sahnlam) 's Twitter Profile Photo

Symmetric vs Asymmetric Encryption

Symmetric encryption and asymmetric encryption are two types of cryptographic techniques used to secure data and communications, but they differ in their methods of encryption and decryption.

๐Ÿ”น In symmetric encryption, a single key is used

Symmetric vs Asymmetric Encryption Symmetric encryption and asymmetric encryption are two types of cryptographic techniques used to secure data and communications, but they differ in their methods of encryption and decryption. ๐Ÿ”น In symmetric encryption, a single key is used
account_circle