Logging provides critical value to applications with insight to usage, stats, and metrics, and saves us when debugging a problem. But we often leave logging to poorly implemented afterthoughts. So what should we know to get the most out of our logging? We will look at the Rails logger and some logging best practices. What is the Rails Logger? When …
PHP Error Log Basics
When developing PHP applications, error logs tend to be underutilized due to their apparent complexity. The reality is that PHP error logs are extremely helpful, especially when configured and used properly. While there are advanced tricks to truly squeeze every last drop of utility out of error logs, this article will cover the basics of configuration and the most common …
How to Troubleshoot Ruby Applications
Troubleshooting is a critical skill for developers and DevOps. As our software grows more sophisticated, our problems do too. The cloud adds a new layer of complexity since we need to know how to find a problem that doesn’t occur locally, but has cropped up on a remote system. In this tutorial, we’ll look at how to troubleshoot Ruby applications. …
Apache Error Log Explained
Many online applications use a web server as the primary point of contact for their clients. At least 43% of those systems are running the Apache HTTP Server. If you’re responsible for one of those systems, you need to work with the Apache error log. Apache provides comprehensive logging via several different files, but the error log is the most important. You can even say …
Logging Levels 101
If you’re a software developer, then you understand how vital application logging is in software development and a critical part of logging is something called logging levels. Log entries generally contain essential information—such as a timestamp, a message, and sometimes additional stuff like an exception’s stack trace. Those pieces of information are useful because they allow someone reading the log entry to …
C# Garbage Collection Tutorial
Garbage collection is a key component of many modern programming languages, including C#. It’s even hard to imagine what programming would look like in C#, and other modern languages like Java, Ruby, and many others, without this tool. Despite being a valuable asset that makes a better programming experience, garbage collection can still give you a hard time, specifically with …
A Detailed Guide to PHP Debugging
If you use PHP or you find yourself “adopting” a PHP app (like I did a few years ago), you must know how to debug PHP. In this detailed guide to PHP debugging, you’ll see some debugging techniques that apply to almost any programming language. But don’t worry. I’ll get into the specifics that apply to PHP, from the basics all …
PHP Error Log Guide: Configuration And Use Cases
When developing PHP applications, error logs are under-used because of their apparent complexity. PHP error logs are helpful, especially when configured and used properly. While there are advanced tricks to truly squeeze every last drop of utility out of error logs, this article will cover the basics of configuration and the most common use cases so you can get up …
Node.js Logging Tutorial
Logging is an important part of supporting the complete application life cycle. From creation to debugging to planning new features, logs support us all the way. By analyzing the data in the logs, we can glean insights, resolve bugs much quicker, and detect problems early as they happen. In this post, we will talk about the who, what, when, where, …
Ruby Performance Tuning
There are many things to praise about the Ruby language: adherence to the object orientation paradigm, simplicity, elegance, and powerful meta-programming capabilities. Unfortunately, performance isn’t top of mind when people think about the many qualities of the language. For years, people have been denouncing the Ruby programming language as slow. Is it? Sure, some people will spread a fair amount …
Node.js Performance Tuning and Testing
We know Node.js for its lightning-fast performance. Yet, as with any language, you can write Node.js code that performs worse for your users than you’d like. To combat this, we need adequate performance testing. Today, we will cover just that with an in-depth look at how to set up and run a performance test and analyze the results so you …
Comparison: Node.js vs. PHP
Both Node.js and PHP are popular platforms for websites, APIs, and other types of web content. They have a few similarities, but their differences far outweigh those similarities. In this post, we’ll take a look at how they stack up against each other. It’s Node.js vs. PHP… let’s get ready for the showdown! Similarities First, let’s take a deeper look at …
Comparison: Ruby vs. Python
Around 1996, when I attended my first programming classes, C++ was the language of choice if you wanted to have a job in this industry. The Internet was young and not as widely available as it is now. Ruby and Python were still in their infancy. Now, in 2018, both have evolved and matured well enough to be in the …
Ultimate Winston Logging Tutorial: Best Practices, Resources, and Tips
Are you looking to get up and running with logging in Node.js? Do you want to understand best practices (and pitfalls) for structuring application logging in Node.js? If that’s what you’re looking for, you’re in the right place! For me, logging was always a somewhat mystical and frustrating idea. I could grasp the concept that you wanted to output information about …
Best Ruby Frameworks: Find One That Suits Your Needs
In today’s post, we’ll cover Ruby frameworks. There is one I’m pretty sure you’ve heard about, and its name is Ruby on Rails. If you walk up to a random software developer and ask them to name a Ruby framework, it’s very likely that Ruby on Rails will be their answer and that would hardly be surprising. I think it’s …
Node.js Module Exports – Demystified
When I started out in Node.js, I remember being struck by the weird-looking module.exports code. I wondered what it was, and where it came from, and why it wasn’t declared in the file. What was this magic? Today we’re going to find out. We’ll demystify this somewhat odd-looking feature of Node.js. By the end of this article, you should be comfortable …
Laravel Logging Tutorial
Regardless of what language and framework you use, proper logging is crucial to web development. Logging is key when it comes to debugging and performance monitoring. Knowing how to properly use logging frameworks is an essential part of creating high quality software that is easy to debug. In this article, I will provide in-depth coverage on Laravel, which is the …
Better code, Better results: No BS [Webinar]
Small changes for big wins At Stackify, we have the privilege of talking with hundreds of companies that have similar software challenges. We found that the #1 challenge is to deliver more value, faster, and with higher quality… while controlling cost, headcount, and complexity. How do you squeeze more out of every delivery cycle with less? There are ways to …
How to Rescue Exceptions in Ruby
Exceptions are a commonly used feature in the Ruby programming language. The Ruby standard library defines about 30 different subclasses of exceptions, some of which have their own subclasses. The exception mechanism in Ruby is very powerful but often misused. This article will discuss the use of exceptions and show some examples of how to deal with them. What is …
How to Remove Application Insights
Microsoft’s Application Insights provides a basic application performance monitoring solution for .NET applications. For some types of .NET projects, Visual Studio will automatically add it to your solution. In this article, we are going to cover how to disable Application Insights. Why disable Application Insights? When considering to remove a tool that helps with monitoring, it’s worth thinking why you …