DevOps Zone is brought to you in partnership with:
  • submit to reddit
Tomasz Nurkiewicz07/17/14
0 replies

Introduction to Writing Custom Collectors in Java 8

Java 8 introduced the concept of collectors. Most of the time we barely use factory methods from Collectors class, e.g. collect(toList()), toSet() or maybe something more fancy like counting() or groupingBy().

Gil Zilberfeld07/17/14
0 replies

Test Attribute #2 - Readability

We often forget the most of the value we get from tests come after we’ve written them. Sure, TDD helps design the code, but when everything works for the first time, our tests become the guardians of our code. Once in place, we can change the code, hopefully for the better, knowing that everything still works.

Topher Marie07/17/14
0 replies

Are We Thinking About DevOps Wrong? It’s Not About Culture – It’s About Management!

Strong management leads a company and DevOps requires leadership. It takes organizations saying that the increased cost and time right now will be worth it because it will help us move faster in the future. A core part is how to convey to leadership the value of DevOps.

Bhakti Mehta07/16/14
0 replies

How JDK 8 Standardizes and Augments Guava Library Functionality

Guava library from Google provided some support for functional programming idioms prior to JDK 8. I have been using Guava for some of my projects

Roohi Agrawala07/16/14
0 replies

The Observer Pattern in Java

Due to use of Interfaces, Observable and Observers are loosely coupled. In future if we decide that User should not implement Observer Interface no code change is required in Observable class as it uses Observer Interface and not the concrete class.

John Ferguson Smart07/16/14
0 replies

BDD Requirements Management with JBehave, Thucydides and JIRA - Part 2

Thucydides is an open source library designed to make practicing Behaviour Driven Development easier.

Ariya Hidayat07/16/14
0 replies

Build Agent: Template vs Provisioning

Except for various corner cases, build agents nowadays often run in a virtualized environment. With today’s technologies, a template-based build agent is not difficult to handle.

Richard Warburton07/15/14
0 replies

Java Debuggers and Timeouts

So you've been coding away merrily on a project and everything is going well until a bug appears. You reach into your developer's toolbox and pull out a debugger. It's great - you can set breakpoints, you can interrupt when there's an exception and you can inspect expressions at runtime.

Aleksey Novik07/15/14
4 replies

The Java Origins of Angular JS: Angular vs JSF vs GWT

A superheroic Javascript framework needs a good origin story. Let's try to patch it together, while going over the use of Angular JS in the enterprise Java world and the Angular take on MVC.

Benjamin Ball07/14/14
0 replies

Docker 1.1 Released with a New "Ignore" Feature

This update contains improvements through the entire Docker ecosystem--and it's both impressive and hopeful to see this kind of broad attention within a minor update so close in time to a major release. Good on them.

David Flynn07/14/14
1 replies

Finite Sequence Generators in Java 8

Last time we looked at generators, and more specifically those generating an infinite sequence. We saw that there were several ways to achieve this

Paul Reed07/14/14
0 replies

The Ship Show: Quantifying Quality

For episode 44, we sit down with Lanette Creamer, a proponent of context-driven and agile QA practices to discuss what “quality” means in a world moving toward DevOps practices. Lanette started in QA back when solving “the blank screen” involved “typing in win.exe” and has been testing everything.

Matt Butcher07/14/14
0 replies

Start an Interactive Shell from Within Go

Looking around the web for information on creating a new shell from Go, I kept finding the same answer: "You can't do it." Actually, you can do it, and it's not hard.

Mike Driscoll07/14/14
0 replies

wxPython: How to Create a Login Dialog

I’ve been using wxPython for quite a while now and I see certain questions come up on a fairly frequent basis. One of the popular ones is how to ask the user for their credentials before loading up the rest of the application.

Benjamin Ball07/13/14
0 replies

The Best of the Week (July 4): DevOps Zone

Make sure you didn't miss anything with this list of the Best of the Week in the DevOps Zone (July 4 to July 10). This week's topics include continuous delivery patterns, web tests in NodeJS, Java 8 and Java EE 7, Rackspace's best practices, continuous integration and continuous delivery provisioning tools.

Topher Marie07/12/14
0 replies

What is DevOps? Even the Thought Leaders Can’t Agree!

Then we hit this issue of how do you create a definition of DevOps that is not too far away from the folks doing the work, but is still meaningful to the whole organization. We even talked a bit about how the name “Dev” “Ops” may be causing confusion!

Simon Brown07/11/14
0 replies

One View or Many?

In Diagramming Spring MVC webapps, I presented an approach that allows you to create a fairly comprehensive model of a software system in code.

John Ferguson Smart07/11/14
0 replies

BDD Requirements Management with JBehave, Thucydides and JIRA

Thucydides plays nicely with BDD tools such as JBehave, and traditional tools like JUnit, to make writing automated acceptance tests easier, and to provide richer and more useful living documentation. In a series of two articles, we will look at the tight one and two-way integration that Thucydides offers with JIRA.

Gil Zilberfeld07/11/14
0 replies

Test Attributes #1: Validity

This is the first of a series of posts that is going to discuss the different faces of tests. Let’s start with validity. Admittedly, it’s not the first of attribute I thought about. What are the chances we’re going to write a wrong test?

Alexey Kutuzov07/11/14
0 replies

Docker meets Vagrant (registry-less mode)

Automate ENV preparation with Docker and Vagrant.

Peter Lawrey07/10/14
2 replies

Compounding Double Error

While it is possible to construct situations where double produces an error, it is also just as easy to construct situations were BigDecimal get an error.

Andrew Phillips07/10/14
0 replies

The Deployment-Sized Hole Between Continuous Integration, Continuous Delivery and Provisioning Tools

Packaging and deploying an application consisting of Puppet manifests and Chef cookbooks (Docker container requests also). Easy integration with Jenkins; XL Deploy takes care of targeting the manifests/cookbooks at the appropriate hosts and all the orchestration of the invocations. Piece of cake!

Alex Soto07/10/14
0 replies

RxJava + Java8 + Java EE 7 + Arquillian = Bliss

Microservices are an architectural style where each service is implemented as an independent system. They can use their own persistence system (although it is not mandatory), deployment, language...

Derek Weeks07/09/14
0 replies

Open Source Components, a Fine Vintage or Sour Milk?

New vulnerabilities are frequently discovered in open source components previously thought to be safe, so to keep your applications from going sour, you should rely on automation to alert you when new risks are discovered in existing applications.

Vijay Narayanan07/08/14
0 replies

Tips for Identifying Reusable Candidates from Existing Code

Here are a few quick tips to examine your existing code to identify reuse candidates: