As a programmer, I believe that everyone has thought about leveraging lines of code to automate tasks. For example, a JavaScript code snippet written by a programmer to calculate the total amount of money spent on an e-commerce platform, instead of manually adding up each order in a never-ending list. Automation brings many benefits, the most obvious of which are time savings and reduced errors in repetitive processes. Moreover, if the code snippet I wrote can be shared with others, it's truly a win-win situation. I also create such code snippets, but instead of calculating order values, they focus on solving common work-related issues. For instance...
A year ago, I declared that I would learn Rust within a month. And the result is that the series of articles about the Rust learning process has not ended yet. Can this be considered a failure? I think not. Programming languages are just tools to solve problems. Learning a new one can broaden our experience and help us solve problems more efficiently...
Hello readers of 2coffee.dev. Another week has passed, so quickly that when looking back at the homepage, I couldn't believe that I had stopped writing for such a long time. To be honest, last week was quite busy as I was focused on releasing an important update for the product at work. Perhaps that's why the concept of time has temporarily been buried. Hmm... Need to think of something to talk about...
I'm sure that everyone here has heard of, knows, and uses npm daily in their work. NPM is a huge repository of packages, mostly JavaScript libraries used for web development or Node.js. But where do these packages come from? The answer is the community, which includes you - those who have interesting ideas and are willing to share.
Debugging is an essential skill for every developer. No matter what position or programming language you work with, debugging is crucial to finding and fixing issues in your code. While adding more code increases the risk of introducing bugs, debugging helps us identify the root cause of these errors and verify whether our program is functioning as expected. Node.js offers various debugging techniques, and console.log is...
docker run only allows starting one container at a time, which can be challenging and complex when your application needs to start multiple containers simultaneously. Additionally, manually executing individual commands can be error-prone. Imagine having a stack with multiple images - should you run docker run n times...
Hello readers of 2coffee.dev, it's been a while since I last met you. After completing and launching the OpenNotas project in early June, a week later was dedicated to "fixing bugs," and recently I took a short trip to "reset" myself after six months of hard work. By the way, have you all made plans for your next trip? Take some time to rest and enjoy life; don't dive too deep into work or you might get "overloaded"...
There is a piece of advice for anyone working with Node.js: "never block the event loop." Blocking here means preventing the Event Loop from processing tasks that need to be solved. Node.js has only one thread to execute JavaScript code; if a task takes a long time to process, it will cause a serious bottleneck in the main thread. Imagine a scenario where all subsequent requests must wait for the previous request to complete before processing begins. It's truly dreadful. Knowing this, Node.js must provide some solutions. Instead of calling synchronous functions, switch to calling asynchronous functions; for instance, when reading a file, `readFile` is preferred over `readFileSync` because `readFile` is asynchronous and processes in the main thread. Conversely, `readFileSync` is synchronous and executed outside the main thread. Additionally, if a task requires CPU computational capabilities, this is when you need to know about the built-in `child_process` module in Node.
In the previous article, I summarized the process of pushing a package to npm. In this article, I will go into detail about how I built my package, specifically a package for vue.js that handles OTP code input. The source code for the package can be found on...
One of the top concerns I have when working on my blog is its SEO capability. Honestly, before getting started, I did a lot of research on how to improve the visibility of my website when users search on Google. Through many articles and SEO guides, I came across Google's Lighthouse scoring tool. So, I always want to boost my Lighthouse score as high as possible. Although Google does not clearly state how the Lighthouse score affects SEO, they have hinted that Google really "likes" high-scoring websites...