Monday, July 30, 2012

215年曹操称王之后手下主要将领的分配


诸夏侯曹

  • 夏侯惇:扬州军区总司令 (以伏波将军都督二十六军屯居巢)
  • 夏侯渊:关中军区总司令 (以征西将军镇汉中)
  • 曹仁:荆州军区总司令 (以征南将军屯樊城)
  • 曹洪:京畿卫戎部队总司令 (都护将军)
所以他们后来在曹丕称帝之后的升迁也是顺迁:

  • 夏侯惇升大将军
  • 夏侯渊升骠骑将军 (如果没死,但是他死了魏国这个位置就空了,后来曹洪补上)
  • 曹仁升车骑将军
  • 曹洪升卫将军
比之蜀汉呢,关羽如果没死,他就是大将军。他死了所以这个大将军位置就是一直空著。
张飞是车骑、马超是骠骑。所以张飞相当於曹仁、马超相当於夏侯渊。
而赵云最适合做卫将军,一直以来的工作也相符,只是他劝阻刘备不要伐吴惹刘备不高兴了,就变成了征南将军了。

  • 夏侯惇在做扬州军区总司令的时候统领二十六军,这包括了在合肥的张辽、李典、乐进,以及徐州的臧霸。
  • 曹仁在荆州军区做总司令的时候,手下统领的人我们可以从江陵之战和樊城之战看出来。其中包括了他的部将牛金、横野将军徐晃、襄阳太守乐进、奋威将军满宠、汝南太守李通、江夏太守文聘。
  • 夏侯渊做关中军区总司令打的两仗,都有曹操参与,我们只能大概算出他最开始统领谁。大概就是张郃、徐晃、朱灵、郭淮等。

五子

从上面我们可以看出,五子裏面,张辽是一直待在东边的。和其他两个军区不一样,虽然扬州军区虽然名义总司令是夏侯惇,但是仗都是张辽带人打的。而其他两个军区夏侯渊、曹仁都要亲自上阵。所以张辽可以视为扬州军区夏侯惇的副手,也是实际上的执行人。

张郃呢,则一直待在西边,他可以肯定说是夏侯渊的副手,因为夏侯渊死后众人就推举他为主帅。说来张郃其实比较悲催,他做了一辈子的关中战区二把手。之后先是在曹真手下做,后来又在司马懿手下做二把手。

而徐晃、乐进这两个右將軍则比较游动,徐晃在江陵之战、樊城之战属曹仁,潼关、汉中之战则属夏侯渊。乐进则是江陵之战属曹仁、合肥之战属夏侯惇管辖。

我们是不是忘掉了一个人?对的,就是于禁,他完全不属於这三个战区任何一人的统辖,就算是樊城之战他也是独立带七军。所以五子裏面,可以肯定在于禁在的时候,他位置最高。

虎豹骑

曹操手下还有一支精兵是直属的,就是虎豹骑,虎豹骑的主帅我们都知道,就是曹纯、曹休、曹真。基本上这几个人我们只会在曹操亲征的时候才会看到。所以我们可以肯定他们不属於三大军区的统属。曹纯早死、曹休、曹真后来分别做了东西军区总司令,如果曹纯没有早死他应该是荆州军区总司令,不会轮到夏侯尚。和夏侯懋一样,夏侯尚没什麽才干。夏侯懋、夏侯尚都是夏侯家的子弟,分别做过一段时间军区司令就被替下了。远不如三个虎豹骑锻炼出来的曹休、曹真。

而曹洪也是只有在曹操亲征的时候才会出现,因为他的任务是卫戎。当然卫戎部队也是可以派出去的,所以曹洪经常作为曹操亲征时的前沿部队出现,例如潼关之战与汉中之战。有时候也和虎豹骑一起行动。至於虎豹骑是否归于曹洪统属,我认为不是,虎豹骑应该是曹操直属的,与曹洪的部队并列关系。

其他的二线武将

  • 许褚(典韦)这是纯粹的保镖,与曹洪不同,曹洪统领的是卫戎部队,而许褚只统领最多一个营的卫兵而已。记住这也是赵云的职责更像曹洪,与许典完全不同的地方。
  • 李典、臧覇、吕虔,李典不多说。臧覇、吕虔一直都是分别统领青徐,属於夏侯惇的管辖范围。
  • 李通、文聘,一个汝南太守、一个江夏太守,都是属於曹仁统属的,在江陵之战出现。
  • 满宠在曹仁手下,后来在曹休死后做了扬州军区总司令。
  • 郭淮是夏侯渊手下,后来在司马懿卸任之后作了关中军区总司令。
  • 其他北边边戎的几个将领我这里就不说了。

曹操救援樊城爲什麽要派出于禁?

我們知道樊城之戰發生的時候,曹操剛剛從漢中之戰敗退回來。參與漢中之戰的部隊需要調整才能出發。

這個時候我上面所說的那些高級將領裏面,夏侯惇坐鎮東邊不能動,曹操也不會動他。樂進已死,張遼也不能動。事實上在孫權投降之後張遼就開拔前往樊城。

曹仁困守樊城裏,張郃應該是留在了關中軍區整頓。曹洪、以及曹真、曹休所部是否跟隨曹操撤回,還是留在關中不清楚,不過徐晃倒是撤了回來。

這時候曹操所最可能派出的高級將領,以及救援部隊,就是在此前幾大戰役中都沒有動用過的于禁了。于禁作爲生力軍,應該足以扭轉形勢,事實上他的能力也是如此。他的帶兵風格以嚴整著稱。曹操當時的目的是想讓他從一旁震懾牽制住關羽軍,以待後面的援軍陸續來到。

只是非常不巧,關羽這次的進攻是很有計劃性的,漢水大漲也是在他計劃之中。否則他不會事先就準備好大船攻城,要知道大船想從南郡長江那邊繞入漢水,必須得經過江夏文聘的屬地。文聘之前江陵之戰還威猛威猛的,這次不知道怎麽就躲起來也沒阻攔。

所以于禁事實上是中了關羽安排好的時間上的一個陷阱。我們假設先帶兵來救的是徐晃,恐怕他也得變成水鱉,至於投不投降,就因各人不同了。而于禁替代了徐晃的位置,則帶兵來時水已退,孫權已襲江陵,于禁應該也能立徐晃之功。

那麽誰帶兵來才不會受困水斗呢?恐怕只有那些能夠因地制宜排兵佈陣的謀將才可以了,例如曹操自己、識變數的張郃、後期的鄧艾。

Friday, May 4, 2012

Project Sanguo

五月份我將開始一個新的Project,這個Project籌備了有半年時間,是一個非常私人的Project,目的一是爲了填補空白時間,二整合一下自己整理的一些東西,三來學習自己以前比較少用到的技術。

Project内容

中國的史書有紀傳體、編年體與紀事本末體三大體例。梁啟超說:「蓋紀傳體以為主,編年體以為主,而紀事本末體以為主。」中國官方編撰的史書也就是所謂的正史「二十四史」都依照《史记》紀傳體體例编纂而成。

紀傳體是以為人物立傳記(皇帝的傳記稱「」,皇族、外威、一般人物稱「」,特殊情形的人物稱「世家」或「載記」,記載制度、風俗、經濟等稱「」、「意」或「考」,以表格排列歷史大事稱「」)的方式记叙史实。所謂「〈紀〉以包舉大端,〈傳〉以委曲細事,〈表〉以序其年爵,〈志〉以總括遺漏。逮於天文、地理、國典、朝章,顯隱必該,洪纖靡失。」

《三國志》雖然被後世稱為「志」,但是其實全書完全是按人物排列的本紀和列傳,沒有任何如地理、經濟、典章制度等的志書或表的內容,這對想要系統性去了解那個時代非常的不便。
至今已有許多前人整理補充各種志表,按wikipedia上的資料。
補志方面:
補表方面:
  • 謝鍾英《三國疆域表》*、《三國疆域表疑》*。
  • 周嘉猷《三國紀年表》*。
  • 謝鍾英《三國大事表》*,張守常《謝鍾英〈三國大事表〉補正》。
  • 萬斯同《歷代史表》中有《三國大事年表》*、《三国漢季方鎮年表》*、《三國諸王世表》*、《魏國將相大臣年表》*、《魏將相大臣年表》*、《魏方鎮年表》*、《漢將相大臣年表》*、《吳將相大臣年表》*。
  • 黃大華《三國志三公宰輔年表》*。
  • 周明泰《三国志世系表》*,陶元珍著《三國志世系表補遺附訂偽》*。

今人也有不少人將以上各類補表錄入電子化。我個人就曾將萬斯通《歷代史表》中三國相關的部分錄入Excel,後來又有陸續整理過一些資料錄入Access,GenePro之類不同用途的數據庫。也以Excel及Visio整理過簡略的圖表給文做附。
 但整體給我一個感覺,這些東西太過零散,輸入既需要時間且無法重復使用,每次都需要各種不同工具來生成想要得出的效果,很沒有效率。使用Access做數據繪入就是因爲我萌生了整合成一個數據庫然後通過定制顯示頁面來達到自己想要的想法。

只是使用Access數據庫,一來過於簡陋,二來也無法與衆人隨時隨地分享,後來便想要自己寫一個程序。最初是想做成iOS的軟件將來還能有機會在AppStore上賣錢。但是後來覺得平臺的局限性太大,而且很多東西也無法表現出來。

Project技術

比較來去,最後使用Web成爲了唯一的選擇。在一開始,我覺得更需要的是Presentation上面的靈活性,所以停留在各種動態網頁表現上,看了很多Flash和Silverlight的資料,又看了很多HTML5的資料。

但因爲自己不是Digital media出身,對於這些東西實在是看得懵囃囃,不知道從哪裏開始,如何將已錄入的數據以炫酷的形式表現出來。於是我詢問了做Web FrontEnd開發的好友,好友建議說像我這樣的需求,還是應該以Web Application形式來做,於是向我推薦了ASP.NET MVC。

ASP.NET MVC的模式我一看就很喜歡,適合我這種學軟件開發出身的。它是以傳統的軟件開發模式來開發網頁,對我非常地親切。只是以MVC這種模式開發,一刀一斧工程浩大,耗時會比普通的WebForm形式更爲費時耗力。所以爲了保險起見我做了更多關於這方面的調查,進行比較。包括ASP.NET的WebForm,Ruby on Rails和Java的各種Web Framework。

理論上,我目前工作環境都是Java,公司的產品也是用Java開發的Web application,我應該選擇Java才對,又能工作和自身學習相搭配。只是不知道爲什麽,我實在是不喜歡Java,雖然最早接觸的語言就是Java,算是我的啓蒙語言,各個學校學習用的也多是Java,我也是爲了讓自己更熟悉Java而進入這個公司強迫自己有這個環境。

只是這麽一年過去了,我對Java卻產生更大的排斥心理,討厭Ant也討厭Maven,更不用説Eclipse那個IDE了。我總覺得Java無法像C/C++那樣寫出很自由很酷的服務器軟件,也沒有像Visual Studio能提供非常容易上手易用的工具套件,雖然Java的跨平臺優勢前兩者無可比擬。

相比之下,在嘗試ASP.NET MVC的過程中,Visual Studio卻讓我覺得無比的親切,也許這就是一種天生的個人喜好,無法以更客觀的角度去選擇使用的技術。所以就算將來Host ASP.NET的服務器租金可能更貴,暫時也管不了那麽多了。

在閲讀了更多的資料之後我最後還是決定選擇使用ASP.NET MVC,特別是因爲MVC3使用了Razor引擎。總結的說,選擇的理由就是簡單易用,快捷方便,又能作出很系統性完整的東西,將來的擴展性也大。而且在各方面的知識上,雖然其他知識我也都是淺嚐爲止,Web我卻幾乎沒有接觸過,能夠增加很多這方面的知識,例如HTML5、Ajax。同時也能夠加深對C#的理解。

Project參考資料

決定了使用的技術後,我也決定買一本書來加強學習。基本上也就兩本入門到中級的可供選擇,分別是Wrox的Professional ASP.NET MVC3與Apress的Pro ASP.NET MVC 3 Framework
經過多次比較,我還是選擇了後者,因爲後者的後面部分感覺會更深入一些,前者則讓我感覺與網上那些免費的教程相去不遠。只是在購入了後者之後我發現作者用了自己的很多習慣來做教程,而前者則基本上沿用Microsoft的Convension。所以還是有點後悔,我的怪癖就是覺得用官方的習慣標準會比較舒服,所以有可能也會把前者也買下來。我選擇的是電子書版本,比較便宜也隨時隨地可以看。比較了iBook版和Kindle版發現還是Amazon的比較便宜。

而前面所提到的前人所著之各種補志補表,目其中帶*有收錄在中華書局所刊印的《二十五史補編》的《三國志補編》裏,國家圖書館出版社有專出這本。國内大城市的書城還可以買到。旁邊的悉尼大學的Fisher圖書館有著南半球最大的東亞圖書收藏,我查了一下,比較主要的基本清代以前補編的志表裏面都有,倒是近現代民國學者王欣夫編撰的《補三國兵志》沒有。

這些資料已然足夠,關鍵系統要架構起來,錄入這些數據是長期的事情。我的計劃是做一個關於三國無論橫向覆蓋或者縱向深入都比較完整的數據庫,方便查找歸類,並且能生成各種各樣的圖表形式。如果將來有機會製作遊戲還可以很好的使用,目前我有一些關於這方面的想法。至於文字方面内容反倒是其次,現在許多例如wikisource那樣的網上書庫已經很多可以查閲。之後我將會詳細談談哪些是我想要的。