Systems | Development | Analytics | API | Testing

Scout

How to Use Lambdas in Ruby

Lambdas are a powerful feature of the Ruby language. They allow you to wrap logic and data into a portable package. In this post, we’ll cover how and when to use lambdas. You'll also learn about the difference between lambdas and Procs, and the performance profile of lambda functions. The code examples have been tested with 2.6 and 2.7 and should work with most modern Rubys.

How to Start Using Counter Caches in Rails

It is widespread to have parent-child associations in Rails applications. On the parent side is a :has_many association, and on the child side is a :belongs_to association. Examples include an article with comments, or an author with books--the former is the parent, and the latter is the child. It is often useful to display a count of the children alongside information about the parent, without necessarily loading all the child records.

Elixir GenServers: Overview and Tutorial

Elixir describes itself as "a dynamic, functional programming language designed for building scalable and maintainable applications." Although it's a relative newcomer, Elixir is built on top of the functional programming language Erlang. Elixir is capable of using any Erlang library, and is ideal for use cases such as web development and distributed and low-latency systems. The power, dynamism, and feature-rich toolset of Elixir have made it somewhat of a "cult classic" among programmers.

Go Fast: Getting Started with Sanic for Python

Tired of waiting for sluggish HTTP requests to complete before your backend code can proceed with other things? Sanic is an asynchronous web framework in Python, that is built to be fast. In a world where Flask and Django are the most preferred web development options in Python, Sanic is the new kid on the block. It’s a promising alternative that is not only faster but also delivers efficiency, simplicity, and scalability.

Tutorial: Log to Console in PHP

“All code and no logging makes John a black box error-prone system.” Logging is a key aspect of monitoring, troubleshooting and debugging your code. Not only does it make your project’s underlying execution more transparent and intelligible, but also more accessible in its approach. In a company or a community setting, intelligent logging practices can help everyone to be on the same page about the status and the progress of the project.

Programmatically Adding Laravel Middleware

When it comes to web development, middleware is often the key to ensuring everything connects up - even if some of the pieces don’t always match up. HTTP Middleware is a mechanism used to conveniently filter HTTP requests coming into your web application. When it comes to PHP, frameworks often help us get our applications to handle workloads vanilla PHP might have a harder time managing. Frameworks help to manage the underlying structure of an application while supporting existing PHP standards.

The 15 Best Podcasts for Engineers

If you've been on the hunt for a new developer podcast, then you understand just how difficult and fruitless that pursuit can be. You can spend hours online sifting through coding podcasts, programming podcasts, and DevOps podcasts only to realize one simple thing: none of them focus on your preferred programming language! With thousands of different developer podcasts out there, the problem is magnified exponentially. Fortunately, we at Scout APM have nothing but expertise and time on our hands.

A Complete Guide to Rails Caching

Application performance is always a concern when building in the modern, competitive web and mobile space. At Scout, it’s why we created application performance monitoring tools in the first place. That said, there are steps you can take to build a more performant application. If you are using Ruby on Rails, caching might be one of the best tools on your belt to build a better application.

Automated Tools and Strategies to Help Migrate from Python 2 to 3

This article is a continuation of Part I (A comprehensive guide to migrating from Python 2(Legacy Python) to Python 3), which details the changes, and improvements in Python 3, and why they are essential. The rest of the article describes automated tools, strategies, and the role of testing in the migration from Python 2 to 3.