9/
🔗 Try Scira: https://t.co/6yWBshN10z
💻 GitHub: https://t.co/yynIzf9vpv
👤 Follow Zaid: @zaidmukaddam
This isn’t just a Perplexity alternative. It’s what happens when one developer decides to build what the rest of us were waiting for.
Software development is complex, and the fancy names don't help.
Hashing vs. Encryption vs. Encoding
1. Hashing
This is a one-way process used for data integrity verification.
When you hash data, you get a unique string representing the original data.
It's a one-way street; once you hash something, you can't get the original data back from the hash.
This property makes it perfect for verifying if someone altered the data.
If even one-bit changes in the original data, the hash changes dramatically.
2. Encryption
This is the real deal when it comes to data security.
It uses algorithms and keys to transform readable data (plaintext) into an unreadable format (ciphertext).
Only those with the correct key can unlock (decrypt) the data and read it.
This process is reversible, unlike hashing.
Encryption is critical for protecting sensitive data from unauthorized access.
3. Encoding
This is all about data representation.
It converts data from one format to another, making it easier to interpret and display.
Common formats:
- Base64
- UTF-8
- ASCII
Encoding does NOT provide security! It's for data transmission and storage convenience.
One common use of hashing is for secure password storage.
When you create an account or set a password, the system hashes and stores the password in the database.
During login, the system hashes the provided password and compares it to the stored hash without revealing the password.
I hope this helps some young engineers out there.
Keep coding!
Understanding OAuth
OAuth is an open standard that allows users to grant limited access to their data on one site to other sites or applications without exposing their passwords. It has become the backbone of secure authorization across the web and mobile apps.
The OAuth ecosystem
OAuth connects three main players:
- The User who wants to grant access to their data without sharing login credentials
- The Server that hosts the user's data and provides access tokens
- The Identity Provider (IdP) that authenticates the user's identity and issues tokens
How OAuth works
When a user tries to access their data through a third-party app, they are redirected to log in through the IdP. The IdP sends an access token to the app, which presents it to the server. Recognizing the valid token, the server grants access.
The OAuth flows
OAuth 2.0 defines four flows for obtaining authorization tokens:
- Authorization Code Flow - for server-side applications
- Client Credentials Flow - when the app is the resource owner
- Implicit Code Flow - not secure and no longer recommended
- Resource Owner Flow - for trusted apps using owner credentials
Key benefits
- Enhances user experience by eliminating multiple passwords
- Allows secure data access across platforms using tokens
- Balances accessibility and security
OAuth 2.0 has become the standard for authorization. It enables secure, convenient data sharing while protecting user accounts.
–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/kNfv0DVDdf
This is for the folks who are new to the industry and feel crushed after failed interviews.
Kyle is the author of the "You Don't Know JS" books, and he also got rejected for "not knowing enough JS".
This is your reminder that every developer fails interviews, no matter how experienced that developer is.
🇫🇷🇮🇱 French President Macron has given ISRAEL unwavering support for their GENOCIDE on Gaza.
🚨 Israel responded today by BOMBING the French Cultural Institute in Gaza…
Our System Design 101 GitHub repo has just reached 18,000 stars in 4 days. It's probably one of the fastest-growing repos in history.
Thanks to everyone who has starred, forked, or contributed to the repository!
What's included in the GitHub repository:
- 100 byte-sized system concepts with visuals.
- Real-world case studies.
- Tips on how to prepare for system design interviews.
Topics included (and many many more):
- SOAP vs. REST vs. GraphQL vs. RPC
- HTTP 1.0 -> HTTP 1.1 -> HTTP 2.0 -> HTTP 3.0 (QUIC)
- CI/CD Pipeline Explained in Simple Terms
- 8 Data Structures That Power Your Databases
- Top caching strategies
- What does a typical microservice architecture look like?
If you like our content, consider starring the repo: https://t.co/wB7lUh2Gol
Now in a single video: Making Friends with #MachineLearning (#MFML)
Enjoy all 6.5 hours of Google’s legendary #AI course designed to enlighten AI beginners, grow technology leaders, inform better citizens, and amuse AI experts!
Don't forget to RT 💖
https://t.co/n9HxUVpX3d
@ianharveyOT Living this at this moment ...this comes in just in time adding the missing dimension to avoid the mistake of self driven fantasies. Great share..
Scala 2.13.9 is released! 🎉
✨ It improves compatibility with Scala 3, supports JDK 19, updates `-release` and deprecates `-target`, adds `-Wnonunit-statement` to warn on discarded values, improves security, and fixes bugs.
details: https://t.co/D78YPXGmPO
🗣️ "Distill years of Java experience down to a set of best practices that help developers build high-quality Java applications and libraries"
Lots of good advice for #Java developers on this site by @JonathanGiles 👍.
https://t.co/p6KnzNatxS