Java

Mind mapping software FreeMind

I’ve recently been using Mind Mapping concepts to keep track of the main points I’ve been learning whilst studying for the ISEB/ISTQB Foundation certification. The main ISEB course book covers many areas and a wealth of information, so it sometimes becomes a struggle to remember everything.

I’ve found Mind Maps help you to list the main points for a topic in a more memorable way than just writing them down or using a bullet list.

While looking for Memory Map software, I found quite a few different programs but most had a cost of some sort. Then I found FreeMind, which is a free/open source Java program. After a fairly simple download and install process, I began using FreeMind and found it a very good program, easy to use and allowed me to create Memory Maps very quickly. (Screenshots)

I would definitely recommend FreeMind if you’re looking for Memory Map software thats free and easy to use.

 

Mobile Development Platforms – iOS, Android, Blackberry, Kindle Fire

Updated: 22 May 2012 

I’ve done some research into the different Mobile Development Platforms, as there’s now so many different offerings from different manufacturers.

Here’s the current state of play:-

iPhone / iPad 
Objective-C using iOS development platform

Android
Java using Android SDK development platform

BlackBerry
Java using  BlackBerry API development platform – BlackBerry Java SDK
Can also port Android apps to BlackBerry using BlackBerry Packager for Android Apps

Amazon Kindle Fire
Uses customised version of Android OS 2.3

Sony Tablet 
Uses Android 3.1 Honeycomb

Samsung Tablets
Uses Android OS, also Samsung libraries, plus also their own Bada OS, which uses C++

All Platforms – HTML5/WebKit
Using HTML5 would allow web apps to work on all of these devices but – in most cases – you wouldn’t be able to access any of the specific hardware of each device. This may change over time, if the relevant support is added somehow.

Porting Android Apps 
From the above list, this means that if you develop an App in Android / Java you can then port it to BlackBerry and the Amazon Kindle Fire. I assume a port to the BlackBerry would take more effort/time than a port to the Kindle Fire.

Setting up development environment on Linux, for Java/Hibernate/Spring development (continued…)

Setting up development env on Linux, for Java/Hibernate/Spring development (continued…)

Next step is to install/setup Spring Framework - Installed an older version of Spring Framework in order to match more closely the version used in the book. Copied the spring.jar file to lib directory for the timex project. Also required jstl.jar in the lib directory too.

Then ran ant springtest to test the Spring install/setup – which worked ok.

Then ran ant deploy to deploy the WAR file.

At this stage the book says you can then run the actual test application “Time Expression” (aka Timex) a Timesheet system.

In order to run the test, you need the following running:-

- HSQLDB – for your database

- Tomcat – your web server

Then from your web browser type in http://localhost:8080/timex to get to the frontpage of the web application.

Amazingly, it worked first time, even if a bit slow, but thats because the Linux is running on a Virtualbox with low settings, which I’ll try and crank up a bit to get some performance out of the Linux boot/Virtualbox.

Setting up development environment on Linux, for Java/Hibernate/Spring development

Now setting up my development environment on Linux (Ubuntu on an Oracle Virtualbox) for use with the ‘Agile Java Development with Spring, Hibernate and Eclipse’ book.

 

So far, have set up the Linux boot with:-

 

Java - Due to issues with Oracle and Linux had to go with OpenJDK and OpenJRE 6.

Found that there’s a handy way of installing some Linux software, by using command line install command rather than hunting around via a browser. Full info athttp://openjdk.java.net/install/

 

Ant - Installed Ant version 1.8.2. Setup the environment variable $ANT_HOME in my .bashrc file.

 

JUnit - Installed JUnit 4.10. Setup the environment variable $JUNIT_HOME in my .bashrc file.

 

HSQLDB - Downloaded this, version 2.2.8. Copied the hsqldb.jar file to the lib directory of the timex project from the book. Started the HSQLDB server using the ant command: ant -f timexhsqldb.xml starthsql and it worked fine. Then created the database tables, test data etc via the ant command: ant -f timexhsqldb.xml execddl. All worked fine.

To check the data looked ok I ran the HSQLDB Manager – via ant command ant -f timexhsqldb.xml hsqldm. This worked ok and the data was there.

 

 

Hibernate - Installed Hibernate 3.5.6.

 

Then ran the test suite using the ant command ant rebuild test. This ran ok and showed everything so far was setup/working ok.

Apache Tomcat - Installed version 7.0.25. Set environment variable CATALINA_HOME to the install directory. Set deploy.dir in local.properties to the correct path for the webapp deployment. Ran the ant command ant deploy to the deploy the WAR file to the webapp directory as set in the deploy.dir setting. Initially had permisson problems due to the settings of the destination directory, but after some changes to the permissions this worked fine. (Note: This site was useful for this step http://linux-sxs.org/internet_serving/c140.html#INSTALL)

Next install is the Spring Framework…

Working through ‘Agile Java Development with Spring, Hibernate and Eclipse’ book

Now getting the sample application up-and-running, which is an online Timesheet system, built using Spring Web MVC Framework.

Have worked through chapters 5 – Using Hibernate for Persistent Objects, 6 – Overview of Spring Framework, 7 – The Spring Web MVC Framework and 8 – Eclipse.

So far, the book has given me a good introduction to Agile Development concepts (XP and AMDD), use of dev tools like Ant, JUnit and Eclipse IDE, use of Apache Tomcat plus lots of useful background information on Hibernate and the Spring Framework, along with information on installing, setting up and using them.

The only problem with the book is that as its a few years old the versions of all the software are a bit behind the current versions, which sometimes leads to a few setup/installation/run problems, although this is a good way to learn troubleshooting your setups.

By |January 25th, 2012|Books, Java|0 Comments

Started new book… Agile Java Development with Spring, Hibernate and Eclipse

Agile Java Development with Spring, Hibernate and Eclipse

Have just started working through this book, it seems a good introduction to the world of Agile Java Development: covering the Spring Framework, Hibernate, Eclipse, also Java dev tools like Ant and JUnit, plus the methodologies Extreme Programming and Agile Model Driven Development.

Currently on Chapter 4, which covers setting up your dev env with JDK, Ant and JUnit. Next few chapters cover Hibernate and the Spring Framework.


Starting new book… Java Design Patterns Essentials

Have now started working through a new book - Java Design Pattern Essentials - to practise my Java coding, having gone through the “SCJP 6 Study Guide” book.

Its interesting to see how the concepts and theories I have learnt are actually used.

The book contains a full example for each Design Pattern and its also a good way to learn the Design Patterns and the general theory of design patterns.

The first example I’ve done is Chapter 14 – Chain of Responsibility – which allows more than one object to handle a request. The receiving objects are chained and pass the request along the chain until an object handles it.

The example code includes an interface, an abstract class, several concrete sub-classes and a static method. I also added my own Test14 class, which is used to test it, which it does with a for-each loop, string array and calls to the static method.


Java SCJP 6 Flashcards

Now entered 216 flashcards for ‘Java SCJP 6′ – hope it helps the studying – here’s the link:

http://quizlet.com/_53q53

By |December 22nd, 2011|Java|0 Comments

Learning Java… Now on Chapter 10 of SCJP 6.0

Now on Chapter 10 (of 10) of the ‘SCJP 6.0 Study Guide’ book.

The book gives you a really in-depth knowledge of Java, although sometimes they overdo some explanations and leave you unclear/unsure as to how a particular item actually works, in which case a Google search soon clears up the confusion.

Once I’ve finished the SCJP book, next plan to do plenty of coding practice, practice tests and eventually do the actual Certification exam – once I’m sure I’ll pass it!

Chapters I’ve now covered in the SCJP book:

- Chapter 1: Declaration and Access Control

- Chapter 2: Object Orientation

- Chapter 3: Assignments

- Chapter 4: Operators

- Chapter 5: Flow Control, Exceptions and Assertions

- Chapter 6: Strings, I/O, Formatting and Parsing

- Chapter 7: Generics and Collections

- Chapter 8: Inner Classes

- Chapter 9: Threads

By |December 21st, 2011|Java|0 Comments

iPhone Apps for learning Java – JAVA Quiz

Found the ‘JAVA Quiz’ app on the AppStore. See http://www.appgrabber.com/app/java-quiz

As its free, thought I’d give it a go.

It says its got over 500 questions and starts a random quiz each time.

You get 30 seconds per question (can change this) and its a multiple choice Q&A.

I found it useful as its a good way of finding out which areas you know – and more likely at the moment – which areas you don’t know.

By |December 1st, 2011|Apps, iOS, Java|0 Comments