Testing is a major part of our development process. After working with JUnit for some time we leaned back and thought: How can we improve our test productivity? Since we were all fond of Scala we looked at ScalaTest. Here are the author's top 5 reasons to use ScalaTest over JUnit!
A post about development practices, speed, and frustration.
Reopened issues and developer feelings don’t mix well, a recurrent phenomenon I’ve seen on all projects I’ve worked on.
Java 8 is packed full of some really exciting features at both the JVM and language level. In this post, we'll look at 5 features that we feel are an absolute must for you to know about.
As groups and products grow in size and complexity, it's common for people to use their best judgment when making decisions. This trust is a vital olive branch in team building and group dynamics. But as time marches on, accidental standards are created. An accidental standard is a method, process, or expectation set without explicit recognition by those involved.
We'd like to offer everybody in the DZone community the opportunity to be part of DZone's 2014 Continuous Delivery Research Report. By taking our survey, you will help decision-makers understand trends and preferences around deployment automation and configuration management solutions.
Java 8 has been released! Surely you've heard quite a bit about it already, as it's a major release and has been hotly anticipated and available for early access for a while, but now Java SE 8 is available for download, and we have a number of resources to cover the changes and new additions.
Every week here and in our newsletter, we feature a new developer/blogger from the DZone community to catch up and find out what he or she is working on now and what's coming next. This week we're talking to Henrik Warne, a software developer in Stockholm, Sweden and 20-year programming veteran.
DevOps is a cultural shift in how software development and IT operations work together. It’s about focusing everyone’s attention on the business goals of software, and enabling ongoing, active collaboration between developers and IT operations people to achieve those goals.
IntelliJ IDEA 13 added the Terminal tool window to the IDE.
A good while ago I was looking for good ways to do client-side routing and templating in ClojureScript.
Recently we changed the way we were working on JS Bin. Instead of pushing new features whenever it took my fancy – which could result in success or equally some kind of breakage – we’re now pushing new features under feature flags and it’s proving to be really quite powerful (and fun).
I am going to show how to set up this process using Maven and Jenkins. Target environment is hosted on Tomcat7. Source code is hosted on GitHub. Because I am the type of developer who tries to avoid polling as much as possible, I am going to show how to trigger this process by GitHub's cool feature called WebHooks.
Code confusion and complexity is a problem in most software projects, and we can clearly see this in enterprise projects. The reason for this confusion might be fast and unplanned developing, poorly-designed structure and undefined architecture. But we have to know this. Code is inherently complex.
In my last blog, I started to talk about the need to figure out whether or not your application is misbehaving in it's production environment.
In the first post in this series, we took a quick look at Red Deer’s implementation of Requirements classes. In this post, we’ll take a more detailed look at Requirements, including how Red Deer supports your creating custom Requirements.
Even if last week, we promised an article on concurrency, there is one very important aspect of Java 8 lambdas and interoperability with “legacy” APIs that we need to talk about, first.
Strange that we still worry about duplication.
When I started programming some years ago, I would comment everything, and I mean everything.
My point here is not to put down the DevOps tools. Instead, I want to point out that how these tools are used is important. If you view tools like Chef or Ansible as a means of cutting out keystrokes (read: pushing config), then you are likely missing the point of automation. What these types of tools are really trying to do is much more profound.
A short "how-to" based on an issue one of my work mates recently faced when trying to automate the creation of an MSI package on Jenkins.
This post is my review of this training video on configuring, deploying, and administrating the JBoss Enterprise Application Platform.
Not long ago, in a blog post, I explained what Closure were in Groovy. This blog post will explain one good example of using them.
If the average programmer writes about 50 lines of production code a day. A 50,000 line program would take 1,000 man days to produce. The 50,000 line listing can be entered by a programmer at about 1,000 lines a day or about 50 man days. So what the heck are the developers doing for the other 950 days?
Do you need to make your Java library publicly accessible? Is your project hosted on GitHub? Do you like idea of "all-in-one deploy to Maven Central Repository" button? The author is going to show you how to set it up using the maven-release-plugin.