2017年10月4日 星期三

2017年9月19日 星期二

用 iptables 在特定 port 做跳板(forwarding)

因為固定public IP 有限,
有時為了安全性,限制服務只開放給特定ip,
為了要給區網內其他電腦也可以直接使用這個服務,
透過區網內有固定 public IP 的主機,
連到該主機特定port 的資料會直接轉給提供服務的電腦,
從提供服務的電腦看就會是從固定 public IP 主機傳出的資料。


2017年5月12日 星期五

用 Tsung 對網站做壓力測試

需要對網站做大量連線測試,
找到這篇
How to Generate Millions of HTTP Requests
作者測試幾個工具最後找到最適用的是 Tsung
目前測試的設定檔一秒可以送出大約 2900 個 https request

2017年2月22日 星期三

type juggling of PHP function default argument


在 php 版本 7.1.2 (Archlinux)
當 default argument 是 string ,
在指定 value 成 array 時會出現和預期不同的結果。

write2DBarcode([], 'QRCODE,H', 1,2,3,4);
Illegal string offset 'position'

tcpdf.php ( http://tcpdf.org/ )

public function write2DBarcode($code, $type, $x='', $y='', $w='', $h='', $style='', $align='', $distort=false) {
        if (!isset($style['position'])) {
            $style['position'] = ''; // error line

        }
}

workaround:
write2DBarcode([], 'QRCODE,H', 1,2 ,3 ,4 , []);

2016年9月15日 星期四

Android 使用預設 product key 測試 App 內購買(In-app Billing)


Google 說明文件寫可以使用 android.test.purchased、android.test.canceled、android.test.refunded、android.test.item_unavailable 當 product id 測試,
輸入 android.test 時,
android studio 還會確定有這個物件,
但是再加上 . 後就沒有顯示要使用的變數,
原來這幾個是要當作字串傳給google。

使用這個方法不用先進行app 發布到 alpha 或 bata,
如果要測試在 develop console 中加入的商品,
就要填完所有必填資料,
按「發布應用程式」按鈕,將app 發布到 alpha 或 bata。
像左圖沒按發布應用程式,
就算填了服務和 API 內的公開金鑰,
也只會收到空的商品的訊息,
不會出現錯誤。