In a Grails application we can organize our controllers into packages, but if we use the same name for multiple controllers, placed in different packages, then Grails cannot resolve the correct controller name.
Since Grails 2.3 it is very easy to define RESTful URL mappings for a controller. We can use the resources and resource attribute and use a controller name as the value. Grails will then automatically create a couple of URL mappings.
If you are a JSF user you owe it to yourself to know about JSFCentral. Run by key JSF advocate, consultant and JSF in Action author Kito Mann, it's an excellent resource for everything JSF.
While the awesome Apache Camel team is busy fixing the handling of the multiple parameters in the query, here’s a workaround
Thanks to the very kind folk at Packt Pub, we have a surprise competition for you at Devoxx and also out there online, who perhaps could not make it to Antwerp this year.
Using Packer to create CentOS and Ubuntu boxes is not difficult. If you want to follow along, I have prepared a Git repository ariya/packer-vagrant-linux which contains all the necessary bits to create CentOS 5.4 and/or Ubuntu 12.04 LTS 64-bit boxes.
For a new project, without an allocated budget, I was asked to provide some simple Virt. capability, to hold them over until they get budget approval, and can buy their own hardware.
Rather than re-inventing the wheel, and to help provide perspective, we are now working with the folks from Docker. They will be giving us their feedback, helping with integration and creating a Go profile.
By now, most developers are familiar with the various debugging tools in their local development environment, but as they step towards cloud deployments, how can they achieve the same? Is remote debugging even possible in the cloud? Well of course it is.
A little bit late but finally the video from my session at ApacheCon Portland is available. That was the first version of the talk that I just gave at Agile testing Days which unfortunately was not recorded.
A few weeks ago a project of mine suddenly went offline. Fixing old code is always a humbling experience. Your own code, though … that’s humbling.
We’ve implemented some extensions to Git and Gerrit that check to make sure that commit records are structured as required, and reject those commits that are malformed.
I think that part of what makes someone a good developer is the ability to go through a codebase and figure out what is going on.
What is this “DevOps” thing that everyone from computer engineers to business leaders and recruiters are so enamored with? Is it a job title? A set of technical skills? A cultural shift? Or something else completely?
The application I’m working on now uses Spring both by parsing for XML Spring configuration files in pre-determined locations and by scanning annotations-based autowiring.
As development progresses we inevitably run into functionality gaps that are either deemed as enhancements.
The list of reasons why developers "toss stuff over the wall" is too large to tackle individually, but there are a few classics. "Tossing stuff over the wall" boils down to respect. Time is precious and when a QA analyst feels that his/her time was wasted, respect towards developers can be diminished.
A great number of people in the software field appear to think the primary benefit of unit tests is test coverage. But code coverage is not the point of unit tests. Code coverage is a side affect.
I wanted to launch a small web application in stealth mode. I also wanted it to run completely on GitHub, using GitHub Pages. Here's how.
In the cloud you can turn on 100s or 1000s of servers at the click of a mouse, but what happens when you want to configure them? If you do it by hand it will take you months if not longer. That’s where Puppet comes in, an automation tool that allows you to configure and manage legions of servers.
Today we will be looking at how to get the selected cells from a wxPython grid object. Most of the time, getting the section is easy, but when the user selects more then one cell, getting the selection becomes more complicated.
A friend of mine recently told me about the kind of problems he’s currently struggling with in the legacy application he’s maintaining. Here’s a sample piece of code to illustrate what I’m talking about:
DevOps is still misunderstood and has tremendous room for greater adoption still but let’s be clear about one very important thing: DevOps is not a replacement for operations!
Configuration in software provides a method to build systems that can adapt to different configurations. Configuration makes it possible to deliver such features without needing a change log in the application source code.
This blog is more of a tutorial where we describe the development of a simple data access module, more for fun and learning than anything else. All code can be found here for those who don’t want to type along.