Category: General

Agile Scrum process improvements

Story Definition of Done  – Definition

Add a sub task as 6D’s (Not always all D’s applies to all stories then task owner can tell in scrum and move the story to closed)

    1. D  Design – Design the architecture/flow before start coding
    2. D  Develop – Do the actual coding for the given story
    3. D  Document – confluence/ Java doc wherever needed
    4. D’o Review – 2 Peer review
    5. D Deploy – In test server/ test space
    6. D Demo – To team/ larger audience if needed

4D’s – Individuals should follow for better task management 

  1. Do – Do the given task
  2. Delegate – If you are occupied delegate the task if someone can take
  3. Defer – If something cannot be done, Don’t accept it
  4. Delete – If it’s out of scope remove it

 

Points to consider before start of project:

  • Any Firewall port needs to be opened
  • Any SSL certificate needed
  • Any external team involved if so prepare Q & A / Schedule meeting and get clarified
  • Do we foresee any integration issues,
    • Are we the 1’st team to do this integration? Then be more proactive
    • Any system already integrated?
    • What are the challenges they faced?
    • Decide one way / two way SSL
    • If 2 ways SSL our certificate has to be shared with the other team and make sure they installed in their firewall/gateway/proxy server.
    • Use telnet/curl/other commands to ensure connectivity
  • Do integration testing of system with minimal feature like hello world/hard coded response
  • If you working on legacy application then be more careful with maven dependency version, don’t bring new dependency with latest version which may break existing code.

HashMap Vs HashTable Vs TreeMap Vs LinkedHashMap

HashMap HashTable TreeMap Linked

HashMap

public
class 
HashMap<K,V>

extends AbstractMap<K,V>

implements Map<K,V>,

Cloneable,

Serializa

public 
class
Hashtable<K,V>

extends Dictionary<K,V>

implements

Map<K,V>,

Cloneable,

Serializable

public
class
TreeMap<K,V>

extends AbstractMap<K,V>,

implements

NavigableMap<K,V>

,Cloneable,

Serializab

public
class
LinkedHashMap
<K,V>

extends HashMap<K,V>

implements

Map<K,V>

Unidentified Order Decending Order Ascending Order Insertion Order
UnSynchronized Synchronized UnSynchronized UnSynchronized
It allows null forbothkey and value.It isunsynchronized.So come up withbetter performance It didn’tallownull forbothkey and value.You will getNullPointer

Exception

if you add null value.

It is synchronized

The values can be null.But thekeyshould be unique The valuescan be null.But thekeyshould be unique


			

Validating an Email Address


import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;

public class EamilValidation {

public static void main(String[] args) throws IOException {

// Simple expression to find a valid e-mail address in a file
 Pattern pattern = Pattern.compile("[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}");
 // Read file, find valid mail addresses and print result
 File file = new File("blog.txt");
 BufferedReader in = new BufferedReader(new FileReader(file));
 int lines = 0;
 int matches = 0;
 for (String line = in.readLine(); line != null; line = in.readLine()) {
 lines++;
 Matcher matcher = pattern.matcher(line.toUpperCase());
 if (matcher.matches()) {
 System.out.println(lines + ": '" + line + "'");
 matches++;
 }
 }
 // output of summary
 if (matches == 0) {
 System.out.println("No matches in " + lines + " lines");
 } else {
 System.out.println("\n" + matches + " matches in " + lines + " lines");
 }
 }
 }