Systems | Development | Analytics | API | Testing

August 2020

Bitrise AMA #1 featuring Damien Murphy & Tamas Bazsonyi | WEBINAR

Our very first live AMA webinar featuring our Sales Engineers, Damien Murphy and Tamas Bazsonyi. ___________ Continuous integration and delivery built for mobile: Automate iOS and Android builds, testing and deployment from your first install to the one millionth. Free for Open Source and small teams. Bitrise is a Continous Integration and Delivery (CI/CD) Platform as a Service (PaaS) with the main focus on mobile app development (iOS, Android). You can automate the testing and deployment of your apps with just a few clicks.

Kubernetes in Production: 6 Key Considerations

Kubernetes is an open-source platform for container orchestration. You can use it to deploy a highly resilient, self-healing infrastructure using automation and infrastructure as code (IaC). Kubernetes includes features for zero downtime deployments, scaling, automatic rollout and rollback of updates, and service discovery. Kubernetes is designed to help you manage container deployments at scale via REST API.

Node.js Architecture and 12 Best Practices for Node.js Development

Even though only 11 years old, Node.js has emerged to be one of the most popular web development frameworks in the last decade. I’m a big Javascript fanboy, and thanks to Node.js, I can write Javascript code outside the browser to create server-side web applications that are non-blocking, lightweight, fast, robust and scalable.

Using Helm to Improve Software Understandability

As new advances in software development have allowed developers to increase their velocity and push out new software at ever increasing speeds, one less measured metric is software understandability. Although it probably seems obvious, when building new software the goal should always be to build software that is as simple and easy to understand as possible.

Understanding Database Transactions in Rails

Few things are scarier than a database slowly losing integrity over weeks or years. For a while, nobody notices anything. Then users start reporting bugs, yet you can't find any code that's broken. By the time you realize the problem, it may be happening for so long that your backups are unusable. We can avoid problems like these with skillful use of transactions.

Java Development Mistakes: Avoid These 7 Mistakes When Java Developing

Over time, Java has become a popular programming language in software development. Although Java is more popular with developers than C or C++, this programming language still has its problems. Here are seven Java development mistakes that developers can make and how you can avoid them.

Django and the N+1 Queries Problem

The N+1 Queries Problem is a perennial database performance issue. It affects many ORM’s and custom SQL code, and Django’s ORM is not immune either. In this post, we’ll examine what the N+1 Queries Problem looks like in Django, some tools for fixing it, and most importantly some tools for detecting it. Naturally, Scout is one of those tools, with its built-in N+1 Insights tool.

Python Debugging: More Than Just A (Print) Statement

As most developers will agree, writing code is oftentimes, if not always, easier than debugging. As a simple definition, debugging is the process of understanding what is going on in your code. When speaking in terms of Python, it is a relatively simple process. Every developer has their own personal debugging method or tool they swear by. When it comes to Python, most developers use one (or more) of the following: print statements, traditional logging, a pdb debugger, or an IDE debugger.

Report: Digital transformation in finance and banking

In the past few months, we’ve been researching the finance and banking market's approach to mobile and put together our key findings in a report. The aim is to help us — and you — better understand how and why fintech apps have dominated the app stores, and to explore how traditional banks can compete.

Summer Release: Slow SQL Query Log, Callgraph Profiler, Memory Tracepoints

This Summer Release of Tideways builds on the previous Beta Announcements in May's Spring Release and marks the general availability of This new functionality is fully available by updating the Tideways PHP Extension to version 5.2.4 and the Daemon to version 1.6.18. In addition to rolling out new features, we also renamed the concept of "Application" in Tideways to "Project" and we provide a detailed explanation why at the end of this post.

How to Create SQL Percentile Aggregates and Rollups With Postgresql and t-digest

When it comes to data, let’s start with the obvious. Averages suck. As developers, we all know that percentiles are much more useful. Metrics like P90, P95, P99 give us a much better indication of how our software is performing. The challenge, historically, is how to track the underlying data and calculate the percentiles. Today I will show you how amazingly easy it is to aggregate and create SQL based percentile rollups with Postgresql and t-digest histograms!

Node.js Logging: A How-to Guide

When visiting a new website, it is quite normal to get carried away by the bells and whistles of the fancy UI and UX and not be able to appreciate all the lower level, back-end code that runs tirelessly to ensure a smooth and fast website experience. This is because your front-end HTML code has a visually rich browser page interface as a platform to showcase its output. Whereas your back-end, server-side code usually only has a console at its disposal.

Introducing Versions API to Automate Error Response for New Code Versions

You know the feeling. You’ve just deployed a new version to production and are monitoring the Rollbar dashboard for any new errors or looking out for any Slack notifications. You’re keeping an eye on the number of new or reactivated errors, their severity level, and triaging to see which errors need to be assigned and to whom. Now what if you could automate these tasks?

How to Test Ruby Code That Depends on External APIs

Few things are more frustrating than slow, flaky test suites. You're ready to deploy, wait 20 minutes for CI to run, only to find that a test failure in code you've never touched is blocking you. You dig into the source and find the problem: an external API call. It works (slowly) most of the time. But sometimes the network glitches and it fails. What do you do? In this article, José Manuel shows us several techniques for removing external API dependencies from our tests.

Running Your Node.js Application with systemd

You've written the next great application, in Node-and you're ready to unleash it upon the world! Which means you can no longer run it on your laptop, you're going to actually have to put it up on some server somewhere and connect it to the real Internet. There has probably never been a better or easier time to learn basic Linux system administration. This tutorial will take you through the steps to deploy and run your application on a Linux server using systemd, which is the replacement to init and upstart in older Linux systems.

Digital Transformation with the Node.js DevOps Stack

PayPal, Netflix, and Walmart show the way to achieve rapid digital transformation of legacy systems. Modernizing systems and processes has become a top priority for businesses across all verticals. Organizations are looking for the fastest and most effective route to modernization; Node.js is emerging as the de facto choice for companies looking to build the apps and other infrastructure needed to make such a move.