Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

嘗試遠端遙控重開數據機

Posted on 2023 年 1 月 14 日2023 年 1 月 14 日 By 日落 在〈嘗試遠端遙控重開數據機〉中尚無留言

最近網路的連線品質有點慘,會莫名其妙在非維修期間斷線,透過官網上的數據機重置也沒效。

過年先拿手邊的玩具串一下功能,看看有沒有辦法遠端重新開機:

TP-link 的 Tapo P100 智慧插座,和 D-Link 的 DWR-932C 4G 網路分享器
  • 上方:TP-link Tapo P100 智慧插座,可以透過手機 app 操作
  • 下方:D-Link 4G LTE 可攜式無線路由器 DWR-932

目前串起來以後,確定只要房東沒有忘記繳電費就可以重開數據機。

Tags:Hinet

「地震 – 火環帶上的臺灣」書籍摘要

Posted on 2023 年 1 月 14 日2023 年 1 月 14 日 By 日落 在〈「地震 – 火環帶上的臺灣」書籍摘要〉中尚無留言

來推薦一本書:「地震 – 火環帶上的臺灣」

  • 作者:林書帆、黃家俊、邱彥瑜、李玟萱、王梵
  • 出版社:春山出版
  • ISBN:9789869804226

書籍從地震的成因、臺灣常見的地震災害,到如何加速地震警報的速度、災後重建復原的經驗談。用詞淺顯易懂,算是了解臺灣與地震二者關係的普科好書。以下分享一些筆記:

  • 地震
    • 環太平洋火山帶、多個斷層
    • 「唯一一場被確認為臺灣近海地區地震所引發的災難性海嘯事件僅有 1867 年的基隆海嘯」
    • 土壤液化、場址效應
    • 「建築物耐震設計規範」實施
  • 研究
    • 從 P 波 (壓縮波)、 S 波 (剪力波) 的時間差,爭取災害應變時間
    • P-Alert:警報器可供民間遇到地震時快速應變
    • 均向地震
    • 深井鑽探得斷層帶的岩心,藉此了解斷層錯動
  • 災後重建
    • 「災害防救體系裡應該有一個單位平時就專責思考重建相關事宜、執行整備工作」
    • 「災害來臨時,自助、互助、公助的比例是 7:2:1,這突顯出社區在緊急應變時扮演重要角色」

沒有耐震的「箍筋」方式,地震時,會因受力而變形 ( 攝於 921 地震教育園區 ):

鋼筋因地震扭曲變形

也可參考獨立特派員的影片:

Tags:書籍

透過 composer 的 autoload 設定做 bootstrap

Posted on 2023 年 1 月 12 日2023 年 1 月 12 日 By 日落 在〈透過 composer 的 autoload 設定做 bootstrap〉中尚無留言

使用 symfony/polyfill-intl-idn 後發現有趣的事,不用特別去檢查 PHP extension 的 function 是否存在,只要 require symfony polyfill 以後,完全不需要進行任何設定就可以正常運作。

後來在 composer.json 看到 autoload 的寫法:

{
    "autoload": {
        "psr-4": { "Symfony\\Polyfill\\Intl\\Idn\\": "" },
        "files": [ "bootstrap.php" ]
    },
}

以前以為 autoload 只能挑其中一種方法使用,沒想到可以指定多種方法同時使用。

上面的設定方式,namespace 會在 class 使用時才 require 進來,而 bootstrap.php 則是在一開始就 require 並執行,polyfill 就在當下偵測並處理掉 extension functions。所以使用者 composer require 以後程式並不需要做任何修改。

Tags:PHP

Force umount all cifs volumes

Posted on 2023 年 1 月 8 日2023 年 1 月 8 日 By 日落 在〈Force umount all cifs volumes〉中尚無留言

sudo umount -a -t cifs -l

  • -l , --lazy:unmount. Detach the filesystem from the file hierarchy now, and clean up all references to this filesystem as soon as it is not busy anymore.

reference:Force Unmount a CIFS Share in Linux

Tags:Linux

Set protected property on PHPUnit mock object

Posted on 2023 年 1 月 8 日2023 年 1 月 8 日 By 日落 在〈Set protected property on PHPUnit mock object〉中尚無留言

假設有個 class:

class Woker
{
    protected Queue $queue;

    public function run()
    {
        while (!$this->queue->isEmpty()) {
            $job = $this->queue->pop();
            // do something
        }
    }
}

用 PHPUnit 建立 stub 以後,必須使用 reflection 來自訂 $queue property:

$worker = $this->getMockBuilder(Worker::class)
    ->disableOriginalConstructor()
    ->getMock();

$queue = $this->createMock(Queue::class);
$queue->expected($this->atLeast(1))
    ->method('isEmpty')
    ->willReturn(true);

// PHP Reflection on $worker
$refProperty = new \ReflectionProperty($worker, 'queue');
$refProperty->setAccessible(true);
$refProperty->setValue($crawler, $queue);

這樣寫 test case 蠻髒的,有點想要換 test framework ….

Tags:PHP, PHPUnit

文章分頁

上一頁 1 ... 23 24 25 ... 318 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.