Software Tools

Code Coverage

  • Clover
  • EclEmma (easy to setup the Eclipse plugin)
  • Cobertura

Code Quality/Analysis

Build & Deploy

Test/Mock

  • JUnit
  • DbUnit: A JUnit extension to keep the database into a known state between test runs
  • Selenium: Web application test
  • JMeter: Performance tester
  • EasyMock: Used for mocking objects specially interfaces
  • JMock

Distributed Computing

  • Hadoop

Eclipse IDE

Item Desc
Ctrl + F7 Views, such as Package Explorer
Ctrl + F8 Perspectives, such as Java, JavaEE, Debug, etc
Crtl + F6 Similar to Ctrl + E, shows open editors, files
Ctrl + Right/Left Arrow Back and forth
Ctrl + O * Summary
Ctrl + Shift + L Give a list of shortcuts
Ctrl+Shift+O Organise and Import a class
SVN Plugin Subversive or Subeclipse are good. The latter is simpler. If you don't get to enter your username and password then need to set SVN interface client in preferences. In my case it is SVNKit now. Can add files specially Eclipse .classpath to ignore list using TortoiseSVN in Windows.
Hovers Stupid box showing javadoc, errors, tips etc. Better to change them based on your taste. I enabled Combined only by Shift
Working Set Group projects together in working sets…

Maven

See maven

Profiler

  • YourKit
  • JProbe

See http://www.dzone.com/links/r/java_profiler_comparison.html

Project Management (All-In-One)

  • Trac
  • Atlassian

JGroups

It can be used to create groups of processes whose members can send messages to each other. Can replace RMI in certain cases.

MOM

Backup

  • rsync

Monitoring

  • P6Spy is an open source framework for applications that intercept and optionally modify database statements; can be used for monitoring.
  • Http traffic monitor: http://www.charlesproxy.com/
  • psi probe: tomcat/jboss monitoring

Code generator

  • EMF (Eclipse Modeling Framework)

Search

  • Solr is the HTTP-based server product of the Apache Lucene Project. It makes it easy for programmers to develop highperformance search applications.

CMS

  • plone

Servers

  • nginx (pronounced “engine x”): HTTP and reverse proxy server. Mostly used on unix/python environments

Issue Tracking

  • trac

Metrics

ESB

Terminal

  • MobaXterm is a good terminal for Windows with tabs and X11, etc
  • iTerm is a good one to replace Mac's native terminal

Code Review

Serialization

This is a language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more. Think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages.

Text Editors

  • Sublime, TextWrangler for mac. I prefer tw.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License