2013年10月8日 星期二

location hash explaination


Reference:
網頁設計筆記(二十一) 一頁式網頁 location.hash
mozilla Window.location
jQuery hashchange event

css float and clear property

1. Explaintion:
The float proper can set the div or other as the layout that out of the regular, which is such a hidden man in the content, and others is not see this float block,
and the other content will layout there self deployment which ignore the float block and behaviour, ex wrap the div, which such there is no float block exist.

The clear proper is set to the other content block, that will know there has a float block, and it will new a layout to deploy itself



Reference:
w3c 
修正 CSS 對於 float 區塊, 使用 clear:both 無效的解法
 Overflow清除Float效果的妙用


2013年10月7日 星期一

struts2 OGNL value Get Method

1. Problem:
there are some difference method to get struts2 value such as $, #,
but what is the difference between them??


2. Solution:
  • objectName: object in the ValueStack (default/root object in the OGNL context), such as an Action property
  • #objectName: object in the ActionContext but outside of the ValueStack, specifically...
  • %{ OGNL expression } is used to force OGNL evaluation of an attribute that would normally be interpreted as a String literal.

Reference:
whats-the-difference-between-and-signs-in-struts-tags

2013年9月9日 星期一

R plot png x11 error in centos

Problem:
Using the R to plot the figure and want to store with png file,
such as png(file="a.png")
but it will appear
Error in  png(file="a.png"): X11 is not available




Solution:
I used the R.2.15.2.
1. First you should install the important package for plotting
{
yum install -y cairo-devel.x86_64
yum install -y libpng-devel.x86_64 
}

2. configure and compile the R
{
 ./configure --with-x=no

  R is now configured for x86_64-unknown-linux-gnu

  Source directory:          .
  Installation directory:  
  C compiler:                gcc -std=gnu99  -g -O2
  Fortran 77 compiler:       gfortran  -g -O2

  C++ compiler:              g++  -g -O2
  Fortran 90/95 compiler:    gfortran -g -O2
  Obj-C compiler:            

  Interfaces supported:     
  External libraries:        readline
  Additional capabilities:   PNG, TIFF, NLS, cairo
  Options enabled:           shared BLAS, R profiling, Java


then 
make
}

3. Execute the R and check the png is TURE
{
> capabilities()
    jpeg      png     tiff    tcltk      X11     aqua http/ftp  sockets
   FALSE     TRUE     TRUE    FALSE    FALSE    FALSE     TRUE     TRUE
  libxml     fifo   cledit    iconv      NLS  profmem    cairo
    TRUE     TRUE     TRUE     TRUE     TRUE    FALSE     TRUE
}

4. Check and setting the bitmapType as cairo in R environment
{
>options(bitmapType="cairo")
}


Reference:
unable to start PNG / X11 in rstudio
How to get R to compile with PNG support
R install
R dowload

Centos x11





2013年8月8日 星期四

Java send mail using gmail and support utf-8 characters



Step 1. Download the jar
Download the jar of javax.mail.jar from oracle send mail , and I used the JavaMail 1.5.0 version of 


Step 2. Example Using connecttion to gmail
 please notice the red color character.
// ---------------
public void test_gmail2 () throws Exception {
      
            final String SMTP_HOST_NAME = "smtp.gmail.com";
            final String SMTP_HOST_PORT = "465";
            final String SMTP_AUTH_USER = "your_Gmail@gmail.com";
            final String SMTP_AUTH_PWD = "your_Gmail_Password";

            Properties props = new Properties();

            props.put("mail.transport.protocol", "smtps");
            props.put("mail.smtps.host", "smtp.gmail.com");
            props.put("mail.smtps.auth", "true");
            props.put("mail.smtp.starttls.enable","true");
            props.put("mail.smtp.socketFactory.port", SMTP_HOST_PORT);
            props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
            props.put("mail.smtp.socketFactory.fallback", "false");
                  
            Session mailSession = Session.getInstance(props,  new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(SMTP_AUTH_USER, SMTP_AUTH_PWD);
                }
              });
            mailSession.setDebug(true);
            Transport transport = mailSession.getTransport("smtps");

            MimeMessage message = new MimeMessage(mailSession);
             message.setSubject("這是Testing SMTP-SSL");
            message.setContent("<h3>This</h3> is a test 信", "text/html;charset=utf-8");
          
         
            message.addRecipient(Message.RecipientType.TO, new InternetAddress("Sender_mail"));

          
            /**/
            transport.connect
              (SMTP_HOST_NAME, Integer.parseInt(SMTP_HOST_PORT), SMTP_AUTH_USER, SMTP_AUTH_PWD);

            transport.sendMessage(message,
                message.getRecipients(Message.RecipientType.TO));
            transport.close();
 }
    

2013年8月7日 星期三

Linux remove code previous number

we use the sed to replace the number is code
the first character can be space one number, the two number may a number

sed 's/^[ 0-9]*[0-9]//g' code.java





Reference
Sed RE pattern

Jquery can't change image refresh in Firefox and IE

1. Problem:
 Some times we try dynamic to change a picture in html,
and we assume this image is same,
in firefox and IE, this doesn't work,
and we happen is in captcha image.


2. Solution
This is because the firefox and ie seem the picture name is same, so they didn't send the request.  solution is add a random number in the request.
// HTML
<a href="" id="captcha_img_link"  title="Change img">chane</a>
<img id="captcha_img" align="middle" src="jcaptcha.jpg"  />


// Javascript
$(function (){
    // change image
    $('#captcha_img_link').click(function () {
        // Avoid the cache using appach random
        $("#captcha_img").attr('src',"./jcaptcha.jpg?random=" + Math.floor((Math.random()*20)+1));               
        return false;
    });
});




Reference:
How to force a web browser NOT to cache images