2016年2月27日土曜日

Android : 端末固有のIDを取得

端末から上がってくる情報を自動で仕分けするのに端末情報が必要でしたので、試してみました。候補としては
デバイスID(IMEI/MEID/ESN): SIMないとダメ
シリアル番号:端末固有の製造番号。取得できる
Android_ID:初期化時に与えられる番号
ということでシリアル番号かAndroid_IDでやってみます。
 シリアル番号とAndroid_idは取得できたので、当面これをキーにして端末情報を整理していきます。

 ソースコード

参考
http://iridge.jp/blog/201404/4836/
https://thinkit.co.jp/story/2012/03/09/3467?page=0%2C2
http://d.hatena.ne.jp/takigawa401/20110512/1305209808

2016年2月17日水曜日

rJava : プログラミング(12) T-Test

対象者の評価の前後の期間をグループとし、http://mizunolab.sist.ac.jp/2016/01/rjava-10-f-test.htmlで等分散性が得られたとし、2つのグループの違いをt.testで確かめる。

$ vi JRITest15.java
$ javac JRITest15.java
$ java -Djava.library.path=/usr/lib64/R/library/rJava/jri/ JRITest15

[VECTOR ([REAL* (-3.842989125314249)], [REAL* (42.0)], [REAL* (4.0495738809968483E-4)], [REAL* (-6.5858030454480865, -2.0505605909155538)], [REAL* (40.22727272727273, 44.54545454545455)], [REAL* (0.0)], [STRING "two.sided"], [STRING " Two Sample t-test"], [STRING "c_group1 and c_group2"])]

この場合, p-value = 4.0495738809968483E-4 となり帰無仮説が棄却。2つの期間グループに差があることがわかる。

今回利用するSQL文
SELECT * FROM operations WHERE category = 0 and operator =6


public class JRITest15 {

        public static void main(String[] args)
        {
                MySQL mysql = new MySQL();
                Rengine re = new Rengine( new String[]{"--no-save"}, false, null );
                ResultSet rs = mysql.selectOperations();

                int N = 44;
                double group1 [] = new double[N/2];
                double group2 [] = new double[N/2];//**注意i:奇数の時は+1**

                int index = 0;
                try {
                        while(rs.next()){
                                if(index < (int)(N/2)){
                                        group1[index] = rs.getDouble("value");
                                }else if(index >= (int)(N/2)){
                                        group2[index-(int)(N/2)] = rs.getDouble("value");
                                }
                                index ++;
                        }
                } catch (SQLException e) {
                        e.printStackTrace();
                }

                System.out.println(Arrays.toString(group1));
                System.out.println(Arrays.toString(group2));

                StringBuffer buf1 = new StringBuffer();
                buf1.append("c_group1<-c(");
                for(int i = 0; i < group1.length; i++){
                        if(i == group1.length-1)
                                buf1.append(group1[i]+")");
                        else
                                buf1.append(group1[i]+",");
                }
                String c_group1 = buf1.toString();
                re.eval(c_group1);

                REXP x1 = re.eval("summary(c_group1)");
                System.out.println(x1);
                double [] ary1 = x1.asDoubleArray();
                for (int i = 0; i < ary1.length; i++) {
                        System.out.println(ary1[i]);
                }

                StringBuffer buf2 = new StringBuffer();
                buf2.append("c_group2<-c(");
                for(int i = 0; i < group2.length; i++){
                        if(i == group2.length-1)
                                buf2.append(group2[i]+")");
                        else
                                buf2.append(group2[i]+",");
                }
                String c_group2 = buf2.toString();
                re.eval(c_group2);

                REXP x2 = re.eval("summary(c_group2)");
                System.out.println(x2);
                double [] ary2 = x2.asDoubleArray();
                for (int i = 0; i < ary2.length; i++) {
                        System.out.println(ary2[i]);
                }

                REXP x3 = re.eval("t.test(c_group1, c_group2, var.equal=T)");
                System.out.println(x3);
                re.end();
        }
}


p

2016年2月16日火曜日

Linux : SSHのパスワード設定許可

通常は証明書認証しているのですが、作業上パスワード認証の時が便利なので、その時のメモです。

# vi /etc/ssh/sshd_config




# service sshd restart

これでホスト側から
$ ssh -l ユーザ名 ホスト名
でログイン出来ます。

Java : コンパイル時の日本語でのエラー対策

Linux上でjavaでコンパイルする時に、日本語コメントがエラーになってしまう場合があるのでその対処法。

コンパイル時
$ javac -encoding utf-8 ahp/*.java
のように
-encoding utf-8
としていすればいいみたい。