Skip to main content

Posts

On an obsolete road

I have already forgotten these things. 1. Inner join versus outer join 2. Simple select statement for getting the max value of a column + another column 3. Definition of Object Oriented programming 4. Exact figure of the limitation of HTTP GET. 5. Differences between GET and POST. 6. The default method of an HTML form when submitted. I have made time to review them. Here they are. 1. Inner join will return matched results between two tables while outer join will return all regardless if there is a match or none between the two tables. Here’s a good article by Jeff Atwood, A Visual Explanation of SQL Joins . 2. Given a table Person with two columns, Name and Age. To get the eldest, SELECT Name, Age FROM Person WHERE Age = max(Age); 3. Object oriented programming is a programming paradigm that uses objects. These objects consist of fields, methods and their interaction. 4. 256 characters. 5. Given the size limit of GET, POST is used to overcome that. POST is used if ...

HTML5 Web SQL Database

HTML5 has a bunch of cool APIs. In one of my previous posts, I have written a simple demonstration of the Web Storage JavaScript API. In this post I will be showing another demonstration, the Web SQL Database JavaScript API. What is so fascinating about these APIs is they are “crash-safe.” Now you can lessen the load of your web servers and perform SQL tasks like, sorting, joining, etc. on the client side. Click [here] for the demonstration.

Removing while Iterating a Collection in Java

Let us say you have a list and you want to remove items while iterating through it if a certain condition satisfies. for (Object object : listOfObjects) { if (isConditionSatisfied) { listOfObjects.remove(object); } } What is wrong with this code above? Try it and you will get this, Exception in thread "main" java.util.ConcurrentModificationException You might want to do this instead, Iterator<Object> iterator = listOfObjects.iterator(); while (iterator.hasNext()) { Object object = iterator.next(); if (isConditionSatisfied) { iterator.remove(); } } Have a nice day.

HTML5 Web Storage

Here is a simple demonstration of HTML5’s Web Storage. The code is quite straightforward. One thing to experiment is after entering any string and hitting save, try closing the browser entirely and opening it again visiting the same page to see if the data persisted. Click [here] for the demonstration.

Just for fun!

It has been a while since I have written something about Javascript. You need to copy and paste this to your browser’s address bar to see how it works. javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.getElementsByTagName("a"); DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=(Math.sin(R*x1+i*x2+x3)*x4+x5)+"px"; DIS.top= (Math.cos(R*y1+i*y2+y3)*y4+y5)+"px"}R++}setInterval('A()',50); void(0); Enjoy!

Performance of null checks in Java

Which one is faster? a == null or null == a ? This is the method of the former. public static boolean firstNullCheck(Object a) { if (a == null) { return true; } return false; } and the method of the latter. public static boolean secondNullCheck(Object a) { if (null == a) { return true; } return false; } Here’s the disassembly of the former. public static boolean firstNullCheck(java.lang.Object); Code: 0: aload_0 1: ifnonnull 6 4: iconst_1 5: ireturn 6: iconst_0 7: ireturn and the disassembly of the latter. public static boolean secondNullCheck(java.lang.Object); Code: 0: aconst_null 1: aload_0 2: if_acmpne 7 5: iconst_1 6: ireturn 7: iconst_0 8: ireturn The former saves you a bytecode. Anyone who can explain further since I am not sure whether if_acmpne is faster than ifnonnull ?