2016年3月5日

Android WebView 的 JavaScript 與 Java 交互

要讓 WebView 內可以執行JavaScript,要先開啟WebView的設定
webView.getSettings().setJavaScriptEnabled(true);

要讓其中可以存取 Java 中的功能,就要建立一個可以讓 JavaScript 存取的 Interface
class JsObject {
    @JavascriptInterface
    public void alert(String ss) {
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setTitle("TestAlert");
        builder.setMessage(ss);
        builder.show();
    }
}

@JavascriptInterface 標記的 Method 才會在JavaScript中被允許使用
然後將這個 class 加入WebView,其中 "myjs" 可以自訂為任意文字
webView.addJavascriptInterface(new JsObject(), "myjs");

最後在網頁中這樣呼叫就可以了
<script>
    window.myjs.alert("GG");
</script>

2015年1月20日

用 openssl產生金鑰

產生私鑰 長度2048 檔名ca.key
openssl genrsa -out ca.key 2048
產生配對的公鑰 檔名 ca.crt
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
 Country Name (2 letter code) [AU]:TW                                                   //國碼臺灣是 TW
 State or Province Name (full name) [Some-State]:Taiwan R.O.C                           //國名臺灣填 Taiwan
 Locality Name (eg, city) []:Taipei                                                     //地名
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:FreeBSD Personal Reserach   //組織單位名稱
 Organizational Unit Name (eg, section) []:FreeBSD Personal Reserach                    //部門名稱
 Common Name (eg, YOUR name) []:www.weithenn.org                                        //憑證的名稱 (通常為伺服器 FQDN)
 Email Address []:weithenn@weithenn.org                                                 //申請單位的聯絡信箱
 Please enter the following 'extra' attributes
 to be sent with your certificate request
 A challenge password []: 按 Enter 直接跳過                                             //申請書的密碼
 An optional company name []: 按 Enter 直接跳過                                         //憑證代辦公司的名稱 


2014年5月3日

PHP 在 Ubuntu 的過量 fuser 造成 cannot fork: Cannot allocate memory

最近使用 Ubuntu 11.10的時候常常在 bash 出現
cannot fork: Cannot allocate memory

看ps又發現兩萬多個 fuser 佔領了主機
查了一下發現有許多人有相同的問題,而且似乎只會在這個Ubuntu版本才會發生

這個問題的原因是php清理無用session的時候發生了些什麼,結果fuser就停在那邊佔著解法是將清理的指令改掉

/etc/cron.d/php5改成
09,39 * * * *     root   [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete

很棒的,最近都沒再出現 cannot fork 了

2014年2月11日

arg, arg min, arg max

剛開始讀Paper 看到式子中出現了這幾個關鍵字
查了一下怕忘記紀錄一下

  • y = f(t) 是一般常見的函式,代表給定一個t值,丟到f函式中會回傳一個值給y。
  • y = max f(t) 代表:y 是f(t)函式所有的值中最大的output。
  • y = arg max f(t) 代表:y 是f(t)函式中,會產生最大output的那個參數t

原文:http://kevingo75.blogspot.tw/2009/04/arg-arg-max.html

2014年1月15日

大天狗 降臨!

紀錄一下過關,免得以後想打忘記,
難度超級
隊長:
隊員:
隊友:

第一關先殺荒武者・紅色哥布林木之中忍,留著树之武士食人魔儲技,務必讓火焰追擊者有技可用。
第二關必先殺河童彌彌子,沒把握的話就開火焰追擊者
第三關用全體攻擊〈五顆〉,沒五顆的話就開火焰追擊者
第五關在打到剩39%之前要儲好火焰追擊者的技,當靈峰的破戒神・大天狗提高精神感官 後開火焰追擊者技、炎之冰食人魔技和超・下仁田葱技〈防沒殺成功的情況〉

Done!

2014年1月11日

BitVisitor Tool

最近 BitCoin 正夯,1 BTC 竟能換 1000 USD
真是不可思議!

為此我趕緊去找了取得 Btc的方法,找到了 BitVisitor,這是目前評價不錯的免費比特幣網站

可是身為一個弱小的 Programmer,覺得這站可以更好使用
所以就刻了一個小工具,讓大家可以更簡單取得免費BitCoin
BitVisitor Tool:http://userscripts.org/scripts/show/231799

2013年3月17日