搜尋

搜尋結果

長蓧攻略 - 最強鐵砲隊 VS 最強騎兵隊
走遍世界
幸村・2022-05-03

鐵砲威力雖然強大,但缺點是射擊精確率低,CP(裝填)時間過長。 簡單來說就是華而不實,只是戰場上增強單兵作戰技能的兵器。 第一代鐵砲是火繩槍,明朝年間隨葡萄牙傳教士和商人們傳到日本。所謂火繩槍,並不是像現代版步鎗,由彈匧提供子彈,而是要入火藥、加上繩引,一鎗一發發射。 一來火繩槍的準繩度低得讓人啼笑皆非,基本上八成射不中十米以外目標,後來人們發現只要在鎗腔內增加螺旋紋,子彈在發射離開槍管前得到足夠的旋轉力,即可大幅提升準繩度。 後來改良的來福槍就改善了槍管的問題,這是後話。 二來子彈裝填時間過長,由入子彈、填充火藥加繩引,瞄準。一整套動作行雲流水,絕不拖泥帶水,看看手錶,需要三十秒! 多麼致命的三十秒,戰場上瞬息萬變,足夠騎兵部隊衝上來引刀成一快,死得更快。 於是信長想到一個很聰明減低CP的方法 「三段射擊法」。 跟據『甫庵信長記』的說法,信長佈置三千鐵砲部隊分成三排輪流射擊,前排士兵發射完畢馬上後退,第二排補上繼續發射,大大將CP時間縮短至十秒一發。 三千鐵砲無間斷火力組成巨型彈幕(Bilibili~ ,對戰武田騎兵隊。 鐵砲本身自帶聲波轟炸效果,加上克服了CP過長和精確度問題(三千發總有一發射到你),織田的鐵砲隊跟本以降維打擊的力度擊潰武田軍。 第一次世界大戰之所慘烈,死亡者眾,就是因為戰爭的進步已經超越人們的認知,仍然用血肉之軀扺擋坦克和自動武器。 武田軍意識到新時代的戰術作戰已經強弩之末,調整作戰方式也無法扭轉敗局,信長終於在真正意義上擊敗強敵。 但魔王的高光時刻也到頭了,手下明智光秀終於受不了信長的詭譎狡詐。 「報!信長在本能寺註駐紮,只有百餘名守衛!」 明智光秀挑燈看劍,月黑風高殺魔王。 「敵人就在本能寺!」(「敵は本能寺にあり!」) (星期二待續)

【VR應用程式點評】享受視頻新境界!Oculus TV 好用嗎?
科技新知
Oculus Go Go Go!・2018-07-12

回到最初 Oculus Go 首次發佈時,我在一個論壇上發表留言說我多麼興奮可以在 VR 中觀看電視和電影。但接下來的海報迅速令我的預期破滅,將在 VR 上觀看視頻與 ldquo;在有史以來製造得最差的電視機上看電視rdquo; 進行比較,從而帶出 ldquo;只有笨蛋才會在 VR 上收看視頻rdquo;。 你好,我的名字是 Ken,我是個笨蛋(或者我是被告知)。 Oculus 早在本週初期的時候在 Oculus Go 上發布了他們最新的視頻消費平台。它被稱為Oculus TV,它基本上只是一個用來觀看其它應用程式(例如 Netflix 和 Facebook Video)視頻的播放器。是的,你讀得很正確 此應用程式不會儲存任何視頻,它只能從其它應用程式中作串流(或直接打開)用。 隨著 Oculus TV 的發布,還有其他一些新的媒體應用程式,如 Red Bull TV 和 Neverthink。我花了大部分時間在應用程序上觀看 Neverthink 上的視頻,我覺得該平台在 VR 中做得特別出色。如上所述,它還支援來自 Netflix,Facebook Video 以及很多其它我所在地區沒有提供的應用程式的視頻(可惜,這裏沒有 Hulu 或 Pluto TV)。 這款應用程式的運作與您所期望的差不多是一樣。看到它以如此少的功能便把它推出,令我感到有點莫名其妙。就算 Oculus Rooms 有一定的自定義選項,但當你每次加載 Oculus TV 時,你都會被困在同一個 Oculus 商標樣子的房間裏的梳化上,亦無法對背景或梳化作出更改。目前它只能讓一個人獨自收看視頻 暫時仍未能與您的朋友和家人共享 Oculus TV。 哦,順便說一句,至今仍然沒有 Youtube 應用程式可供使用(傷心的臉)。 最後,雖然這個應用程式有一定的潛力,但它遠遠不是這系統的賣點。與其他可用的 VR 視頻應用程式相比之下,它不能夠帶給一種很獨特的體驗。但是,我想它可能是 Oculus Rooms 的一個很好的輔助,特別是當加入了共享和自定義功能的時候。 分數 hearts;hearts;hearts; 舒適度 diams;diams;diams;diams;diams; 原文(英文): REVIEW Oculus TV 中文翻譯: Chrysalids 少爺

Spring Data 關聯型態 01
科技新知
MacauYeah・2024-07-16

筆者身邊的朋友,首次接觸 ORM 的關聯型態時都會覺得很難,筆者自己也是。但在好好地理順它的設計時,就會覺得其實很簡單。 因為篇輻很長,我們先以Code First的角度,先體驗一下ORM程式讀取的便捷性,以及解決一個常見的序列化問題。 雙向存取 例如一個Parent,有好幾個Child @Entity public class Parent ... Parent Primay Key @OneToManymappedBy=quot;parentquot; List children = new ArrayList; TODO add remove @Entity public class Child ... Child Primay Key @ManyToOne Parent parent; 上述的寫法很簡潔,ORM會為你自動加入join column,處理關聯的載入。在讀取Parent時,它的所有Children就可以直接在Java層面讀取,在讀取Child時,它的Parent也隨時取得。也就是,開發人員只要經SQL準備其中一方的資料,另一方並不需要手動準備,它就可以自動按需載入。 RESTFul API 坑雙向存取 Spring Data在Java層面的雙向存取,已經做到很方便。但經常坑到我們的是Spring Data與RESTFul API的混合應用。當我們嘗試經API回傳我們的Parent Json時,API會很聰明地把關聯的Children也變成Json回傳。但他也會把child中的parent不斷重複變成json,變成無限輪迴。 坊間有兩種不同的解決方案,可以防止無限輪迴。 讓Json可以認得已經序列化的元素。@JsonIdentityInfo 讓Json只可以單向序列化serialization。@JsonManagedReference, @JsonBackReference, @JsonIgnore 筆者兩個方向都試過,但首個方法並不通用,至少它不能算是一般常見的無腦Json結構。它需要伺服器、客戶端都懂這如何經IdentityInfo認得重複出現的元素。 而單向序列化,是筆者現時的通用解。在設計RESTFul READ API時,筆者就會決定到底是Parent自動回傳Child,還是Child自動回傳Parent。決策的考慮因素,主要在於是否可以簡化Client的API調用次數。通常從Parent出發,自動回傳Child,可以節省API調用。但如果是選項性的結果List of Value,就倒過來。有時候,遇著API需要雙向設計,就只好自己設計DTO資料傳輸對象 Data transfer object, DTO。 例如Parent API,就原封不動回傳原本的元素 @Entity public class Parent ... Parent Primay Key @OneToManymappedBy=quot;parentquot; List children = new ArrayList; @Entity public class Child ... Child Primay Key @ManyToOne @JsonIgnore Parent parent; Child API,就反過來引用。 public class ParentDTO ... Parent Other fields except children public class ChildDTO ParentDTO parent; ... Child Other fields 這種DTO,看起來很麻煩。但其實Spring有提供一個簡便的複制DTO功能,它可以把自動複制兩個class中有同一名稱、同一型別的欄位到另一個class上,不需要逐個欄位明文寫出來。 BeanUtils.copychild, childDTO; BeanUtils.copyparent, parentDTO; childDTO.setParentparentDTO 因為child、childDTO中的parent欄位型別不同,BeanUtils.copy會自動忽略,其他欄位就會自動複制。 註 其實古早的網頁系統設計,DTO的概念一直存取。只是現在RESTFul API的流行,很多框架已經提向便捷的Json轉換。若然平時只需Json單向存取,筆者還是省略DTO的建立。

龐大的Docker Logs該如何處理? | 傳統的syslog幫到你
科技新知
MacauYeah・2024-02-02

平常大家在做單機app時,寫log有很多選擇,最簡單就是寫在檔案中。但在docker container裏面,寫檔案時要注意怎樣保留log檔,避免因為重建container時不見了。 docker 大部份官方預設image,都把log導向至stdout和stderr。這是方便docker做管理,也方便大家使用統一的docker logs指令來查看,即使到了Swarm mode底下,docker service logs也是同樣原理,使用差異不大,頂多就是不保證log的實時性。 如果網路延遲不計較的話,最大問題也是logs怎樣保存的做法。預設就是container刪走的時候,logs也會一借走。單機模式下,沿用最普遍的方法寫log的做法不是不可行,只是考慮到在極端情況下,同一個node節點中,有可能同時運作同一個service服務的多個分身replica,這裏它們寫檔案時就有機會互相搶佔。 筆者認為,比較合理的是外部提供的服務,例如syslog,把寫檔的操作交給節點的Host OS處理。然後就保證好每筆log都會是一條完整的記錄。 以下就以linux Host裏面的syslog,為大家簡介一下設定的步驟。 設定docker 導向 syslog 把該主機的docker daemon etcdockerdaemon.json,設定使用syslog driver,並以特定的方式編寫syslog tag。 quot;logdriverquot; quot;syslogquot;, quot;logoptsquot; quot;tagquot; quot;dockercontainer.ImageName.Name.IDquot; 無腦設定已完成,重啟docker就可以了。 但為了日後管理方便,能把docker log放進獨立的一個檔案中,會更易找問題。所以我們可以進一步設定syslog。我們以Ubuntu 22.04為例,可以在etcrsyslog.d下增加一個設定檔etcrsyslog.d.conf,指定看到syslog tag以dockercontainer為首的記錄,都要獨立抽出來。 # file etcrsyslog.d51docker.conf syslogtag,startswith,quot;dockercontainerquot; varlogdockercontainer.log 為免有檔案權限問題,手動指定檔案的所有權後,才正式重啟syslog。然後所有相關記錄都會寫在varlogdockercontainer.log 滾滾滾滾滾動的log檔 檔案一天一天地長大,如果可以,還是自動清掉太舊的記錄為妙。Linux Syslog,通常也會配著logrotate使用。 筆者亦以Ubuntu 22.04為例子,做了個最簡單的自動滾Log功能。目標就是當log檔案大於1M後,就要重開log檔。舊的log檔最多保留7份,多了就刪掉最舊的。 # file etclogrotate.drsyslogdockercontainer varlogdockercontainer.log rotate 7 size 1M missingok notifempty compress delaycompress sharedscripts postrotate usrlibrsyslogrsyslogrotate endscript 加了設定後,什麼都不用重啟,因為它是Ubuntu 的排程動作,到執行時就會以最新的設定檔執行,詳見etccron.dailylogrotate. 有需要手動測試的話,需要手動呼叫usrsbinlogrotate。加入d參數後,會被視為debug mode,這是官方的說法,但因為debug mode沒有執行效果,更加像是linux中常見的dry run mode。

西雅圖 | 各自為自己生活努力著
小城角落
原來世界這樣大・2019-05-25

在美國讀書時的我享受跟一、兩個朋友結伴,多過大伙兒十多個人聚在一起。2018年回去西雅圖旅遊順道探朋友,要見的人不多,但每個都是在我美國生活佔有很重要位置。 或者我是個寧願自己一個,也不想花時間跟合不來的人相處吧。 這天跟我吃晚飯的是一位韓國的朋友Min。我好不容易才找到她的聯絡方法,因為跟我年紀相若的她從來都不用Facebook、Instagram等等這些社交通訊工具。你看,現在的社交通訊真的可以把兩個不同城市的人連繫起來。 已經有5年沒有見面了,我們說著很多一起經歷的事,一起在生物課解剖老鼠想起還是想吐.. 、一起溫習、我和她的車子輪流壞車然後互相接送對方回家,還記得在美國發生的小意外是她找朋友來救我的,要是沒有她,我也不會這麼「熟悉」美國Claim保險的程序和法例。她跟我說她最近跟丈夫離婚了,重回單身的生活。我不禁為她而感到可惜,我問了一句:「那現在的你OK嗎?」她說:「OK啊!」現在還要還學費的她,每天都打兩份工賺錢,生活忙又充實,也沒有空想其他事情。既然她這樣回答,我也不必繼續多問下去了。 從以前已丈夫為中心的她如今要重新悉應新生活,把自己的時間表排得滿滿的,令自己不斷的忙碌和充實,讓自己沒有時間想起,可能這樣會以為自己已經完全沒事。可是,晚上回到自己的房間、夜闌人靜時,還是會不禁想起失去了的那份遺憾。這個階段是難熬的,如果你也經歷著,希望你也可以好好振作吧,我相信時間是最好的治療。 用3小時把我們5年的經歷都分享著,又是一個沒間斷又Fruitful的晚餐,我們在地球的另一邊各自為自己生活而努力著,不知道下次再見面的是什麼時候,我跟她說來香港時一定要會找我! 這趟美國走回很多以前經過的地方,跟很久沒見的朋友見面,每一個地方和人都為我帶來很多回憶。因為拍得太醜了,合照留回自己紀念就好了,這篇就來個 #圖文不符 吧!

傀儡的逆襲 - 劍豪將軍的名劍收藏
環宇搜奇
幸村・2022-03-15

有朋友看了上週的文章很興奮,原來他也是劍豪將軍的粉絲。 足利義輝深明在亂世中力量的重要性,所以拜當劍豪塚原卜傳學習劍術,打破在豪傑之間被當成橡皮圖章的宿命。 大家都很好奇,天下五劍有四把和其他名刀都給義輝公插地上,砍崩一把換一把,放了三個小時無雙才給叛軍用計殺掉,但近年只有『戰國BASARA』以大BOSS身份出道,『戰國無雙4』就出現了幾分鐘,用來襯托『亂世的大惡黨』松永久秀。 為什麼那麼高光時刻的人物日本ACG很少拿來發揮? 現在流傳下來,足利義輝力戰三小時的版本來自江戶時代賴山陽撰寫的『日本外史』,此書在幕末時風靡一時,這個令人熱血沸騰的劇情就流傳了下來。 小編曾經在東京國立博物館見過天下五劍之一「三日月近宗」真刀,完全沒有戰損痕跡,三日刀近宗是將軍家族世代流傳的名刀,刀身彎幅很大,因此稱為「三日月」。 三日月近宗 事實上,三日月近宗是距離戰國時代四百年前平安時代的作品,但到了戰國時代才登上歷史舞台,後來輾轉落入德川家康手中,後一直流落民間,1992年來由收藏家贈送東京國立博物館。 另一把曾經屬於足利義輝的的天下五劍,同時有斬妖劍之稱的「童子切安綱」,目前也是保存在國立博物館。這把刀最出名的主人是平安是代的驅魔人源賴光。 相傳他就是以此刀斬下酒吞童子的首級,所以被稱為「童子切」,「安綱」則是打造此刀的工匠,他也是日本第一個留下名字的傳奇刀匠。 另一把保存在北野天滿宮的的妖刀「鬼切丸」,據說也是安綱的傑作。

文字創作者的辛酸 | 定制鍵盤改善不合理的按鍵佈局
科技新知
MacauYeah・2021-12-14

不知道經常做中文文字編輯的朋友,右手會不會特別疲勞 筆者就會有這種經歷,主要是因為筆者右手要同時兼顧鍵盤與滑鼠;而且打字時,很多刪除,左右移動,也只能靠右手完成。久而久之,右手的操作量會特別大 筆者都嘗試過左手用滑鼠,但左手要熟習到像右手一樣靈活,可不是一時三刻可以做到事。 所以筆者就轉而試途在某寶上,尋找一些特制鍵盤,以調整左右手的操作頻率。 原圖引用自知乎 httpszhuanlan.zhihu.comp56901961 實際是有的,大家只要搜尋【全反】或【半反】鍵盤,就可以找到左右互換的鍵盤。大家也可以搜尋【方向鍵】或【九宮格】自定義鍵盤。 大家想省心,可以購【全反】鍵盤,不過選擇並不多,就只有一家可以選擇;【九宮格】自定義鍵盤比較多廠牌,也比較便宜,可以一試。 但對於想極度減輕手部移動的筆者來說,這樣並不足夠。因為換了左右,只代表可以減少右手的操作量,但並不會讓那些原有的操作變得更便利。 所以最後,筆者還是要掏出最後武器,AutoHotkey,自行開發軟件,重新定義組合鍵。 這樣做不但可以平衝左右手的操作量,也同時減少手部移動的距離。也可以為大家省一點錢,想要更改功能也更為簡單一點 筆者就在這裏分享自己的AutoHotkey小程序,做個例子,如何簡單把方向鍵重新定義到左手使用。 大家只要安裝AutoHotkey,官方網站 httpswww.autohotkey.com 並下載筆者的小程序,Github連結 httpsgithub.commacauyeahautohotkeyExample.git 就可以像筆者更改方向鍵啦,有需要大家可以自行用記事本更新小程度,重讀程式就可以馬上執行最新結果啦 Support 如果大家覺得只有四個Key不夠用,進階一點的修改,歡迎訂閱我的Patreon,提出客制化支援需求。

Git Submodule
科技新知
MacauYeah・2023-09-15

Git Submodule 初次實務上使用submodule來同時管理幾個project的更新。如果有任何理解上的錯誤,請在github中提issue或pull request。 Why Submodule 假設你的團隊中有三個人,A君做A Project,B君做B Project,C君做Main Project。如果可以,A,B各提供已編譯的Binary或Library,給C君直接使用就最好。 但要做到好好管理,A,B都要有自己的發佈系統,即是把Binary上傳到某個分享Repo中,這樣C君就能有條理地通過IDE或Compile工具下載對應的版本。如果是javascript,Repo可能就是npm repo,如果是java,可能就是maven repo。這亦代表A,B君對程式編譯、打包、版本命名等都要很熟悉,不能一輩子都命名為v1.0.0。 如果團隊對這些都不熟悉,C君還有什麼方法呢其實靠著Submodule的功能,C君也可以硬把A,B的Source code取出,做最後打包。 這跟A、B君自己把source code壓縮然後Email寄給C君是有不同的。因為這樣C君並不清楚A,B的git脈絡:C君需要自己做好A、B的版本記錄。想要只回滾A,B的版本普不容易。但經過git Submodule後,C君可以清楚知道現在正使用的是A、B的那一個commit版本。假如有一天,A、B、C三個都更新了,但發現合起來時就跑不動。C君可以保持A、C的版本不變,單獨提取B的某個版本進行測試。當然,你可以說原本Email也可以這樣管理,但始終你不清楚B的版本記錄,Email的日期並不代表Source Code的進度。因為有時候,Bug Fix是針對舊版本的做更新,新功能的Email日期反而比Bug Fix要早 同理,如果大家要連結多個沒有發佈系統的文字資料,也可以利用Submodule。例如筆者正在編輯一本書,當中不同的主題,就是使用Submodule的功能串連起。 Command 馬上看來來Submodule可以怎樣做。 假設你已經知道git 怎樣用,也起了git repo。假設你是C君,進入你的本機repo資料夾內,使用submodule參數。 上面的效果,就是把C君當前repo的狀態,連結到B君submodule當時預設分枝default branch的最後一個commit 中。然後C君在自己的repo怎樣更新,它引用到B君的submodule版本都不會變。 直到某一刻,B君說他加了一個穩定的新功能,請C也連帶更新一下。C君也做好自己的準備後,使用submodule參數進行更新。 注意,如果C君有多於一個submodule,上述指令會全部一口氣更新。另外,如果你覺得B君的最新版本不能用,還是可以針對B君取得特定的版本。

手機也可以寫攻略
手機‧電玩
MacauYeah・2023-08-11

上期為大家簡介過筆者使用Github mdBook制作遊戲攻略。未看過上期介紹的朋友,可以在這個連結httpslifemag.cyberctm.comzh_TWblogmacauyeah13777 找到上期內容。今期就繼續為大家介紹一些工具讓手機也能協作。 筆者在開始前,先簡單總結為何會選擇Github mdBook。 Github是協作工具,追查因為歷史修改記錄會比其他工具更成熟 mdBook以純文字方式操作,適合上傳至Github。 mdBook有自動轉網頁方式,Github有寄存簡單網頁功能。 現在剩下的就是如何做編輯。 電腦端 傳統上,如果要用網誌或Google Doc作為編輯媒介,若你有電腦的話,只要使用現代瀏覽器就可以使用,基本上都會有提供自動儲存草稿的功能。即使你在別台電腦中也可以繼續進度。Google Doc等也有提供離線模式,有時候真的網路不通,可以先修改線下版本再上傳回去雲端。網誌就未必有這些功能。 同樣地,Github也有提供瀏覽器直接修改的模式,不過想要離線操作,就需要使用Github客戶端或其他Git客戶端。重要的是,mdBook的原始文件其實只是純文字,可以用最簡單的記事簿程式就可以繼續創作。只是最後要經Github轉化為網頁發佈。 說到尾,有電腦在手,其實什麼方案也不算困難。有網路一切事情都可以解決到。 手機端 但在手機上,因為操作空間的限制,一切都變得很艱難。如果對技術不熟悉的朋友,可能用Google Doc已經是最好的方案。 Google Doc手機版已提供相對友善的排版編輯功能,但它真的不能取代電腦版。很多重要的縮排或插圖功能,還是開電腦使用吧。網誌就更不用考慮了,一般它們的編輯功能都不適合在手機上使用。 而Github的手機版,對於編輯純文字還是相對可以用的。而且mdBook對於一般文章排版也是夠用的。但是這個方案沒有暫存功能,對於長一點的文稿,需要離線慢慢創作就不太可能。 幾經辛苦,筆者終於找到一個Git的手機版,可以輕鬆地離線編輯。那就是PolyGit,它的免費版本雖然一天只能上傳Server 3次,但因為可以離線編輯,即使沒有付費,頂多隔天才一口氣上傳。更重要的是它的文字編輯器,可以看懂部份mdBook markdown格式。你在一邊創作時,就會看到基本的Highligh提示。不過最可惜的是,PolyGit只有iOS版本,Android版筆者未有找到很好的Github替代品。 這樣,你就可以隨時隨地,任何地方,都可以繼續創作了。以筆者的角度來講,扣除工作環境外,平時會碰電腦的機會真的少之又少。想好好找個時間、找一台電腦來創作,基本上很少可以實現。但手機就不一樣,午飯在餐廳休息時、晚上睡前坐在床邊,什至乎是大解的時候,拿著手機打打打,也是一個不錯的選擇。 PolyGit 官方連結 httpswww.polygitapp.com

挾天子的藝術 - 信長與義昭的相愛相殺
走遍世界
幸村・2022-04-12

桶狹間戰役後,信長花了七年,攻下了齋藤家的稻葉山城,成功兌換了老岳父齋藤道三的空頭支票。 老岳父也是個狠角色,人稱「美濃的蝮蛇」,堪稱戰國時代「下克上文化」的代表人物,『信長公記』就有記載齋藤道三因為小罪就處人車裂之刑、烹刑時也親自點火,自己動手親力親為。 俗說有話「人必自侮而人侮之」,後來兒子齋藤義龍起兵造反,道三臨死前豪言壯語把美濃送給女婿信長,已經「輸到甩褲」了,強弩之末還故作大方地送給女婿,信長得悉後也不知道好氣還是好笑。 每個人都死亡,所以每個人都註定消逝;每個人出生,但不是每個人都算活過。 永祿十年,信長終於給老岳父報了仇,把稻葉山城改名「岐阜城」,信長站在岐阜城的天守顧昐自雄,站穩陣腳後,修改印鑑為「天下布武」,劍指天下。 上兩講講到幕府大將軍足利義輝被奸臣所害,而弟弟足利義昭跳出來宣稱自己才是室町幕府的合法繼承人,雖然幕府的威信一瀉千里,但信長看出足利義昭的價值,率軍護送義昭上洛,成為名正言順的第十五代大將軍。 在別人眼裏一文不值的足利義昭,為什麼信長眼裏是奇貨可居?事實上,信長能橫掃天下,最後幾乎統一日本,足利義昭可謂功不可沒。 信長看中的是幕府號令天下的「合法性」,而「合法性」有四個層次。 第一個層次是「天命所歸」。 例如天降祥瑞呀,斬白蛇起義,發現一棵禾苗生出九個稻穗呀,都是古代的Marketing策略,都是一種對民眾宣揚我就是真命天子,都是天命所歸的表現成式。 第二個層次是技術活,是仁政王道的合法性。 你有天命,我也有天命。我家的小公狗昨天也生了一窩小貓,誰不會偽造天命?口講無憑,古代人也不是好忽悠的,所以你就需要品行端正,愛民如子,老百姓對你百般擁戴,獲得高度認可度才有德行的合法性,劉備走難時百姓也願意跟隨就是一個典型的例子。 第三是掌握權柄的器物。 例如日本傳統的三神器,八咫鏡、天叢雲劍、八尺瓊勾玉,又或者三國時代的傳國玉璽,本身就象徵著天命和權力,落在你手,你就有相應的合法性。器物由王家代代相傳,本身就被賦予了神聖性。孫權得到了傳國玉璽,後來建立了吳國,玉璽就發揮了穩定人心的作用。 第四就是就是最重要的,程序的合法性。 每個組織或政權都有一套既定的程序規範,例如選總統,又要提名又要參選,只要按照這個程序,你就具備了合法性,否則你就是僭越非法,天下人人得而誅之。 挾天子的好處是,在古代傳統社會之中,大將軍的身份就有集齊了四項要素,他就是最高的權力象徵。 信長出錢出力扶助足利義昭入京登位,兩個人如膠似漆,但好景不長,兩年後兩人的關係就跌落谷底。 到底發生了什麼事?