2coffee.dev

  • VM module in Node.js - The Forgotten Power
    • 🏷️node.js

    VM module in Node.js - The Forgotten Power

    I remember back when I first started my career, one thing that haunted me was dynamic design. It meant from one feature, this input, that output, but before doing it, I had to think hard about whether I could cover all future scenarios. The easiest example is creating dynamic input forms in a content management system - CMS. A dynamic input form means...

    🕝3 weeks ago

  • Resource Limitations for Services Using PM2
    • 🏷️pm2
    • 🏷️javascript
    • 🏷️node.js

    Resource Limitations for Services Using PM2

    Hello readers of 2coffee.dev, it's been a while since we last met. A week or two ago, I encountered quite an interesting problem while deploying a system. I initially thought of not writing it down, but then I realized that someone might face the same situation, so I diligently wrote it out. It's also a record to remember and share with everyone. The system I am in charge of has a rather old service that was deployed based on pm2 using...

    🕝1 month ago

  • Moving from Node.js to Deno
    • 🏷️node.js
    • 🏷️deno

    Moving from Node.js to Deno

    I still vividly remember a question from my internship with my mentor. He was a Senior responsible for guiding me at that time. When I saw him working, I exclaimed: "Wow, do you code in Java too?". He said nothing, just smiled lightly and continued his work. The world of programming was tiny to me back then, without knowledge and experience, everything seemed so unfamiliar, how could one person possibly know so many things?

    🕝3 months ago

  • Compilation of Libraries Supporting CLI Application Development for Node.js
    • 🏷️node.js
    • 🏷️javascript

    Compilation of Libraries Supporting CLI Application Development for Node.js

    Hello readers of 2coffee.dev. I wonder if anyone here has been using command-line applications (CLI)? If so, why did you choose it over a graphical user interface (GUI)? If I remember correctly, I have written a few articles about the process of creating some applications for myself. Honestly, for me, there are many cases where CLI proves to be much more useful...

    🕝5 months ago

  • Using Clinic.js to Optimize Performance for Node.js Applications
    • 🏷️node.js
    • 🏷️performance
    • 🏷️tools

    Using Clinic.js to Optimize Performance for Node.js Applications

    Since I started programming, I have been obsessed with the performance issues of the programs I write. I often wonder if what I wrote is good enough, if it's optimized, or how many users it can handle at the same time... That was the first step that laid the foundation for a deeper understanding of how programming languages work in general, and Node.js in particular. Over the years, participating in many projects, I realized that optimizing performance is not always easy...

    🕝6 months ago

  • 5 things I like about Deno
    • 🏷️deno
    • 🏷️javascript
    • 🏷️node.js

    5 things I like about Deno

    The stable version of Deno was introduced about 3-4 years ago. At that time, it received quite a bit of attention because none other than Ryan Dahl, the creator of Node.js, was also the patron of Deno. Huh! You heard that right. Why would he create a new tool to compete with his own "child"? Ryan Dahl admitted that Node.js has critical weaknesses. Initially, Node.js was designed to focus on simplicity and flexibility. But over the years, everything has...

    🕝7 months ago

  • Maybe Data Type
    • 🏷️javascript
    • 🏷️node.js

    Maybe Data Type

    Promises in JavaScript are certainly familiar to anyone. A Promise represents a "promise" that when a function is called, it will definitely return a value in the future. Whether it is resolved or rejected, we can predict the likelihood of one of the two occurring. And one thing is for sure, both cannot occur at the same time. If you study Promise more closely, you will see...

    🕝7 months ago

  • Series
    process.nextTick, setImmediate, and setTimeout
    • 🏷️javascript
    • 🏷️node.js

    process.nextTick, setImmediate, and setTimeout

    In the previous article, we learned about the 6 phases of an event loop, their functions, and which types of callback functions are handled in each phase. Additionally, there is a special phase called process.nextTick, which is not part of the Event loop but has the highest priority. This seemingly simple concept often confuses many, even experienced developers. So, when process.nextTick, setImmediate, and setTimeout are placed together, which callback do you think executes first...

    🕝8 months ago

  • A Few Useful Functions in Node.js Util Module
    • 🏷️node.js
    • 🏷️javascript

    A Few Useful Functions in Node.js Util Module

    Node.js encompasses a range of components that come together to form a JavaScript runtime environment. In our series on Node.js Architecture - Introduction to Node.js, we explored the various components that make up Node.js and their respective functions. One of the built-in modules in Node.js is `util`, which, in my opinion, deserves more attention. The `util` module comprises a collection of small utility functions that can be helpful in certain situations. In this article, we will delve into some of these functions...

    🕝10 months ago

  • Using pm2 to Manage Node.js Applications
    • 🏷️node.js
    • 🏷️pm2

    Using pm2 to Manage Node.js Applications

    When I first encountered Node.js and also learned how to use Linux, nodemon was a library that I often used to develop applications, as it would automatically "reload" the new code upon saving without needing to manually "kill" and restart the application, a feature now commonly referred to as "hot reload." After development comes deployment. While practicing running the application on the server, I struggled to figure out how to run it. If...

    🕝11 months ago