A beginner’s guide to Cache synchronization strategies

Introduction

A system of record is the authoritative data source when information is scattered among various data providers. When we introduce a caching solution, we automatically duplicate our data. To avoid inconsistent reads and data integrity issues, it’s very important to synchronize the database and the cache (whenever a change occurs into the system).

There are various ways to keep the cache and the underlying database in sync and this article will present some of the most common cache synchronization strategies. Continue reading

AngularJS-small

What every Angular project likely needs – and a Gulp build to provide it

Starting an AngularJs project also means choosing a whole toolchain that goes along with Angular. In this blog post we will propose a set of tools that a new Angular project will likely need, and present a simple Gulp build that provides those features. Let’s go over the following topics:

  • Why Gulp? Goals for a baseline Angular build
  • Why use a CSS pre-processor, and why Sass
  • The advantages of a module system, and why browserify
  • Pre-populating the Angular template cache
  • Angular-friendly Javascript minification
  • Reducing the number of HTTP requests using sprites
  • Setup a development web server
  • Running tests with Karma, code quality with JSHint, and more

Continue reading

Is IntelliJ IDEA shining through Eclipse?

As a long time Eclipse user, I want to give a more serious look to IntelliJ IDEA. The people from JetBrains were very nice and granted me an open source license for the Podcastpedia.org  and Codingpedia.org projects. In the post I listed some of the things I use often in Eclipse and their equivalent in IntelliJ. I wrote this post so I can bookmark it and come back to, whenever I forget something, and if it helps others the better.

Continue reading

AngularJS-small

Why Angular is not only for single page web apps

AngularJs is often seen as a viable solution for building full scale single page web applications. Although that is a good use case for Angular, in this post we will explore how the framework can also be used to incrementally add functionality to any web page in general, in some cases with little to no Javascript needed (example). Continue reading

Agile Testing – The Dangers of putting off Automation

More Agile Testing

A few weeks ago on one of my TestTalks podcasts, I interviewed Janet Gregory, co-author of some of the most popular books on Agile Testing:

Janet shared some of her tips and tricks on how teams can succeed with all their Agile testing efforts.

The three points from the interview that I want to focus on in this post are:

  • The Agile Mindset
  • The Agile Testing Quadrants
  • The Dangers of putting off automation

Continue reading

Old lock and key

How to secure Jersey REST services with Spring Security and Basic authentication

In my previous blog post, Quick way to check if the REST API is alive – GET details from Manifest file, I showed how to develop a REST resource to easy check if the developed REST API is reachable. In this post I will present how you can secure this resource with Spring Security and Basic authentication – “In the context of an HTTP transaction, basic access authentication is a method for an HTTP user agent to provide a user name and password when making a request.”

The secured REST resources introduced here are part of bigger project, presented extensively in the Tutorial – REST API design and implementation in Java with Jersey and Spring

Continue reading

jsf-logo

How JSF Works and how to Debug it – is polyglot an alternative?

JSF is not what we often think it is. It’s also a framework that can be somewhat tricky to debug, specially when first encountered. In this post let’s go over on why that is and provide some JSF debugging techniques. We will go through the following topics:

  • JSF is not what we often think
  • The difficulties of JSF debugging
  • How to debug JSF systematically
  • How JSF Works – The JSF lifecycle
  • Debugging an Ajax request from browser to server and back
  • Debugging the JSF frontend Javascript code
  • Final thoughts – alternatives? (questions to the reader)

Continue reading