Systems | Development | Analytics | API | Testing

AppSignal

Fast & Curious: Find and Fix Slow Queries & API Requests

AppSignal was built because we were tired of slow and clumsy monitoring setups. Instead, we built monitoring that’s easy yet powerful - an intuitive interface enables you to figure out what’s happening in no time. Today, our team made finding slow events effortless. We’ve fully overhauled our slow events feature, helping developers to quickly find and fix slow queries and API requests.

Server-side Rendering in JavaScript: A Modern Approach

Let’s talk about SPAs. It all starts from a blank page which is subsequently filled with HTML and JavaScript. If we take PHP pages as an example, they already come bundled with the server, which is an advantage in terms of performance, right? For situations like these, server-side rendering frameworks (such as Next.js) come to the rescue. They process the code on the server-side to pre-fill the HTML result page with something (if not the whole page) before it reaches the browser.

JavaScript Internals: Garbage Collection

Garbage collection (GC) is a very important process for all programming languages, whether it’s done manually (in low-level languages like C), or automatically. The curious thing is that most of us barely stop to think about how JavaScript — which is a programming language, and hence, needs to GC — does the trick. Like the majority of high-level languages, JavaScript allocates its objects and values to memory and releases them when they’re no longer needed. But, how?

Capabilities of Elixir's Logger

Logs are an important part of your application and logging shouldn’t be one of the last things you think of. You should configure your log system, formatter, and style as soon as you start the development of your app. Also, do your best to document the process and share how it works with the rest of your team. In this article, we’re going to demonstrate how logs work in Elixir. We’ll jump into Elixir’s Logger module, which brings a lot of power to logging features.

Exploring Node.js Async Hooks

Have you ever heard of Node.js async hooks module? If the answer is no, then you should get familiar with it. Even though it’s new stuff (released along with Node.js 9) and the module is still in experimental mode, which means it’s not recommended for production, you should still get to know it a bit better. In short, Node.js async hooks, more specifically the async_hooks module, provides a clear and easy-to-use API to track async resources in Node.js.

Node.js Resiliency Concepts: Recovery and Self-Healing

In an ideal world where we reached 100% test coverage, our error handling was flawless, and all our failures were handled gracefully — in a world where all our systems reached perfection, we wouldn’t be having this discussion. Yet, here we are. Earth, 2020. By the time you read this sentence, somebody’s server failed in production. A moment of silence for the processes we lost.

Going from Consulting to SaaS

For many freelancers and small business owners, moving from consulting or freelance development work to operating a SaaS product is the Holy Grail. That makes sense: running a SaaS scales better and makes for a stable income. While there’s no guaranteed path to success, here’s what we learned taking AppSignal from a “20% time side-project” to a business serving thousands of developers around the globe. This article isn’t a blueprint.

Security Best Practices for Node.js

Because a lot of systems are connected to the web these days (or, at least, communicate/integrate with it at some level), companies are giving more and more attention to web security. Web security usually comes to public attention when certain events reach the news, for example, security leakages, hacker activities, and/or data-stealing over big companies, some of them really large (like Google, LinkedIn, etc.).