Posts

Test-Driven Development

I’ve tried practicing Test Driven Development (TDD) for so many different developments. Test-Driven Development (TDD) has gained popularity among developers as a methodology to improve code quality and design. However, my early experiences with TDD left me feeling overwhelmed and burdened by the tests themselves. Determined to unlock the true potential of TDD, I embarked on a journey to master this development approach. Through numerous struggles and enlightening discoveries, I have gained a deeper understanding of TDD. In this blog post, I will share my insights and the importance of grasping the TDD life-cycle for effective development. The TDD Life-Cycle: Write the test: TDD begins with writing a test that reflects the functionality you wish to implement. This test initially fails, as there is no corresponding implementation code. Run the test (test does not pass): Running the test at this stage will inevitably result in failure, given...

Interviewing Programmers

Hello my dear senior friends in SW engineering , how do  you interview new recruits for programming ?Do you start with phone interview and continue on written tests to face-to-face interview? Eventually it will come down to your experience and gut feeling? Most of times we do it in that way. But we have experienced some best practices of picking "better" programmers! In an environment like work we need more “practical programmers” than just “good coders”. Because most of times our programmers will need to directly work with end user and understand the requirement from business perspective. So we have more responsibility to choose “right” people from interviews. We take advantage of intern programs, we hunt down the smart CS/IT students and individually ask them to apply for an internship with us, because if you wait around to see who sends you a resume, you're already missing out. In one incident tried asking applicant to develop a program, I have used a very genera...

How to convert an String into int value

There are many ways to convert an String into Integer object in Java e.g. Integer.valueOf(), new Integer(), Integer.parseInt() or writing your own algorithm to convert string to int etc, but which one is the best tool for the job. here are different ways of converting String object into int or Integer in Java : 1) By using Intger.parseInt(String string-to-be-converted) method This is my preferred way of converting an String to int in Java, Extremely easy and most flexible way of converting String to Integer. Let see an example of String to int conversion:  //using Integer.parseInt  int i = Integer.parseInt("123");  System.out.println("i: " + i); Integer.parseInt() method will throw NumberFormatException if String provided is not a proper number. Same technique can be used to convert other data type like float and Double to String in Java. Java API provides static methods like Float.parseFloat() and Double.parseDouble() to perform data type conversion. ...

SOA

"What is this SOA?" Have you ever questioned this? many of my non-IT colleagues ask me this. So here I will word it in very simple style. Actually, SOA is architecture style.. It is an approach you follow when you develop some systems or integrated software. From my personal experience I would say, applying SOA in Big Bang is bad, think big, start small. Our target should be to build SOBA(service oriented business applications) SOA governance is the key to have service  catalog . We have to have Service bus to avoid point to point interaction.

Java Design Pattern training by Oracle

Recently, I had the an opportunity to attend Oracle University's Java Design Patterns course, and yes, was it a great learning experience. As a SW engineer who's been writing Java code for years, I thought I knew most about object-oriented programming. interestingly, I had so much more to learn. The First Day: Realising How Much I Didn't Know Walking into the training room, I was confident. I mean, I'd been coding Java for several years. (all other colleagues went with me were senior java devs too) But within the first hour, it became clear that design patterns were more than just a fancy term developers throw around. The instructor started by breaking down what design patterns really mean. It's not just about writing code - it's about creating a common language for developers. Imagine being able to say "I'll use a Facade pattern here" and have every developer instantly understand your intention - hurray! What Exactly Did I L...

Ingiriya to Gelanigama - The Ratnapura expressway

The proposed Ratnapura expressway is to be constructed between Pelmadulla to Ingiriya and it would be connected to the Southern expressway’s Gelanigama interchange through the existing highway at Ingiriya, said Ports and Highways Deputy Minister Nirmala Kothalawala.  According to the official news portal of the government, the minister made this statement while attending the Ratnapura District development meeting held recently. The expressway, which is to be named the “Ruwanpura Expressway,” will span across 71 kilometers. Minister Senevirathne says that motorists traveling will be able to reach Pelmadulla within an hour via Moragahahena, Handapangoda, Horana, Ingiriya and Kiriella.  Highway from Ratnapura to Pelmadulla, highway in Ratnapura, Minister W.D.J. Seneviratne, New highway, Ratnapura highway

Java Performance Tuning and Optimization

I just followed a course from Oracle University, Course Name:  “Java Performance Tuning and Optimization Ed 1” Fine! It was a 3 full day course, learnt a lot. I thought to share some of with you guys. Learnt to blend tuning methodology, performance theory and practical tips on solving difficult performance problems for Java applications. Had an opportunity to hone on a series of labs derived from real performance tuning issues.. they all were well organized.  also learnt about various tools and mechanisms for monitoring, profiling and tuning Java applications. In the first discussion on Application performance I started to believe that “Speed up” ( speeding app in same infrastructure) comes before “Scale up” (vertical scalability like add more memory..) or “Scale out”(horizontal scalability like adding new server..). When it comes to performance tuning in an app server you should keep in mind known theory of that separate JVM is created for each Java application....