Spring Data Redis: High-Availability with Sentinel

1. Overview For high-availability with Redis, we can use Spring Data Redis’ support for Redis Sentinel. With Sentinel, we can create a Redis deployment that automatically resists certain failures. Redis Sentinel also provides other collateral tasks such as monitoring, notifications and acts as a configuration provider for clients. At a high level, Sentinel’s capabilities are:… Continue reading Spring Data Redis: High-Availability with Sentinel

AngularJS Scope

1. Overview In this post, we are reviewing scope in AngularJS. It is passed as an argument when we make a controller: Scope is actually an object that refers to the model in an application structure, such as Model View Controller (MVC) . It provides definitions – also known as context – for JavaScript-like code… Continue reading AngularJS Scope

DevSecOps for Authorization

1. Overview What is DevSecOps? DevSecOps refers to the strategy of development, security, and operations teams working hand-in-hand on their projects, rather than working in isolation. Each component of DevSecOps – development, security, and operations – is meant to be integrated into the processes of its fellow components. For example, in terms of security, DevOps… Continue reading DevSecOps for Authorization

Grails with Spring Security

1. Overview of Spring Security Integration with Grails Spring Security touts a number of authentication, authorization, instance-based, and various other features that make it so attractive to secure applications with. With this in mind, due to Grails use of Spring’s Inversion of Control Framework and MVC setup, developers sought to use Spring Security to secure… Continue reading Grails with Spring Security

Software Engineer Salary

1. Overview A concern for many – if not all – software engineers when considering employment is: what is a competitive software engineer salary? Whether you are an aspiring software engineer or a seasoned one, we will be reviewing various software engineer salaries including different locations.  2. Google Software Engineer This is really more or… Continue reading Software Engineer Salary

Expression-Based Access Control

1. Overview Today, we’ll be reviewing the differences between Expression-Based Access Control (EBAC), Role Based Access Control (RBAC), and Attribute Based Access Control (ABAC), with a deeper focus on EBAC. 2. What is Expression-Based Access Control? Simply put, Expression-Based Access Control is the use of expressions to write authorization. The phrase Expression-Based Access Control (EBAC)… Continue reading Expression-Based Access Control

Resource and Dependency Injection in Java EE 7

1. Overview Contexts and Dependency Injection (CDI) is a feature of Java EE that helps meld the web tier and transactional tier of its platform that is included in Java EE 6 and higher. From a technical perspective, what this means is that CDI offers a dependency injection framework and also manages the dependencies’ lifecycle.… Continue reading Resource and Dependency Injection in Java EE 7

Authorizing Resources Based On Who Created Them

A colleague of mine pointed me to an interesting question on StackOverflow and suggested it may be a good one for me to answer because of my experience with Spring. The question was, “How to authorize specific resources based on users who created those in REST, using annotations.” The gist of it is this: What… Continue reading Authorizing Resources Based On Who Created Them