INSTEAD OF WATCHING NETFLIX TONIGHT. Spend 2 hours with this. Claude AI FULL COURSE that teaches you how to BUILD and AUTOMATE anything. The people who watch this tonight will wake up tomorrow with a new skill. Watch it and bookmark it now.
Something big is coming. I'm going to init (AUGUST 31 - SEPTEMBER 4). Five days of Appwrite launches, live sessions, and surprises. One ticket holder wins exclusive swag on the last day. Claim your pass: https://t.co/DGebtgLuwJ
Flowsint is an open-source, graph-based OSINT tool for reconnaissance. It visualizes relationships between domains, IPs, emails, and crypto wallets using automated transforms.
https://t.co/GBX3Tfh0qg
How to validate an IP address in Python?
✅ DO use the ipaddress module:
• Built-in, reliable, and handles both IPv4 & IPv6.
• Clean code/interface: `ipaddress.ip_address(ip)`.
• Easy to use without complex patterns.
❌ DON'T go with regex for this:
• Regex patterns can be intricate & hard to maintain.
• Prone to errors, especially with IPv6 addresses.
• Don't reinvent the wheel!
Kind reminder - If you want to learn Linux, Containers, or Kubernetes, I've got something for you.
~Bi-weekly deep reads with a lot of visuals and, since more recently, fun practice exercises 👉 https://t.co/Fne4AemHIm
Why Context Should Probably Be the First Argument in Most of Your Go Functions
In #golang, the context package plays a big role in controlling the lifecycle of your code, especially when it comes to handling timeouts, cancellation signals, and passing request-scoped values. If you're designing APIs, it's a common convention to pass the context.Context (named ctx) as the first argument. Here's why:
1. Consistency Across the Go Ecosystem. One of the core philosophies of Go is simplicity and predictability. When different libraries and applications follow the same convention, it reduces the cognitive load on developers. By always passing context as the first argument, we ensure that Go developers instantly recognize the pattern, making the codebase more readable and maintainable.
2. Propagation of Values. The context package not only provides cancellation signals but also a way to store and retrieve values in a safe manner. By consistently passing it as the first argument, you ensure that any nested functions or methods called within have access to these values, ensuring data like request ID and other essential metadata can be seamlessly propagated. This becomes really important for getting things like tracing working.
3. Allows for graceful degradation during slow or unresponsive service calls. By proactively managing delays, the user experience remains controlled, avoiding potential system-wide disruptions. A well-structured context approach can be the difference between a minor issue and a major outage.
OAuth 2.0 Flows
Authorization Code Flow: The most common OAuth flow. After user authentication, the client receives an authorization code and exchanges it for an access token and refresh token.
Client Credentials Flow: Designed for single-page applications. The access token is returned directly to the client without an intermediate authorization code.
Implicit Code Flow: Designed for single-page applications. The access token is returned directly to the client without an intermediate authorization code.
Resource Owner Password Grant Flow: Allows users to provide their username and password directly to the client, which then exchanges them for an access token.
Over to you - So which one do you think is something that you should use next in your application?
–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/uc5M7Cdq84
Exploring Kubernetes the visual way 🔽
1. What Kubernetes objects get involved when you create a Deployment:
- A ReplicaSet
- One ore more Pods
- ...which belong to this ReplicaSet
- ...and run on one or more cluster Nodes
- ...authenticated via a ServiceAccount
cont. 👇
What is GraphQL? Is it a replacement for the REST API?
The diagram below shows the quick comparison between REST and GraphQL.
🔹GraphQL is a query language for APIs developed by Meta. It provides a complete description of the data in the API and gives clients the power to ask for exactly what they need.
🔹GraphQL servers sit in between the client and the backend services.
🔹GraphQL can aggregate multiple REST requests into one query. GraphQL server organizes the resources in a graph.
🔹GraphQL supports queries, mutations (applying data modifications to resources), and subscriptions (receiving notifications on schema modifications).
We talked about the REST API in last week’s video and will compare REST vs. GraphQL vs. gRPC in a separate post/video.
Over to you:
1). Is GraphQL a database technology?
2). Do you recommend GraphQL? Why/why not?
—
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/FIzCeaWsZV
Understanding Kubernetes Through VMs: A Thread 🧵
1/ 🚀 Starting with Kubernetes can be daunting. But instead of jargon-loaded explanations, let's understand Kubernetes as a natural evolution of traditional deployment techniques.