Blog

  • Introduction to Git

    Introduction to Git

    Git is a version control system, that was designed by Linus Torvalds, first released in 2005. In opposite to CVS (concurrent version systems) systems, which in it’s basics have a file as a processing item, in the…

  • Grails Unit Testing: covering domain classes and services

    Grails Unit Testing: covering domain classes and services

    Unit testing in Grails is currently implemented with Grails Testing plugin. The plugin provides unit testing facilities through the GrailsUnitTestCase class which offers a lot of useful methods for mocking Grails-specific objects. This post demonstrates how some…

  • Filtering user access in Grails

    Filtering user access in Grails

    Today we’ll talk about the ways to filter user access to some controllers and actions in the Grails application. There are few solutions that could be really useful for implementing this task. So let’s look at a…

  • Escaping Deadlocks

    Escaping Deadlocks

    Concurrent programs is not a novelty today, almost every modern application executes in multiple threads. But as concurrency brought us better resource utilization and throughput, it also introduced a number of issues nonexistent in serial execution. One…

  • Increasing efficiency in Grails

    Increasing efficiency in Grails

    Modern web applications are counting on the big amount of users, so efficiency is a very important aspect of a web development. Today we’ll talk about the ways to increase efficiency of the web application, developed on…

  • Effectively Immutable Objects

    Effectively Immutable Objects

    An immutable object is one whose state cannot be changed after construction. All the beauty in these objects is that they are simple and safe. In multi-threaded applications all concurrency issues boil down to coordinating access to…

  • Synchronizing threads with Java locks

    Synchronizing threads with Java locks

    Java locks often supersede synchronized blocks and methods by allowing to back out from the synchronization attempt. This post shows how to use the feature, and demonstrates some other basic concepts, like the lock fairness and reentrant…

  • Command object in Grails

    Command object in Grails

    Using command objects in Grails is a simple way to perform data binding and validation when there is no need to create domain object. In this tutorial I will show you some examples of using it.

  • Simply about Spring AOP

    Simply about Spring AOP

    This week I would like to talk about aspect oriented programming. A lot of programming paradigms like OOP, modular programming and other, let to divide functionality into logical parts (functions modules, classes). But these functional elements may…

  • Use Floats With Prudence

    Use Floats With Prudence

    In the world of mathematics real numbers have infinite precision and are therefore continuous and lossless. Floating-point numbers, which are used in computing, are limited with a finite precision and are not evenly spaced throughout their range.…

  • Authorize.Net CIM With Java SDK: Managing Your Customers’ Info

    Authorize.Net CIM With Java SDK: Managing Your Customers’ Info

    In the previous post I’ve told how to bill a customer with a minimal fuss. But oftentimes returning customers wish to add or change their billing information or maybe you want to delete the old ones. Let’s…

  • Building ESME with Logica OpenSMPP Java library

    Building ESME with Logica OpenSMPP Java library

    Short Message Peer to Peer (SMPP) is an open, telecommunications industry protocol for exchanging text messages (SMS) between short message service centers (SMSC) and External Short Messaging Entities (ESMEs). The protocol is often used for connecting to…