Skip to content

Zeroplex 生活隨筆

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

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

月份: 2018 年 10 月

拆解沈水式幫浦

Posted on 2018 年 10 月 15 日2021 年 3 月 12 日 By 日落 在〈拆解沈水式幫浦〉中尚無留言

自從去年颱風下大雨,樂團團練室淹水以後,就一直在想除了水桶以外,可以便利抽水的方法。也因此尋找了一些抽水幫浦的設計和結構。

今天一個因緣際會,收到一個魚缸打氣用的沈水式幫浦,打算拆解來看結構設計。雖然抽水的物理原理大致上已經了解,但仍然不清楚實際的防水方法。

希望這次拆解,可以對馬達、幫浦有更進一步的認識。再來就是動手土砲一個幫浦來玩了。

最後感謝新竹澄品佳餚的老闆,提供故障的水族幫浦零件供研究,讓我省了一筆開銷。

YouTube 上已經有很說神人自幹幫浦了,大家有興趣可以參考看看:

Tags:3C, 電子零件

PHP server connector 一些 un-documented behaviour

Posted on 2018 年 10 月 15 日2021 年 3 月 12 日 By 日落 在〈PHP server connector 一些 un-documented behaviour〉中尚無留言

今天是測試 Memcache::connect() 踩到的問題。

先來看看文件上的說明:
Returns TRUE on success or FALSE on failure.
所以我的程式就這樣寫:

$c = new Memcache();
$stat = $c->connect('localhost');

if (false === $stat) {
    echo 'connection failed';
} else {
    echo 'connected to cache server';
}

測試時把 Memcached shutdown 來看看是否會偵測到連線失敗。執行時卻噴了一堆錯誤訊息:

Warning: Memcache::connect(): Can't connect to localhost:11211, Connection refused (111) in /home/u/he5702/tmp/asd.php on line 4

Call Stack:
    0.0001     355600   1. {main}() /home/u/he5702/tmp/asd.php:0
    0.0001     355640   2. Memcache->connect() /home/u/he5702/tmp/asd.php:4

connection failed

文件上面並沒有提到 library 除了回傳 false 以外,還會噴一堆錯誤訊息。萬一這隻是 JSON API 就一定會導致 client parse error。

所以應變方法用「@」來隱藏錯誤訊息:

$stat = @$c->connect('localhost');

寫程式真的很怕遇到 undefine behavior,如果文件上都寫清楚的話,在 dev / staging 上都可以事先檢查、防範。但連文件都沒有寫,就只能等個被廣大的客戶客訴到死 ….。

Tags:PHP

自製 Linux Live USB 救援用可開機隨身碟

Posted on 2018 年 10 月 13 日2022 年 10 月 31 日 By 日落 在〈自製 Linux Live USB 救援用可開機隨身碟〉中尚無留言

用 UbuntuMate 16.04 LTS i386 (32bit) 的官方 ISO,透過 Cubic 調整了內容以後,做出來專門用來做電腦系統檢查、救援的 live USB ISO 開機隨身碟。

下載方法:

  • 檔案:rescue-i386.iso
  • MD5:a621c6d529d9c4702043ffc15c0428d1
  • 使用網頁下載:by MEGA
  • BitTorrent Magnet:magnet:?xt=urn:btih:3224461c4c4fa…. (應該不慢)

2019/01 更新: 

  • 檔案:rescue-i386-2019-01.iso
  • SHA256:b522c283d25dc6d9b6503cc20832df4408e21e6bf3808b56d8725e3d1ac3838d
  • 網頁下載:by MEGA
  • BT 載點:torrent 檔

說明一下異動的內容。

 

先把多媒體、文書工具的軟體先清除掉,像是 LibreOffice 這類軟體佔用不少儲存空間,但在系統救援完原用不到的東西,我就先幹掉了。另外還有像是 ThunderBird、VLC 等多媒體軟體。

另外增加以下工具,供系統檢查、資料修復備援使用。

一般常用工具:

  • gzip / ungzip / pigz
  • zip / unzip
  • bzip2 / lbzip2
  • p7zip-full
  • htop
  • glances
  • iftop
  • dstat
  • lsof
  • sysstat
  • util-linux
 
磁碟相關:
  • smartmontools
  • dd
  • ddrescue
  • gparted
  • partimage
  • nfs-common
  • ntfs-3g
  • testdisk
  • badblocks
  • lvm
  • mdadm
  • rsync
  • pv
  • tree
 
網路相關:
  • traceroute
  • mtr
  • mitmproxy
  • iftop
  • tcpdump
  • nmap
  • netcat
若有常用工具被我遺漏,再麻煩留言告知。我會在下一次更新時整理上來。
Tags:Linux, 分享

Customize ISO image by Cubic

Posted on 2018 年 10 月 13 日2021 年 3 月 12 日 By 日落 在〈Customize ISO image by Cubic〉中尚無留言

以往要客製化自己的 Live USB 工具隨身碟,都是使用 Universal USB Installer,並預留可以使用的空間,再自己上去安裝工具。最近看到有人推薦 Cubic,覺得方便很多。

Cubic 會先解開 general ISO,再透過幾個步驟設定你自己需要的東西:

  1. 設定 ISO 的 meta data,像是 ISO name、release name 等等
  2. 透過 chroot 進入 general ISO 的環境,自己安裝需要的工具、解安裝不要的東西。
    也可以在此步驟設定一些環境參數。
  3. Cubic 會詢問你預設要使用哪個 Linux kernal 當作預設啟動使用。
  4. 如上圖,自動開始封裝檔案,並建立新的 ISO 檔
以下是別人整理的簡易教學:
  • How to create a custom Ubuntu ISO with Cubic
    https://www.techrepublic.com/article/how-to-create-a-custom-ubuntu-iso-with-cubic/
Tags:Linux

GnuWin64

Posted on 2018 年 10 月 4 日2021 年 3 月 12 日 By 日落 在〈GnuWin64〉中尚無留言

剛剛在幹壞事,想到以前自己找到的 GNU like Windows tool chain「GnuWin32」。

現在主流的系統大多上 64 bits 了,不知道有沒有人重新編譯這些工具,於是直接搜尋「GnuWin64」,沒想到還真的有咧 XDDD

GnuWin64

GnuWin64 provides Win64-versions (x64) of GNU or similar open source tools. The ports are native ports, that is they rely only on libraries provided with 64-bit Microsoft Windows operating system for the AMD64 and Intel64 (EM64T) architecture.

https://sourceforge.net/projects/gnuwin64/

Tags:Linux, Windows

文章分頁

上一頁 1 2

其他

關於我  (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 國際 授權條款授權.