數天前從新竹到台中一趟,走 61 號快速道路 (西濱公路) 發現不少路段都接通了,但看起來還沒有施工完成,簡單做個筆記。
分類: 未分類
由網頁觸發、執行 PHPUnit
通常都是在 console 底下執行 PHPUnit 跑測試:
$ phpunit Test.php
... Run by vendor/bin/phpunit ...
PHPUnit 7.1.5 by Sebastian Bergmann and contributors.
. 1 / 1 (100%)
Time: 30 ms, Memory: 4.00MB
OK (1 test, 1 assertion)
但若開發環境無法使用 console 的話,只能靠寫 PHP script 來 require PHPUnit library 來執行。在這邊發現其實 PHPUnit 有保留 interface 讓使用者可以不透過 console 來操作 PHPUnit,可以在 PHP script 裡面 require library 來使用。
先使用 composer 把 library 拉下來:
composer require 'phpunit/phpunit'
在 PHPUnut/TextUI 底下,有實作幾個 controller 來模擬 console 的操作。以下使用 Command 來執行 PHPUnit:
<?php
require __DIR__ . '/vendor/autoload.php';
use PHPUnitTextUICommand;
$cmd = new Command();
$cmd->run([
'phpunit', // 1st arg
'Test.php', // 2nd arg
]);
如果執行上面這段 PHP script,會得到與在 console 執行 PHPUnit 一樣的結果。
不過要注意的是測試結果會直接輸出到 std out,若另外處理的話,記得用 output buffer 把資料拉回來,直接在瀏覽器看的話會破版。
備註:PHPUnit 不同版本的路徑不同,類別名稱也會不同。
ZenPad 3 8.0 (8 吋) 使用心得
個人的手機一向偏好體積小、待機時間長的款式,主要是接電話、連或事情、收訊息 (instant messaging),好處是攜帶方便、外出不用帶行動電源。但這樣的硬體限制會造成看影片、看小說漫畫不方便,特別是目前大多的電子雜誌,並沒有特別設計給行動裝置使用,僅將頁面掃描成圖片直接出版給行動裝置,字體是不會隨著行動裝置大小不同而自行調整。因此決定買個平板用於一般休閒娛樂。
目前主流平板的大小好像在 10 吋,但這其實和小筆電沒什麼差別,特別是要拿著眨邊框平板時手指只能拿邊角,力矩產生的重量感不輸於小筆電,所以我最後挑了 ASUS ZenPad 3 8.0 的 8 吋平板。
我想開箱文在網路上已經不少了,我就不放照片,直接針對硬體、軟體列出優缺點供大家參考。
硬體
- 處理器:六核心我想大多數情況都夠用了。自己使用 Rayark Implosion 的最高畫質來做壓力測試,遊戲跑起來蠻順的,不會卡畫面。玩一陣子以後平板背版會發熱,但不會有燙手的感覺。
- 記憶體:4 GB,除非同時開很多大型應用程式,不然不夠用的機會應該很少。ASUS 有系統清理工具,可以幫助使用者關閉不使用的應用程式並釋放記憶體,這點蠻棒的。
- 內建儲存裝置:32 GB,很夠用,而且另外支援最大 128GB 的 MicroSD 卡。
- 外接儲存裝置:我接 SanDisk Ultra microSDHC UHS-I (A1) 128 GB 記憶卡,讀寫速度蠻快的,不用擔心應用程式存放在 MicroSD 上會跑得很慢 (如圖一)
- 按鈕:ZenPad 上只有三個實體按鈕:電源鍵、音量鍵 x2。按鈕均在機體側邊,摸起來不是很明顯,沒有特別看位置的話有時會摸不到。
- 電池
- 不支援快衝 (Quick Charge, QC),20% 充電到滿約需要 2 小時。
- 在不關閉 wifi、不開啟螢幕的狀況下待機,大約可以撐一週左右。
- 連續看影片 (不是遊戲),亮度偏低的情空下,約可以用 6 小時。
- 螢幕:窄邊框,視覺上蠻享受的,但是要拿平板卻不碰到觸控螢幕就有點難。另外觸控螢幕對接觸移動的動作蠻敏感的,也就是說「長按不放」的操作比較難,這應該是軟體微調上的平衡問題。
- 喇叭:雙喇叭音量大很多。在高音部份表現很棒,但是低音的聲音出不來,特定類型的音樂聽起來會變得很微妙。
軟體
- 作業系統:出廠時是 Android 6,但初始化完成後會收到更新到 Android 7。
- ZenUI:個人第一次使用平板,操作上還不習慣,但 ZenUI 沒有讓我特別想吐槽的地方。
- 設定頁面的選項間隔很小,比較容易按錯。
- 點擊螢幕的振動回饋小,可能平板比較重的關係吧,所以振動起來沒什麼感覺。
- 系統通知列 (從螢幕頂端往下滑) 的設計還不錯,右手滑通知列救出現在右邊、左手滑就出現在左邊。這設計蠻用心的。
- ZenUI 除了一般的版面設計以外,也可切換為「簡易模式」,大圖示蠻適合給老人家使用的。
- 螢幕擷取:同其他 Android 系統,同時按下電源鍵 + 音量降低鍵,可以擷取螢幕畫面。在手機上很好操作,但平板上難度很高。ZenPad 可以在透過設定,將螢幕最底下三個常用按鍵的「最近使用的應用程式」按鈕,設定成長按擷取螢幕畫面,這點很貼心。
PHP 7.1 的 Symmetric Array Destructuring
PHP 7.1 對 list() 語法做了一些調整,讓 list() 操作使用起來更簡便。
原本的 list() 語法:
list($a, $b) = [1, 2];
// $a = 1, $b = 2
在 7.1 以後可以使用陣列來表示:
[$a, $b] = [1, 2];
這個語法稱為 Symmetric Array Destructuring。
有了這個 feature 以後,不用另外宣告暫存變數也可以對調變數 (swap):
[$b, $a] = [$a, $b];
機車換輪胎
換機油時發現後輪有一部份已經磨平了,順便把輪胎換掉。這個輪胎總共騎了 7000 km (0 – 7000)。
- 因為機車整體重量偏後,所以後輪磨的比前輪快
- Yamaha 大概是日本設計師龜毛,所有規格抓的很剛好,所以零件 OOXX 難拆 XD
- 有些人會把避震改高,但很容易因為位置移動,造成線材損壞 (反而比較危險)
- 後鼓煞不是看煞車皮是否磨平,而是和用來調鬆緊的旋扭是否已經轉到底 (煞車線拉到最緊還煞不住就是開換了)