Home » Author Archives: Remon Sinnema (page 2)

Author Archives: Remon Sinnema

How To Control Access To REST APIs

software-development-2-logo

Exposing your data or application through a REST API is a wonderful way to reach a wide audience. The downside of a wide audience, however, is that it’s not just the good guys who come looking.         Securing REST APIs Security consists of three factors: Confidentiality Integrity Availability In terms of Microsoft’s STRIDE approach, the security compromises ...

Read More »

Behavior-Driven RESTful APIs

software-development-2-logo

In the RESTBucks example, the authors present a useful state diagram that describes the actions a client can perform against the service. Where does such an application state diagram come from? Well, it’s derived from the requirements, of course. Since I like to specify requirements using examples, let’s see how we can derive an application state diagram from BDD-style requirements. ...

Read More »

RESTBucks Evolved

software-development-2-logo

The book REST in Practice: Hypermedia and Systems Architecture uses an imaginary StarBucks-like company as its running example. I think this is a great example, since most people are familiar with the domain. The design is also simple enough to follow, yet complex enough to be interesting.   Problem Domain RESTbucks is about ordering and paying for coffee (or tea) ...

Read More »

REST Maturity

software-development-2-logo

In 2008, Leonard Richardson published his Maturity Heuristic that classified web services into three levels based on their use of URI, HTTP, and hypermedia. Back then, most web services were stuck at either level 1 or 2. Unfortunately, not a whole lot has improved since then in that respect: so-called pragmatic REST is still the norm.   BTW, I really ...

Read More »

Managers and Individual Contributors in Code

software-development-2-logo

I’m lucky to work for a company that makes it possible to have a good technical career, so that I don’t have to become a manager just to get more money. I like being an individual contributor because it gives me a sense of accomplishment when I get stuff done myself.   Anyway, I believe the distinction between manager and ...

Read More »

Conway’s Game of Life and the Flyweight Pattern

software-development-2-logo

Conway’s Game of Life is fascinating, both from a functional and from a technical perspective. This may explain why it’s often used for code retreats. Code retreats are a fun way to learn. It’s amazing how working with new pairs gives you new insights virtually every time.   At the last code retreat that I attended, one of my pairs ...

Read More »

The Decorator Pattern

java-logo

The Decorator Pattern One design pattern that I don’t see being used very often is Decorator. I’m not sure why this pattern isn’t more popular, as it’s quite handy. The Decorator pattern allows one to add functionality to an object in a controlled manner. This works at runtime, even with statically typed languages! The decorator pattern is an alternative to subclassing. ...

Read More »

Communicate Through Stories Rather Than Tasks

agile-logo

Communicate Through Stories Rather Than Tasks Last time I talked about interfaces between pieces of code. Today I want to discuss the interface between groups of people involved in developing software. There are two basic groups: those who develop the software, and those who coordinate that development. In Agile terms, those groups are the Development Team on the one hand, and ...

Read More »

REST 101 For Developers

java-interview-questions-answers

Local Code Execution Functions in high-level languages like C are compiled into procedures in assembly. They add a level of indirection that frees us from having to think about memory addresses. Methods and polymorphism in object-oriented languages like Java add another level of indirection that frees us from having to think about the specific variant of a set of similar ...

Read More »

How To Start With Software Security – Part 2

software-development-2-logo

Last time, I wrote about how an organization can get started with software security. Today I will look at how to do that as an individual. From Development To Secure Development As a developer, I wasn’t always aware of the security implications of my actions. Now that I’m the Engineering Security Champion for my project, I have to be. It ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Advanced Java Guide
  • Java Design Patterns
  • JMeter Tutorial
  • Java 8 Features Tutorial
  • JUnit Tutorial
  • JSF Programming Cookbook
  • Java Concurrency Essentials