搜尋

搜尋結果

Git 歴史修正
科技新知
MacauYeah・2024-10-29

有時候,我們修正一系統檔案,例如某個commit中,多了一個不該放的檔案,又或者想修改該commit的作者,我們就要追搜到某個commit,然後用rebase隨個改。 例如本次repo,有一個githubAction.md,因為錯誤原因,被加到了main中,也藏了很久。如果我們想連根拔起,我們需要加出它第一次出現的commit。 $ git log githubAction.md commit 60ccd70f6b768138cbe23c93ffcfa32574ce895c 那我們就以它前一個commit作為rebase的根據,進行逐個commit修正。 $ git rebase i 60ccd70f6b768138cbe23c93ffcfa32574ce895c pick 60ccd70 draft some content pick e2ee9a3 add some senario. pick b91afc1 refine submodule; pick 98cd366 add notes about submodule specific checkout; pick 064b06f test directly commit in submodule main pick 7b648d2 update git submodules notes pick 556f25e add notes about merge timing pick 5244804 Create gitcontinuousintegrationstrategy.md pick 107e486 add more pratical nodes about ci; pick d93cbee add mono repo challenge pick 1c471b6 add worktree notes pick 9063ccb notes about different of git flow and github flow; pick b72e89e Update githubflow.md, add ref more link pick 0b8f2a9 draft github flow release problem pick 8b333fc finalize github flow release strategy 在rabase選項中,把需要改的commit由pick改為edit。rebase會以舊到新顯示。然後儲存。例如 edit 60ccd70 draft some content edit e2ee9a3 add some senario. edit b91afc1 refine submodule; pick 98cd366 add notes about submodule specific checkout; pick 064b06f test directly commit in submodule main pick 7b648d2 update git submodules notes pick 556f25e add notes about merge timing pick 5244804 Create gitcontinuousintegrationstrategy.md pick 107e486 add more pratical nodes about ci; pick d93cbee add mono repo challenge pick 1c471b6 add worktree notes pick 9063ccb notes about different of git flow and github flow; pick b72e89e Update githubflow.md, add ref more link pick 0b8f2a9 draft github flow release problem pick 8b333fc finalize github flow release strategy 我們第一次會在60ccd70,我們作出想要的改動,然後經amend去改掉60ccd70 $ rm githubAction.md $ git add u $ git commit amend author=quot;newuser quot; 確定無誤的話,就可以去下一步,即是到了e2ee9a3 $ git rebase continue 因為已經rebase過,你此時看到的不會再是hash不再是e2ee9a3,而是自動rebase完的e2ee9a3。若大家有東西要改,就使用commit amend。如果沒有東西要改,也沒有conflict,可以繼續rebase continue下去。

Docker Tag 命名
科技新知
MacauYeah・2024-10-24

一般來講,同一個docker image會提供多個不同的版本,每個版本會附予不同的tag,以作標識。但以docker image的維護者來講,它的tag通常代表的是自己程式的版本號。不過這個版本號卻存在很多變數,就讓筆者好好地逐一說明。 程式的版本號 在沒有Docker的年代,其實所有軟件在發佈時,都會標示版本號,方便使用方明確追蹤問題,自行選擇升級、降級以解決相容性問題。大家要重現問題,也能清清楚地重現。所以docker image的tag,在某程度,都是代表發佈自己的程式版本號。但以前的年代,軟件底層的依賴,例如OS層面的共享程式庫,則不在發佈的管控中,所以過去的程式,在跨電腦安裝時,都會出現缺少某些共享庫的問題。而使用了Docker後,image以內的共享庫的都會在打包的那一刻固定和發佈,就不會有漏的問題。 庫更新,怎麼辦 上面說到image可以打包共享庫,但問題是共享庫也會有安全性更新問題,那麼對docker image的維護者來講,它自己的tag又該如何命名? 因為庫的量可大可少,所以一般來說,都不可能完全把各個庫的版本號寫在自己的tag上。退而求其次,就是用quot;版本號日期quot;,庫的細版本號,就存在原始碼當中。Ubuntu 就是這樣的例子。 不過quot;版本號日期quot;的命名方式真的方便嗎?每次下遊用戶想更新去最近版本,都要自己找一次最近的日期。這樣對很多用戶來講都不夠方便。所以docker又提供了一個重tag的功能。例如ubuntunoble,在早些時候指著noble20240904.1,然後過幾天,又指向更新的noble20241009。更常見的是latest,每次image都預設會存在,docker也希望大家會定期更新這個tag,讓大家可以更易地找到最新版本。 註 這跟git tag有所不同,git tag並不預期會變的。當協作者收到tag後,那怕上遊刻意更新tag指針,協作者沒有刪除原tag之前,都不會知道tag更新去了哪裏。 我們該如何選 在發佈方和引用方來講,引用時可以明確使用唯一的quot;版本號日期quot;,對穩定性來講是有意義的。不過多多少少,會產生額外的時間成本。發佈方來說,就是多用了一些儲存空間,方便引用方可以隨時找到舊庫版本。而引用方,就要手動修改引用號,作為驗收依據,自動更新的難度比較大。 但對於自動更新要求比較大的情況下,可能就是使用latest或者會隨時更新的share tag共用tag比較實際。但我們也依然要定一些方式去版本更新記錄,例如:同時使用 beta latest archive 每日自動更新beta,只有所有測試都通過時,才把archive指向現在的latest,再把latest指向現在的beta。這樣做的好處是,核心的docker stack檔案改變的機會較少,也可以免除docker swarm做太細緻的權限管理。

Ceph Storage 水很深
科技新知
MacauYeah・2024-09-25

筆者不才,早前為大家介紹了一篇關於Ceph Storage的最入門安裝教學。但在後續測試中,發現了一些概念上的問題,需要盡早說明,不然就會像筆者一樣,要砍掉重來很多次。 OSD HDD Ceph Storage的主要功能,就是為Contiainer提供外置儲存空間,它對儲存空間有特定的要求。我們最好在建立ceph clustercephadm bootstrap之前,就為每個node上增加合適的HDD 引述官方說明 OSD Object Storage Daemons The device must have no partitions. The device must not have any LVM state. The device must not be mounted. The device must not contain a file system. The device must not contain a Ceph BlueStore OSD. The device must be larger than 5 GB. 簡而言之,大家需要準備新的HDD,不要做任何格式化,讓OS見到HDD但不作任何操作。筆者試過,使用hyperv VM hyperv HDD,也是可以做到的。不過之前筆者於教學中用的 multipass 就沒有這個模擬HDD功能,我們需要使用比較強大的VM作為實驗。 若然HDD是在ceph clustercephadm bootstrap建立之前,就存在的。我們可以經過ceph的網頁介面,或經指令自動加入。 ceph orch apply osd allavailabledevices 若然HDD是在ceph clustercephadm bootstrap建立之後,才加入的。那麼ceph有機會沒法自動發現它,筆者當前的dev版本就出現這問題。我們就需要經指令手動增加 ceph orch daemon add osd NODENAMEdevsdb OSD 官方說明文件 httpsdocs.ceph.comenreefcephadmservicesosd#cephadmdeployosds Reset 在我們做實驗時,若我們想回復到上一個狀態,測試不同的參數差異,Ceph指令並不會即時執行。例如前一句的add osd,想倒回來自行刪掉一些osd,即 ceph orch osd rm OSDID 它就會排隊慢慢做刪除。 但這個過程筆者未有成功過,OSD一直處於繁忙狀態。有機會是因為系統需要保持同步狀態,待成功遷移資料前,什麼都不能動,所以一直都在待刪除的狀態中。 同樣地,當我們想要刪除一些node時,我們使用以下指令 ceph orch host drain NODENAME ceph orch host rm NODENAME 最後也是會卡在刪除OSD的情況 Removing Hosts 官方說明文件 httpsdocs.ceph.comenreefcephadmhostmanagement Static IP 因為 container 技術,很多都需要固定 IP ,我們做實驗之前,最好先了解你的VM engine如果提供Static ip 。以 hyperv 建立的 VM ,其實可以同時建立兩張網卡的,一張為預設網卡,用於連網用,另一張則設定為內部網絡。在安裝 ceph 時,經 cephadm bootstrap 所引用的IP則設定為內部網絡的IP。之後基本上使用任何一張網卡的 ip ,也可以訪問到cephadm的網頁介面。如果不是在一開始的階段上準備Static IP ,我們又會在重設解綁cluster時,同樣因為機器繁忙而卡在不上不下的狀況。

洛克人X: 指令任務、熔鐵少女|一整個月都讓你有驚喜|Taiwan Speedrun Show
手機‧電玩
MacauYeah・2021-10-16

不經不覺,《Taiwan Speedrun Show》已經開始了十多天啦,你還不知道這是什麼? 其實《Taiwan Speedrun Show》是一個以台灣Speedrun社團主辦的活動,並開放華語區的跑者參加。 本年10月共31天,每天晚上將進行各種遊戲項目的Speedrun,隨時都觀迎花生友們,進來一起觀看神奇的快速通關精彩操作。除了作為觀眾,無論任何項目,只要你覺得準備好了,都可以一起參加Speedrun,推廣給更多華語區的朋友,認識這個競技與表演融合的特別節目。 洛克人X 指令任務 10月15日晚兩位大神「MengXiang」和「finalmethod」,為我們「洛克人X 指令任務」的同台比賽快速通關。原本是動作遊戲的洛克人改為RPG角色扮演,實在難跑阿。可是有專家們示範,原本數十小時的RPG一下子就變成3小時就能完成的遊戲。 限時完整重播用手機無法自動播放的朋友,可以按這裏或手動跳到29m20s處 熔鐵少女 這晚兩位大神還不止競賽洛克人指令任務呢,加碼再比一場「熔鐵少女」的同台比賽快速通關。這也是一款本年8月才發行的Steam遊戲,大神們研究攻略的速度真的驚人。新遊戲就為大家簡介一下,這遊戲是一款擁有Roguelike要素的塔防遊戲,玩家需要挑選隨機的卡牌抵擋敵人進攻。 限時完整重播用手機無法自動播放的朋友,可以按這裏或手動跳到29m20s處 10月16日節目預告 今晚將會由台主「wuseagal」帶來「忍者信使」遊戲的Speedrun。 Twitch的Live重播是有時間限制的喔,不想錯過任何精彩表現和重播,如果不想,記得按Twitch的遊戲追隨喔。成功追隨後,就可以看到更多沒有時限的精華剪輯。 過去幾天發生了什麼?快看這裏

【對抗武漢肺炎】 網上流傳湯方藥方是否人人適合?
人物專訪
Cheers!・2020-02-18

新型冠狀病毒肆虐,世界各地每日都有新確診者,除了留在家中多做居家運動,飲食保健 方面亦可以配合。不過網上流傳的湯方藥方,又是否人人適合本澳知名的中醫師早前就 在他的 facebook 分享了以下見解 一身筆挺西裝,配搭秀氣形象的蔣 EC醫師,竟然是位入行 10 多年,在本澳甚有 名氣的中醫師。 按此觀看【蔣醫師獨家專訪內容】 「很多朋友問我各種專家網上流傳的湯方藥方是否適合飲用在此統一和大家建議, 首先在最近長時間無運動、夜瞓和食熱氣野,虛火實火都容易上,而且期間臨床還有 很多流感底未清的人群,經常出現咽干咽癢咳嗽等症狀,以上人群已經不適合服用有 關所謂提升免疫力的方藥。而且,現代人對自己的身體狀況表現十分陌生,哪裡不舒 服都搞不清楚,因此,建議大家不要亂服中藥,把它們留給有需要的人服用,在家熏 蒸一下白醋,艾草等已經很足夠,有小毛病向您的家庭醫生咨詢,一起撐過呢個關鍵 時刻」蔣Ec 圖片來源蔣永興facebook 不過計我話,預防勝於治療,要進行飲食保健,不如先從處理食材方面把關,市政署 最近就因應新型冠狀病毒發佈了「食品安全五要訣」,提醒市民在食安操作上應加強 自身防範意識,以降低食源性疾病。 圖片來源市政署 按此閱讀全文

【星爸爸教室】如何為小米手機安裝Google框架與服務?
手機‧電玩
星爸爸茶座・2019-10-28

隨著高階手機定價越來越高,以性價比著稱的小米手機近年備受青睞,用戶日益增加。眾多小米用家中,為數不少為水果牌子轉移過來,初期使用上總有點水土不服的感覺。其中港澳台朋友使用最普遍的Google服務,包括Gmail、Chrome、YouTube等服務,需要安裝Google框架才能使用,最令新用戶摸不著頭腦,星爸爸為解決網友疑問發文手把手教大家安裝。 首先,您需要準備一台近年購買的國內版小米手機,港版不需要安裝因已經預載,然後就沒有然後了。您或會黑人問號?飄過,是的,如果是Google框架是不需安裝了,因為近年小米已經把Google框架放進MIUI系統,所以您不需再在YouTube或網誌看幾年前發佈的教學復雜的安裝Google框架了。 問題來了,既然不需要安裝Google框架,那怎樣使用Google服務呢?以下星爸將會教您快捷與安全使用方法。 喚醒Google商店 先到應用商店搜索google 看到Google Play商店便更新吧!圖片是更新後的所以變成打開 桌面便出現熟悉的Google Play商店了,進入後登入自已Google帳號即可。 之後就按您的需要下載軟件應用了,星爸推薦的軟件有很多,Gmail、Chrome、YouTube、聯絡人等,特別推薦Google Photo相簿,可無限備份普通品質的手機相照到雲端,留存美好時光,遺失手機都不需要擔心寶貴相片盡失。 後記,網友仍可使用舊式方法安裝Goolge框架,如谷歌安裝器、GO谷歌安裝器等,但會出現不能安裝舊版框架的顯示,解決方法仍是有的,但星爸就不推荐捨易取難的方法了,這還不包括一體安裝包有病毒或木馬等風險在內,還是簡簡單單安裝好快快樂樂使用為上策。 註:小米機型甚多,星爸測試手機為紅米K20 Pro、小米8,如其他型號手機未能使用上述方法或部份功能未能使用,歡迎到FaceBook留言指正。

[評] Devil May Cry 5
手機‧電玩
MacauYeah・2019-03-13

DMC系列一向都由出色的華麗連技所稱著,配上但丁的毒舌及帥氣大劍、維吉爾冷酷太刀姿態及空間斬、尼奧大魔手及油門控制的大刀,中二病發揮到極限。 故事就不講啦,太長了,只講講今集DMC5的玩後感: 每一集的劇情都不是重點,因為有好多太中二甚至不合理的地方太多,今集也不例外。筆者個人認為,今集就好像沒完成的遊戲似的,除了在序章打死維吉爾所獨發的隱藏結局外平行世界的不可能結局,其餘正常結局就好像死不斷氣似的。 而遊戲所說的合作等同沒有,因為整個遊戲,只有一個地方短短幾分鐘有合作打斗。劇情又不停在3個主角的視點不停轉換,但合作基本沒有。 遊戲的優點: 第一,仍然酷炫的連技; 第二,但丁的多種武器系統、V的召喚系統、尼奧多樣的機械手臂都是吸引人的地方,新鮮感大增; 第三,BOSS的威嚇感都不錯,比第四代要強很多; 然後輪到缺點: 第一,明明的中文版DMC5 居然要用特典一次性DLC來安裝,但遊戲裡本來就包括英文、法文、俄文、印度文、德語等等。就只係沒有中文,簡直是死罪。 第二,技能升級所需紅魂數量過多,要逼你去刷,不然就只能使用小部分的技能來通關。但每一個英雄都有一個需要300萬的紅魂來解鎖,3個合計900萬,這不是網遊只是一個單人遊戲,所以這不太合理的,這更像是刻意為加長遊戲時間而設整的設定。 第三,重複刷的意欲不夠!筆者首次爆機後,完全沒有意欲去玩第二次,可能愛不夠。 所以今集以動作遊戲爽下就好,雖然官方沒有公佈DLC劇情,但筆者估計這遊戲很需要出DLC來補完。要玩就等出完整版再玩,不然見到結局就怒了不爽。 想睇遊戲直播,記得訂閱我地嘅 Twitch YouTube Facebook

【抵玩之選】HUAWEI推前後AI雙鏡頭 nova 3 系列手機
科技新知
Cheers!・2018-08-17

HUAWEI 中價定位的 nova 系列向來抵玩又受年青市場歡迎,是次推出的 nova 3 及 3i 手機不論是外型、顏色及規格都與旗艦機 HUAWEI P20 Pro 相似,相信此系列定必受一眾中階機擁躉追棒! 自拍超班!HUAWEI nova 3 擁有 2,400 萬像素前置雙鏡頭 HUAWEI nova 3 採用 6.3 吋 FullView 大屏幕,配合 19.59 超高清解像度(2,340 x 1,080),盡享廣闊視覺震撼。配備 HUAWEI Kirin 970 旗艦級處理器及內置 6GB RAM 128GB ROM, 運作時刻流暢。手機亦配備了 2,400 萬像素AI雙主鏡頭(24MP 黑白16MP彩色),能智能識別多達 22 種場景或主體,而自拍鏡頭亦採用了 2,400 萬像素AI前置雙鏡頭(24MP2MP), 配合 AI 美顏及多達 8 種 AI 場景識別,加上 HDR Pro 逆光影像技術,即使背光亦能隨時拍出出色自拍照。手機同時搭載 GPU Turbo 圖像處理加速技術,遊戲體驗極致提升。手機電池容量為 3,750mAh,並提供三款潮流大熱色系選擇,包括藍楹紫、相思紅及亮黑色。 同場加映:入門必選 HUAWEI nova 3i AI 四攝智能手機 此外,HUAWEI 同時推出了 nova 3i 手機,外型與 nova 3 一致,同是採用6.3吋 FullView 大屏幕,配合 19.59 超高清解像度(2,340 x 1,080),搭載了 HUAWEI Kirin 710 八核心處理器以及 GPU Turbo 圖像處理加速技術,內置 4GB RAM 128GB ROM。而主鏡頭方面,nova 3i 備有 1,600 萬像素 AI 雙主鏡頭(16MP 2MP),而主鏡頭則配備 2,400 萬像素 AI 前置雙鏡頭(24MP2MP)。HUAWEI nova 3i 亦提供三款潮流色系,包括藍楹紫、珍珠白及亮黑色可供選擇。 依家到 CTM 申請 4G 本地月費 $198 2GB,即享: HUAWEI nova 3 上台機價:$980 原價:$4,000 HUAWEI nova 3i 上台機價:$0 原價:$2,660