搜尋

搜尋結果

陳康妮:平衡人工智能技術與傳統教學方法的結合
文化創意
陳康妮・2023-08-24

作為一位澳門教育家,我認為人工智能在教育領域的應用具有巨大的潛力,可以為學生提供更好的學習體驗和個性化的教學。以下是我對澳門教育領域的一些重要建議: 提供個性化學習體驗:利用人工智能技術,澳門可以開發個性化學習系統,根據學生的學習風格、能力和興趣,提供定制化的學習內容和教學方式。這樣可以幫助學生更加專注和積極地參與學習,提高學習效果。 強化自主學習能力:人工智能可以提供學生自主學習的支持和引導。可以開發智能教學助手,幫助學生解答問題、提供學習建議和反饋。同時,教師可以利用人工智能分析學生的學習數據,了解學生的強項和弱項,並根據這些信息設計相應的學習計劃。 整合虛擬班級和實體教學:人工智能可以幫助澳門教育系統實現虛擬班級和實體教學的有效整合。可以利用遠程教學平台和虛擬班級工具,讓學生在家中或者其他地點參與教學活動,同時利用人工智能技術提供即時的教學指導和反饋。 強化教師培訓和專業發展:澳門可以加強教師的人工智能培訓和專業發展,提高他們運用人工智能技術的能力。這包括教師如何利用人工智能工具進行教學設計、如何分析學生的學習數據和如何與人工智能教學助手協同工作等。 建立數據保護和隱私機制:在應用人工智能技術的同時,澳門需要建立相應的數據保護和隱私機制,確保學生和教師的數據得到妥善保護,並遵守相關的法律和道德準則。 這些建議旨在幫助澳門教育系統更好地運用人工智能技術,提升學生的學習體驗和教學效果。同時,需要注意平衡人工智能技術與傳統教學方法的結合,確保教育的全面發展和學生整體能力的培養。 陳康妮Miss Chan Connie澳洲墨爾本大學教育管理學碩士愛爾蘭都柏林大學工商管理學士澳門教育家澳門教育專欄作家澳門教育學作家:澳門教育創新澳門國際培訓師(創新創業)澳門兒童文學作家澳門斷捨離學會主席

著名法國女演員蘇菲瑪索與99對愛侶 於巴黎人共慶浪漫時刻
其他
LifeMag Editor・2017-01-16

澳門巴黎人於2017年1月8 日在巴黎鐵塔舉行酒會及幸運大抽獎,萬眾期待的著名法國女演員、導演兼澳門巴黎人大使蘇菲瑪索小姐亦出席活動。 「蘇菲瑪索共慶浪漫時刻 只在澳門巴黎人」活動透過網上登記,邀請了99對包括來自澳門巴黎人Facebook粉絲的愛侶們出席,並與特別嘉賓蘇菲瑪索小姐共度難忘且富娛樂性的下午,一同於標誌性的巴黎鐵塔下共慶浪漫時刻。活動中亦抽出9對幸運的愛侶與這位迷人的演員合照留念。 參與當日活動的來賓有機會贏取奬品包括於澳門巴黎人旗下餐廳其中一間享用浪漫醉人的晚餐、於麗舍水療中心享受水療體驗,而終極大獎則包括雙人入住澳門巴黎人套房、雙人水療體驗、購物及餐飲禮券供入住時使用。 出席的愛侶亦獲贈一個限量版愛情鎖,他們可為摯愛互相寫上溫馨浪漫的語句,並根據巴黎藝術橋的傳統,把愛情鎖緊緊扣在巴黎鐵塔的愛鎖橋上。來賓更可與另一半登上巴黎鐡塔頂層,欣賞澳門金光大道及鄰近地域的壯麗景色,拍出完美的合照。活動上亦有獲獎無數的雙胞胎兄弟Julio及Dino Acconci組成的澳門搖滾樂隊Soler,為一眾來賓帶來精彩的現場演出。 澳門巴黎人已於2016年9月13日盛大開幕,設有近3,000間客房,是金光大道的最新必到景點,而其按原建築物二分之一的比例興建的巴黎鐵塔亦是澳門的地標之一。 蘇菲瑪索小姐的親切優雅使其成為澳門巴黎人大使,而澳門巴黎人亦如蘇菲瑪索一樣,完美地糅合了法國古典以及現代的優雅氣息。是次蘇菲瑪索遠赴澳門,將為澳門巴黎人拍攝其最新一輯廣告。

Steam OS 3.7 桌面模式下的中文輸入法 fcitx5+RIME
科技新知
MacauYeah・2026-02-21

上一篇我們提到,SteamOS的原生鍵盤不知為何失效,我們在桌面模式上的另一個選擇就是flatpak中的 Fcitx5。 因為Fcitx5是基於flapak安裝的,預設只在flapak下通用,後半部份,亦會介紹如何打破這個限制。 安裝Fcitx5 及倉頡五 我們可以在 Discovery App,輸入關鍵字 Fcitx5, 找到相關的套件。為更精準地安裝指定套件,可以直接在terminal 使用以下指令。 首次啟動時,需在start menu中,搜尋fcitx5,它就會長註在右下角的系統列中,選該icon→右鍵→input method settings,把「RIME」加入到fcitx5中,就可以使用了。 在此時,你可以打開Firefox,經control+space的方式轉換輸入法試試。但之後你會發現,原生的Kate文字軟件,都無辦法輸入中文。因為只有Dsicovery / flatpak 的 app 才能正常使用fcitx5。 大範圍套用Fcitx5 如果你找網上或AI的資訊,大部都會提示你修改系統設定檔,把fcitx5加到其中,但筆者就不成功。好在有[Bilibili強者的筆記](https://www.bilibili.com/opus/1139601518269300768](https://www.bilibili.com/opus/1139601518269300768)),原來SteamOS自帶的是ibus,但ibus又不讓設定(因為要換rootfs)。我們通過flatpak中安裝fcitx5,其實是可以通過ibus存到系統的。步驟如下: 如果你還未為當前的deck user配上密碼,你可以在terminal中使用 有密碼後,就可以使用 把所有module加為ibus 你沒有看錯,真的是那樣。基在上所有原生的桌面app及terminal,也可以切為到中文輸入法了。還有一個特例就是經 distrobox 生成的環境,依然無法存入ibus。 Reference https://www.bilibili.com/opus/1139601518269300768

重入膠坑12-快靚正
手機‧電玩
MacauYeah・2025-11-27

筆者今年度,在高達模型制作上,一直針對在分享非噴塗的制作技巧之中。這主要是因為筆塗或素組所需的工具比較單純,而且筆塗使用水性顔料之下,更不會有異味出現,可以在家中安心操作。之前亦提過素組打磨對於對於水口覆蓋的極限問題,亦一度讓筆者認為[純素組打磨]是貼錢買難受,因為時間花出去,但效果不盡人意,還不算直剪不打磨。 經過一段時間的快速組合後(其實是筆者山積太多,所以快速清山積),筆者盡可能跳過那些效果不佳的步驟,保留一些更差異性明顯的工敍,嘗試做出人工花費少,但自己還能接受的作品。 不做取件表-但留意分部制作 雖然做取件表可以讓自己未來可以更專心剪件、規劃。但除非取件表是他人預制好的,或是自己要重複做同一款高達,不然自己弄,是很耗時間的。如果各位制作的只是HG的量,其實分部位直接剪,也很容易做到減少換版的次數,所以取件表可以不做。 不全部刻線-滲線後再執漏 不刻線,直接滲線,效果一定不完美的。但全部刻線,成本高,容錯也低。筆者經過三隻模的測試,似乎不刻線情況下,可以通過拭擦方式,取得7成的水性顔料滲線成功率。剩下的,就乖乖重新刻線再滲線。整體省了時間,不過就是要接受某些線修可以粗幼不等。這樣做的還有另一個大好處,就是減少刻線的出錯。 點綴式的膠貼或水貼 如果大家制作的作品,原本就有送貼紙(例如RG),一定要記得貼。如果沒有,也可參考市場上有沒有第三方貼紙。如果你買的是HG,雖然第三方水貼只是給RG用,但其實你也可以借來用於HG上。肩位,裙夾位,盾位,腳位,也是點綴的好地方。 薄刃剪二刀流 如果想不打磨,二刀流手法是必不可少的。只使用足夠鋒利的剪鉗,直接使用二刀流也可以大大地減少水口發白的情況。第一刀要保留足夠多的流通,避免拉扯。第二刀貼著水口再剪時,就要足夠慢,減少形變而産生的發白。二刀流可以變為多刀流,看大家需要。神之手也就很推薦的,但始終也是消耗品,如果有價錢上的考慮,可以投資低價位的薄刃剪。水口大一點,小一點,差異不太大,只要不發白,薄刃剪的效果就發揮得好了。 UC系列和最新的HGCE系列 不想補色的話,最好考慮元組的系列,因為結構簡單,所以原本分色做得還不錯。而最近的HGCE,分件也越做越多,想偷懶也是可以的。不過就2018之前推出的非元祖HG,大家就真的慎入,補色工作跑不掉。

Spring Boot Web App 更新期間的維護模式:從唯讀到全鎖的解決方案
科技新知
MacauYeah・2025-08-25

在營運 Web App 的時候,雖然我們有 Docker / K8s 可以滾動更新,但難保用戶在更新的過程中,有一半訪問去到了舊版,另一半去了新版。如果可以,Web App 本身自帶維護模式,可以自我判斷什麼時候應該忽略新的訪問,當然最好。但要做到這一點,前期需要很多規劃。狠心一點,可以直接關掉對外的服務,讓用戶無法訪問。 但在另一些情況下,例如升級/搬遷的情況,下線時間比較長,完全關掉服務並不是一個很好的方向,我們至少還可以提供唯讀的選擇。而且這個可以從資料庫出發,讓 Web App 少處理一點邏輯。 如果 Web App 背後的資料庫是 MSSQL 或 MySQL,唯讀這件事應該是簡單的,只要你把 service account 的權限改變就好。但如果你用Oracle,就要想想辦法。 筆者想到的方法,暫時有兩個。第一個就需要大家寫寫 Script ,一口氣把所有 Table 給鎖起來。例如: 第二個,就是生成一個新的唯讀 User schema,給他所有Select的權限。然後更新 Web App 使用那個唯讀 User schema存取資料。 兩個方法有什麼差異呢? 前者就全部鎖起來,沒有任何一個資料庫用戶可以改寫資料。如果你的業務沒有差異性,全部一起封起來就完事。但如果你只想 Web App 轉成唯讀,但其他背景程式還可以執行更新。那你就只能用後者了。但後著也不是百分百的完全無痛,至少你 Web App 要支援登入與操作的 Schema分離。 例如用Spring boot JPA的話,可以在 application.properties 可以讓登入及操作的Schema不一樣。 spring.datasource.username=READ_ONLY_USER spring.jpa.properties.hibernate.default_schema=ORIGINAL_SCHEMA 又或者在 java 層面指定。 @Table(schema = "ORIGINAL_SCHEMA") 這看上去,是很有彈性的。但其實也是有些局限。如果你本來的JPA有寫特制的 JPQL 或 Raw Query,又或者你在Java層面加了 @Subselect,由於這些都是程式原作者所 hard code 的,JPA沒法幫你改寫。改來改去,可能還是前述寫Script的方法,一口氣把所有 Table 給鎖起來實際一些。 Reference 更多筆者的程式開發分享,見請 github

Galera 4 (Mariadb cluster) 的冷開機
科技新知
MacauYeah・2025-08-20

前次我們介紹了 Galera 4 在Ubuntu 24的架設方式,這次我們來補充一個最常見的問題Cold Start 冷開機 cold start 平常, Cluster 中只有其中一個 node 需要更新重啟,基本上所有節點回覆正常後,都可以互相通訊。而有些情況,例如斷電問題,需要所有節點全數關機,那麼 Galera cluster 就需要一定的方式重啟系統。那是一些狀態的保護機制,因為在全關機後再同步,系統不知道哪台機才有最新的狀態,它也不敢貿然同步(因為正常使用下, Galera cluster 只有兩台機也會開步)。所以需要人手介入,指定以某台機作為 cluster 的起始點。 舉個最簡單的例子,前述三台機 pocdbnode3 , pocdbnode2 , pocdbnode1 順序關閉,那麼 pocdbnode1 應該就會有最新的資訊。 在ubuntu中,可以查看 /var/lib/mysql/grastate.dat 中的 safe_to_bootstrap:是否為1。如果是1,代表當初它有最後的 transaction ,以它為起始點重新起 cluster。 $ cat /var/lib/mysql/grastate.dat # GALERA saved state version: 2.1 uuid: 0c38b6dd-7bdb-11f0-a4dd-1f4be36a6ea9 seqno: -1 safe_to_bootstrap: 1 我們使用galera_recovery, galera_new_cluster, 就可以把該機器重新救起mariadb process。 $ galera_recovery WSREP: Recovered position 0c38b6dd-7bdb-11f0-a4dd-1f4be36a6ea9:11 --wsrep_start_position=0c38b6dd-7bdb-11f0-a4dd-1f4be36a6ea9:11 $ galera_new_cluster 然後其餘兩個 node 可以直接重啟 mariadb 服務 # node 2 $ systemctl start mariadb # node 3 $ systemctl start mariadb Reference Getting Started with MariaDB Galera Cluster 官方文件 How to Set up MariaDB Galera Clusters on Ubuntu 22.04 How to Bootstrap MySQL or MariaDB Galera Cluster – Updated : 還有比較複雜的救機狀況,例如:safe_to_bootstrap全為0,即是可能是全部node都沒有好好地關掉,就掛了。大家有需要可以看看這個link的解決

重入膠坑 8 | HG Mighty Strike Freedom 取件表
手機‧電玩
MacauYeah・2025-05-16

之前就為大家介紹過,想有效率地消除Gunpla山積,事前計劃好一個概定的流程,絕對是件很重要的事。 而流程中,預制取件表,絕對素組檔的一件神器,筆者習慣後,可以極大地減少筆者換剪、打磨工具的次數,也減少找不到零件的機會。 筆者就分享一下自己制作的Mighty Strike Freedom 取件表 (Google Drive連結),有需要的讀者,可以直接下載或列印。 在這邊再簡介一下如何利用取件表作為素組之用 準備粗剪、薄刃剪、打磨砂紙(400, 600, 800號)、十二個零件盒 按照取件表,分區粗剪取件: 完整地粗剪頭部所有零件 放入頭零件盒 完整地粗剪身體所有零件 放入身體零件盒 依次粗剪各部份零件,放入對應的零件盒...... 分區薄刃剪修件: 完整地修剪頭部所有零件 完整地修剪身體所有零件 依次完整地修剪各部份所有零件...... (選擇性)分區打磨零件: 完整地打磨頭部所有零件 完整地打磨身體所有零件 依次完整地打磨各部份所有零件...... 回到說明書,分區組合: 依次地分區組合 (選擇性)記錄需要額外補色的位置。 (選擇性)滲線、補色 於粗坑線條上水性滲線液 Marker筆補色 (選擇性)保護漆 最後一定要提醒,在第4步組合以外,就必需要決定是否進行打磨,若是組合完再拆散,就有斷件風險。亦有因為上述流程不刻線,其實第5步很安全,沒有進一步打磨修補問題。 最後附上筆者速刷前四個步驟的HG Mighty Strike Freedom美照。

開發者在Steamdeck上的另一個選擇: Gnome box
科技新知
MacauYeah・2024-05-28

前些日子,因為升級podman的關係,筆者對Steamdeck的限制就更為了解。因為Steamdeck是一個修改過的Arch linux,不單止代表是某些區塊是唯讀不可寫。更深一層的問題是,有些依賴包,不能簡單地通過安裝或自行編輯來解決。 例如早前podman 5.0.x需要的pasta依賴,雖然Arch linux官方有這個lib的發佈,但Steamdeck沒有選用,那些我們自己下載原始碼,你地會發現steamdeck的gcc或cc編譯指令還法完全執行,一來是編譯器指令沒有預設對,另一方面則是缺少了更多的c lib (.h) 依賴包。最後筆者只好選擇下載pasta官方預編譯的二進位程式。能用,但就總是多少有點不安心。因為pasta的預編譯只是針對x86_64的CPU,並沒有考慮link lib的問題,不過這次運氣還算可以,沒有無盡依賴的問題。 回來講Steamdeck的情況,之前筆者介紹brew,其實是macOS帶過來的,雖然他們對其他linux的支援很不錯,但多少都基於某些低層的依賴包可以隨時更新。而Steamdeck這個限制版,就沒有保證linux 依賴包的預安裝。(那怕是Ubuntu也是一樣,只是我們可以通過進一步的指令案裝就可以了。)所以在Steamdeck上,長遠還是要找一些官方維護的軟件比較安全。 Steamdeck上預設的是依賴安裝是【Flatpak】,雖然它不像yum, apt, dnf這些仔細可以安裝原始碼依賴,但它們可以安裝App,例如Firefox、Chrome、輸入法等。遺憾的是,Flatpak上沒有podman, docker,對於開發者來說就很不方便。 但最後,筆者終於在【Flatpak】上發現一套【BOX】VM解決方案。它的功能不算強大,但至少可以經ISO安裝自己想要的OS,也有快照功能(只限關機狀態下)。BOX官方亦表明,這套VM不是針對自動化或企業管理所做的,只有一些基本操作。 官方連結: https://apps.gnome.org/Boxes/ 官方原始碼: https://gitlab.gnome.org/GNOME/gnome-boxes Flathub載點: https://flathub.org/apps/org.gnome.Boxes 對於筆者來說,能裝到VM,代表就有更多的操作空間。如果大家不介意多了一些虛擬層,會太影響效能,其實很多操作可以在VM內使用。例如不需要再用podman,可以直接在VM中使用docker、安裝k8s等。對於效能問題,我們必需要在Steamdeck操作時,至少我們可以在VM中先安裝Arch linux,找回必要的依賴包,編譯我們想要的link lib,再抄回Steamdeck下執行。過程的確比較轉折,但若然Steamdeck這台機器只適合打機的話,就真的很可惜。

測試驅動開發 | 系統邊界Mock
科技新知
MacauYeah・2024-04-23

好一段日子之前,筆者就介紹了一些寫Test Case的大方向 。對於大部份情況來說,有分隔的開發環境,有整個配套,測試起來是順暢的,想做單元測試可以,做整合測試也可以。但如果沒有,我們其實也要想辦法寫Mock。 Mock這個概念,對於寫前端程式的朋友應該比較熟悉,因為前端開發者總不能等後端準備好之後,才開始慢慢設計。前端很早期就要模擬一些情況,做介面設計,做各種思考。而且這個Mock不是指在運行單元測試時,才使用的臨時修改隨機數據。而是針對開發時,自行模擬的後端或外部環境。不過因為前端介面涉及很多主觀設計,很多元素冇辦法做固定的自動測試,所以前端的測試通常要人幫測試。 而後端開發,邊界Mock這一概念也很有用。在外部環境不足的情況下,為自己系統的邊界部份自建一個Stub / Dummy 等的模疑數據,是很有幫助的。不論我們對外部環境的掌控度有多少,我們走測試驅動開發(Test Driven Development),好好地定義這個外部環境的期待行為是很重要的。 例如,你有個功能,需要存入數據,但資料庫未準備好,也沒有所謂的In Memory資料庫可以用。這時,自己架空寫一個什麼都不做或回傳固定結果的函數作為中轉接口,然後在你的Test Case可以規劃你的想要結果。 也許你會說,這個函數就是存下資料,我不會需要它的回傳結果,但我們其實還是可以在Test case 中定義一些錯誤檢測,確保這個函數沒有Throw Exception 。再進一步想,我們主程式是否真的不負任何儲存失敗的責任?要定義其他回傳變數,方便寫Log讓追蹤?或者我們至少要知道成功後的Primary Key ?若然業務上真的不在乎儲存結果的有效性,我們不存入數據也是可以的? 所以歸根究底,我們還是在乎儲存的成功與否。還是有必要去驗證驗寫入是否成功。 上述例子,因為資料庫不存在,開發途中可能Test Case 有好長一段時間也通過不了,但至少當資料庫完備後,可以直接驗證,不用人手手工測試。 舉另外一個例子,我們要從某個地方,例如API或資料庫,讀取數據。我們也可以先寫中轉接口,並為它寫Test Case定義應有的行為。雖然明明就只是讀取,我們沒法控制太多。但在接口做好異常狀態處理,是很重要的。例如Handle exception、檢查某些重要業務值會不會是空、確保後續部份可以正常使用,這是因為我們不能被外部系統的失誤而導致自身系統癱瘓。 其實測試驅動,本質上就是強逼大家想多一點,好好定義預期的行為,不論內部條件怎樣變化,都有一自動的檢收標準。

Git Worktree
科技新知
MacauYeah・2024-04-09

看了Git 大神的影片 part two,才知道原來切換git分支還是有不同的做法。傳統中,我們使用git checkout BRANCH_NAME_1 來切換到我們想要的分支。通常這樣做,代表我們放棄原來的工作環境,換到另一個工作環境中。 這樣做很好,對不對? 是的。但有些時候,我們只是被逼離開原本的工作環境,跳到一個過去的分支/節點去查一些東西,或者修正一些東西。更什的是我們原本的工作環境都還是混亂狀態下,我們不想做commit(提交),我們只好用git stash,暫時將工作環境存起,然後再git checkout BRANCH_NAME_1。在你想做的事做完後,再git checkout OLD_BRANCH。 看起來其實也沒有很麻煩,是不是? 但其實當你的專案有一定大小,你在不同版本跳來跳去,你的IDE就會不斷地重新編譯。更不幸的是,當你的不同版本中有模組數量的差異,弱一點的IDE,什至會攪死它的cache,之後就會發生鬼打牆。為解決IDE引發的問題,筆者有時會直接cp -r YOUR_PROJECT TEMP_PROJECT,在一個新資料夾下另起爐灶。那就是有兩個不同的資料夾裝載著你的專案。 這樣應該沒有問題了吧,是不是?這次是真的可以了,扣除了筆者個人健忘的問題,就沒什麼問題了。 不知大家有沒有經驗,連續commit了幾次,但最後一次commit卻忘了push(與伺服器同步),然後就跳到其他地方繼續工作。如果我們在同一個git repository下,我們commit了但忘了push,即使我們git checkout去了其他分支,用git GUI畫出commit graph時,也至少可以提醒筆者有一個未與伺服器同步的分支。但如果當初我們用的是cp,那就沒戲唱了,什至乎當初複制了去哪裏都忘了。(當你老闆同時要你跟多個專案,健忘真的很容易發生。) 這問題有解嗎?有的,git在2.5版本以後,就提供了一個git worktree的指令。它有點像cp 指令,更重要的是,它打通了兩個資料夾下的隱藏資料庫.git,當大家在那兩個資料夾底下,都可以看到另一方的存在。大家可以用git branch -a或git log --oneline --graph來看看。 詳細的指令介紹:git worktree git 大神的影片 Part 2

[教學] 平民雲端服務不是夢 | 5分鐘教你如何快速起VM
科技新知
MacauYeah・2023-05-11

前言 原本筆者只是想做docker cluster,但因為在實機中建VM極其麻煩,所以就研究了好一陣子如何快速起VM。 Hyper-V有預設的Ubuntu template,但只有ubuntu desktop版,沒有server版。而且desktop gui顯得浪費資源,要clone VM也很廢時,放棄。 Windows Subsystem Linux起VM很方便,但同一個Linux version只有一個instance,沒法起cluster,放棄。 Virtual box沒有Ubuntu template,若要clone的話就變得跟Hyper-V差不多,放棄。 經過一輪資料搜集,發現了一個Ubuntu multipass engine,聲稱可以跨平台快速起VM。裏面有一些很吸引的功能,可以自己建立images、使用固定IP。 那怕即使是沒有snapshot,在自定義images的配合下預裝docker,要隨時加減cluster node都是一件容易的事。 重大決策點 醜話說在前頭。經過一輪測試,multipass最大的問題,就是custom image、fix IP都只能在bare metal ubuntu 中才能使用。如果你沒有一台閒置實體機安裝Ubuntu,還是要再多考慮一下。 重點 詳細的流程,筆者記錄了在Packer template 和Multipass Static IP中,在這裏就只說一些重點。 packer是使用cloud-init和qemu的技術,行起template中指定的cloud image (在筆者的例子中就是ubuntu-22.04-server-cloudimg-amd64.img) 大家可以定義image行起後進行一些操作,而那些操作都是經過qemu vnc、ssh進去操作的。 操作完後就會直接儲存當時的image。所以在操作結束之前,盡可能地刪cache或刪去不要的user / group settings。 最後生成的image,還是一個cloud image。若要再運行它,必需要使用支援cloud-init的VM來讀取。 cloud-init是用來指定初次運行時要設定的事,例如:hdd size, user account password, ssh key import等。 使用工具cloud-localds可以生成一個seed.img,這樣qemu也可以cloud-init。 Hyper-V應該也可以經過類似方式,進行cloud-init,但筆者未有去實測。如有更簡便的方法請告知。 multipass預設就已經有cloud-init,在bare metal ubuntu就可以直接執行。 multipass也可以設定不同的cloud-init參數。 成品 最後筆者就選擇了用packer用來預裝docker,經mulitpass無腦起VM,再使用shell script對多個node設定docker,達到即時起docker node的功能。這樣就減省了VM的安裝時間,也省去了docker的安裝問題。 說到底,如果只想測試docker cluster,其實windows, macOS中的multipass也可以實現相同的功能。因為安裝docker那些都可以經過shell script自動化,只是每次重複操作,都變得相當慢。另外,因為multipass在windows, macOS不支援fix ip,對於指定docker cluster interface又會再多一重功夫。

舊八佰伴的興衰 下篇
環宇搜奇
幸村・2022-09-01

美國紐約曼哈頓中心的帝國大廈,這座保持了世界最高建築物紀錄最久的摩天大樓,一直都是美國人的驕傲,直到1991年被日本企業收購。 一切源自1985年『廣場協議』,日圓大幅升值,加上日本工業七八十年代急速增長,對於美國人而言,「Made in Japan」的產品已經成為中產階級趨之若鶩的必須品。 Walkman、日產汽車、彩色電視機,只要打上Made in Japan的標籤,就是高質量金漆招牌。 八十年代日本社會普遍相信房地產會不斷升值,而且銀行熱錢水浸,於是向正擴充業務的和田一夫提出一個可以將利潤三倍化的建議。 買一塊地興建百貨中心,自己做一部分零售,再租一部分出去,就可以獲得最少三份利潤,於是和田一夫拚命買地,雄心壯志將八佰伴打造成為全球最大的百貨零售王國。 但沒有想到的是,九十年代初日本泡沫經濟爆破,樓市和土地售價大幅下跌,買了大量土地的和田一夫變相蒸發了大量資產,後悔莫及。 其次是為了實現打進中國市場的野心,覺得一家國際商業中心的總部應該設在海外,於是將總部搬來了上海。 把作為根據地的日本業務,交給了不懂經營的弟弟管理。和田一夫的弟弟是財務出身,在泡沫經濟爆破時,見營業額下降就開始做假帳,甚至分紅給股東,作為上市公司來說可謂致命的錯誤。 後來東窗事後,弟弟被捕入獄,和田一夫知道後也回天乏術,沒有辦法了。 真正的致命的打擊,是聽信了銀行家的虛假承諾。 『半澤直樹』中的銀行家主角也曾經反思,銀行就是「晴天借傘,雨天收傘」的行業。 為了籌到挽救公司的現金,和田一夫賣掉了香港太平山頂的「天比高」豪宅(後來輾轉買了給周星馳),又把日本16家百貨及店鋪賣給了競爭對手大榮百貨,終於籌得320億日元。 但銀行知道和田一夫籌得320億後,遊說他先把錢還給銀行,作為上市公司,有資金流通才能吸引更多投資者,還款後再向銀行借貸股票就可以上昇。 結果錢還了,銀行卻沒有履行承諾,再次貸款給和田一夫。 可以賣出的資產已所剩無幾了,還有付給員工的薪水,拖欠供應商的款項... 和田一夫很多年之後接受採訪說,如果當初沒有急著還錢給銀行,八佰伴可能還有辦法活下去。 對不起了媽媽,終究沒能守著你的家業。 一九九七年九月十八日,八佰伴剛踏進七十週年,和田一夫正式向靜岡市政府提交破產申請。 四年後,和田夫婦重臨上海,當時的上海市長徐匡迪親自在市政府大樓會見和田一夫,並表示謝意:「雖然八佰伴集團沒有了,但是上海的第一八佰伴依然存在的,這個名字永遠不會改。」 市長的說話讓和田夫婦痛哭流涕。 八佰伴的遺憾落幕,和田一夫後來在自傳《從零開始的經營學》中總結了失敗的教訓,下星期再續。 下週四待續

『呂布 VS 本多忠勝』- 無傷之鬥神
環宇搜奇
幸村・2022-07-15

從暗榮推出的遊戲《三國誌》中,每一代呂布的武力值肯定是100(萬人迷趙雲只有96),間接可以看出,呂布已經變成耳濡目染三國時期武力最強的武將。 呂布雖然活躍時間不長,但受《三國演義》的影響,令我們對於人物的真實戰力有很大的認知錯誤。 例如「三英戰呂布」,就完全是為了襯托戰神呂布和三小強的虛構情節。 東北猛人公孫瓚上去過幾招就被打敗了,正當八路諸侯束手無策時,傍邊一將,圓睜環眼,倒豎虎鬚,挺丈八蛇矛,大叫: 「三姓家奴休走!燕人張飛在此!」 和呂布打了五十回合,居然不分勝負,雲長見了,把馬一拍,舞八十二斤青龍偃月刀,加入廝殺,又打了三十回合。 見時機成熟,摸魚王劉備又拿著雙股劍來助戰,三英戰呂布,呂布雖然不落下風,但也有點吃力。 這個互相襯托的故事裏,好比三人組成的無名小團隊,做一個項目,讓Elon Musk感受到點壓力。 呂布武藝有多高超,相信大家心理有數,至於另一個戰神本多忠勝,不熟悉日本戰國的朋友們可能比較陌生。 本多忠勝誕生於天文17年(1548年),特徵是身穿黑色鎧甲,頭戴鹿角脇立兜,持天下三名槍之一「蜻蜓切」作戰,傳說蜻蜓站在槍刃上也能切開一半。 「戰國無雙4」 織田信長評價忠勝為「日本的張飛」,張飛雖然勇猛,但本多忠勝有著一生出戰57次連擦傷都沒有的紀錄!後世更稱為「無傷之鬥神」、「三河的飛將」等稱號(又是飛將)。 呂布在《三國誌》中武力值是100, 本多忠勝的防禦力就是無雙系列的天花板。 電影『阿飛與阿基』中梁朝偉說過,劈友不是講究刀法,懂走位,才會長劈長有。 本多忠勝不只懂走位,槍法也是一流,在織田信長名揚天的「桶狹間之戰」中,已經幫助德川家康完成最危險的任務(大高城兵糧運輸作戰)。 十四歲在叔叔本多忠真的編制內,在島屋根城之戰中,叔叔刺死了一名敵軍,呼喚忠勝。 「切了他的首級,去領戰功吧~」 小忠勝很生氣:「吾何需借他人之力,獲取戰功?」,接著單槍匹馬殺入敵陣,斬獲第一個首級。 叔叔忠真不禁驚嘆:「這個熊孩子長大後不很了。」 在三方原之戰中,勇救差點死翹翹的德川家康。 (星期四待續)