Instead of having to deal with those diffs in the terminal, we can do that directly in the IDE with all the powerful tooling it has
Instead of having to deal with those diffs in the terminal, we can do that directly in the IDE with all the powerful tooling it has
The product is not only about the raw power and speed. UX/DX is important
The product is not only about the raw power and speed. UX/DX is important
I was always feeling like there was just not enough space, and I wanted to have a terminal and editor in separate windows/workspaces
Just found out that you can easily do that with Window view mode 🔥
I was always feeling like there was just not enough space, and I wanted to have a terminal and editor in separate windows/workspaces
Just found out that you can easily do that with Window view mode 🔥
The city is amazing. Clean, well-organized, safe
I haven't seen a single homeless or a stray dog/cat during my stay there
The best subway that I've been to so far
Highly recommend
The city is amazing. Clean, well-organized, safe
I haven't seen a single homeless or a stray dog/cat during my stay there
The best subway that I've been to so far
Highly recommend
From start to finish, there could be up to 4 copies of the same data, which obviously affects the speed of request processing
From start to finish, there could be up to 4 copies of the same data, which obviously affects the speed of request processing
The huge benefit that I've noticed so far is the state of alertness
When you work from the comfort of your chair, it's easy to feel lazy at times, but I haven't felt anything like that while standing
The huge benefit that I've noticed so far is the state of alertness
When you work from the comfort of your chair, it's easy to feel lazy at times, but I haven't felt anything like that while standing
JetBrains: "You only have 365 days left, it would be cool if you renew it"
JetBrains: "You only have 365 days left, it would be cool if you renew it"
I'm grateful to everyone who reads my posts there
If you want to learn more about Node.js' intricate parts, then subscribe and stay tuned ↓
I'm grateful to everyone who reads my posts there
If you want to learn more about Node.js' intricate parts, then subscribe and stay tuned ↓
Instead of network addresses like `localhost 3000`, you use file paths like `/tmp/chat.sock`
They're special files on your filesystem that act as a communication channel
Instead of network addresses like `localhost 3000`, you use file paths like `/tmp/chat.sock`
They're special files on your filesystem that act as a communication channel
Your data still goes through:
- Full TCP handshake
- Network headers & checksums
- IP routing (simplified for loopback)
- Kernel network buffers
Basically the whole stack
Your data still goes through:
- Full TCP handshake
- Network headers & checksums
- IP routing (simplified for loopback)
- Kernel network buffers
Basically the whole stack
That's called a TCP loopback, and there's a completely different way to start a server that doesn't use ports at all.
Let me explain both 🧵
That's called a TCP loopback, and there's a completely different way to start a server that doesn't use ports at all.
Let me explain both 🧵
It is the exact number I got after doing testing with 2 types of sockets for Node.js server: TCP socket and Unix domain socket.
The TCP setup was done via TCP loopback, and the Unix socket was a simple socket file. The results are quite common ↓
It is the exact number I got after doing testing with 2 types of sockets for Node.js server: TCP socket and Unix domain socket.
The TCP setup was done via TCP loopback, and the Unix socket was a simple socket file. The results are quite common ↓
For that, we usually call `listen` method of the `net.Server`
After that, we can get all kinds of information about the running server
For that, we usually call `listen` method of the `net.Server`
After that, we can get all kinds of information about the running server
This function returns an instance of the `net.Server`, which is basically a representation of a TCP server (with exceptions) ...
This function returns an instance of the `net.Server`, which is basically a representation of a TCP server (with exceptions) ...
That's how I felt.
But I found a cool CLI autocomplete called Autoprompt.
The best thing is that it comes with AWS CLI, no 3rd party tools.
That's how I felt.
But I found a cool CLI autocomplete called Autoprompt.
The best thing is that it comes with AWS CLI, no 3rd party tools.
If you copy things with yank in Neovim, you can paste them elsewhere in the system.
None of the other Vim plugins from other editors can do that.
If you copy things with yank in Neovim, you can paste them elsewhere in the system.
None of the other Vim plugins from other editors can do that.
Readable streams in Node.js have the `pipe` method, which is meant for stream combinations.
Proper error handling when working with this method is disgusting.
A better alternative would be the `piepeline` function.
Readable streams in Node.js have the `pipe` method, which is meant for stream combinations.
Proper error handling when working with this method is disgusting.
A better alternative would be the `piepeline` function.
Meaning, we are introducing memory leaks if not cleaning resources on every possible error in the chain.
Again, `pipeline` handles everything for us.
Meaning, we are introducing memory leaks if not cleaning resources on every possible error in the chain.
Again, `pipeline` handles everything for us.
When we want to handle all possible errors properly, we have to chain an error handler for each stream in the pipe. Not gonna lie, it looks bad.
`pipeline` handles all errors for us, so we can just catch one top-level error.
When we want to handle all possible errors properly, we have to chain an error handler for each stream in the pipe. Not gonna lie, it looks bad.
`pipeline` handles all errors for us, so we can just catch one top-level error.
As a result, you have to deal with events-based workflow.
On the opposite side, `pipeline` provides promise-based API, making writing async code with it way easier.
As a result, you have to deal with events-based workflow.
On the opposite side, `pipeline` provides promise-based API, making writing async code with it way easier.
- Operations of writing to the buffer
- Operations of flushing the buffer
- Operations of reading the file content
The result is a slower workflow.
- Operations of writing to the buffer
- Operations of flushing the buffer
- Operations of reading the file content
The result is a slower workflow.
Think twice before doing so because the default values are placed there for a reason.
If you try to change it to a smaller value, then… ↓
Think twice before doing so because the default values are placed there for a reason.
If you try to change it to a smaller value, then… ↓