Tuesday, August 23, 2016

git commands

There are some useful git commands:

Setup a repository:

     git init --bare

Copy an existing repository:

     git clone drive:

Add file to repository:

     git add file
     git commit
     git push

Get updated files from repository:

     git fetch

Merge updated files to my workspace:

     git merge



Tuesday, August 9, 2016

Web Application Firewall (WAF)

By definition, WAF is going to filter out web request containing SQL injection, cross-site scripting, etc.

Ref: https://www.owasp.org/index.php/Web_Application_Firewall

Thursday, July 21, 2016

Smallest font size in Chrome

Since Chrome has a smallest font size setting, you can't use CSS to set font size less than (12px, by default):

   font-size: 6px !important; /* This has no effect ! Sigh .. */


Instead, you may consider to use transform instead:

   transform: scale(0.833); /* 10/12 = 0.833 */


And you may also consider to shift the <div> container to fix the position changed by transform:

   position: relative;
   left: -15px;


Friday, June 10, 2016

Backup and Restore with PostgreSQL


Enter psql
DOS> psql -U user database_name
DOS> psql database_name (if no password defined)

Drop DB
DOS> dropdb database_name
PSQL# drop database database_name

Create DB
DOS> createdb database_name
PSQL# create database database_name

Dump DB
DOS> pg_dump database_name > file_name

Restore from Dump
DOS> psql -U user -d database_name -f file_name


Monday, May 23, 2016

Make web application start up faster

To make web application start up faster in Tomcat, you may consider the following tuning:

  1. Add metadata-complete="true" as an attribute in <web-app> tag
  2. Add <absolute-ordering/> inside <web-app> </web-app>

Tuesday, February 23, 2016

Change font size by language using CSS

Quick useful when browser render text with different size in different languages:

html:lang(en) h1{
    font-size: 20px;
}

html:lang(ko) h1{
    font-size: 10px;
}
Reference: http://stackoverflow.com/questions/15267355/change-font-size-based-on-language

Tuesday, January 5, 2016

Using @RunWith(SpringJUnit4ClassRunner.class)

If you use @RunWith(SpringJUnit4ClassRunner.class) in a JUnit test class and it just cannot run, do double check your JUnit version.

It requires JUnit 4.9 or above. 

Thursday, November 12, 2015

Leaflet vs ArcGIS JS / FeatureLayer

I'd been deciding ESRI-Leaflet or ArcGIS JS for a small project. Some findings for our references:

When using FeatureLayer for plenty amount of data (e.g. vast amount of points), ArcGIS JS performs better than Leaflet. So even the file size of Leaflet is far smaller than ArcGIS JS, I still have to choose the larger one.

Hope Leaflet FeatureLayer performance can boost up in future.

Tuesday, June 23, 2015

True Parallel AsyncTask in Android

Multiple AsyncTask execute() actually execute the tasks sequentially. If the previous task takes a long time to run, the next task can only wait till the previous one finish.

To have a true parallel run, use the following instead of AsyncTask.execute():

    AsyncTask.executeOnExecutor(Executor exec, Params... params)

Friday, May 29, 2015

3D translate an element in HTML

To translate the element, you need:
  1. A container having CSS style "perspective: ___px"
  2. The actual element having CSS style "transform: rotateX(___deg)"
Sample:

<div style="perspective:500px; margin-left:100px;">
    <div style="transform: rotateX(40deg)">
        <table border=1>
            <tr><td>testing</td><td>testing</td><td>testing</td></tr>
            <tr><td>testing</td><td>testing</td><td>testing</td></tr>
            ...
            <tr><td>testing</td><td>testing</td><td>testing</td></tr>
            <tr><td>testing</td><td>testing</td><td>testing</td></tr>
    </table>                
    </div>
</div>
testingtestingtestingtestingtesting
testingtestingtestingtestingtesting
testingtestingtestingtestingtesting
testingtestingtestingtestingtesting
testingtestingtestingtestingtesting
testingtestingtestingtestingtesting
testingtestingtestingtestingtesting
testingtestingtestingtestingtesting
testingtestingtestingtestingtesting
testingtestingtestingtestingtesting

CSP on Apache

To add CSP to root if sort of funny. The following will NOT work for most cases !!     <LocationMatch "^/$">        Header s...