搜尋

搜尋結果

想試國産Linux Cloud Image ? 無問題Qemu快速幫到你
科技新知
MacauYeah・2026-01-21

不知道大家最近有沒有在考慮使用國産OS,如果有,大家又是怎樣做初步測試的呢 筆者之前一直都笨笨的從ISO開始安裝,所以每試不同的版本,都要從零開始。不但重複,OS安裝階段的複制過程也是很耗時的。但其實國産OS,大部份都有qcow2的格式,我們若只是本地測試的話,其實可以利用qcow2來做快速VM生成。 阿里aliyun 之前筆者有介紹過ubuntu的multipass,若你想試用的國産OS就是阿里aliyun,只要你有ubuntu,就可以快速跑起來。 但如果沒有ubuntu,只要有qemu(多平台),也是可以的。 qemusystemx86_64 cpu host machine type=q35,accel=kvm m 2048 nographic snapshot netdev id=net00,type=user,hostfwd=tcp222222 device virtionetpci,netdev=net00 drive if=virtio,format=qcow2,file=aliyun_3_x64_20G_nocloud_alibase_20251215.qcow2 drive if=virtio,format=raw,file=seed.img 上述指令中的qcow2和seed.img,階為官方網站可以下載的。預設帳號 alinux 密碼 aliyun。 seed.img是用於cloudinit的,就是初始化VM所用。第二次開機時,就不需要再使用seed.img qemusystemx86_64 cpu host machine type=q35,accel=kvm m 2048 nographic snapshot netdev id=net00,type=user,hostfwd=tcp222222 device virtionetpci,netdev=net00 drive if=virtio,format=qcow2,file=aliyun_3_x64_20G_nocloud_alibase_20251215.qcow2 華為OpenEuler 同樣地,我們也是用qemu可以跑起OpenEuler,只是它沒有seed.img(不支持cloud init),所以直接跑起就好。 qemusystemx86_64 cpu host machine type=q35,accel=kvm m 2048 nographic netdev id=net00,type=user,hostfwd=tcp222222 device virtionetpci,netdev=net00 drive if=virtio,format=qcow2,file=openEuler24.03LTSSP3x86_64.qcow2 預設帳號 root 密碼 openEuler12#$ 第二次開機,指令也是一樣。 龙蜥AnolisOS 方式也一樣。 qemusystemx86_64 cpu host machine type=q35,accel=kvm m 2048 nographic netdev id=net00,type=user,hostfwd=tcp222222 device virtionetpci,netdev=net00 drive if=virtio,format=qcow2,file=AnolisOS8.10x86_64ANCK.qcow2 預設帳號 anuser 密碼 anolisos 總結 如果只是要體驗一下國産OS,Qemu快速起VM就足夠。但Qemu本身只有NAT網絡,想要做VM之間的通訊,需要大量的學習成本。

為何 VueJS 除錯如此麻煩?
科技新知
MacauYeah・2025-11-04

前一次,筆者分享了VS code debugging frontend的好功能,也確實了coding anywhere並不是一個普通的notepad language server就可以解決的事。我們還要考慮如何debugging 除錯)的問題。 雖然筆者知道 vscode 可以解決問題,但為何 最原始的 nodejs debugger 不能解決問題。如果node debugger 不能解決問題,那麼 vscode 又做了什麼,它可以解決問題?經過一輪的實驗,筆者懷心疑,也許,強大的並不是 vscode 本身,而瀏覽器才真正的做到 debugger 的功能。而 vscode 只是以更方便的方式,重現那些結果。 為何 backend 的 debugger 不發揮作用? 筆者舉例,現時有一個 vue 3 專案,使用官方建議的方式生成 $ npm create vue@latest 這個專案,在開發模式下,會以 vite 架起一個端口為 5173 的伺服器,讓開發人員可以經過瀏覽器看到vue內容。筆者一直都認為,只要在 vite 的指令中插入 inspect 參數,一切就可以成功,就像 nodejs 一樣,只要在開始時加入參數就可以。結果當然是不行的。 經過對比 VueDevTools 的參考功能,筆者發現了一個出發點的問題。vite 其實是一個伺服器級的程式,也許它只是負責把所以 vue js 動態轉成常見 js,就像 webpack 一樣。我們想要設的中斷點,都不在它的程式上,所以 debug 參數也沒有用。實質,我們要加的中斷點,其實要在客戶端上,也就是瀏覽器上。那因此,VueDevTools 也不包括那些功能。它只是好好地記錄了每個 vue component 或 js 是如何被改寫的過程(就像被 webpack改寫的過程)。 官方又是用什麼來除錯的? 既然我們知道了問題所在,就要看看傳統的 javascript 又是如何除錯的。實際上,因為瀏覽器的配合,設立中斷點的功能,原來早就實現了。 httpsdeveloper.mozilla.orgenUSdocsWebJavaScriptReferenceStatementsdebugger 只要我們在任何 javascript 地方,插入 ldquo;debugger;rdquo; 這個神奇的字,瀏覽器就會在inspect模式下,自動產生中斷點。之後,你可以控制瀏覽器進行watch step into step over 功能。絕對比console.log更有意義。 在發現了這個方法之後,回去找vue3的官方文件,驚訝地發現,它就是提議用這種方式進行除錯。 httpsvuejs.orgguideextrasreactivityindepth.html#reactivitydebugging 未解之謎 雖然我們找到了設定中斷點的方式,但對於vscode是如何做到客戶端、伺服器端通用這件事,筆者還是沒有了解到。就以現在的知訊來看,很大機會就是vscode操控了瀏覽器的除錯模式,把所有資訊都回傳了vscode本身。這也是解譯了為何vscode在起動debugger時,必需要由vscode自己叫起瀏覽器。而codeserver這類雲IDE無法叫起本地瀏覽器,就造成它無法運用除錯功能的原因。 有與趣為codeserver一起搵解決方案的朋友,可以到筆者的 httpsgithub.commacauyeahAProgrammerPrepares ,以文字教學的方提交你的解決方案。 祝願大家可以早日實現coding 自由。

高達模型,不噴塗還有什麼選擇?
手機‧電玩
MacauYeah・2025-10-09

之前筆者就高達模型中,籠統地比較不同的1144比例產品。現在筆者也正式入手更多不同的系列,看看有沒有哪些適合不同需求的玩家。 SD系列:Mobile Join Gundam 明盒盒蛋,拼裝模型,但不需要剪鉗也可以隨手取件。要補色、滲線或進行一步加工制作。優點是可動性高,官方有提供補色貼紙,但距離足夠分色,還是有一段距離。 筆者並不在意它的分色不完美,以這個不足百元的商品來講,可動性足夠讓筆者快樂一個下午。 SD系列:FW Gundam Converge 明盒盒蛋,有少量件需要拼裝,大部份都已經有預塗裝。因為制作比較精緻,人氣商品比MJG會再貴一點。但可動度就很低,幾乎只有手臂、手碗、頭的平轉,腿腰不可動。筆者購入這個系列的原因,主要是當時已經無力再自行塗裝,把它當完成品直接買回來當擺設,也是一番享受。 兩者二選一的話,筆者更偏好MJG,因為有可動性,強行把玩也勉強可玩,一起擺場景也更耐玩。而FW的話,它的優勢反而是選擇多,方便整個系列收藏。因為有塗裝,而且有少部份可動,想拍照也不是不可以,耐玩度不高就是了。 FW就筆者跟朋友交流,在另一個系列MSE的出現下,FW似乎不太受樂。不過筆者未入手過MSE,難以作比較。但外觀上,似是MJG的另一個版本,但沒有骨架。