Thursday, 18 February 2016

Unit testing in database driven projects

DbUnit is a JUnit extension (also usable with Ant) targeted at database-driven projects that, among other things, puts your database into a known state between test runs. This is an excellent way to avoid the myriad of problems that can occur when one test case corrupts the database and causes subsequent tests to fail or exacerbate the damage.

Managing project dependencies while using Ant

Ivy (The agile dependency manager) - Ivy is a tool for managing (recording, tracking, resolving and reporting) project dependencies. It is characterized by the following:
  1. flexibility and configurability - Ivy is essentially process agnostic and is not tied to any methodology or structure. Instead it provides the necessary flexibility and configurability to be adapted to a broad range of dependency management and build processes.
  2. tight integration with Apache Ant - while available as a standalone tool, Ivy works particularly well with Apache Ant providing a number of powerful Ant tasks ranging from dependency resolution to dependency reporting and publication.
Ivy is open source and released under a very permissive Apache License.

Ivy has a lot of powerful Features, the most popular and useful being its flexibility, integration with ant, and its strong transitive dependencies management engine.

The transitive dependencies management is a feature which lets you get dependencies of your dependencies, transitively. In order to address this general problem, ivy needs to find metadata about your modules, usually in an ivy file. To find the metadata and your dependencies' artifacts (usually jars), Ivy can be configured to use a lot of different repositories.

Open source API

Joda Time - Java date and time API -

Joda-Time provides a quality replacement for the Java date and time classes. The design allows for multiple calendar systems, while still providing a simple API. The 'default' calendar is the ISO8601 standard which is used by XML. The Gregorian, Julian, Buddhist, Coptic, Ethiopic and Islamic systems are also included, and we welcome further additions. Supporting classes include time zone, duration, format and parsing.

Guidelines & Best practices

Refactoring -

CSS Best Practices -

Implement Continuous Integration (Build and Deployment)

Other best practices
  1. Use javadoc tags to imrpove internal documentation quality
  2. Check the software aging signs are not existing
  3. Exception object creation is slow so should be used carefully 
  4. Jenkins best practices
  5. Jenkins configuration backup plugin

Buying a wireless router

Router with best WiFi range -
802.11n Info -
Cable Vs DSL Modem -
Setting up cable modem and Router -
Setting up DSL modem and Router -
Setting up Only Router -
Installing only DSL Router -


maven dependency -

Quartz sample
Tutorial -
Example -

Tutorial -
Quartz cook book -
Documentation  -
Other Module dependencies -
Quartz inside web app-
Quartz available jobs -
API Doc-

Salil's Bookmarks