-
crs-template
Introduction I’ve developed a new client-side template that incorporates several core features I’ve refined over the years to support intent-driven development: This is all packaged in a updated version of crs-framework. Getting Started To get started, open your browser and go to the GitHub page: https://github.com/caperaven/crs-template. Click the “Use this template” button (green button at…
-
Rust, mapping between result types
I encountered a problem where my function uses,Result<Value, String>, but I also use Hugging Face Candle and std::fs::read, both of which have their own result types. For example, std::fs::read returns io::Result<Vec<u8>>. This means you can’t simply use the standard ? syntax to return the result. There are two ways to handle this: 2. Or, you…
-
Naming your code
Introduction In this post, we will explore the importance of naming in your code, encompassing functions, parameters, variables—essentially anything that requires a name. Many junior developers often struggle with effective naming. Our goal here is to provide guidelines and best practices for creating meaningful names. Why Naming is Important The primary reason naming is crucial…
-
Rust code coverage
Introduction An important part of development is writing tests. When I started, things like unit tests didn’t even exist. Now, I can’t imagine doing development without them. I’m a strong believer in test-driven development (TDD). While I don’t strictly adhere to writing tests before implementation, I’ve learned that tests are not just about ensuring quality—they’re…
-
Rust, fighting the borrow checker
This post is about my experience battling the Rust borrow checker during compilation. This is a common issue, especially for those with a strong OOP background. Spoiler alert: If you are struggling with the borrow checker, you are likely doing something wrong. Specifically, you might be thinking about your code structure in the wrong way.…
-
Understanding Advanced Rust Data Structures
In this blog post, we’ll dive deep into a Rust code snippet that showcases some of Rust’s powerful features for managing complex data structures in a concurrent environment. Code Breakdown We’ll start with the trait definition and then look at how it’s used in a struct. Trait Definition Struct Definition Detailed Explanation Let’s break down…
-
UI Automation
Introduction UI automation refers to testing of the user interface using automated systems instead of manual user testing. This is achieved through automation instructions that interacts with the user interface and ensuring that the response from the client is what was expected. The current mindset around automation is giving instructions on what to do.Click on…
-
Intent Driven Testing
Intent driven development To summarize, IDD focuses on specifying the desired outcome rather than detailing how it should be accomplished. This approach emphasizes defining the goals, leaving the execution details to the underlying systems. Take logging into an application as an instance. Numerous widely-recognized authentication methods exist, such as those provided by Google, Apple, Facebook,…
-
Intent driven data
Introduction This text serves as an additional resource to the book “Intent-Driven Development” with a specific focus on data aspects. We will not delve into data storage methods, as it’s presumed that an application server handles this aspect. Our primary focus is on interfacing with such a server and executing functions related to the data.…
-
Process api mixins
In various situations, it’s beneficial to enhance standard markup with generic features. This is commonly achieved by creating and attaching managers to elements. These managers have the flexibility to perform a wide range of tasks, essentially offering limitless possibilities. To illustrate this concept in a more practical context, consider two examples where you want the…