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 內的公開金鑰,
也只會收到空的商品的訊息,
不會出現錯誤。
2016年8月1日 星期一
在 linux 使用 certbot 幫別台主機申請 letsencrypt SSL 憑證
前幾天在某個討論串看到 Linux 基金會推動的 Let's encrypt ,
可以免費申請 SSL 憑證。
把在Linux 上手動申請的方法紀錄下來,
除了可以在 Linux 本機申請使用,
也可以幫別台電腦申請憑證。
如果使用在別台電腦,
每90天到期前要手動將更新的憑證複製到使用的電腦。
申請完會拿到這裡說的4個檔案:
https://certbot.eff.org/docs/using.html#where-are-my-certificates
privkey.pem
cert.pem
chain.pem
fullchain.pem
文章裡有說明分別對應 Apache 和 Nginx 中的設定項目。
自動申請程式 certbot 的安裝方式,
除了 certbot 上的方式外,
Arch linux 也有 package
certbot
可以免費申請 SSL 憑證。
把在Linux 上手動申請的方法紀錄下來,
除了可以在 Linux 本機申請使用,
也可以幫別台電腦申請憑證。
如果使用在別台電腦,
每90天到期前要手動將更新的憑證複製到使用的電腦。
申請完會拿到這裡說的4個檔案:
https://certbot.eff.org/docs/using.html#where-are-my-certificates
privkey.pem
cert.pem
chain.pem
fullchain.pem
文章裡有說明分別對應 Apache 和 Nginx 中的設定項目。
自動申請程式 certbot 的安裝方式,
除了 certbot 上的方式外,
Arch linux 也有 package
certbot
2016年7月30日 星期六
製作 Android 可連接 隱藏SSID WIFI 的QR code
雖然一直都知道 WIFI 密碼能破解,
但是今天在 ubuntu 社團看到對岸有人三到五天就被破解,
剛好有短暫時間可以來提昇WIFI安全性。
只要在 QR code 中放入下方格式的資料,
有支援設定無線網路的android QR code 掃描app就可以自動設定好
WIFI:S:myssid;T:WPA;P:mypassword;H:true;;
myssid 換成存取點名稱,
mypassword 換成密碼,
不管是 WPA或 WPA2 ,
type 都是 WPA,
H:true 表示是隱藏的 SSID
盡量不要使用線上產生含密碼的QR code,
除了一堆App 之外,
linux 上有 qrencode (Arch linux : qrencode )
qrencode -o wifi-test.png "WIFI:S:myssid;T:WPA;P:mypassword;H:true;;"
iPhone 和 iPad 好像只能掃出裡面的資料自己手動設定。
但是今天在 ubuntu 社團看到對岸有人三到五天就被破解,
剛好有短暫時間可以來提昇WIFI安全性。
只要在 QR code 中放入下方格式的資料,
有支援設定無線網路的android QR code 掃描app就可以自動設定好
WIFI:S:myssid;T:WPA;P:mypassword;H:true;;
myssid 換成存取點名稱,
mypassword 換成密碼,
不管是 WPA或 WPA2 ,
type 都是 WPA,
H:true 表示是隱藏的 SSID
盡量不要使用線上產生含密碼的QR code,
除了一堆App 之外,
linux 上有 qrencode (Arch linux : qrencode )
qrencode -o wifi-test.png "WIFI:S:myssid;T:WPA;P:mypassword;H:true;;"
iPhone 和 iPad 好像只能掃出裡面的資料自己手動設定。
2015年11月1日 星期日
以 linuxtv-dvb-apps 中的 tzap 測試數位電視訊號品質及錄影
2017/10/8 排版及增加頻道檔案
========
在PC 上包好 archlinux 的電視棒module後,
繼續朝網樂通加上錄數位電視邁進。
這次主要是要找 Linux 上測訊號品質的方式,
又意外發現 linuxtv-dvb-apps 中
的 tzap 可以直接錄影,
只是檔頭好像不標準,
檔案管理程式不會當作影片。
不過 Mplayer 的 lavf demuxer 或Mplayer加強板 MPV 的lavf demuxer可以正常播放。
連之前只能在Windows 中的 TS player 播放的 兆赫zinwell 620hd 錄的檔案都可以用 lavf 解開。
========
在PC 上包好 archlinux 的電視棒module後,
繼續朝網樂通加上錄數位電視邁進。
這次主要是要找 Linux 上測訊號品質的方式,
又意外發現 linuxtv-dvb-apps 中
的 tzap 可以直接錄影,
只是檔頭好像不標準,
檔案管理程式不會當作影片。
不過 Mplayer 的 lavf demuxer 或Mplayer加強板 MPV 的lavf demuxer可以正常播放。
連之前只能在Windows 中的 TS player 播放的 兆赫zinwell 620hd 錄的檔案都可以用 lavf 解開。
Root 及 Unlock Nexus 7 2013 並保留所有資料
Nexus 7 2013 已經使用超過1年半,
在2015年初在過保前送到華碩皇家維修觸控問題,
還沒滿1年又有觸空問題。
乾脆取得 Root 權限,
遇到觸控有問題的區域就強制旋轉到另一邊。
還有太多App限制平板不能安裝,
也可以假裝成手機型號解決。
順便要解決只能收簡訊,看完馬上蒸發的情形。
意外發現去年底有人利用漏洞寫了免加核心檔案就能收發簡訊。
在2015年初在過保前送到華碩皇家維修觸控問題,
還沒滿1年又有觸空問題。
乾脆取得 Root 權限,
遇到觸控有問題的區域就強制旋轉到另一邊。
還有太多App限制平板不能安裝,
也可以假裝成手機型號解決。
順便要解決只能收簡訊,看完馬上蒸發的情形。
意外發現去年底有人利用漏洞寫了免加核心檔案就能收發簡訊。
一般 Root 是先改 Bootloader,
但是Android 內建的 unlock 會清除資料,
還好有高手找到漏洞可以直接取得 Root 權限,
再利用 root 權限執行 unlock App,
就能在不清除資料情況下完成取得 root 權限加安裝客製化 Recovery 系統。
單純筆記(未排版):
但是Android 內建的 unlock 會清除資料,
還好有高手找到漏洞可以直接取得 Root 權限,
再利用 root 權限執行 unlock App,
就能在不清除資料情況下完成取得 root 權限加安裝客製化 Recovery 系統。
單純筆記(未排版):
2015年9月4日 星期五
PHP 萬年曆公式及星期計算公式
google 萬年曆公式,
沒想到第一個的內容就是有問題的,
奇摩知識+的雖然有加上月日天數對照表,
但是在閏年還是有錯誤。
看到頭昏眼花,
最後用程式驗算,
希望是比較正確的公式。
Ctrl+C Ctrl+P太容易了,
好像沒人要驗算。
代入的年份沒有減1的公式,
在2016年1月1日會出錯。
實際上公式應該是:
日月天數對照表:
一至十二月依序是
平年 [0,3,3 ,6,1,4 ,6,2,5 ,0,3,5]
閏年 [0,3,4,0,2,5,0,3,6,1,4,6]
根據說明,
這是各月1日和1月1日的星期數相差的天數。
判斷閏年:
Wikipedia中寫的目前使用的格里曆閏年規則如下:
if((!($year%4))&&$year%100!=0||(!($year%400)))
{
$isLeapYear = true;
echo $nowYear." is leap year.\n";
}
星期計算公式:
首先將代入的年份-1,
因為上方閏年對照表的閏年1月是和上個平年相同,
如果以閏年數字帶入,會至少多加1天
造成錯誤答案。
所以2016年必須代入2015。
2016年1月1日算法:
2016是閏年
(2016-1)÷4=503.75
(2016-1)÷100=20.15
(2016-1)÷400=5.0375
日月天數對照:0(查表)+1日=1
(2015+503-20+5+1)/7=357 餘 5
表示星期五。
算式:
(去年+(去年÷4)-(去年÷100)+(去年÷400)+日月天數對照表對應數字+日數)÷7 後取餘數
用Excel 或 LibreOffice Calc 驗算(實際上有直接顯示星期的公式),
A2輸入年份,
計算當年1月1日星期幾
=MOD((A2-1+ROUNDDOWN((A2-1)/4)+ROUNDDOWN((A2-1)/400)-ROUNDDOWN((A2-1)/100)+(0+1)),7)
//計算year年month月第1天星期的PHP程式
$daysBias = [0,3,3,6,1,4,6,2,5,0,3,5];
$daysBiasLeap = [0,3,4,0,2,5,0,3,6,1,4,6];
$day = (floor($year-1)+floor(($year-1)/4)+floor(($year-1)/400)-floor(($year-1)/100)
+($isLeapYear?$daysBiasLeap[$month-1]:$daysBias[$month-1])+1)%7;
(如果想維持代入當年數字,上方的閏年的日月天數對照表就需要另外修正。)
沒想到第一個的內容就是有問題的,
奇摩知識+的雖然有加上月日天數對照表,
但是在閏年還是有錯誤。
看到頭昏眼花,
最後用程式驗算,
希望是比較正確的公式。
Ctrl+C Ctrl+P太容易了,
好像沒人要驗算。
代入的年份沒有減1的公式,
在2016年1月1日會出錯。
實際上公式應該是:
日月天數對照表:
一至十二月依序是
平年 [0,3,3 ,6,1,4 ,6,2,5 ,0,3,5]
閏年 [0,3,4,0,2,5,0,3,6,1,4,6]
根據說明,
這是各月1日和1月1日的星期數相差的天數。
判斷閏年:
Wikipedia中寫的目前使用的格里曆閏年規則如下:
- 西元年份除以400可整除,為閏年。
- 西元年份除以4可整除但除以100不可整除,為閏年。
- 西元年份除以4不可整除,為平年。
- 西元年份除以100可整除但除以400不可整除,為平年。
if((!($year%4))&&$year%100!=0||(!($year%400)))
{
$isLeapYear = true;
echo $nowYear." is leap year.\n";
}
星期計算公式:
首先將代入的年份-1,
因為上方閏年對照表的閏年1月是和上個平年相同,
如果以閏年數字帶入,會至少多加1天
造成錯誤答案。
所以2016年必須代入2015。
2016年1月1日算法:
2016是閏年
(2016-1)÷4=503.75
(2016-1)÷100=20.15
(2016-1)÷400=5.0375
日月天數對照:0(查表)+1日=1
(2015+503-20+5+1)/7=357 餘 5
表示星期五。
算式:
(去年+(去年÷4)-(去年÷100)+(去年÷400)+日月天數對照表對應數字+日數)÷7 後取餘數
用Excel 或 LibreOffice Calc 驗算(實際上有直接顯示星期的公式),
A2輸入年份,
計算當年1月1日星期幾
=MOD((A2-1+ROUNDDOWN((A2-1)/4)+ROUNDDOWN((A2-1)/400)-ROUNDDOWN((A2-1)/100)+(0+1)),7)
//計算year年month月第1天星期的PHP程式
$daysBias = [0,3,3,6,1,4,6,2,5,0,3,5];
$daysBiasLeap = [0,3,4,0,2,5,0,3,6,1,4,6];
$day = (floor($year-1)+floor(($year-1)/4)+floor(($year-1)/400)-floor(($year-1)/100)
+($isLeapYear?$daysBiasLeap[$month-1]:$daysBias[$month-1])+1)%7;
(如果想維持代入當年數字,上方的閏年的日月天數對照表就需要另外修正。)
2013年12月9日 星期一
新編譯網樂通核心VirtualBox 映像檔-Cent OS 6.4 with STLinux 2.4
2014.07.06 增加加入.vbox 時,找不到 DVD Image 的解決方法。
開始用 GitHub 管理修改的 Kernel 原始碼後,
為了讓程式碼可以隨時跟上最新修改,
把 Cross Compile 用的環境也做了大修改,
清掉許多不需要的STLinux套件,
再更新到最新版 STLinux 2.4 套件,
整個映像檔(內含解開的 kernel source)只有約 2GB,
壓縮後約450MB。
http://sync.hamicloud.net/_oops/rexct/mha
找不到 DVD Image 的解決方法:
以文字編輯軟體開啟解壓縮出的 CentOS_64\CentOS_64.vbox ,
將 <DVDImages> 與 </DVDImages> 之間(15行到22行)的 <Image .... > 刪除。
奇怪,之前在Windows下測試時好好的。
開始用 GitHub 管理修改的 Kernel 原始碼後,
為了讓程式碼可以隨時跟上最新修改,
把 Cross Compile 用的環境也做了大修改,
清掉許多不需要的STLinux套件,
再更新到最新版 STLinux 2.4 套件,
整個映像檔(內含解開的 kernel source)只有約 2GB,
壓縮後約450MB。
http://sync.hamicloud.net/_oops/rexct/mha
找不到 DVD Image 的解決方法:
以文字編輯軟體開啟解壓縮出的 CentOS_64\CentOS_64.vbox ,
將 <DVDImages> 與 </DVDImages> 之間(15行到22行)的 <Image .... > 刪除。
奇怪,之前在Windows下測試時好好的。
訂閱:
文章 (Atom)

