๐ After multiple requests from the community, we're finally doing it.
We're launching a free version of AdminCN. ๐
You can now access ๐๐ป
๐ ๐ข๐ฟ๐ฑ๐ฒ๐ฟ๐ ๐๐ฎ๐๐ต๐ฏ๐ผ๐ฎ๐ฟ๐ฑ
๐ฑ ๐ ๐ฎ๐ถ๐น, ๐๐ฎ๐น๐ฒ๐ป๐ฑ๐ฎ๐ฟ & ๐จ๐๐ฒ๐ฟ๐
๐ค ๐จ๐๐ฒ๐ฟ ๐ฆ๐ฒ๐๐๐ถ๐ป๐ด๐ & ๐ฃ๐ฟ๐ผ๐ณ๐ถ๐น๐ฒ
๐ ๐๐ผ๐ด๐ถ๐ป, ๐ฅ๐ฒ๐ด๐ถ๐๐๐ฒ๐ฟ, ๐๐ผ๐ฟ๐ด๐ผ๐ ๐ฃ๐ฎ๐๐๐๐ผ๐ฟ๐ฑ, ๐ฅ๐ฒ๐๐ฒ๐ ๐ฃ๐ฎ๐๐๐๐ผ๐ฟ๐ฑ, ๐ฉ๐ฒ๐ฟ๐ถ๐ณ๐ ๐๐บ๐ฎ๐ถ๐น & ๐ง๐๐ผ-๐ฆ๐๐ฒ๐ฝ ๐๐๐๐ต๐ฒ๐ป๐๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป
๐ ๐ฉ๐ฒ๐ฟ๐๐ถ๐ฐ๐ฎ๐น ๐๐ผ๐ฟ๐บ๐, ๐๐ผ๐ฟ๐ถ๐๐ผ๐ป๐๐ฎ๐น ๐๐ผ๐ฟ๐บ๐, ๐๐ผ๐ฟ๐บ ๐ฉ๐ฎ๐น๐ถ๐ฑ๐ฎ๐๐ถ๐ผ๐ป & ๐๐ฎ๐๐ฎ ๐ง๐ฎ๐ฏ๐น๐ฒ
โ๏ธ ๐๐ฟ๐ฟ๐ผ๐ฟ ๐ฃ๐ฎ๐ด๐ฒ
We wanted more developers to experience what AdminCN has to offer, so we're making a selection of our existing Pro pages available to everyone.
If you've been waiting to try AdminCN, this is the perfect time.
Watch the preview below ๐
Kubernetes Port Forwarding Patterns ๐
You're inside a dev cluster, access to the network is restricted, and the service you just deployed is acting up.
Thereโs no LoadBalancer, no ingress controller in place, and opening up a port is not an option because the network team is either slow or says no.
This is where kubectl port-forward unblocks you.
Here I've simplified for your easy understanding.
56K+ read my DevOps and Cloud newsletter: https://t.co/wwkI6UOSo4
What do we cover:
DevOps, Cloud, Containerization, IaC, GitOps, MLOps
๐ Consider a Repost if this is helpful
Quick Linux tip:
Working with CSV files in the terminal?
You can make them readable by aligning columns neatly with column:
$ cat inventory.csv | column -t -s,
The -s, flag tells it to use commas as separators, and -t formats the output into a clean table.
Perfect for quick data inspection without opening a spreadsheet.
Part 1: What Are Linux Namespaces
On a Linux system, every process shares the same global view, the same process list, network interfaces, and filesystem view.
Namespaces change that. They let processes live in isolated โworlds,โ each with its own network, process tree, and filesystem, all under the same kernel.
Itโs how Linux creates the foundation for containers without running a full virtual machine.
In this series, weโll take a look at each namespace, how it works, and how to experiment with them using standard Linux tools.
https://t.co/jeOsXj3FFk
Quick Linux tip:
When you need to create several directories at once, you donโt have to do it one by one.
The mkdir command supports brace expansion, letting you create multiple nested directories in a single go.
$ mkdir -p ~/scripts/{site-01,site-02}/{backup,monitoring,network}
This instantly creates folders for two sites, each with its own backup, monitoring, and network directories.
A neat way to save time and keep your directory structure organized.
Quick Linux tip:
The diff command is a useful tool for finding differences between files in the Linux terminal. However, icdiff offers an even better side-by-side comparison with colorized output.
$ icdiff config-dev.ini config-prod.ini
The output will display both files side-by-side with any differences highlighted in red and green, making it easy to spot the difference.
Docker 101: Pass Environment Variables to Containers ๐ณ
Apps are often configured via env vars. However, if you set an env var in your current shell, it won't be passed to the container, because it runs in its own execution environment.
Learn & practice: https://t.co/gBPe6DdmzU
As a software engineer, it's very important to learn about Gallโs Law, which states that complex systems cannot be created successfully from scratch.
In reality, even large systems, such as Netflix, Google, or Facebook, have started small and built incrementally over the course of decades.
Error Handling & Debugging
What is Error Handling & Debugging?
โ Error Handling ensures that when something goes wrong, the system responds gracefully instead of crashing.
โ Debugging is the process of finding, understanding, and fixing those errors.
Error Handling Techniques
โ Try-Catch Blocks โ Wrap risky code so errors can be caught and managed.
โ Validation โ Check user input and data before processing.
โ Fallbacks โ Provide defaults or backup actions when errors occur.
โ Logging โ Record errors for later analysis.
Debugging Practices
โ Print/Log Statements โ Quick checks using logs or console outputs.
โ Debugging Tools โ Use IDE debuggers, breakpoints, and stack traces.
โ Monitoring Tools โ Spot issues in real time through error logs and alerts.
โ Reproduce the Bug โ Isolate conditions under which the bug occurs.
Common Error Types
โ Syntax Errors โ Code written incorrectly (e.g., missing semicolon).
โ Runtime Errors โ Errors that occur while the program is running (e.g., divide by zero).
โ Logical Errors โ Code runs but gives wrong results (hardest to catch).
Analogy
โ Error Handling โ Like airbags in a carโthey donโt prevent accidents but reduce damage.
โ Debugging โ Like a mechanic investigating why the car broke down and fixing it.
Tip:
โ Always validate inputs
โ Use meaningful error messages
โ Log errors with enough detail
โ Donโt expose sensitive system info in errors
โ Automate alerts for critical failures
Grab the Backend Development with Projects Ebook
https://t.co/QdeNEmpNfI
For large datasets, using limit + offset doesn't always perform well, especially when the offset value is large.
Instead, you can use a cursor-based pagination where you filter by the order values.
There is a reason services like GitHub handle pagination this way!
Send HTTP Requests in C with libcurl
actually, sending a POST request in C is really easy using libcurl. Here's how:
- set the url: point to the endpoint of the api
- add json data: pass the data by using curl_easy_setopt
- set headers: include content-type: application/json for structured requests
- send the request: use curl_easy_perform for that
this is an example of sending jaon data to an api endpoint with custom headers.
One of the most important distributed systems concepts:
โ Idempotency
It's also crucial when designing REST APIs.
You can repeat an idempotent operation multiple times without changing the system's state after the first API request.
This is especially important in distributed systems.
Network failures or timeouts can lead to repeated requests.
Your system should be able to handle transient errors like this.
Example flow for implementing idempotency:
1. The client generates a unique key for each operation and sends it in a custom header.
2. The server checks if it has seen this key before
- For a new key, process the request and store the result
- For a known key, return the stored result without reprocessing
How do you implement this in .NET?
Start here: https://t.co/ARcHwy1xLC
Are you handling idempotency in your APIs?
P.S. If you want a hands-on tutorial for mastering REST APIs, this is for you: https://t.co/wxz9N9p63y
Many DevOps Engineers donโt fully understand the Policy As Code Workflow.
Here, Weโve made this to help you better understand.
๐ด 52K+ read my DevOps and Cloud newsletter: https://t.co/wwkI6UOSo4
What do we cover:
DevOps, Cloud, Kubernetes, IaC, GitOps, MLOps
๐ Consider a Repost if this is helpful
DevOps official language has to be 'YAML'
- Helm uses YAML
- GitHub uses YAML
- Ansible uses YAML
- Argo CD uses YAML
- Kubernetes uses YAML
- Azure DevOps uses YAML
- Docker Compose uses YAML
and more ...
All the sophisticated toolsets you aspire to learn and adopt run on YAML.
Get that right first.
๐ด 52K+ read my DevOps and Cloud newsletter: https://t.co/WBucLdwLhJ
What do we cover:
DevOps, Cloud, Kubernetes, IaC, GitOps, MLOps
๐ Consider a repost if this is helpful.