Systems | Development | Analytics | API | Testing

Advanced Dependency Injection in Elixir with Rewire

In our last post, we explored how Dependency Injection (DI) is a powerful design pattern that can improve our ExUnit tests. In this article, we will dive deeper into the topic of DI in Elixir, focusing on the Rewire library for Elixir projects. We will cover Rewire's core concepts, how to get started with it, and practical examples. We will also see how to use Rewire alongside Mox. Let's get started!

Next-Gen Customer Loyalty Programs with Data Streaming

Buy 10 sandwiches, get 1 free. Classic punch cards (and fishing for them in your wallet or occasionally misplacing one) have become a thing of the past, as today's digital landscape demands more innovative solutions. Today’s customer loyalty programs are increasingly sophisticated—evolving, proliferating, and diversifying across every industry from retail, travel, and hospitality to healthcare (e.g., a discount for paying within 30 days of a hospital visit).

Fueling Enterprise Generative AI with Data: The Cornerstone of Differentiation

More than two-thirds of companies are currently using Generative AI (GenAI) models, such as large language models (LLMs), which can understand and generate human-like text, images, video, music, and even code. However, the true power of these models lies in their ability to adapt to an enterprise’s unique context. By leveraging an organization’s proprietary data, GenAI models can produce highly relevant and customized outputs that align with the business’s specific needs and objectives.

API Design-First: Enhance Your Development Process

Why should you prioritize an API design-first approach in your development strategy? This essential methodology promotes early and thorough API specification, fostering a blueprint that guides the entire development process. You can cut straight to improved efficiency, consistency, and quality in your API projects by embracing this approach from the start.

Best practices on How to write effective Test Cases in Software Testing

In the dynamic world of software development, quality is paramount. Every line of code, every feature, every functionality needs to be meticulously evaluated to ensure a flawless user experience. This is where test cases come in – the unsung heroes of the development process.

Observability in Snowflake: A New Era with Snowflake Trail

Discovering and surfacing telemetry traditionally can be a tedious and challenging process, especially when it comes to pinpointing specific issues for debugging. However, as applications and pipelines grow in complexity, understanding what’s happening beneath the surface becomes increasingly crucial. A lack of visibility hinders the development and maintenance of high-quality applications and pipelines, ultimately impacting customer experience.

Accelerate Development and Productivity with DevOps in Snowflake

Today’s data-driven world requires an agile approach. Modern data teams are constantly under pressure to deliver innovative solutions faster than ever before. Fragmented tooling across data engineering, application development and AI/ML development creates a significant bottleneck, hindering the speed of value delivery required to stay competitive. Disparate tools create a complex landscape for developers and data teams, hindering efficient pipeline development and deployment.

Branching Strategies Guide: Code Branching Strategy Best Practices

Having a dedicated branching strategy is key for teams wanting to speed up their workflows, meet tasks on a deadline, and reduce code errors. But with all the different branching strategies – including release branching, trunk-based branching, feature branching, and more – it can be difficult to determine which one best fits your team’s needs.

Achieving Zero Trust on VMs with Universal Mesh

Two of the main tenets of Zero Trust are encryption between services and managing the connections each service is allowed to use. Achieving this generally falls to running a service mesh in a Kubernetes cluster. Refactoring applications to run properly in Kubernetes takes time and considerable investment. For many organizations, running their applications on virtual machines will be a necessity for years to come. However, this doesn't mean security should fall behind.