Archive for May 2024

Week 22, year 2024

  • Parameterizing HTML template tests - Testing templates for generating HTML leads to tests that are very similar. Matteo Vaccari wisely likes to separate the common elements of tests from those that vary. He continues his article to show how he does this by parameterizing the tests. The resulting tests are easier to write, and more importantly, faster to understand and modify. [Martin Fowler]
  • Prefetching in Single-Page Applications - Juntao Qiu's completes his set of data fetching patterns for single-page applications. Prefetching involves fetching data before it's called for in the application flow. Although this can mean data is fetched unnecessarily, it reduces latency should the data be needed. [Martin Fowler]
  • Testing the behavior of generated HTML - In the story so far, Matteo Vaccari has shown how to test the behaviour of the HTML templates, by checking the structure of the generated HTML. That's good, but what if we want to test the behavior of the HTML itself, plus any CSS and JavaScript it may use? [Martin Fowler]
  • Let's build the worst Event Sourcing system! - Everyone likes to talk about best practices. I went the other way around and gathered all the worst practices on how to build the worst… [Event-Driven by Oskar Dudycz]
Permalink | From 27 May 2024 to 02 June 2024 | Last updated on: Sat, 1 Jun 2024 22:06:34 GMT

Week 21, year 2024

  • Using markup for fallbacks when fetching data - Juntao Qiu's next data fetching pattern looks at how to specify fallback behavior using markup. This allows developers to pull such declarations out of the JavaScript components and into the markup they use while laying out the rest of the page. Juntao's React example shows how this works with the Suspense element, with a similar approach in vue.js. [Martin Fowler]
  • Test-Driving HTML Templates - When building a server-side rendered web application, it's valuable to test the HTML that's generated through templates. While these can be tested through end-to-end tests running in the browser, such tests are slow and more work to maintain than unit tests. My colleagueMatteo Vaccari has written an article on how to use TDD to test drive these templates using xunit-style tools which can be run easily from the command line or as part of build scripts. In this first installment Matteo describes how such tests can check the generated HTML for validity, with examples in Java and Go. [Martin Fowler]
  • A short note on how I use and render footnotes - Last week I added a small feature to this website, changing the way it renders footnotes. That prompted me to write this quick note about how I use footnotes, and how that influences the best way to render them. [Martin Fowler]
  • Testing the contents of generated HTML - Matteo Vaccari continues his testing of template-generated HTML by describing tests for the contents of that HTML. He shows how to gradually build up the template, using Test-Driven Development in Go and Java. [Martin Fowler]
  • Code Splitting in Single-Page Applications - Single-Page Applications often require a lot of code to be downloaded to the browser, which can delay a page's initial appearance. Juntao Qiu's next pattern, Code Splitting, describes how this code can be divided up, so that modules are only loaded if they are going to be needed, and the dangers of doing so. [Martin Fowler]
  • Why you should batch message processing and how to do it with .NET AsyncEnumerable - AsyncEnumerable is a sneaky abstraction. It allows simplified and performant usage for iterating on pull-based and push-based sources. “Pull… [Event-Driven by Oskar Dudycz]
  • The Economics of Writing Technical Books - Yes, you can make money writing books. But never do it for that. [The Architect Elevator]
Permalink | From 20 May 2024 to 26 May 2024 | Last updated on: Thu, 30 May 2024 14:06:36 GMT

Week 20, year 2024

Permalink | From 13 May 2024 to 19 May 2024 | Last updated on: Sun, 19 May 2024 14:06:34 GMT