2014/12/29


擋網路電視 

來自:http://blog.tenyi.com/2010/03/blog-post.html

關鍵字:
  1. 在內網DNS Server建立ppstream.com、pps.tv等網域。
  2. 若怕被人發現,可在Firewall擋DNS Server以外的DNS Query (port 53 tcp/udp),如此一來他們只能向內部DNS查詢。
補充:
   1.ROS的L7功能
(待補充)

2014/11/13

國際觀?這是一個笑話

以下文字,純政治抱怨文,無分享經驗說,字太長,沒營養,可自動略過
.
.
.
.
.
.
.
.
.
.
.臉書看到一篇文章,講到說:台灣現在只會關心P vs D,APEC的大事都不懂的關心,我覺得如下:
1.APEC,中國展現了什麼?是不是再度面子工程?呈現了什麼?掩蓋了什麼?
2.APEC之後,各國競爭的角力與目標為何?是不是FTA、WTO這些還有後續好戲?
3.不是只有關心APEC,而是關心APEC開了什麼會議,有多少角頭找了哪些人拍照
4.APEC前,中國忙著「清算」,APEC後,有多少「人」、「公司」會持續被清算?有多少人會被牽連入獄(對,就是說成龍、趙本山)
5.國際新聞難道只有APEC?ISIS的前因後果算是地區新聞?
非死不可的好處,就是有人能把身邊地區的新聞、資料,有一個系列的整理。整理之後的文章,的確要看自己的「體會」
而國際新聞那些訊息,come on,fuck man......那是自己去找資料,不是非要朋友幫你把資料整理好,放在你面前,你才覺得說:恩,身邊的朋友有國際觀
(老調重談:)又,小時候經常看報紙,說台灣人都沒有國際觀,但是要怎樣才有國際觀,又沒有人說的上來
有人說,要懂英文。有人說要看國際新聞
後來看到假圖天國的BLOG,才瞭解:不是懂英文那些就有國際觀,而是要收集資訊,瞭解一個新聞,他的源由、起因、影響範圍、對我國家的影響、後續會如何發展。意思就是:國際搏奕,就算你是外圍,賭局也是有你一份
最後,為什麼要關心P,外圍者只認為,這是一個小里長的選舉,為何要大書特書。
我只認為,沒有從「香蕉花」開始看起,看到所為的「公民X起」,然後到所謂的「遍地開花」,然後再到「comi動 不倒,國家不會好」,這一連串的起因、過程,到現在發展,只看屁對豬,是不是太偏頗一點?
最後,想把非死不可當作國際新聞收集中心,還是自己多找其他BLOG來的實際一點
椰子樹下打頓的算命仙、雲程、假圖天國.......特別是Anji算命仙,還真的蠻合我胃口
故,以上結論,
所謂:國際觀,是拿來嘲笑別人用的,捧自己有格調,並沒有任何實際解釋
還不如看「兒時記趣」完整無刪減版來的有趣

你不知道的 字符集和編碼(編碼字符集與字符集編碼)






http://blog.jobbole.com/79610/

你不知道的 字符集和編碼(編碼字符集與字符集編碼)

我的上篇文章,有朋友提出字符集和編碼的區別,我在此立文和大家討論下
常說的字符集和編碼區別,其實就是編碼字符集和字符集編碼的區別,其實,單單如果只是說字符集,沒有任何編碼的概念的話,那麼字符集其實僅僅是一個 簡單的字符的集合,或者說是一個抽象的字符的集合,包括文字,符號等等,不參與任何存儲形式,只是存在這麼各種各樣標準的字符的集合
如果僅僅是抽象的字符集,我們是無需拿出討論的,因為沒有任何異議,通俗易懂,而常說的字符集指的編碼字符集,比如常見的 unicode、ascii、gb2312、gbk等,這些我們常稱做為字符集(其實是編碼字符集),這些字符集,比如unicode其實本質上是已經 「編碼」過的字符集,即每個字符都有唯一的整數編號,每個字符都有自己特有的編號,同一個字符在不同編碼字符集中編號也會不同,當然很多編碼字符集都是 ascll的超集,所以ascll字符集的編號與很多編碼字符集中編號都一樣,比如英文字母「A」,在ASCII及Unicode及GB2312中,均是 第0×41個字符,說到這裡朋友一定注意到了我上面再描述「 unicode其實本質上是已經「編碼」過的字符集」中的「編碼」二字加了雙引號,我要強調的是這裡的「編碼」並不是真的我下面要說的編碼,這裡只是為每 個字符編了一個對應的編號,但是我們還是習慣專業的稱呼為「編碼字符集」
我們經常說「文章採用的是utf-8編碼方式」
我對於這個編碼方式的意義,個人理解是 將一個字符的整數編號用一個什麼二進制的整數值來對應並在計算機存儲。這和上面說的編碼字符集中的「編碼」千差萬別,這裡我們稱之為「字符集編碼」,即我們常說的編碼
說到這裡,很多人會覺得那麼unicode和utf-8的區別在哪裡?既然上文說到unicode是編碼字符集,那麼utf-8又是什麼?就是常說的編碼?
「文章採用的是utf-8編碼方式」,個人覺得準確的說法是「文章採用的是基於unicode編碼字符集的utf-8的編碼方案」,即
即unicode本身作為編碼字符集沒有任何存儲形式,只是一個編號和字符對應的表而已,如何在計算機存儲?你可能想到了乾脆直接把編號當作二進制 數值來直接存儲,那麼為什麼不這麼做呢?這也算是一種字符集編碼方案,就是基於unicode編碼字符集的utf-32編碼方案,那麼有沒有更加智能一點 的編碼方案呢?為什麼會沒有呢?那就是utf-8、utf-16等等,    等等,在我解釋為何要用utf-8編碼方案的時候,我必須說明一件事情:如下
我在上一篇文章《你不知道的 頁面編碼,瀏覽器選擇編碼,get,post各種亂碼由來》 中說過:「如何查看中文字符的十六進制字符串?方 法:BitConverter.ToString(System.Text.Encoding.UTF8.GetBytes(「阿道夫」));」 請注意我可以改為「System.Text.Encoding.Unicode.GetBytes」 如下圖是vs2013 Encoding鍵入「.」後的智能提示
112227067411272112226562562235
(列表過長,用兩幅圖分別截圖)
上圖有兩個疑問:
1、如果說unicode是編碼字符集,為何會出現在和utf-8這種編碼方案並列的列表中?
2、ASCII或者gb2312都是編碼字符集為何也會出現在和utf-8這種編碼方案並列的列表中?
我們假設有兩個猜測:
1、此處的unicode並不是真正的unicode編碼字符集,可能只是一種和unicode編碼字符集關係非常緊密的一種編碼方案
2、ASCII或者gb2312(其實就是圖中的Default,即操作系統當前的編碼,國內一般為gb2312)是編碼字符集沒有錯,但是對於 ASCII或者gb2312都只有唯一一種編碼,那麼我稱呼它們為ASCII編碼或者GB2312編碼也沒有問題,既然這樣,那我把ascii和 gb2312加入和utf-8這種編碼方案並列的列表中也理所當然?
我的兩個假設,很快得到論證
1、在Encoding 的元數據看到:
1
2
3
4
5
6
7
//
        // 摘要:
        //     获取使用 Little-Endian 字节顺序的 UTF-16 格式的编码。
        //
        // 返回结果:
        //     使用 Little-Endian 字节顺序的 UTF-16 格式的编码。
        public static Encoding Unicode { get; }
這裡解釋在這裡的unicode其實本質上「獲取使用 Little-Endian 字節順序的 UTF-16 格式的編碼」,即使基於unicode編碼字符集的utf-16編碼方案,類似的有BigEndianUnicode(獲取使用 Big Endian 字節順序的 UTF-16 格式的編碼)
2、一般的ASCII或者gb2312,我們可以稱呼為ASCII字符集也可以稱呼為ASCII編碼,只是意義不同而已,因為對於ASCII編碼字符集或 者gb2312編碼字符集都只有唯一一種編碼,就是ASCII編碼和GB2312編碼,那麼列表中顯示的ASCII和GB2312指的不是編碼字符集而是 ASCII和GB2312的編碼方案,我想正是這種原因,才在很多時候,不管是字符集賦值還是編碼方案賦值都可以直接用gb2312或者ascii,比 如:
Encoding gb2312 = Encoding.GetEncoding(「gb2312〞);
Response.ContentEncoding = gb2312;//編碼
Response.Charset=」gb2312〞;//字符集
總結下的說:
就是unicode是字符集,不是編碼!但是ascii(gb2312)是字符集,這個說法肯定正確,但是我表達為「ascii編碼」也不能說大錯特錯,但是這種說法讓人誤解,如果一定要說那麼就說「ascii編碼字符集的編碼」
如果理解上面兩個假設的論證道理,那麼我們繼續討論之前暫停的話題,即「解釋為何要用utf-8等編碼方案(其他utf編碼方案類似)」
utf-8將很大一部分基於unicode編碼字符集的字符的整數編號作了變換後存儲在計算機中。(引用)以「漢」字為例,「漢」的Unicode值為 0x6C49,但其編碼為UTF-8格式後的值為0xE6B189(注意到變成了三個字節)。對於UTF-16編碼方案,則是對unicode編碼字符集 中的前65536個字符編號都不做變換,直接作為計算機存儲時使用的值(對65536以後的字符,仍然要做變換),例如「漢」字的Unicode編號為 0x6C49,那麼經過UTF-16編碼後存儲在計算機上時,它的表示仍為0x6C49,對於UTF-32編碼方案,他對所有的Unicode字符均不做 變換,直接使用編號存儲,只是這種編碼方案太浪費存儲空間(就連1個字節就可以搞定的英文字符,它都必須使用4個字節)
既然unicode編碼字符集有如此多的編碼方案,那麼
utf-8,字母數字符號等佔1字節,漢字佔三字節
utf-16,對unicode編碼字符集中的前65536個字符都佔兩個字節
utf-32,全部佔四字節
如果還有人問:
「unicode編碼每個字符佔幾個字節」,我們可以理直氣壯的說,第一unicode不是編碼!第二每個字符具體佔多少字節是要看編碼方案!
很多面試題會問:
1
2
3
string param = "abc阿道夫";
int length1 = System.Text.Encoding.Unicode.GetBytes(param).Length;//别忘了这里的unicode本质是utf-16编码方案
int length2 = param.Length;
那麼答案就是12和6了
最後,對於gb2312或者ascii編碼字符集的字符的編號就是直接存儲在計算機中的二進制數,也就是說gb2312和ascii編碼字符集都只 有一種編碼方案,因為在gb2312編碼字符集中的ascii字符集部分的編號並沒有變化(即和ascii編碼字符集中的編碼一致),所以gb2312的 ascii部分字符存入計算機的二進制數還是佔用1個字節,而中文字符存入計算機的二進制數也是該中文字符在gb2312編碼字符集中的編號,該編號一般 轉換成二進制數都佔兩個字節,這個過程也就變成了所謂的gb2312編碼
如果上面的改為System.Text.Encoding.Default.GetBytes(param).Length,則值就是9和6了
如果需要瞭解更加深入的編碼內部原理請參考:
http://blog.csdn.net/nodeathphoenix/article/details/7057760

Excel表格公式大全




http://blog.xuite.net/haha.jason/zero/251880365/trac



1、查找重複內容公式:=IF(COUNTIF(A:A,A2)>1,"重複","")。

2、用出生年月來計算年齡公式:=TRUNC((DAYS360(H6,"2009/8/30",FALSE))/360,0)。

3、從輸入的18位身份證號的出生年月計算公式:=CONCATENATE(MID(E2,7,4),"/",MID(E2,11,2),"/",MID(E2, 13,2))。

4、從輸入的身份證號碼內讓系統自動提取性別,可以輸入以下公式:

=IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,"男","女"),IF(MOD(MID(C2,17,1), 2)=1,"男","女"))公式內的「C2」代表的是輸入身份證號碼的單元格。

1、求和: =SUM(K2:K56) ——對K2到K56這一區域進行求和;

2、平均數: =AVERAGE(K2:K56) ——對K2 K56這一區域求平均數;

3、排名: =RANK(K2,K$2:K$56) ——對55名學生的成績進行排名;

4、等級: =IF(K2>=85,"優",IF(K2>=74,"良",IF(K2>=60,"及格","不及格")))

5、學期總評: =K2*0.3+M2*0.3+N2*0.4 ——假設K列、M列和N列分別存放著學生的「平時總評」、「期中」、「期末」三項成績;

6、最高分: =MAX(K2:K56) ——求K2到K56區域(55名學生)的最高分;

7、最低分: =MIN(K2:K56) ——求K2到K56區域(55名學生)的最低分;

8、分數段人數統計:

(1) =COUNTIF(K2:K56,"100") ——求K2到K56區域100分的人數;假設把結果存放於K57單元格;

(2) =COUNTIF(K2:K56,">=95")-K57 ——求K2到K56區域95~99.5分的人數;假設把結果存放於K58單元格;

(3)=COUNTIF(K2:K56,">=90")-SUM(K57:K58) ——求K2到K56區域90~94.5分的人數;假設把結果存放於K59單元格;

(4)=COUNTIF(K2:K56,">=85")-SUM(K57:K59) ——求K2到K56區域85~89.5分的人數;假設把結果存放於K60單元格;

(5)=COUNTIF(K2:K56,">=70")-SUM(K57:K60) ——求K2到K56區域70~84.5分的人數;假設把結果存放於K61單元格;

(6)=COUNTIF(K2:K56,">=60")-SUM(K57:K61) ——求K2到K56區域60~69.5分的人數;假設把結果存放於K62單元格;

(7) =COUNTIF(K2:K56,"<60") ——求K2到K56區域60分以下的人數;假設把結果存放於K63單元格;

說明:COUNTIF函數也可計算某一區域男、女生人數。

如:=COUNTIF(C2:C351,"男") ——求C2到C351區域(共350人)男性人數;

9、優秀率: =SUM(K57:K60)/55*100

10、及格率: =SUM(K57:K62)/55*100

11、標準差: =STDEV(K2:K56) ——求K2到K56區域(55人)的成績波動情況(數值越小,說明該班學生間的成績差異較小,反之,說明該班存在兩極分化);

12、條件求和: =SUMIF(B2:B56,"男",K2:K56) ——假設B列存放學生的性別,K列存放學生的分數,則此函數返回的結果表示求該班男生的成績之和;

13、 多條件求和: {=SUM(IF(C3:C322="男",IF(G3:G322=1,1,0)))} ——假設C列(C3:C322區域)存放學生的性別,G列(G3:G322區域)存放學生所在班級代碼(1、2、3、4、5),則此函數返回的結果表示求 一班的男生人數;這是一個數組函數,輸完後要按Ctrl+Shift+Enter組合鍵(產生「{……}」)。「{}」不能手工輸入,只能用組合鍵產生。

14、根據出生日期自動計算週歲:=TRUNC((DAYS360(D3,NOW( )))/360,0)

———假設D列存放學生的出生日期,E列輸入該函數後則產生該生的週歲。

15、在Word中三個小竅門:

①連續輸入三個「~」可得一條波浪線。

②連續輸入三個「-」可得一條直線。

連續輸入三個「=」可得一條雙直線。

一、excel中當某一單元格符合特定條件,如何在另一單元格顯示特定的顏色比如:
A1〉1時,C1顯示紅色
0<A1<1時,C1顯示綠色
A1<0時,C1顯示黃色
方法如下:
1、單元擊C1單元格,點「格式」>「條件格式」,條件1設為:
公式=A1=1
2、點「格式」->「字體」->「顏色」,點擊紅色後點「確定」。
條件2設為:

 

公式=AND(A1>0,A1<1)
3、點「格式」->「字體」->「顏色」,點擊綠色後點「確定」。
條件3設為:
公式=A1點「格式」->「字體」->「顏色」,點擊黃色後點「確定」。
4、三個條件設定好後,點「確定」即出。

二、EXCEL中如何控制每列數據的長度並避免重複錄入

1、用數據有效性定義數據長度。
用鼠標選定你要輸入的數據範圍,點"數據"->"有效性"->"設置","有效性條件"設成"允許""文本長度""等於""5"(具體條件可根據你的需要改變)。
還可以定義一些提示信息、出錯警告信息和是否打開中文輸入法等,定義好後點"確定"。
2、用條件格式避免重複。
選定A列,點"格式"->"條件格式",將條件設成「公式=COUNTIF($A:$A,$A1)>1」,點"格式"->"字體"->"顏色",選定紅色後點兩次"確定"。
這樣設定好後你輸入數據如果長度不對會有提示,如果數據重複字體將會變成紅色。

三、在EXCEL中如何把B列與A列不同之處標識出來?
(一)、如果是要求A、B兩列的同一行數據相比較:
假定第一行為表頭,單擊A2單元格,點「格式」->「條件格式」,將條件設為:
「單元格數值」 「不等於」=B2
點「格式」->「字體」->「顏色」,選中紅色,點兩次「確定」。
用格式刷將A2單元格的條件格式向下複製。
B列可參照此方法設置。
(二)、如果是A列與B列整體比較(即相同數據不在同一行):
假定第一行為表頭,單擊A2單元格,點「格式」->「條件格式」,將條件設為:
「公式」=COUNTIF($B:$B,$A2)=0
點「格式」->「字體」->「顏色」,選中紅色,點兩次「確定」。
用格式刷將A2單元格的條件格式向下複製。
B列可參照此方法設置。
按以上方法設置後,AB列均有的數據不著色,A列有B列無或者B列有A列無的數據標記為紅色字體。

四、EXCEL中怎樣批量地處理按行排序

假定有大量的數據(數值),需要將每一行按從大到小排序,如何操作?
由於按行排序與按列排序都是只能有一個主關鍵字,主關鍵字相同時才能按次關鍵字排序。所以,這一問題不能用排序來解決。解決方法如下:
1、假定你的數據在A至E列,請在F1單元格輸入公式:
=LARGE($A1:$E1,COLUMN(A1))
用填充柄將公式向右向下複製到相應範圍。
你原有數據將按行從大到小排序出現在F至J列。如有需要可用「選擇性粘貼/數值」複製到其他地方。
註:第1步的公式可根據你的實際情況(數據範圍)作相應的修改。如果要從小到大排序,公式改為:=SMALL($A1:$E1,COLUMN(A1))

五、巧用函數組合進行多條件的計數統計

例:第一行為表頭,A列是「姓名」,B列是「班級」,C列是「語文成績」,D列是「錄取結果」,現在要統計「班級」為「二」,「語文成績」大於等於104,「錄取結果」為「重本」的人數。統計結果存放在本工作表的其他列。
公式如下:
=SUM(IF((B2:B9999="二")*(C2:C9999>=104)*(D2:D9999="重本"),1,0))
輸入完公式後按Ctrl+ Shift+Enter鍵,讓它自動加上數組公式符號"{}"。

六、如何判斷單元格里 ​​是否包含指定文本?
假定對A1單元格進行判斷有無"指定文本",以下任一公式均可:
=IF(COUNTIF(A1,"*"&"指定文本"&"*")=1,"有","無")
=IF(ISERROR(FIND("指定文本",A1,1)),"無","有")

求某一區域內不重複的數據個數
例如求A1:A100範圍內不重複數據的個數,某個數重複多次出現只算一個。有兩種計算方法:
一是利用數組公式:
=SUM(1/COUNTIF(A1:A100,A1:A100))
輸入完公式後按Ctrl+Shift+Enter鍵,讓它自動加上數組公式符號"{ }"。
二是利用乘積求和函數:
=SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100))

七、一個工作薄中有許多工作表如何快速整理出一個目錄工作表

1、用宏3.0取出各工作表的名稱,方法:
Ctrl+F3出現自定義名稱對話框,取名為X,在「引用位置」框中輸入:
=MID(GET.WORKBOOK(1),FIND( "]",GET.WORKBOOK(1))+1,100)
確定
2、用HYPERLINK函數批量插入連接,方法:
在目錄工作表(一般為第一個sheet)的A2單元格輸入公式:
=HYPERLINK("# '"&INDEX(X,ROW())&"'!A1",INDEX(X,ROW()))
將公式向下填充,直到出錯為止,目錄就生成了。

2014/10/9

bash代码注入的安全漏洞


很詳細,要多看幾遍才會知道原理

來源:http://coolshell.cn/articles/11973.html


很多人或许对上半年发生的安全问题“心脏流血”(Heartbleed Bug)事件记忆颇深,这两天,又出现了另外一个“毁灭级”的漏洞——Bash软件安全漏洞。这个漏洞由法国GNU/Linux爱好者Stéphane Chazelas所发现。随后,美国电脑紧急应变中心(US-CERT)、红帽以及多家从事安全的公司于周三(北京时间9月24日)发出警告。 关于这个安全漏洞的细节可参看美国政府计算安全的这两个漏洞披露:CVE-2014-6271 和 CVE-2014-7169
这个漏洞其实是非常经典的“注入式攻击”,也就是可以向 bash注入一段命令,从bash1.14 到4.3都存在这样的漏洞。我们先来看一下这个安全问题的症状。

Shellshock (CVE-2014-6271)

下面是一个简单的测试:
1
env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Test"
如果你发现上面这个命令在你的bash下有这样的输出,那你就说明你的bash是有漏洞的:
1
2
Bash is vulnerable!
Bash Test
简单地看一下,其实就是向环境变量中注入了一段代码 echo Bash is vulnerable。关于其中的原理我会在后面给出。
很快,CVE-2014-6271的官方补丁出来的了——Bash-4.3 Official Patch 25

AfterShock – CVE-2014-7169 (又叫Incomplete fix to Shellshock)

但随后,马上有人在Twitter上发贴——说这是一个不完整的fix,并给出了相关的攻击方法。

也就是下面这段测试代码(注意,其中的sh在linux下等价于bash):
1
env X='() { (a)=>\' sh -c "echo date"; cat echo
上面这段代码运行起来会报错,但是它要的就是报错,报错后会在你在当前目录下生成一个echo的文件,这个文件的内容是一个时间文本。下面是上面 这段命令执行出来的样子。
1
2
3
4
5
$ env X='() { (a)=>\' sh -c "echo date"; cat echo
sh: X: line 1: syntax error near unexpected token `='
sh: X: line 1: `'
sh: error importing function definition for `X'
Sat Sep 27 22:06:29 CST 2014
这段测试脚本代码相当的诡异,就像“天书”一样,我会在后面详细说明这段代码的原理。

原理和技术细节

要说清楚这个原理和细节,我们需要从 bash的环境变量开始说起。
bash的环境变量
环境变量大家知道吧,这个不用我普及了吧。环境变量是操作系统运行shell中的变量,很多程序会通过环境变量改变自己的执行行为。在bash中要定义一个环境变量的语法很简单(注:=号的前后不能有空格):
1
$ var="hello world"
然后你就可以使用这个变量了,比如:echo $var什么的。但是,我们要知道,这个变量只是一个当前shell的“局部变量”,只在当前的shell进程中可以访问,这个shell进程fork出来的进程是访问不到的。
你可以做这样的测试:
1
2
3
4
5
$ var="hello coolshell"
$ echo $var
hello coolshell
$ bash
$ echo $var
上面的测试中,第三个命令执行了一个bash,也就是开了一个bash的子进程,你就会发现var不能访问了。
为了要让shell的子进程可以访问,我们需要export一下:
1
$ export var="hello coolshell"
这样,这个环境变量就会在其子进程中可见了。
如果你要查看一下有哪些环境变量可以在子进程中可见(也就是是否被export了),你可使用env命令。不过,env命令也可以用来定义export的环境变量。如下所示:
1
$ env var="hello haoel"
有了这些基础知识还不够,我们还要知道一个基础知识——shell的函数。
bash的函数
在bash下定义一个函数很简单,如下所示:
1
2
3
$ foo(){ echo "hello coolshell"; }
$ foo
hello coolshell
有了上面的环境变量的基础知识后,你一定会想试试这个函数是否可以在子进程中调用,答案当然是不行的。
1
2
3
4
5
6
$ foo(){ echo "hello coolshell"; }
$ foo
hello coolshell
$ bash
$ foo
bash: foo: command not found
你看,和环境变量是一样的,如果要在子进程中可以访问的话,那么,还是一样的,需要export,export有个参数 -f,意思是export一个函数。如:
1
2
3
4
5
6
7
$ foo(){ echo "hello coolshell"; }
$ foo
hello coolshell
$ export -f foo
$ bash
$ foo
hello coolshell
好了,我讲了这么半天的基础知识,别烦,懂了这些,你才会很容易地理解这两个漏洞是怎么回事。
好,现在要进入正题。
bash的bug
从上面我们可以看到,bash的变量和函数用了一模一样的机制,如果你用env命令看一下export出来的东西,你会看到上面我们定义的变量和函数都在,如下所示(我省略了其它的环境变量):
1
2
3
4
$ env
var=hello coolshell
foo=() { echo "hello coolshell"
}
原来,都用同样的方式啊——无论是函数还是变量都是变量啊。于是,看都不用看bash的源代码,聪明的黑客就能猜得到——bash判断一个环境变量是不是一个函数,就看它的值是否以”()”开始。于是,一股邪念涌上心头。
黑客定义了这样的环境变量(注:() 和 { 间的空格不能少):
1
$ export X='() { echo "inside X"; }; echo "outside X";'
env一下,你会看到X已经在了:
1
2
$ env
X=(){ echo "inside X"; }; echo "outside X";
然后,当我们在当前的bash shell进程下产生一个bash的子进程时,新的子进程会读取父进程的所有export的环境变量,并复制到自己的进程空间中,很明显,上面的X变量的 函数的后面还注入了一条命令:echo “outside X”,这会在父进程向子进程复制的过程中被执行吗?(关于fork相关的东西你可以看一下我以前写的《fork的一个面试题》)
答案是肯定的。
1
2
3
$ export X='() { echo "inside X"; }; echo "outside X";'
$ bash
outside X
你看,一个代码注入就这样完成了。这就是bash的bug—— 函数体外面的代码被默认地执行了
我们并不一定非要像上面那样创建另一个bash的子进程,我们可以使用bash -c的参数来执行一个bash子进程命令。就像这个安全漏洞的测试脚本一样:
1
env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Test"
其中,() { :;} 中的冒号就相当于/bin/true,返回true并退出。而bash -c其实就是在spawn一个bash的echo的子进程,用于触发函数体外的echo命令。所以,更为友好一点的测试脚本应该是:
1
env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo 如果你看到了vulnerable字样说明你的bash有安全问题"
OK,你应该明白这个漏洞是怎么一回事了吧。

bash漏洞的影响有多大

在网上看到好多人说这个漏洞不大,还说这个事只有那些陈旧的执行CGI脚本的网站才会有,现在已经没有网站用CGI了。我靠,这真是无知者无畏啊。
我举个例子,如果你的网站中有调用操作系统的shell命令,比如你用PHP执行个exec之类的东西。这样的需求是有的,特别是对于一些需要和操作系统交互的重要的后台用于系统管理的程序。于是就会开一个bash的进程来执行。
我们还知道,现在的HTTP服务器基本上都是以子进程式的,所以,其中必然会存在export 一些环境变量的事,而有的环境变量的值是从用户端来的,比如:HTTP_USER_AGENT这样的环境变量,只由浏览器发出的。其实这个变量你想写成什么就写成什么。
于是,我可以把这个HTTP_USER_AGENT的环境变量设置成上述的测试脚本,只不过,我会把echo Bash is vulnerable!这个东西换成别的更为凶残的命令。呵呵。
关于这个漏洞会影响哪些已有的系统,你可以自己Google,几乎所有的报告这个漏洞的文章都说了(比如:这篇这篇),我这里就不复述了。
注:如果你要看看你的网站有没有这样的问题,你可以用这个在线工具测试一下:‘ShellShock’ Bash Vulnerability CVE-2014-6271 Test Tool
现在,你知道这事可能会很大了吧。还不赶快去打补丁。(注,yum update bash 把bash版本升级到 4.1.2-15.el6_5.2 , )

关于 AfterShock – CVE-2014-7169 测试脚本的解释

很多同学没有看懂下面这个测试脚本是什么意思,我这里解释一下。
1
env X='() { (a)=>\' sh -c "echo date"; cat echo
  • X='() { (a)=>\’ 这个不用说了,定义一个X的环境变量。但是,这个函数不完整啊,是的,这是故意的。另外你一定要注意,\’不是为了单引号的转义,X这个变量的值就是 () { (a)=>\
  • 其中的 (a)=这个东西目的就是为了让bash的解释器出错(语法错误)。
  • 语法出错后,在缓冲区中就会只剩下了 “>\”这两个字符。
  • 于是,这个神奇的bash会把后面的命令echo date换个行放到这个缓冲区中,然后执行。
相当于在shell 下执行了下面这个命令:
1
2
$ >\
echo date
如果你了解bash,你会知道 \ 是用于命令行上换行的,于是相当于执行了:
1
$ >echo date
这不就是一个重定向么?上述的命令相当于:
1
$ date > echo
于是,你的当前目录下会出现一个echo的文件,这个文件的内容就是date命令的输出。
能发现这个种玩法的人真是个变态,完全是为bash的源代码量身定制的一个攻击
(全文完)
(转载本站文章请注明作者和出处 酷 壳 – CoolShell.cn ,请勿用于任何商业用途)
——=== 访问 酷壳404页面 寻找遗失儿童。 ===——

2014/7/2

what's up Gold Receiving SNMP Traps



From :http://www.ipswitch.com/support/whatsup/guide/v602/8snmp7.html

Enable the SNMP Trap Handler. (Select Configure->Program Options->SNMP Traps, select Enable SNMP Trap Handler, and then click OK.

1. Device-->Passive Monitors-->Add [SNMP Trap]-->Add Mail
2. mail  content EXAMPLE:
%Device.DisplayName have %PassiveMonitor.DisplayName
Plz chk %Device.DisplayName EvenLog
Event From:%PassiveMonitor.Payload.EventType
Log event:%PassiveMonitor.DisplayName

LoggedText:%PassiveMonitor.LoggedText


%Device.ActiveMonitorDownNames IP:%PassiveMonitor.Payload.PhysicalSource

----------------------------------------
This mail was sent on %System.Date at %System.Time
Ipswitch WhatsUp Gold


3.TESTing............aNd hApPy

additionl:
http://otaku119.blogspot.com/2014/01/whats-up-percent-variablesemail.html
http://otaku119.blogspot.com/2014/01/whats-up-error-log.html

2014/6/26

java 1.7與iDrac無法啟動KVM出現:missing required permissions manifest attribute


關鍵字:missing required permissions manifest attribute
參考下面兩個連結
http://corden-hsu.blogspot.com/2014/03/java.html
http://2hei.net/connect-to-dell-idrac6-virtual-console.html#more-566

原因無他,JAVA 1.7之後多了一個RIA權限設定
舊版的就被犧牲,所以我實際解決方法:
把他媽的JAVA安全性給調整到「中」

搞定,收工

2014/6/6

SQL性能小測試得出的驚人結果:60%失敗

這篇文章放了將近2個月才仔細閱讀
結果:我勉強算答對一題
保留起來。以後隨時複習

=============================================================

http://blog.jobbole.com/60800/

本文由 伯樂在線 - sunbiaobiao 翻譯自 MarkusWinand。歡迎加入技術翻譯小組。轉載請參見文章末尾處的要求。


2011年,我開展了「3分鐘測試你對SQL性能知道多少?」的測試活動。其中包含五個問題,它們是這樣的:每個問題有一個query/index查詢,問你這樣是否正確使用了索引。至今, 這個測試已經成了 Use The Index, Luke網站上的一個熱點。這個測試已經被回答了28,000次。
提醒一下:也許你不想被我劇透,你可以提前自己測試一下自己。
儘管這個測試是為了教育,我很好奇自己是否可以從中找到一些規律,我認為可以的。當你看這些結果時,要記住幾點,第一,這些測試因為很出人意料才惹 人眼球,也就是說,有的測試看著性能很高,其實性能不高。有的反之。只有一個問題答案符合你的第一印象。很有意思的是,這個測試並不知道參與者是誰,所有 人都可以參與,為了獲得一個好的分數,你也可以再來一遍。要曉得這個測試不是為了對索引進行科學研究。然而,我認為結果仍可以給人一些啟示。
下面我對每個問題展示兩個不同的統計圖。第一,每個問題平均沒正確回答多少次。第二,對於MySQL, Oracle, PostgreSQL 和 SQL Server統計數據有什麼不同。也就是說,是否MySQL 使用者會比PostgreSQL 使用者更懂索引呢?我很幸運獲得這樣的統計數據,原因是不同的數據庫提供商有自己獨特的語法定義。像MySQL和PostgreSQL 中的 LIMIT  到了SQL Server中就成了 TOP。因此參與者開始時要選擇一種數據庫,問題是針對所選數據庫的。
問題一:WHERE語句中的函數
從性能上來看,下面的SQL語句是好的實踐嗎?
查詢出所有2012年的行:
1
2
3
4
5
CREATE INDEX tbl_idx ON tbl (date_column);
 
SELECT text, date_column
  FROM tbl
 WHERE TO_CHAR(date_column, 'YYYY') = '2012';
這個例子 SQL語句使用了Oracle和PostgreSQL  的特有函數,在MYSQL中這個問題就使用YEAR(date_column),在SQL SERVER中則為datepart(yyyy, date_column)。當然我可以使用EXTRACT(YEAR date_column),但我覺得還是使用通用一點的語法好一點。
參與者有兩個選項:
  •  好的實踐 ,沒有大的性能改進可以採用了
  •  壞的實踐,有大的性能改進可以採用
答案是「壞實踐」,原因是雖然在date_column上有索引,但 是在date_column字段上加了函數以後,索引就失效了。你如果不信,你可以看看一些可以證明我的結論的腳本和最後的解釋說明。詳細的解釋都在 Use The Index, Luke網站的相關頁面上。
如果你不知道在字段上加函數時怎麼吧索引的功能給抹殺了,很多人都和你一樣。只有2/3的人給出了正確答案。算上有些人選了兩次,有些人是蒙的。這樣說來差不多只有一半的人答對,無疑是很少的。我用下面這張圖強調一下
q3_tofefetal_20140212
這是我平時工作中最常見的一個問題,當你在VARCHAR 類型的字段上使用UPPERTRIM等函數時同樣會碰到這個問題。請記住,當你對WHERE語句中使用的字段加上函數的時候,它的索引功能就失去了作用。
儘管這個結果很令人失望——只比隨便碰對的概率高17%,但這都沒讓我感到驚奇。讓我驚奇的是在不同數據庫使用者中結果的不同。
          q1_bydb_20140212
實施上 MYSQL使用者只得到了55%的分數——就像純粹蒙一樣低。PostgreSQL 使用者卻獲得了83%的分數。
也許產生這個結果的原因是MYSQL不支持function-based indexes而Oracle 和 PostgreSQL支持。Function-based 索引允許你使用索引表達式像TO_CHAR(date_column, 『YYYY'),雖然對這個測試來說,這樣做不是推薦的解決方案。但僅僅是這個特性的存在讓Oracle 和 PostgreSQL使用者對這個問題更有意識。SQL Server提供了類似的特性,雖然不能直接使用索引表達式,但是你可以創建所謂的computed column,這個列是可以被索引的。
雖然以上可以解釋為什麼MySQL 使用者的效率比較低,但這不是藉口。不管支持function-based indexes與否,那個 query/index句子總之效率很低。很有效果的改進是不在索引字段上使用函數:
1
2
3
4
SELECT text, date_column
  FROM tbl
 WHERE date_column >= TO_DATE('2012-01-01', 'YYYY-MM-DD')
   AND date_column <  TO_DATE('2013-01-01', 'YYYY-MM-DD');
索引字段不必改變。這種解決方案很靈活,因為它支持廣泛的類型——星期或月份。這是我推薦的解決方案。
我很好奇,我想知道那些正確回答問題的人怎麼在function-based索引上考慮復合索引。我最好把這種回答認為是正確了一半。
問題二:索引過之後的TOP-N查詢
從性能上來看是好的實踐還是壞的實踐?
按時間遠近排行:
1
2
3
4
5
6
7
CREATE INDEX tbl_idx ON tbl (a, date_column);
 
SELECT id, a, date_column
  FROM tbl
 WHERE a = ?
 ORDER BY date_column DESC
 LIMIT 1;
注意,那個問號是個佔位符。因為我經常推薦開發者使用綁定變量。
參與者有兩個選項:
  •  好的實踐 ,沒有大的性能改進可以採用了
  •  壞的實踐,有大的性能改進可以採用
這個問題看著有性能危險,但其實不是。一般看來order by一定會對數據排序,然而這個索引,使你沒有沒有必要對整個數據集排序,所以它就像查詢唯一索引鍵一樣快。
正確率接近與 「隨便蒙」 ,我認為人們對這個問題基本上沒有概念。
             q2_total_20140212
這個結果讓人難以接受,  我看到人們平時建立緩存表,恰恰為了避免我們介紹這種查詢,經常被計劃任務填滿。有趣的是這種日常任務經常引起性能問題,因為它需要在很小的時間間隔內確認緩存表中是否存在新的數據。然而,正確的索引應該是你的第一選擇。
q2_bydb_20140212
這裡,我要提一下Oracle 數據庫使用者要特別注意一下這個技巧。到12c 版本的Oracle數據庫仍然沒有提供像LIMIT or TOP等便利的語法糖。你可以使用ROWNUM的偽式的數據列。
1
2
3
4
5
6
7
8
SELECT *
  FROM (
        SELECT id, date_column
          FROM tbl
         WHERE a = :a
         ORDER BY date_column DESC
       )
 WHERE rownum <= 1;
這個多餘的複雜度讓Oracle使用者得到了錯誤的結果,比「隨便蒙」對的概率還低。 
對於這個問題回饋的另一個爭論是如果包含ID列將允許 index-only scan, 儘管這是正確的,但我不認為不這樣做就是一個「壞實踐」。因為查詢的只有一行。index-only scan可以避免單表訪問,很多情況下你可以使用它提高性能,但一般情況下我認為這是一種過早優化,這是只是我的觀點。但這個爭論可以讓我們看到 PostgreSQL 使用者獲得最好的分數。PostgreSQL直到9.2版本才有index-only scans。在2012年九月才發佈這個特性。因此PostgreSQL 沒有掉入認為只有index-only scan才能提高性能的陷阱。
問題三:索引列的順序
從性能上來看是好的實踐還是壞的實踐
兩個查詢語句:
1
2
3
4
5
6
7
8
9
10
CREATE INDEX tbl_idx ON tbl (a, b);
 
SELECT id, a, b
  FROM tbl
 WHERE a = ?
   AND b = ?;
 
SELECT id, a, b
  FROM tbl
 WHERE b = ?;
參與者有兩個選項:
  •  好的實踐 ,沒有大的性能改進可以採用了
  •  壞的實踐,有大的性能改進可以採用
答案是壞實踐,因為第二個查詢語句沒有正確地使用索引。把索引列的順序改為(b, a)可以使兩個查詢語句都能使用索引從而獲得很高的性能。在b上再加一個索引,從而無緣無故的帶來了很大的性能開銷。不幸地是我看到很多人都這麼做。
結果是令人失望的,但是我已經猜到了。比「隨便蒙」只高12.5% 。
q3_tofefetal_20140212
這也是一個我每天都遇到的問題,人們就是不知道復合索引是怎麼工作的。
q2_bydb_20140212
不同數據庫的使用者的回答很接近,可能是因為(不同數據庫)沒有很大語法區別和的特性影響回答的結果。Oracle的不為人知的Skip Scan特性有很小的影響。通常來講index-only  scan 的意識可能有影響,但這次它的影響是讓參與者更有可能回答對問題。
總之,統計表明,一些數據庫的使用者比另一下更瞭解索引。有趣的是PostgreSQL 使用者第三次獲得最高分。
問題四:模糊查詢
從性能上來看是好的實踐還是壞的實踐?
查詢一個句子:
1
2
3
4
5
CREATE INDEX tbl_idx ON tbl (text);
 
SELECT id, text
  FROM tbl
 WHERE text LIKE '%TERM%';
我這次給出了不一樣的答案:
  • 銀彈 ,總是運行的很快
  • 噩夢,有性能危險
正確答案是噩夢因為匹配符中使用了前綴通配符,反之如果使用匹配符「TERM%」就會更有效率。大部分人都能回答對這個問題。我可以說大部分人還是知道LIKE 不是用來全文搜索的。
q4_total_20140212
這個與眾不同的結果各種數據庫使用者的正確率相差無幾。
q4_byergfewgfdb_20140212
這一次PostgreSQL 使用者不是那麼牛逼了。我們仔細審視一下PostgreSQL 面對的問題就知道為什麼了。
1
2
3
4
5
CREATE INDEX tbl_idx ON tbl (text varchar_pattern_ops);
 
SELECT id, text
  FROM tbl
 WHERE text LIKE '%TERM%';
注意我們對索引字段的補充修飾(varchar_pattern_ops),在PostgreSQL中這個操作符類使的索引對後綴通配符無效。我加 上這個是想知道人們是否意識到在模糊查詢是前綴通配符會帶來問題。沒有操作符類,它不工作有兩個原因:(1)前綴通配符;(2)沒有操作符類,我認為這是 顯然的。
問題五a  Index-only  scan
第五個問題有點棘手,因為在這個測試開始時,PostgresSQL不支持 index-only scans。 因此我稍微調整,兩組的這個問題不一樣。 MySQL, Oracle and SQL Server中是關於index-only  scan。另一個是針對PostgresSQL 使用者出的關於索引列的順序問題。我把結果都展示在這裡。先看關於index-only scans:的問題。
從第一個到第二個查詢性能會怎麼改變?
從一百萬行中選出一百行:
1
2
3
4
5
6
CREATE INDEX tab_idx ON tbl (a, date_column);
 
SELECT date_column, count(*)
  FROM tbl
 WHERE a = 123
 GROUP BY date_column;
從一百萬行中選出十行
1
2
3
4
5
SELECT date_column, count(*)
  FROM tbl
 WHERE a = 123
   AND b = 42
 GROUP BY date_column;
這個問題有點不同,因為我給了四個答案:
  • 查詢性能大體相同
  • 依賴數據的不同
  • 查詢會變很慢(影響>10%)
  • 查詢會變很快(影響>10%)
在我出這個測試的時候,我十分曉得五五分的答案沒有什麼意義,要在讓參與者快速抓住要點並回答和給出準確答案之間做權衡。
簡單來說,正確答案是查詢會變的很慢,因為原來的查詢使用了index-only scan,這個查詢只使用了索引中的數據就能給出答案而不需要到實際的表中獲取數據。第二個查詢需要檢查數據列B,而數據列B不在索引中,因此數據庫要花 費多餘的開銷到拿出候選的行來判斷是否符合條件,它要從表中取出100行,這正是第一個查詢中要返回的數據行數。因為有group by操作,估計要取出更多的數據行,會使查詢變的很慢。
因為有多個選項,總體分數明顯下降,掉到了比「隨便蒙」低39% or 14%。
q2_bydb_20140212
我會說有39%的參與者知道正確答案這個結論是錯誤的,它們雖然給出了正確答案,但是我估計有25% 的人是蒙的。
分開各種數據庫使用者後,結果更是無聊。
q5_by3db_20140212
但是,我們仍然要看一下人們是怎麼回答的:
q5_byanswer_20140212
我非常吃驚,「大體相同」 和 「依賴具體的數據」這兩個選項都獲得了25%的選擇——它們可能都是猜的。這是否表明一半的參與者只是在胡亂猜。還是因為這是最後一個問題,很多人都想快 點做完看看答案,恩,很有可能。然而正確答案「會變的很慢」獲得了38.8%的選擇,導致只有10.9%的人選擇「會變的很快」選項。
我的本意是把人誤導選擇「會變的很快」,因為後者數據量更少——只有使用了index-only scan的情況下會變得不同,但是我假設我得到這個結果是因為人們通常會認為很明顯的答案肯定是錯的。這樣的話,我想驗證多少人會知道index- only scan的本意根本沒有得到證明。
問題5b:索引列順序和範圍操作符
這個問題只是給PostgreSQL 使用者的。
從性能上來看是好的實踐還是壞的實踐?
查詢狀態的X並且不超過五年的實體。
1
2
3
4
5
6
7
8
CREATE INDEX tbl_idx ON tbl (date_column, state);
 
SELECT id, date_column, state
  FROM tbl
 WHERE date_column >= CURRENT_DATE - INTERVAL '5' YEAR
   AND state = 'X';
 
(365 rows)
數據分佈如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT count(*)
  FROM tbl
 WHERE date_column >= CURRENT_DATE - INTERVAL '5' YEAR;
 
 count
-------
  1826
 
SELECT count(*)
  FROM tbl
 WHERE state = 'X';
 
 count
-------
 10000
參與者有兩個選項:
  •  好的實踐 ,沒有大的性能改進可以採用了。
  •  壞的實踐,有大的性能改進可以採用。
正確答案是「壞實踐」,因為索引的數據列的順序不對。通常的索引列排序是規律是,如果等號運算符放在左邊就經常有很高的性能,過濾之後,再使用範圍操作符也很有效率。然而,如果範圍操作符放在左邊,就會喪失索引的好處,之後的的索引列也不能高效率的使用。
像以上沒有修改的查詢語句,我們要在索引中找出1826個實體(它們都符合date_column 列的過濾),然後對它們進行state 列過濾。如果過濾順序改變一下,數據庫就使得兩次過濾都很有效,直接把要過濾的行數限制在了365 行內。
人們是這樣回答的:
 q2_bydb_20140212
等一下,竟然比隨便猜猜的正確概率還低,人們不僅對次沒有意識,而且大多數人都有了錯誤的理解。然而我得承認這個」大多數「是有水分的。當我運行這個例子時,快的不只是一倍,竟然加速了70%。
總體分數:多少人通過了測試?
單獨看每個例子很有趣,但是那不能讓你知道有多少人答對了5個題目,下面的圖可以告訴你。
correct_answers_given
最後,我想把這張圖歸結為一個數字:到底多少人通過了測試?
考慮到只有五個問題,並且每個問題只有兩個選項,公平的說,我想答對三個不足以說明你通過了測試,答對五個又明顯要求過高。答對四個通過測試,我覺得這樣界定是很明智的。使用這個定義,38.2%通過了測試。多說一句,隨便猜通過的概率為12.5%。

原文鏈接: MarkusWinand   翻譯: 伯樂在線 - sunbiaobiao
譯文鏈接: http://blog.jobbole.com/60800/
[ 轉載必須在正文中標註並保留原文鏈接、譯文鏈接和譯者等信息。]

拒絕虛假國運昌隆,追求真軍民主自由: 地方政治的權力結構(四)國民兩黨與地方政治集團




可以一次看個夠:

http://ajin2050.blogspot.com/2014/06/blog-post_7447.html





拒絕虛假國運昌隆,追求真軍民主自由: 地方政治的權力結構(四)國民兩黨與地方政治集團: (作者:南寺拳人) 第四篇主要談政黨與地方政治集團的關係,第一部分談兩黨與地方政治集團的關係;第二部分談兩黨各自的組成以及選舉操作;第三部分討論國民黨為何體制內無敵的原因。





==================完整文章分隔===================================



地方政治的權力結構  (一)

從彰化縣的大姓氏族出發           / 作者:南寺拳人
這篇文章想從地方政治出發,解釋整個地方政治集團的運作,以及它跟中央政府的關係等等。通篇不談民主、道德、法治,並非我不認同這些理念,而是大部分的人重視利益重於這些理念,所以我就來談權力、權利、利益,讓群眾可以瞭解這些運作,進而做出符合自己利益的行為。

一部分先淺談彰化的地方政治,第二個部分地方政治的利益分配,第三個再談彰化縣的藍綠分佈。之所以舉彰化縣為例,是因為彰化縣有一個非常有趣的特色,地方
鄉鎮有很明顯得大姓群居聚落,有一句地方諺語這麼說:鹿港死(施)一半、北鬥倒(卓)一半、社頭瘋(蕭)一半、大村爛(賴)一半。意思就是說,在鹿港地
區,有一半的人姓施,北鬥一半姓卓。除了這些最典型的大姓外,員林也有很大部分的人姓張,伸港姓柯等。

然行政區域不是很嚴格的區分,比如說姓施的也有一些分佈到鹿港旁邊的伸港,北斗旁邊的田中也很多人姓卓,員林也有很多人姓蕭、賴。所以在上述地區可以發現
一個情況,你在北斗念國中,可能班上有一半的人姓卓,而且這些姓卓的人多多少少都有親戚關係,只是可能牽的非常非常遠。

較於都市地區,中南部地方的居民彼此非常熟悉。在村子裡大致上都知道你的爸媽是什麼人,即使不熟也都有耳聞。而彰化的大姓分佈更顯示一個事實,就是地方上
的人關係非常緊密,而且相較於其他地區,外來移入的人口比較少。在北斗鎮,很多人都姓卓,可能都有親戚關係,大家往來就密切,關係就會好。即使你不是姓卓
的,你從小身邊的人都是姓卓的,你有可能跟姓卓的關係不好嗎?不可能。就算你不姓卓,你鄰居就是姓卓,你親戚也可能跟姓卓的通婚,大家都在這個卓姓的網絡
裡。
這樣的姓氏並不是高貴的象徵,而是代表一個非常緊密的網絡,地方上的每個人關係很緊密,就會因此影響到政治。所以這些人在地方政治就扮演很重要的角色,如果你想要競選鄉鎮長,光是這群大姓的支持你,你就差不多當選了,如果你要選縣長,你就要同時獲得很多地區的支持。

舉個例子來說,如果今天諸葛亮想到北斗選鎮長,他可能就會找卓爺爺幫忙,卓爺爺要是覺得這個人還算可靠,當選了之後對我們地方上的人也有好處,就會答應幫
忙。如何幫忙呢?就由卓爺爺開始,往旁邊的卓叔公、卓伯公等聯絡,往下卓爸爸、卓伯伯、卓叔叔,鄰居黃伯伯、張叔叔等,當然這個網絡非常密集,絕對不是上
面說的十來人,一掛少說就是幾百幾千人。
試想,一個鄉鎮不過35萬人,你只要拿個12萬票就能當選,你需要攏絡幾個這樣的網絡?保守估計大約35個就能讓你篤定當選。有些地方你只有攏絡1個就包你當選。之後我會在用更詳細的數字來分析。

二個部分談到利益分配,從上述的地方政治也有相關,為什麼這群人會幫你,肯幫你,當然是你當選之後我們有利可圖。比較善良的老百姓,可能不會想要你真的掏
出錢給他,他投給你就是買個保險,萬一我出事了,打個電話給卓爺爺,或是村里長,他們就能幫我打電話給諸葛亮,然後諸葛亮就幫我擺平這些雜事。比如果我家
巷口的大馬路要鋪柏油,可是我家巷子都是石子路,可不可以拜託鎮長順便幫我鋪個柏油呢?我家的孩子要上國中了,不想進入放牛班,可不可以安排一下?哪有什
麼問題,一通電話馬上解決。
這個就是俗稱的地方選民服務。舉凡生活大小事,大概都能解決,一般老百姓的要求也都不會是太過分的,抽酒駕罰單這種在現在已經有點嚴重了,基本上比較難,不過要是你夠力,找到卓爺爺、卓叔公、卓伯公、連帶叔叔伯伯一大掛幫你打電話,當然也是可能的事情。

其他人怎麼分到錢呢?先從合法地談起,鎮公所辦公室一定會有固定的開銷,需要買文具、辦公桌椅等,如果卓伯伯就是在鎮上經營傢俱行,諸葛亮絕對不會蠢到向
鹿港的施伯伯買傢俱,這基本上就是低能兒的行為。這個報價如果在合理的範圍內,這樣的獲利基本上還是合法,而且一定金額底下,是不需要經過公開招標等程
式,所以要讓大家分錢,其實是很簡單的事情。
如果錢多一點,或是想要邪惡一點怎麼辦?最基本的就是包工程。例如鎮上排水溝要重新施工,發包金額300萬好了,那諸葛亮一定發給卓叔叔做,絕對不會給施叔叔做。
這個時候有點腦袋的人就會想了,難道不用投標什麼的嗎?這個答案很簡單,卓叔叔名下可能有3間公司,或是這3間公司都在卓叔叔的勢力下,鎮公所在發佈訊息時,也可能透過各種手段,讓其他廠商無法得知,就由這3間自己人競標。就算有外人來也不怕啦,文明一點的手段就打個電話勸退就好,熱鬧一點就請宮廟裡的卓大哥出現,帶著卓小弟、卓二弟等人到外人家泡泡茶聊聊天大概就解決了。
如果有點非法的手段,大概就是在鎮公所就把這個預算報高一點,預算估計300萬,不過行家來看,可能150萬元內就能做完還有合理利潤,這個時候多出來的150萬就是大家來分啦,基本上就我所知,繳稅一定是3成起跳啦,所以諸葛亮拿個90不為過,剩下就是卓叔叔自己分,可能要分個幾萬給卓大哥跟卓小弟等等。
風評好的地方首長,大概就是抽稅比較低,或是懂得做人,會買大送小,你包個300萬的工程,也許我下次送你一個公廁水管改善工程10萬元。
另外就是炒地皮跟農漁會,將農地變更成建地,卓爺爺名下的農地本來13萬,變成建地10
起跳,大家也賺的到錢,賺到錢再繳點稅給諸葛亮就好。不過較常見的是諸葛亮有自己的集團,四處收購農地,然後再直接變更地目,這樣獲利更可觀。農林漁會也
是地方政治的重要一環,基本上就是提款機,找人頭用低價值的不動產擔保高額借款,到時候還不出錢就是呆帳,就算上法院也沒有用,因為人頭名下大概也沒有資
產可以償債。

以農林漁會的主席、理事長非常重要,雖然農林漁會也是金融業,但是你有看過這些主席、理事長是財金相關科系畢業的嗎?只要關係夠好,依循上述的模式找人相
挺,就可以當選。這群人關係的緊密,不只是和鎮長諸葛亮有關而已,因為大家都是自己人,所以卓爺爺要買傢俱,一定也是像卓伯伯買,想蓋房子,一定也是找卓
叔叔,每個人都經營各行各業,大家互通有無,維持緊密的關係,同時又透過鎮長跟政治沾一點邊,撈一點油水。這個就是典型的地方政治。所以說,地方政治的利
益,絕對不是只有政府預算跟公帑而已。

外還有一件很重要的利益分配的事情,就是買票。大家可以先不要把買票想的那麼壞,基本上在地方上有買票的,其實才會有好風評,諸葛亮想要競選鎮長,要是拿
一筆錢出來,最好說服群眾,要連任的時候,再拿出錢,大家更高興,大家就會知道這個諸葛亮懂得做人,不會自己賺自己的。
那一定有很多人說為什麼我從來沒被買過票呢?原因很簡單啊,買票又不是房仲到路口發傳單就好,如果你沒有上面的緊密網絡關係,基本上大家是不會把錢分給你的,所以我簡單歸納幾個可能:1.你們家跟地方上的人關係不夠好,不在網絡內,跟你買票太危險2.你們家有很明顯的政治立場或是非常正義,買票沒用3.你們家太乖了,沒買票也不會靠杯,沒買票就會自己乖乖投票給諸葛亮4.你爸媽把你的份收起來沒給你
地方政治就是這麼一回事,每個人都身陷其中,也都有拿到錢,也都有受到幫忙,無論是合法或是非法的,所以沒有人會想要破壞這個局。
如果你問我這樣子的社會好不好,我不敢跟你說好或不好,我只會跟你說,彰化縣20年來沒有什麼改變,也許是因為沒有心建設吧。但是我也可以跟你說,地方上的人,很多都有受到照顧,而且這樣的結構,其實還是會限制政治人物,不要做出太誇張的事情,大家都只想好好生活賺點錢,所以基本上撈錢有個限度,基本上不會想要搞出人命或是弄得很不愉快。

看彰化縣的新聞,比較不會有政府逼迫人民自殺的情況,關鍵就在這邊。最後我們來談藍綠,看完上面說的,基本上彰化沒有很明顯的藍綠,簡單說就是誰能討好地
方上的人,誰就能執政,民進黨也執政過幾年,做得怎樣大家心裡有數,地方上的人到底滿不滿意?你看他有沒有連任就知道。即便卓爺爺每天抱怨國民黨、抱怨馬
英九,只要諸葛亮能夠討好卓爺爺,選舉的時候卓爺爺還是會投給國民黨籍的諸葛亮。這個跟大部分人的藍綠想像是有很大差距的。

實不只是彰化,全國各地地方政治大概不出脫這個模式,只是彰化的大姓非常明顯,所以比較容易理解,其他地方一樣是找自己人,有自己的成員跟集團,然後循著
這樣的模式營利。之後我會再分析其他類型的政治集團,以及其規模與選舉運作等。也許有人覺得這樣的模式很自私很腐敗,但是在我看來,我還能理解這群人在想
什麼,至少我有拿到錢啊。我怎樣都想不透的,就是某些斯德哥爾摩症候群的人,每年每天都被強姦,投票日還是跟喪屍一樣淚投
XXX,然後上網一直護航,我很想問一句,你到底是包了多少工程,還是有拿到多少錢?
----------------------------------------------
註:有人提到北斗鎮卓姓比例不如鹿港、社頭、大村的大姓誇張。的確如此,但是本文想強調的是從大姓觀察地方政集團的存在,並非單純強調人數。如果讀者真的很介意的話,把北斗鎮代換成大村鄉,卓姓代換成賴姓即可。北斗鎮與大村鄉人口相差不遠,整體權力結構並無差別。
-----------------------------------------------
地方政治的權力結構(二)地方政治集團的規模與選舉運作
(作者:南寺拳人)





承續前文,這篇文章分成三個部分:第一個部分講為什麼以大姓為特色的地方政治集團會存在彰化地區;第二個部分講其他類型的地方政治集團;第三個部分講地方政治集團的規模以及選舉的操作。

然我以地方大姓為出發點,討論地方政治集團,但我的本意並不是要強調這些大姓有多少人,只是藉由這些大姓凸顯出地方政治集團的確存在,關鍵就在於以「卓」
姓為符號的權力結構。意思就是說,全台灣、甚至連對岸的中國,都有這樣的地方權利結構,就是地方上的一群人,組成一個接近各行各業都有的群體,然後互通有
無,也在政治上互相結盟。
以彰化為例子的好處是,因為這些權力結構以大姓為代表性,而且可以很簡單的用親戚關係去聯想,一般人就很容易理解這樣的權力結構。




舉例來說,雲林嘉義地區可能沒有像彰化地區有這樣明顯的大姓分佈,但是他們也有自己的地方勢力,這些地方勢力可能是鄰居,就算不同姓也可能通婚有親戚關係,或是從小是同學生活在一起等,但是關鍵的地方就在於關係很緊密,組成一個網絡。

如劉備雖然是蜀帝,但是這個集團裡面有張飛、關羽、趙雲、諸葛亮、黃忠等人,他們每個人雖然都不同姓,但是他們彼此之間可能是好朋友,可能有通婚,或是因
為利益而組成同一陣線。結論就是這群人屬於同一個政治集團,這樣的集團可能只看得到上面領頭的人,但是實際上下面卻有數千數萬人集合組成。
這個就是我要強調的地方政治勢力,看地方政治,一定要知道除了上面的政治明星外,下面有成千上萬的人組成一個集團在支持他。
彰化的特色在於這樣的地方政治勢力,往往是同姓,所以各位板友就更容易理解我在強調的地方政治集團的確存在。而相較於其他縣市或其他地方,為何麼這樣的大姓還會存在,我自己觀察有以下幾個原因,如果有板友有其他更學術或精闢的意見,也歡迎指正。
維持大姓的存在,代表外人移入不多,本地人就算外地求學後,回來的比例也高,這代表必須要有一個完整的生活圈,同時這個地方不可以富裕,也不可乙太貧窮,不可乙太都市,也不可乙太鄉下。簡單來講,就是沒有太強的拉力吸引外人,也沒有太強的推力流失本地人。

歷史的角度來看,這些大姓的存在跟清朝時期的移民開墾有關,定居之後,漢人的通婚是女方嫁入男方家,兒女從父姓,當然就開始發展出同姓的聚落。為什麼一兩
百年後這樣的大姓仍然存在?因為彰化在清朝時期就很繁榮,而民國之後,中部地區的發展,又以台中為中心,發展出中彰投的共同生活圈,彰化因此沒有高度都市
化。拜中彰投地區生活與交通還算便利,所以也沒有太多推力將彰化人推出彰化。簡單來講就是彰化地區沒有很都市也沒有很鄉下,所以還活得下去,外人不會想移
入,本地人回來也還過得去。
這就是為什麼台中、板橋本來有也有林姓大家族,但在都市化的過程中,有太多外來人口移入,所以稀釋了這樣的大姓分佈。而其他地區,則可能因為太過偏僻或發展不良,而導致人口大量外移,而讓原本的大姓家族慢慢消失。

以彰化人活在彰化地區,找工作也沒什麼問題,到台中、南投也有工作,交通通勤時間也不算久,平常市區大概可以滿足所有生活必需,真的想逛街或高階消費,再
到台中就可以了,也沒有必要移居台中。當然南彰化是例外,特別是大城芳苑等地區;非常有錢的人也是例外,就直接搬到台中市。
彰濱工業區也沒有吸引很多高階人才移入,彰化也沒有很大型觀光景點,更沒有大型中央政府機關,當然不會吸引太多外地人移居,這幾年越來越多的外勞當然不算是外地人移居。
不然你問問你身邊的朋友,北部人就會問你彰化是不是只有田?中部人不是想進台中市,不然就想進山區的南投或苗栗隱居,至於南部人也不會把彰化放在選項裡。你就知道回彰化的,只有土生土長的彰化人,真正移入彰化的非常非常少。

下來我們談到第二個部分,就是其他類型的政治集團的存在。我一直強調的重點:「每個地方都有地方政治集團,只是彰化地區有大姓家族特別具有代表性,也特別
容易理解。」所以除了這種以姓氏為特色的地方政治集團之外,還存在其他類型的政治集團。鄉下地方的人口組成較單純,地方政治集團相對單純,但是都市地方的
人口組成較為複雜,當然也存在各式各樣的地方政治集團。
其他類型政治集團的存在,簡單來講可以分成兩類:第一類就是有一個強而有力的領導人物,他後面有一群人跟隨。第二類則是一群有共通利益的人所組成的團體。
第一類最典型的就是「更生人」,更生人服刑完重新進入社會,我個人當然鼓勵社會大眾接受他們,不過有些更生人因為朋友很多,人脈很廣,或是從事比較有影響力的行業,當然會有自己的政治集團。從臺北的羅某某、台中的顏某某、彰化的蕭某某,都是屬於此類。

外就是政治世家。試想諸葛亮在北斗鎮當上鎮長後,他自己開始培養自己的政治集團,他的兒子諸葛瞻一定會繼續承繼這個政治集團,儘管一開始成立的原因有可能
是氏族、更生人、地域、行業等原因而組成,久了之後仍然會繼續存在,甚至轉變成以諸葛為代表的政治集團。甚至連原本不屬於本地的諸葛瞻都有可能攀附過來,
更可能連孫子諸葛尚都會繼續承繼。到最後說不定連豬哥亮都能沾上一點邊。
彰化政治世家就是看議長就對了,白姓家族、謝姓家族為代表。老一輩的人也許知道員林黃家等。甚至連遊月霞都可以推自己的兒子出來競選,大概都是同一模式,只是歷史悠久勢力大的上位人就多,根基也穩,不然很可能一兩次落選就整個沒落。
這裡的政治世家跟我一開始說的大姓氏族不太一樣,是兩個不一樣的概念,當然可能重疊,但是背後的成因不同。前者是因為握有政治權力,培養出長期支持的群眾,進而長期握有政治實力;後者則是一群人同姓的人組成政治集團,藉此影響選舉結果以獲得利益。
最後工商業領袖也可能成立自己的政治集團,只是工商業領袖在政治圈多比較低調,一般民眾比較不容易觀察發現,這些工商業領就是家大業大,所以認識的人多,自然也有一定的動員能力。其實簡單講就是你認識的人夠多,你人脈夠廣能夠找人投票,你就有能力組織一個政治集團。

個工商業領袖雖然也可以組織地方政治集團,但是這個地方政治集團的本質並不是為政治存在,純粹就是生意人需要很多人脈,或是很多人交遊廣闊,但是在選舉時
利用這樣的關係而已。例如不是彰化人的鴻海郭董,還有演藝圈的幹鞋哥等。這裡我附帶說明,工商業領袖在鄉鎮長選舉的時候影響力比較小,但是在大型的總統選
舉時影響力就比較大了。而它們的影響力又跟傳統的地方政治集團不一樣,除了鞏固集團內的票之外,也會影響到集團外的票。這我後面也會詳細說明。
第二類就是各職業工會、教師工會、農會、甚至國中小家長會等。也許關係緊密程度不若上述各集團,但是只要有聯絡,還是可以鞏固到這裡的票源。也許地方氏族或更生人組織有89成動員力,這類型雖較弱但也可能有6成。各位不要以為這個6成很弱,這個是指我確定可以拿到的票數。也就是說1000個人裡面我已經確定600個人會投我了,剩下400個難道就不會有人投給我嗎?1萬票就能當選的鎮長,選舉一開始就6000,難道不威猛嗎?

以從彰化市來看,彰化市沒有很明顯的大姓存在。但是彰化市絕對存在上面講的地方政治集團。只是北斗鎮比較單純,所以很容易理解,我只要攏絡這些大姓家族,
我就能當選。彰化市的玩法一樣,對象不太一樣,玩法稍微複雜一點。彰化市也有大家族,只是這個集團就比較小,所以我要攏絡很多小型的大家族。接下來是更生
人組織、還有政治世家、工商業領袖、職業工會等等。鄉下地方這類型的團體比較大但比較少,越往都市,團體比較小但數量就比較多。但都是同一個玩法。
比較小型的政治集團,也許集團內沒有完整的經濟結構,沒有各行各業的經營,在當選後也許不能夠包工程或是賺大錢,但是他還是能夠動員一定的人數來投票,也就是俗稱的樁腳,樁腳可以告訴你,我可以動員多少人,你要給我什麼利益,我保證給你多少票,這個就是最小型的政治集團。
結論就是,在地方政治中,有大型的政治集團,內部有完整的經濟結構,也有小型的樁腳,他們共同的特色就是可以決定一群人要投票投給誰。
到此一定會有些人開始無法理解,既然要攏絡這麼多團體,那豈不是無差別開砲,直接向全民拜票?而且人數這麼少,怎麼可能保證當選?接下來就透過數字的分析,你就可以理解這影響力有多大。
第三個部分我們開始談這些集團的規模以及如何操作選舉。
北斗鎮人口33千多人,扣掉無選舉權的,以及大約7成的人去投票來計算,全部大概有18千票,也就是說你拿9000票就篤定當選。
卓爺爺要是能動員1000票,實際上就超級威猛了。如果卓叔公、卓伯公也各自動員1000票,諸葛亮先拿3000票,幾乎篤定當選。為什麼這麼說?
首先必須認識,地方派系雖然重要,但不是所有的人都在這個集團裡。在地方政治集團以外的人,我稱之為外圍遊離選票,也就是18000扣掉3000人的15000人,大部分人屬於此,特別是年輕人,或者是單純的上班族等等。這群人在政治上並沒有特定的組織或集團,也不太會有人能夠動員他們,因為他們平常大多不關心政治,就算有不滿,也不會因此投靠某一地方集團。頂多就只有藍綠色彩。
舉例來說,諸葛亮跟郭嘉在競選北斗鎮長時,兩個人如果沒有特別的醜聞或負面息,兩個人在外圍遊離選票的得票比例是一定是差不多的,因為諸葛亮跟郭嘉都會有廣告,也會有宣傳車,政見大概也差不多,也都會到菜市場拉票,只要諸葛亮不要太蠢,不要做錯事,跟郭嘉各拿5成應該不是問題。就算有人嫌諸葛亮老婆太醜,或是諸葛亮顏色不對,或是諸葛亮有得罪人,這些人絕對只是個體,幾十人幾百人。了不起就是差個1000票,大概是80007000,只要外圍遊離選票不要超過6成投給郭嘉,諸葛亮還是穩穩上。怎樣會超過6成?就是國民黨在台南的情況啦,那基本上已經是輸到脫褲子的比例,也就是諸葛亮要在菜市場每天罵三字經,才有可能讓那麼多外圍的人投給郭嘉啦,或是兩個人的能力形象差距太大,比如說找劉禪出來跟郭嘉競選,但是你想,這可能嗎?
也就是說,如果諸葛亮有動員這些地方勢力,一開局就是30000,剩下只要再拿6000票,也就是不要輸到脫褲子,保證穩穩當選北斗鎮長,這個就是我說的:「只要你掌控地方政治集團,掌控各地樁腳,你幾乎篤定當選。」
當然實際上的情況不會這麼一面倒,郭嘉也會去攏絡卓奶奶、卓嬸嬸、卓婆婆,各自大概也動員1000人。但是選舉的大概結果就是,只要誰能夠掌控比較多地方政治集團的票,誰就能夠當選?
也就是說,地方政治集團不一定是整體選舉人的多數,但是因為外圍的遊離選票,大致上會呈現55
的分佈,這個就是為什麼候選人動員了地方政治集團之後,還是需要每天打廣告,每天掃街拜票,甚至要提出好看的政見,打扮的清新脫俗,並且謝絕所有醜聞。因
為這是做給外圍的遊離選票看的,這樣做並不是要在外圍獲得大幅度的領先,而是確保我在外圍遊離區不要輸太多,然後我的地方政治集團的票就可以保證我當選。
當然,外圍遊離選票不會是單純的55波,比如說你在台南掛民進黨籍,也許就會從55趴起跳,長得比較帥,可能從51趴起跳;學歷好,就從51趴起跳。但是這些外圍遊離選票的差距通常都不會太大。所以說,只要我控制地方政治集團,我就可以當選。
越鄉下地方,村民生活越緊密,地方政治集團重要性越強,外圍遊離選票越少。因此鄉鎮長的地方勢力重要性,自然也會大過縣長、總統選舉。
所以回到彰化市來說,彰化市有23萬人,一樣有各式各樣的政治集團,只是沒有大姓那麼明顯易觀察,這些人總括加起來也許只有12萬人,但是只要外圍不要輸太慘,我攏絡這些集團後,一樣可以當選彰化市長。除了彰化市之外,全國各地都是這樣子玩的。
那卓爺爺集團裡的1000人怎麼瓜分這些利益呢?大約980人以上是屬於前篇買保險的選舉人,也就是說可能沒有做到生意,但是出事找的到人幫忙,或是買票的時候分的到錢。剩下的20個人大約是可以做到生意賺錢的人。至於外圍那15000人,是沒有任何利益的,而且必須在四、五月的時候乖乖到稅捐機關繳稅。
上面講的數字部分或許不精確,但是我想歸納幾個重點:
1. 地方上有各式各樣的地方政治集團存在,大至氏族,小至國中小同學。
2. 諸葛亮會攏絡這樣的政治集團,確保可以篤定拿到的選票。
3. 其他多數人雖然屬於外圍遊離選票,外圍遊離選票原則上不會有太大差距。
4. 只要前面2+3大於50趴,諸葛亮就可以當選。
5. 當選後,只有少數人獲得利益,更只有頂端的人有辦法獲得大規模利益。
6. 不只彰化縣,全台灣都是這樣玩的,差距不大。
從以上的結論,可以理解彰化市,或是全國其他鄉鎮的運作模式。彰化市雖然沒有大姓,但是仍然有地方政治集團,而且彰化市跟北斗鎮的運作模式並沒有太大差別,只是複雜一點而已。
接下來我們會談到如何控制外圍遊離選票,以及中央政府與地方政治集團的關係。
地方政治的權力結構(三)地方政治集團、中央政府、外圍遊離選票
(作者:南寺拳人)



這篇第一部分談地方跟中央的關係,第二個部分談外圍遊離選票如何控制,第三個部分談外圍遊離選票跟地方政治集團的拉扯與互動。
地方跟中央的關係,北斗鎮公所對彰化縣政府的架構,大概跟彰化縣政府與內政部、行政院的架構差不多。北斗鎮光靠鎮預算絕對吃不飽,預算再多也不會滿足。所以就會希望縣政府編列一筆建設預算在北斗鎮,這樣北斗鎮可以營利,彰化縣政府也可以營利。
相同的道理,彰化縣政府一樣會把頭腦動到中央政府身上,如果今天中央政府,能夠編列一個大型的開發或建設案,地方政府就能夠因為協助執行而獲得利益,例如國道三號增建、工業區的增設、以及最近彰化人最有感覺的鐵路高架化。
跟中央政府玩的好處是,這些大型建設案的預算都非常驚人,加上中央政府具強大舉債能力,光想像就讓人垂涎三尺。當然扯到中央政府,繳稅的層級就會再拉高,從原本的鎮長、縣長,拉到內政部長、行政院秘書長、行政院長等等。

只是這樣行政權的執行而已,今天服貿或是貨貿決定要開放那些產業,那些產業等於在台灣被放棄,地方上的同業公會當然也可能對中央政府施壓、疏通。或者卓爺
爺在彰化有經營老人安養院,也可能對立法院疏通,放寬老人安養院的管制規定,放寬外勞的輸入數量以及限制外勞基本薪資等。這也可以解釋,為什麼每次自由經
濟開放中,犧牲的大多是農業,不見得我國農業落後或是不重要,而是這整個權利結構裡,沒有人是農民。
甚至連中央政府的閣員,很多時候都必須從地方上遴選,才能夠滿足地方政治集團。一來這些人入閣之後,可以確保自己人在中央有足夠的影響力,二來地方上的人也可能因為入閣,而取得挑戰更高位的機會。所以中央就可能找台中人當內政部長(廖了以),高雄人當行政院秘書長(林益世)等。
當然啦,如果中央跟地方要有這樣的權利結構,最基本的前提就是良的好關係,例如同一個黨派,或是閣員即是我們地方政治集團升上去的。假設中央政府今天決定幫台積電擴廠,成立新的工業園區。在其他條件都相同的情況下,他會選擇跟我同黨派的彰化縣?還是跟我不同黨派的雲林縣?
在上述的背景下,中央政府很多地方受到地方政府或是地方政治集團的箝制,不太可能完全忽略地方的意見而恣意妄為。雖然這是一種變相的民主制度,但也是理想主義著改革困難所在,一旦提到改革,永遠有一大票既得利益者反對,而且這些反對者勢力非常龐大。
對中央政府來講,這樣的權利結構有什麼好處?當然有,中央一定要透過地方才有辦法收稅;穩固地方的政治集團,這些人也才不會向中央鬧事,也可以維持中央政權的穩定性;另外就是選舉時,地方政治集團才能夠給我支援。

方小型選舉,這些地方政治集團就越重要,因為很容易就可以在票數上取得優勢。但是越大型的選舉,就會涵蓋更多地方政治集團,他們彼此之間的影響力就可能因
為立場不同而被稀釋中和。外圍遊離選票越多,變數就越大,地方政治集團的影響力就會稍微減小。雖然如此,但是絕對沒有人會放棄這些穩定的地方政治集團選
票,而且攏絡了這些地方政治集團,也會連帶影響外圍遊離選票,這個我後面說明。
那要是中央政府不太想理會地方政治集團,不想受到他們的箝制,想要做點自己想做的事情怎麼辦?簡單來講就是重新培養一批不受舊勢力拘束的人,第一類就是學者教授出身的,學經歷比較好看,通常可以獨當一面掌控大權(江宜樺);第二類就是從黨內的青年軍出身的,學經歷比較不足,就從發言人的角色幹起(李佳霏)。第三類就是自己的親朋好友學長姐學弟妹、密友,也可能因此升上高位(羅瑩雪、金小刀)

個時候地方政治集團勢必與中央政府發生衝突,大部分都在檯面下難以發現,但最典型的就是從立法院杯葛,讓中央政府的行政無法順利執行。中央政府一旦反擊,
就決定衝突會愈趨激烈。這樣的故事似乎有些熟悉,也因此有人會認為,張慶忠也許沒有那麼笨,學運的爆發也許是在某些人的預料內,而且默默支持學運的絕對不
是民進黨;馬王政爭也是一種地方跟中央的鬥爭。
如果中央政府的心力都放在統一,沒有想要跟地方溝通、合作,就會發生上面的問題。而且兩岸統一對地方政治集團絕對不是好事。光是外面空降一個老大哥進來中央政府,然後地方政治集團對中央的影響力可能就會降低,更何況制度或經濟的改變,對地方政治集團都是衝擊。
聰明一點的地方政治集團也許會預料到兩岸局勢的發展,所以可能把部分經濟移往大陸或海外,在兩岸統一時獲利而支持統一。但是這些絕對是少數,要記住地方政治集團的關鍵在控制一定選票,以及具一定經濟結構,所以絕大部分的地方政治集團都需要在本地生存生活。
簡單來講,兩岸關係太過急遽的變化,對地方政治集團是個隱憂。在對中國沒有高度信任,以及關係沒有疏通前,貿然的統一對地方政治集團非常危險。

二個部分談外圍遊離選票的控制。簡單來說就是我要怎麼欺騙這些「外行人」,大部分的民眾根本就不認識這些候選人,了不起就是掃街拜票的時候握個手打個招
呼,很難真正瞭解候選人私下的言行。大部分就是拿到選舉公報或選票時,看看名字跟照片,看看學經歷、黨派、政見就蓋下去了。
所以說長得帥的加分、男性通常比女性加分、學經歷好的加分、黨派看地區加分、新聞媒體常露面的加分。
那要如何控制這些外圍遊離選票,最基本的就是廣告要打,先讓人認識你;要掃街拜票,跟每個人握握手,很多人就會因為跟你握過手,覺得你很親切,就投給你;越大型的選舉,越需要好看的學經歷,台大畢業、博士學歷,這些都是基本要求。
另外有兩點比較重要的要再說明,一是地方政治集團的影響,二是藍綠黨派。

果地方政治集團支持諸葛亮,這個時候他們就會盡力影響這些外圍選票。小的從菜市場聊天跟你說諸葛亮不錯,可以信賴可以投給他。大一點就幫忙舉辦造勢晚會。
之前講的政商領袖的支持,也會在此發生巨大的影響,今天郭台銘公開支持諸葛亮,絕對會讓某些郭粉或是崇尚企業領袖的民眾投給諸葛亮。如果有地方政治集團握
有媒體,利用媒體優勢一樣可以影響外圍遊離選票,媒體影響力之鉅,不需多說。
二是藍綠黨派。要知道國外也有類似兩黨對立的情況,但是國外的兩黨對立,往往是左派與右派,或是保守派與自由派這樣涇渭分明的對立,但是我國的藍綠兩黨,其主張或有不同,但絕對不足造成明顯的對立與大眾的死忠支持。所以我說藍綠在我國是假議題,是政治人物營造出來的對立。

討論地方政治集團的藍綠,比較沒有意義,藍綠只存在外圍遊離選票。因為地方政治集團,他們決定支持誰,往往只看幾個原因:你會不會當選、你給我多少好處、
我的對手支持誰。你是國民黨或民進黨,他們根本不在意,因為它們要的只有利益。至於大部分的地方政治集團都是支持國民黨,則有另外深層的原因,會在以後說
明。
看看2000年後,多少政治人物倒戈民進黨、親民黨,2006年後,又多少人轉回國民黨就可以知道。
對地方政治集團來說,最理想的地方就是藍綠各半的地方,因為他們可以發揮最大的影響力。太藍或太綠,誰當選都太篤定,候選人就不太需要攏絡他們,他們的利益就會減少。當然有少數的地方政治集團有絕對的藍綠色彩,例如外省人、或是228受難背景等,其他大部分就是變色龍,誰給我錢我就跟誰好。

什麼我說彰化絕對沒有很藍,很簡單,因為民進黨執政過兩次,第一次是周清玉,年代比較久遠,算是美麗島事件後的餘威:第二次是翁金珠,算是憑靠阿扁當選總
統的威望拿下縣長。也就是說,只要誰的聲勢好,地方政治集團就會轉向,然後該黨就會當選,要知道,地方政治集團不是白痴,他們一定看得出大概風向,所以翁
金珠才有可能當選。
而翁金珠沒有連任的三個原因:一、做太爛;二、地方沒吃飽;三、民進黨聲勢下滑。
所以說彰化真的沒有很藍,就算有色彩,也是略勝,頂多5354,而且會隨著時勢變動,絕對不夠資格跟苗栗、臺北比拚。
綜觀歷年來大型選舉,有人這樣說:「奪彰化者拿天下。」就是在說明要拿下彰化,風向、聲勢一定要夠好,才能夠獲得地方政治集團的支持。如果有辦法拿下彰化,也差不多代表這個黨派有足夠的聲勢拿下全國大選。

三個部分談到外圍遊離選票與地方政治集團的互動與拉扯,這兩個會互相影響,民進黨聲勢好的時候,會讓地方政治集團轉向支持民進黨,但國民黨聲勢好的時候,
就會讓地方政治集團支持國民黨。雖然大部分都是國民黨聲勢比較好,就算聲勢不好,國民黨的根基也穩,所以民進黨要拔樁,基本上是困難重重。
簡單來講,就是地方政治集團會觀察風向,然後決定要支持誰。當風向差不多的時候,地方政治集團就會發揮影響力,來促使外圍遊離選票跟自己站在同一邊。
至於一般小老百姓,也就是多數外圍遊離選票,如果想獲得利益,應該怎麼做?有兩個可能:永遠與地方政治集團作對、或是加入地方政治集團。

方政治集團支持的,絕對是對他們有利的,既然你無法在這個結構中獲利,就阻止他們簡單的獲利,然後迫使他們必須要付出更大的成本去玩這個遊戲,或是直接讓
他們不支援的人當選,也許可以翻盤。一旦地方政治集團支持外的人當選,才可能打擊地方政治集團,或是做出討好外圍遊離選票的事情。
要知道藉由外圍遊離選票的覺醒與地方政治集團作對,然後打擊整個權力結構,絕對不是容易的事情,但也非不可能。2012
彰化某區立委選舉中,你根本不需要認識誰當選,你只要知道落選的人多威猛就好。蕭景田,社頭蕭姓大族、更生人集團、國民黨籍、現任立委尋求連任。我並非批
評蕭景田的個人特質,而是其背景與勢力,集所有有利的因素集於一身,幾乎是讓地方政治集團找不到理由不支持他,結果竟然以
800票之差落馬,差距不到0.5個百分點。
大家都知道魏勝選是運氣好,甚至是撿到的,但是分析背後的原因,絕對不可能是蕭綁樁不力,唯一的可能就是外圍遊離選票超乎候選人的想像。也許彰化選民具備我沒有討論的公民素養,也許彰化的選舉並非一灘死水,仍有可能與地方政治集團作對的可能。

以如果你真的想突破這樣的僵局,永遠跟地方政治集團作對就對了。地方政治集團永遠不會消滅,但是一定要一直透過這樣的力量,才能夠有效的削減地方政治集團
的勢力,才可能讓政治有改變的機會。但是地方政治集團絕對不會有消失的一天,就算有地方政治集團因為失利而衰落,也會有新的政治集團崛起。只要有人的地
方,就會有地方政治集團的存在。只要地方政治集團不要太過強大,就無法獨佔所有利益,其他人就有可能在這個結構下獲利。
另外一個可能,加入地方政治集團。如果只是想要賤賣自己的一票,那當然不是困難事,但如果想要在地方政治集團中獲利,甚至成為地方政治集團的領導,得先問問自己有沒有本事。我提出幾個基本條件:
1. 你學歷夠嗎?台清交?博士學歷?
2. 你資力夠嗎?你年薪有300嗎?資產有5000萬嗎?
3. 你人脈夠嗎?你有辦法控制100個人的投票嗎?
4. 妳爸媽夠威猛嗎?

5. 你有縣長幫你抬轎嗎?
這些算是最基本的,如果你沒有上面的本事,為什麼一大票人會聽你的?為什麼候選人需要拉攏你?為什麼地方政治集團要讓利給你?沒有背景與實力的人,只能乖乖投反對票,絕對無法進入權力核心。



大家經常戲稱辦黨證很好用,辦了黨政非常威風。但是黨政之所以威猛,是因為這些辦黨證的人本來就很威猛,背後有足夠的勢力支撐。沒有勢力的人去辦黨證,仍然是個砲灰,還得繳黨費,極限就是偉忠哥。你真的覺得偉忠哥威猛嗎?你真的覺得上位的人看不清偉忠哥嗎?



我想不會有人想成為偉忠哥的。
地方政治的權力結構(四)國民兩黨與地方政治集團
(作者:南寺拳人)



第四篇主要談政黨與地方政治集團的關係,第一部分談兩黨與地方政治集團的關係;第二部分談兩黨各自的組成以及選舉操作;第三部分討論國民黨為何體制內無敵的原因。
首先談論國民黨與地方政治集團的關係。絕大多數的地方政治集團,都是支持國民黨的。有人是以歷史的角度解釋,認為地方政治集團從戒嚴的一黨獨大到現在,持續的支持國民黨。但別忘了,地方政治集團沒有忠誠,只看利益,而且這個理由沒辦法解釋,為何在2000年後,系出同門的親民黨無法取代國民黨。
因此關鍵應在於國民黨驚人的黨產。一般人或許都有聽過黨產的爭議,但絕對不知道黨產多驚人。國民黨家大業大,黨產、黨營事業、相關事業等幾乎佔據所有日常食衣住行,也被認為是全世界最有錢的政黨。光是內政部網站上的政黨財務申報資料,國民黨淨資產約250億元,民進黨則不到3億元。遑論其他未申報之資產以及關係企業等,這已知的250億元,絕對只是冰山一角。
宥於篇幅我無法詳細說明黨產的事業與規模,有興趣的版友可以搜尋「黨產歸零聯盟」、「國民黨到底多有錢」、「欣欣天然氣」等關鍵字。

代表國民黨驚人的黨產,本身即足以自組成一大票的方政治集團,或是藉由黨產豢養一大票的地方政治集團,讓這群地方政治集團可以持續藉由黨產獲得利益。所以
政治人物有意爭取政黨的支持時,若加入國民黨,意味著與國民黨本身的地方政治集團同一陣線,或是可以藉此獲得國民黨的資源,要勝選更加容易。要是加入民進
黨,什麼都沒有,甚至還要把選舉結餘款捐給民進黨,要是一個不小心落選,就有可能破產跑路。
其他外於國民黨黨產外的地方政治集團,也不是笨蛋,看得出誰勢力大,勝選機會高,自然也多會支援國民黨。民進黨無論開出多優渥的條件都很難獲得地方政治集團的支持,要知道你講再多都沒用,無法勝選一切都只是空談,更何況民進黨也沒有多少籌碼。
只有在嘉義因為地方派系嚴重的內鬥,才可能讓陳明文這種威猛的地方政治集團加入民進黨。或是因為民進黨長期執政的地方,具有絕對勝選機會時,地方政治集團才可能轉向支持民進黨,例如台南高雄。
而且支持民進黨的地方政治集團有時候絕對不如國民黨的地方政治集團有力,甚至只會玩半套的,這點會在下一段詳述。

二個部分談兩黨的各自組成。從上面看下來,國民黨是大家搶著加入,要獲得國民黨的提名或是在國民黨內掌權,競爭非常激烈。所以國民黨出線的政治人物主要有
兩種,主要是政治世家,其次是地方政治集團首領。其他人則完全不可能在國民黨裡佔有一席之地。有的時候你會發現有些新面孔進入中央政府,但是你一查就會知
道,這些人大部分都是在地方上經營許久的地方政治集團,或是地方上的政治世家開始往中央政府邁進罷了。除此二類,絕無其他。
解釋這樣的現象很簡單,光是政治世家在排隊接班的人就已經排不完了,哪輪的到其他人。更何況三不五時就有強力的地方政治集團首領想問鼎中原,這些勢力也需要妥善安排。因此再優秀的人都一樣,頂多就是納為己用,當一些幕僚或跟班,不可能讓你出頭來阻擋自己。
要驗證這點非常簡單,把檯面上所有的國民黨政治人物攤開,看看他們的家世背景就知道我所言不假。而現在檯面上看到的教授、國民黨青年軍,不過是鬥爭的工具,在馬英九下臺後絕對失勢。

許民進黨與國民黨在理念上有差異,但民進黨本質上具有非常重的「反國民黨」色彩。所以很多事情會在這個前提下犧牲理想,或是做出許多妥協。也許很多支持民
進黨的人會批評我這個說法,認為我忽略民進黨深度的理想與主張。但我無義貶低民進黨,只是從爭取地方政治集團支持的角度出發來闡述這件事情。

進黨的組成非常複雜,元老的黨外運動分子、學者、地方政治集團、反國民黨分子、無法藉由地方政治結構獲利的人等。特別要說的是這裡的地方政治集團與國民黨
的地方政治集團有兩大差異。一、支持民進黨的地方政治集團都是少數,且支持民進黨的原因可能是因為投機、或是因為與主流的地方政治集團不合、不然就是不受
到國民黨的重視,絕對不是有力的地方政治集團。二、即便地方選舉支持民進黨,這些地方政治集團通常不會跟國民黨交惡,甚至會在中央選舉支持國民黨。

進黨也不是笨蛋,知道支持他們的地方政治集團有些龍蛇雜處,甚至要說是垃圾都不為過。但是民進黨不可能放棄這些地方政治集團,哪個國家在革命打仗的時候,
還會限定士兵的學歷跟操行成績?只要有人就好了還管那麼多。而這些地方政治集團也會綁架民進黨,強迫民進黨推出他們屬意的人選來競選,民進黨很多時候真的
沒有籌碼來協商。

個例子好了,我好不容易七擒七縱孟獲,結果孟獲跟我說他要選南投縣長。可是他根本是個大老粗,什麼也不懂,只想撈錢,推出孟獲當然不是好選擇。可是我能怎
麼辦?要錢沒錢,要權沒權,拿什麼來安撫孟獲?最後大局考量,真的只能讓它出線。不然我要是強勢推出個蔡煌瑯,一樣選不贏國民黨的李朝卿,那有什麼用?特
別是在民進黨根基薄弱的地方,為了扯下國民黨,通常只能做出這種妥協。
只能夠期望勝選後,再好好經營地方政治集團。但是勝選都有問題了,更何況經營地方政治集團。真正有成績的,不過台南而已,高雄略有成績,但不至穩當。
所以民進黨的勝選模式只有兩類,一是國民黨分裂,二是運氣好。2000年撿到一個總統、2004年再撿到一次,你還真的以為民進黨可以跟國民黨平起平坐?在民進黨沒有絕對把握勝選的地方,地方政治集團為什麼要理你?要拔樁根本天方夜譚。就算外圍遊離選票支持民進黨的略多,地方政治集團一樣可以發揮影響力讓國民黨勝選。

時候也看得到民進黨裡有些理想主義者,但是理想主義通常值不了多少錢,更沒多少利,要勝選要奪權,終究還是得回到地方政治集團的鬥爭。雖然民進黨裡有些人
對中共、國民黨開始打假球,登高位者墮落腐敗亦有,但是我認為,五年內,甚至十年內,民進黨仍是「反國民黨」的唯一選擇。這個部分我下一篇會再說明。

論就是,國民黨雖然多是權貴二代,但強大到讓你難以想像。而民進黨為了扯下國民黨,很多時候只能跟現實妥協,為了得到某些勢力的支持,跟這些人交換利益。
這樣子的方式有些飲鴆止渴,但似乎也沒有多少選擇,如果在當選後沒有好好經營地方政治集團,也沒有好好幹,反而會得到更多負評,距離執政反而會更遙遠。
第三部份我們要說到國民黨體制內無敵的原因,不在於總統選舉的勝負,而是在2005年修憲後,將立法委員選舉改成單一選區兩票制。

去的立法委員,一個選區可能選出數席立法委員,就像現在的縣市議員。這樣的選制雖然地方政治集團仍有強大的影響力,但是仍然可能讓小黨或是素人有出線的機
會,也就是說,地方政治集團再猛,全押在一個人身上,也是一席。如果分散資源,又可能一個不小心就馬前失蹄。小黨派或是素人就有可能在沒有地方政治集團的
支持下,單純憑藉小型地方政治集團或外圍遊離選票的支持而出線。
簡單來講,議員選舉只要拚前幾名就好,不需要當第一名。雖然機會不高,但只要運氣跟聲勢夠好,小黨或素人仍有機會出線。所以有人會說選村里長比選議員還貴、還困難。
但是改成單一選區兩票制後,只有掌控多數地方政治集團的大黨可以當選。這代表掌控大多數地方政治集團的國民黨,將在大多數的立委選舉勝出,第二順位則是民進黨,至於其他小黨,幾乎沒有出線可能。選區劃分時,更將民進黨的票倉分開,更讓國民黨穩如泰山。
也就是說國民黨一定會在國會取得多數。加上我國憲法設計缺失,少數黨的總統並無主動解散國會權,只要國民黨國會席次過半,他們仍將握有國家的實權,可以決定國家的方向,即便一個不小心再次讓出總統寶座,讓民進黨贏得總統選舉,仍然會像陳水扁跛腳8年,施政處處受阻。
這就是國民黨體制內無敵的原因。因為龐大黨產,所以掌控絕大多數的地方政治集團;因為掌控絕大多數的地方政治集團,所以必定取得國會多數。
所以有人批評民進黨執政時期最大錯誤,其一就是沒有聯合親民黨將國民黨的黨產處理掉;其二就是錯估形勢,誤以為自己已經可以和國民黨分庭抗禮,而將立委選舉改成單一選區兩票制。簡直作繭自縛。



一句話總結這篇的重點:國民黨超大超強,會讓你以為陳水扁當選似乎是一場夢,好像根本沒發生過。
作者簡介:南寺拳人
書讀得不多,講不出什麼大道理。
只能看報行腳,當個三流社會觀察家。
年輕時血氣方剛,如今只剩鍵盤可以囂張。

JPA+complex key+custom Query

  來源: https://www.cnblogs.com/520playboy/p/6512592.html   整個來說,就是有複合主鍵 然後要使用  public interface XxXXxx DAO extends CrudRepository<Tc...