Tavi Bolog

Tavi Bolog

Development Lead at Nokia

Introduction to Grails (III)

I hope the previous articles about Grails raise your interest on the framework to give it a try. Here comes the last article the “Introduction to Grails” series, presenting the following topics:
- Custom validators
- Internationalization
- Tag libs
- Url Mappings
- Persistence

Introduction to Grails (II)

Let’s now create our login page for the application. As I mentioned in the beginning, Grails uses conventions a lot. This means that if you have a domain class called “User”, you need to have a “UserController” controller. If you have an action defined in a controller, like “login”, you need to have a view called “login” view under grails-app/views/user. To create views, Grails offer a script: generate-views com.todaysoftmag.gsn.User, but for the time being we can just create them by hand.

Introduction to Grails (I)

Grails este un framework web bazat pe Java și Groovy. Grails împrumută concepte din frameowork-uri precum Rails în dorința de a simplifica web development-ul în Java. Grails is a web development framework developed on top of Java and Groovy stacks. Grails borrows concepts from frameworks like Rails, and builds on these concepts to simplify web development in Java.

5 Java practices that I use

This article presents 5 Java practices that I use while coding. It’s interesting that simple things make your developer (and fellow colleagues) life easier. I have no intent to create some sort of top here, but just to illustrate things I consider helpful. Implement equals, hashCode and toString methods inherited from java.lang.Object. All 3 methods are part of java.lang.Object since JDK 1.0. They could be really useful when used in your classes as follows: Object#equals(Object obj): determines if the current object is equal with the object supplied as parameter.

RESTful Web Services using Jersey

RESTful Web Services are services based on HTTP methods and the REST concept. There are usually four HTTP methods used to define services RESTful:
• POST: upload a new resource (create or modify). Repeated executions can have distinct effects.
• PUT: create a new entry in the collection. Repeated executions will have the same effect as the one obtained from a single IDEMPOTENT operation
• GET: identify a resource without modifying the source. The operation shouldn’t be used in creating resources
• DELETE: delete a resource. Repeated executions will have the same effect as the one obtained from a single IDEMPOTENT operation.

Agile Software Development using Scrum

Beginning of 2008, the company I was working for decided we need to become agile and use Scrum. I didn’t quite understand why we should change our way of working especially that we used to follow SDLC (software development life cycle): requirements, design, implementation, testing, maintenance and releases were scheduled at 3-4 months intervals using waterfall.




  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • Yardi
  • P3 group
  • Ing Hubs
  • Colors in projects


Design contribution