2018/12/27

20181227-職場-人生的一個轉折點-確定!

Challenge concept in word tag cloud

(依Challenge keyword找到此圖:http://bit.ly/2LDodcJ)


我想,趁當下,花個時間寫一下記錄。

就在今天的 下午四點~五點的時間,與主管做了訪談。

然而,確認了未來的方向:我將告一個段落,結束此趟旅程。


主管的主軸態度為:支持Member的人生選擇,而於過程中提醒一些可能自已沒有考慮到的因子。

彼此算是很平靜的對談,我也陳述了不少內心的想法。


我想,這一切就是逼自已斷得很開


給自已狠一些,將所有的後路全部切斷。

這一段時間(有到好幾個月),慢慢確定了路線的選擇:若有上,則是另一條新的職涯路;若沒上,則會離開,且讓自已一年不工作。

而這兩條路,對我來說「都會是好的結果」。

離開的這一條路,考慮的點很多,而且一切的犧牲也是最大的。 但,這一切,我都將它歸為~「這就是我的命運」。


這決定的主因,是我想讓自已有一年的時間「休息」,沉澱自已、重新認識了解自已、面對自已的問題。

而至於一年後到底怎麼樣,也不是我現在所想考慮的。

是好是壞不重要,而是這一年的時間,有沒有真正去做「自已想做」的事。

另外,一年之後,我想主軸的「職涯生活」一樣會是在「資訊產業」,應不會偏差太多的。


對於這個時間點,工作上就真的是「完完全全」告一個段落。(這就是緣份)

手上的案子,讓結案的結案、該開發的也全開發完成。沒有什麼會 因我離開 而造成影響的案子。

完完全全「負責任」地將它全Close掉。


面對此事件,內心已有些禪味在解釋 : 放下,才能得到一切。

柯P名言:「說別人壞話,並不會讓自已更好」

我已盡量避免掉這樣的心情;因為,這並不能改變一切。

不過,談話之中還是會「帶到一些」…..XDDD。


至於未來,我覺得就是:讓自已更懂得”人”一些、更有感情、更真實的去面對人。

「真心的去感謝所栽培你的人」

「真心的去討厭你所討厭的那類人」


有被點到:就因為你放不下,所以你才要斷得那麼開

嗯,說來也算是,讓自已用「現實」面的實際切割,去面對認清這個「現實」。

不過,自已也記住 這次的豁達。


「人生是一條單行道,去接受自已所做的決定」



為什麼我需要別人的肯定?


為什麼你所做的事,會覺得需要別人來肯定你做的事是對的!你做的事是好的!是很不錯的!?

為什麼?

這一關,我打了七年,還是過不了這「第一關」

在整理自已的履歷之後,我真實的運作過不少的專案、也做了不少的事。

而這樣的經歷,就讓它在這兒結束。 你自已所做的一切已是很OK了。

一切的一切,就讓它封在回憶裡。



接下來的行程

明年2019年,仍先到一個案子緊急去支援5天。(不過另一邊案子還有些小事要處理,就再多一、兩天)

然後開始發出請假,將假休完。一切就差不多會結束了。



近期不太好運的狀況


1.

近期最背的一件事,就是 上星期六,我整個「皮夾」掉了@@,裡面一堆錢、再加上一堆的證件!超級多!。天呀….

我想,等2019年再重新辦理吧。

2.

單車後輪,偏擺嚴重,就在旅程前發現!緊急找到輪組$3400元,今天馬上去換掉。

不過也好在發現的及時!且換掉它,而且後輪外胎也磨得嚴重,也全換掉。好在!

(今日是在家最後一天,明天順利的話就會出發)

3.

天氣變超冷,就在「今天」開始……我的天呀!


2018年的日記,就在這樣結束啦


(THE END)

2018/12/23

20181222-單車-環大台北with Joy[188K]-9H32M(平均功率97W)

(與Joy於7:42分,就抵達平雙隧道~~這兒沒想像中的遠)


資訊集結區

[Google相簿]:https://photos.app.goo.gl/hgGXMPFyE6WdRU7L7

[Garmin資訊]:https://connect.garmin.com/modern/activity/3239444101

[Strava資訊]:https://www.strava.com/activities/2029053808


緣起


Joy 是於七月底,於梨山那認識的車手,而那時也跟她爬了大禹嶺-武嶺的那段路。

而對於她的爬坡腳力,跟在她後面,可以感覺出她腳力有底子,  (而後8月份?她摔了車,休到11月份~)

而她「自律」的運動生活,是我最該與她學習的部份。

而這一次,她星期三(12/19)聊到,問我有沒有興趣跟騎環大台北路線。

答應這次的活動,

一來,我的單車心情要再重新出發,給自已另一個心境再次騎程,對於「計時」之外,感受不同的騎車。

二來,要多多學學她的自律精神,也讓自已早起騎車,6點到達集合點,開始騎單車。


這一次對我的重點,將不是在訓練,而是用不同的心情感受騎車;

就如同七月份當時在大禹嶺打算再騎第二趟時,後來因為跟她騎,那種心情轉換,可以用不同的角度來騎車。


重點結論:


1.  有時不用想太多,就騎著單車出門,就會看到無法預期的風景。 (今天天氣很好)

2.  透過朋友這樣邊騎邊聊,轉換一下心情,讓自已有另一種的放鬆,也是不錯。

3. 在 「 石碇106段」,有兩班的「特快車」經過, 那種若是能咬住他們,一同飆速的感覺,把腳力全耗掉。

    那種盡情騎的感覺,不過,現在的腳力,應是沒有辦法跟太遠。。總之,這樣的車隊經過,讓我熱血了些。

   後來Joy 有推薦了「內湖鐵人」,每個禮拜六都練習「北海岸」,看來明年可以好好跟練了!

4.  在金山後段,有與Joy分享「跟車技巧」,還拿一個陌生車友,偷偷跟在後面,當試範人物XDD。

   不過,跟車這件事,有時沒辦法一下就上手的,就Joy再慢慢體會這啦。

    這技巧在集團中騎車,是很有幫助的,借力省力。。

5.  聖約翰前,有3人車友超過我,後來我去追他們,用盡了全力,而也體會出,我的腳很容易爆掉的感覺。

     這種衝刺續航力,還是要練。(就多跟車隊玩間歇那種)

6.  因為這一次的約騎,讓我沒有「浪費今日」,有好好的出門體驗大自然。Good。


流水帳


與Joy約 六點於中研院門口等,所以往回推,我五點要起床,半小時吃早餐,整理東西,然後出門與她會合。

而這一切,到後來,5:50分才出得了門,就在「6:02」分趕到 研究院大門口!!小遲到二分鐘 XDDD


今天的天氣不錯,而早上還是有點冷,所以我的雨衣還是穿著。

這石碇段的晨景,左側的景色很美~~~


今天預計都是跟著Joy的行程走的,要停就跟著停,而也沒有特別想「練車」,就跟著看風景。


我也好久沒有騎 106 縣道,這一條路,看來,也不是太遠 & 太難。一下子就到了平溪、十分了。

我們有在平溪那兒停一下  (也就在此時,特快車 經過我們!)


(7:42分,我們到平雙隧道~~不到二小時)

單車賞景~


喜歡這角度拍下來的景色


後來我們在「上林國小」休息, 在這一段,又有另一班「特快車」經過,且上頭有「兩位女生」。

可以當Joy 很好的「獵物」練習XDD,我心裡是這麼想的,可惜她沒有興趣。


上林國小的操場~~ 今天小朋友還有在上課~~(why??)


雙溪公路,這條路真的大條, 冬天是個好騎路線。


接到了濱海公路,時間是「8:40分」~~




停下來拍的海景




我們彎到了「象鼻岩」那,這兒Joy她說她之前跟團 海泳就是在這兒。 而我也沒有進來這兒過,

image

派出所裝水

(還真的像一個酋長 臉型耶~)

一個空地,可當成野餐的用地。


愛車紀念照~~~




繼續騎車,往基隆的路線,我完全不熟,就交由Joy了。

我們走的主要路線,接到了「外木山」

image

這就是「當年」我曾經「海泳」3KM的終點沙灘~~


一路推到了金山小七,而一旁也有賣地瓜,$65元還算是便宜。且蠻好吃的。我們在這兒休息了一陣。

再來呢,就是海岸線推回淡水了,之中,與Joy分享了 跟車技巧。

當距離「小於」一個輪子的距離時,那個風阻才有「成效」。不過要跟到很近,也是要有些膽子的。

後來也有一個陌生車手,偷偷來拿當範本,要Joy跟在他後面,然後我在旁邊教她 XDDD。


一路推到「終點」聖約翰,而距離150KM而已,還不到160KM


關渡的風浪板,喜歡這景色


也喜歡這樣的色調取景。

河濱輕鬆騎~~

我上次是從另一邊下,才會接到河濱之外,要從這邊上下才行。

橋上有個位子,且有避暑的地方,就在這兒小休一陣。

有時天氣好,待在外面發呆也比宅在家裡好。 不一定說是要練車才要出門的。


而Joy 一路跟我跟到「河岸」底,她再折回去  (最後她湊足了 200KM,我180KM~)


巷口的2KM,用最拼命的方式騎!超累,看來練練家門口就很足夠了! 結束了今天的活動。

最後回到家。依舊回到「壞習慣」:亂看Youtube影音。時間又浪費掉了。

而有煮了 豐盛的 晚餐,大約六、七點就去睡了!

(不過,今晚感冒的症狀蠻嚴重的! 亂想會不會睡到掛掉而沒有人知道??  身體出汗、腦子一直睡不著)

(而後就導至我星期日,本來要練車的就完全沒辦法了,睡到 星期日九點!)


加油!要開始「自已的人生階段」了。 再來的一個月間,職場會有大變動。

(THE END)

2018/12/18

20181218-程式-C# Enum 列舉的超級應用 整理

image

(這就是此篇最 “複雜”的Enum應用結果示意:使用Char定義、且可以序列&反序列化) (ref from :http://bit.ly/2LnBjLc)


緣起:


什麼是列舉的最佳寫法?「Value To Enum」、「Enum To Value」

在寫Enum轉換時,總是會做下述的判斷:

a. 判斷value是否在定義之中? (Enum.IsDefine(xxx))

b. value Parse為Enum (Enum.Parse)

而這之中,是有「陷阱」的! (請繼續往下看…..)

因此,整理這一篇 針對 Enum 的程式開發 技巧。


使用情境:


基本模式:

資料庫的Type欄位,有1、2、3 等數值型的資料,

而在程式開發時,想要用 列舉 Enum 規範住 所允許的 範圍值。

進階模式:

資料庫的Type欄位,有 A、B、C 等非數值型的字元資料,

而在程式開發時,想要用 列舉 Enum 規範住 所允許的 範圍值。



重點:


■  基本的Enum判斷 &寫法 (基本款)

■  進階的Enum使用Char的定義方式之 判斷&寫法 (進階款)



基本模式 - 值與列舉的轉換


public enum MyEnum{

      None,

      Item1,

      Item2

}

基本的判斷方式(db欄位值轉為Enum):

Var dbValue = 1;
var myEnum = (Enum.IsDefined(typeof(MyEnum), dbValue) ?
                     (MyEnum)Enum.Parse<MyEnum>(dbValue.ToString()) :
                     (MyEnum.None));

基本的取值方式(Enum轉為db欄位值):

var dbValue = (int) model.XXXX;


基本模式 – Enum.IsDefined(xxx) 的陷阱 - 要輸入”數字”的


這就是Enum的陷阱!!!

(Enum.IsDefined(typeof(MyEnum), 1)    //true
(Enum.IsDefined(typeof(MyEnum), "1")  //false 


就是 Enum.IsDefined(  ) 內部的參數值,是要「數字」的!!不然它都會 get false .


基本模式 – Enum.Parse(xxx) 的陷阱 - 要輸入”文字”的

Var dbValue = 1;

(MyEnum)Enum.Parse<MyEnum>(dbValue.ToString())


進階模式 - 使用「Char」來代表列舉值


(這還不是正確寫法)

public enum MyEnum{

      None = ‘-1’,

      Item1 = ‘A’,

      Item2 = ‘B’

}

(正確寫法 - 這樣Json序列化 才可以傳入 ‘A’字串)

using System.Runtime.Serialization;
[JsonConverter(typeof(StringEnumConverter))]
public enum MyEnum{
       [EnumMember(Value="-1")]
       None = '-1',
       [EnumMember(Value="A")]
       Item1 = 'A',
       [EnumMember(Value="B")]
       Item2 = 'B'
}


進階模式下 - 使用 Enum.IsDefined(XXX)

一定要轉成為Int

Enum.IsDefined(typeof(MyEnum),(int)'A')


進階模式下 - 使用 Enum.Parse(XXX)

一定要轉成為字串

(MyEnum)Enum.Parse<MyEnum>(((int)'A').ToString())



進階模式下 - 整合應用


var dbValue = (int)Convert.ToChar("A"); //先轉為Char,再轉為Int
Enum.IsDefined(typeof(MyEnum), dbValue );  //true
(MyEnum)Enum.Parse<MyEnum>(dbValue.ToString())


判斷方式(db欄位值轉為Enum):

var dbValue = (int)Convert.ToChar("A"); //先轉為Char,再轉為Int
var myEnum = (Enum.IsDefined(typeof(MyEnum), dbValue ))?
                             (MyEnum)Enum.Parse<MyEnum>(dbValue.ToString()) :

                            (MyEnum.None));


判斷方式(Enum轉為Db欄位值):

var dbValue = ((char) model.XXXX).ToString();  //got “A”


這樣的寫法,就可以取得它的字元值

clip_image001


(THE END)

2018/12/06

20181206-程式-knockout 搭配 Fileupload 的思考過程記錄

20181206-上傳檔案結果

(一整個上傳檔案的流程結果:編輯>選擇檔案>挷定在頁面上>更新儲存>測試下載>成功>再編輯>刪除已存在檔案>完成此流程)

(第一次使用git動畫圖示意~~)

(使用技術:ASP.NET MVC、Knockout 、FileUpload (knockout-file-bindings Framework) ….)


情境說明


就這一次的技術需求:

「編輯時可上傳檔案,於儲存時,將檔案儲存起來」(呈現檔名/檔案大小)

是的,需求就是「這麼的簡單」。

而在技術實作上,我也要盡量做到「操作簡單化」的方向前進。

這之中遇到的思考問題還真是多呀!


而 先解決 Service 端針對檔案的儲存實作。使用Byte[]的方式來做為 串流的傳輸。


再來,就是著重在前端Client 與 Web Server之間的傳輸處理。


思考的問題有下列:(針對檔案處理的部份)

■  為了讓使用者操作方便,採用Knockout 的開發模式,而檔案部份,期望如上圖模式的動線。

■  我如何先將現在的檔案清單 以Knockout呈現? 並可以供下載 ?

■  Client端的 FileUpload 它的原理?不是很熟。

■  Client端的 File 串流,如何Post 至 Server端? MVC的Action要如何的接??

     我可以利用現有的Model直接post 整包回去Server端嗎? 重點是我要在 Knockout 的架構下實作

■  在上傳檔案後,於使用者按下「儲存」前,我不想將檔案 先暫存於Server端 (原本有思考這樣的模式,but….)。

    而是在他點選「儲存」時,我再一併去儲存檔案。


開發處理流程


記錄下自已依序實作的重點項目,一步步的將這一份需求完成:

一、Server端的服務應用,先可以完成 新增/更新/刪除 檔案的動作,其中包括:

       a.  思考傳輸所用的 Contract 如何設計?

       a.  依儲存規則儲存檔案。

       b.  更新時,整包Model參數傳上來時,針對檔案的部份,決定是採 新增動作?還是 刪除動作?


二、前端 Detail的呈現,加上了「檔案」的資訊,其中包括:

      a.  呈現檔案清單時,只保留Key值資訊,而點選後,另一個Action 單純處理下載檔案的功能。

      b.  使用Knockout 的挷定呈現。並加上HyperLink 點選時可以下載檔案。


三、檔案上傳的功能,並可以挷定至Knockout,且可以Post串流至Controller接受端,其中包括:

     a.  Client端的檔案上傳,它的串流是如何取得?這是我不懂的一塊邏輯。

     b.  因為我是直接用整個Model 傳輸,所以,它byte[]的型別 可以接受嗎??

     c.  檔案上傳後的動作,我透過「knockout-file-bindings」(link) 來達到此功能,好處是:

               1) 原來開發操作這麼簡單  (官方範例:(Link))

               2) 很容易取到它上傳的檔案資訊(檔名/大小/…)、檔案串流(base64String)   (我若用原生的方式取得 byte串流,效能很差 )

               3) 它post 回 controller,可以直接 使用 byte[] 屬性 接受串流的 (使用 base64String的資訊)。 (超有幫助)


就這樣,完成這樣的實作過程!!


重點程式碼結果說明(檔案上傳部份)

(原本的blog coding style css 沒有生效@@,僅能先貼程式碼上來啦~)


//Html的檔案上傳元件

<!-- ko if: ($root.IsEdit()||$root.IsCreate()) -->
        <input type="file" multiple data-bind="fileInput: multiFileData" />
<!-- /ko -->


//檔案清單的呈現區寫法(Knockout)

<div data-bind="foreach:FileInfos" style="max-height:100px;overflow:auto">
                   <div class="col-md-12">
                      <!-- ko if: ($root.IsEdit()||$root.IsCreate()) -->
                       <div class="col-md-2">
                           <span class="glyphicon glyphicon-remove onpath" data-bind="click:removeFileInfo"></span>
                       </div>
                       <!-- /ko -->
                       <div class="col-md-10">
                           <a href="#" data-bind="text:FileName,click:downloadFileInfo"></a>

                          &nbsp;(<span data-bind="text:FileSizeDisplay"></span>)
                       </div>
                   </div>
               </div>


//於Script區 ,定義了其multiFileData,這樣才可以在它有變動時,觸發我想做的事

viewModel.multiFileData = ko.observable({
         fileArray: ko.observableArray(),
         base64StringArray: ko.observableArray(),
         dataURLArray: ko.observableArray(),
     });


//當檔案選擇時的觸發事件時,我要將資料加入至「viewModel.FileInfos」,而其中的「content」資訊就是挷定其byte[]資料

//使用knockout-file-binding,但它「base64StringArray.subscribe若上傳4個檔案,它會觸發4次

viewModel.multiFileData().base64StringArray.subscribe(function (base64StringArray) {
          console.log("call:" + base64StringArray.length);
          if (base64StringArray.length > 0) {
              var last = base64StringArray.length - 1;   //因為觸發多次關係,所以僅取得每次的最後一筆
              var fileInfo = viewModel.multiFileData().fileArray()[last];
              var base64String = viewModel.multiFileData().base64StringArray()[last];
              addFileInfo(fileInfo, base64String);
          }
      });
      function addFileInfo(fileInfo, base64String) {   //加入至 FileInfos的陣列中
          var name = fileInfo.name;
          var size = fileInfo.size;
          var kofile = ko.mapping.fromJS(initFileMaintainModel);
          kofile.FileSizeDisplay = ko.observable("");
          kofile.FileName(name);
          kofile.FileSize(size);
          kofile.FileSizeDisplay(fileSizeDisplay(size));
          kofile.Content(base64String);
          viewModel.FileInfos.push(kofile);
      }

     function fileSizeDisplay(FileSize) {    //將檔案大小轉為/MB/KB/byte的模式呈現
          var result =
              (FileSize >= 1024 * 1024) ? Math.ceil((FileSize / 1024 * 1024 )) + " MB" :
                  (FileSize >= 1024) ? Math.ceil((FileSize / 1024)) + " KB" :
                  (FileSize) + " byte";
          return result;
      }

//而儲存時傳送Ajax回去的參數處理

        JSON.stringify(ko.mapping.toJSON(viewModel))

而使用Ajax傳送時,這個contentType很重要,意思是指:將傳送的參數當json結構處理

image

則Post 回 MVC時,就可以直接使用Model接收的:

image

而其中的檔案串流,我Model採用 byte[] 型別,是可以接收的。 (client端直接取得其  base64String 即可)

image


剛上傳的檔案,要再直接讓使用者下載


在 User 未儲存前,其剛剛上傳的檔案,點選其Link,又要讓User可以下載 剛剛所上傳的檔案,

這需求,因全在Client端操作,這個想法需求 又讓我 「學了一關」 了!


而這主要的概念動作為:

     a.  透過base64String 產生 Blob() 串流資訊

     b.  透過 Url.CreateObjectURL(blob) 產生 暫時用的 連結。

     c.  若使用 window.open (url)的方式開啟,可下載,但檔名無法定義。

     d. 若使用 <a> 下的download 屬性,可以指定它的「檔案名稱」。



//從base64String 轉換為 Blob的函式


         // http://bit.ly/2Pp9K4N
         function b64toBlob(b64Data, contentType, sliceSize) {
             contentType = contentType || '';
             sliceSize = sliceSize || 512;

            var byteCharacters = atob(b64Data);  //將base-64 解碼(decode)為字串
             var byteArrays = [];

            for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
                 var slice = byteCharacters.slice(offset, offset + sliceSize);

                var byteNumbers = new Array(slice.length);
                 for (var i = 0; i < slice.length; i++) {
                     byteNumbers[i] = slice.charCodeAt(i);
                 }

                var byteArray = new Uint8Array(byteNumbers);

                byteArrays.push(byteArray);
             }

            var blob = new Blob(byteArrays, { type: contentType });
             return blob;
         }


讓使用者下載的方式

             var name = item.FileName();
             var mimetype = item.MimeType();
             var content = item.Content();
             var blob = b64toBlob(content, mimetype);
             var blobUrl = URL.createObjectURL(blob);      //透過Blob建立下載的Url,若是用window.open()則無法指定檔名
             //透過<a>來指定下載檔名
         var a = document.createElement("a");
             document.body.appendChild(a);
             a.style = "display: none";
             a.href = blobUrl;
             a.download = name;     //指定FileName
             a.click();
             window.URL.revokeObjectURL(url);      //消除url
             a.remove();


MVC無法傳送大量的JSON資料?

因為我需上傳 大於1MB的檔案,而得到此錯誤。

遇到此Error:

System.ArgumentException: Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property.


網路上查的解法是:

<configuration>

<system.web.extensions>
        <scripting>
            <webServices>
                <jsonSerialization maxJsonLength="50000000"/>
            </webServices>
        </scripting>
</system.web.extensions>

</configuration>

但這是沒有用的!!這指的是 Server端 傳回給 Client端的最大Json 長度。


而我需要的是: post json data to MVC action

最終的解決方式:

僅能去改寫原本 MVC5 的 JsonValueProviderFactory 的程式碼:  (官方原始程式碼為:http://bit.ly/2Pn5OBn )

JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = int.MaxValue;


調整完後,再於 Application_Start 下,改掉它的Factory:

//howard:增加 request Json length
             ValueProviderFactories.Factories.Remove(ValueProviderFactories.Factories.OfType<JsonValueProviderFactory>().FirstOrDefault());
             ValueProviderFactories.Factories.Add(new MyJsonValueProviderFactory());



(THE END)

2018/12/02

20181202-柯P-謝票晚會上取得柯文哲的親筆簽名

(這就是今天於柯P謝票會上,請柯P幫忙寫的文字,以及我回家後的心得)


重點心情


「認真的過每一天」

(而我想寫下這句話的原因:http://bit.ly/2Smc9inhttp://bit.ly/2Sv1hir )


蔡峻維

選戰中年輕一輩的人員,對他這年紀能在這個主戰場上主持,佩服他的勇氣,以及他做事的態度。

白芯羽

後來找了白芯羽拍照,除了她的聲音很有穿透力,而她爸爸在這一兩天,在日月潭上寫了他們近期的心情。

她們也是選戰中不可少的角色,所以我也請了她幫忙簽名。

柯昱安

一日幕僚所認識,他能是選戰的第一號員工,也看了些他們的訪談。

個人覺得,他能在團隊中共識處理選戰任務。覺得厲害

林昆鋒

是在選戰會場上,他當主持時所知道這一位,而他的政論節目還沒有看,(目前僅有看林筱琪的相關政論而已)


柯P

我心裡想著要請他簽名的那一句話:「認真的過每一天」

換我簽時,我沒有拍照,想說多寫這句,時間就占蠻多的。就這樣請柯P幫我寫下這句。

(還沒有糊掉時)


流水帳記錄


這一次,就約了小朱,問他有沒有興趣?一同去參加這活動。

中午於市政府一同吃個飯,在明德素食那吃。

而後買個飲料,就前往「市政府」會場。


看到「排隊」人潮

這個,快二點過來,就看到 卡車後面,有人潮排隊,就問是排什麼的,他們說是排簽名的。

就這樣,開始下去排!

不過,太陽正大,真的很猶豫,想說要不要先逛逛園遊會再說……

後來 小朱 他就先到附近逛,(他沒有說要給柯P簽名)


後來被引導至「100位」座位區,就是依這順序簽名的。

這之間的空檔,也找了他簽名,不過,說來他們現在應是在忙碌中。

就這樣等等等,看看「FB柯粉團」的內部爭論事件,然後,躲躲前面情侶檔的雨傘之下

(後來有聊,他們是台中特別上來的柯粉~)


一路等到太陽西下


柯P從市府出來的狀況~


後來「四點」先請後援會的人先上台照像,而五點才換到我們個人組的。

(之中,有跑去建議他們到時上台的動線,可以一次一排座位的人,然後下一排的人往前移~)


我是第「20位」,所以,很快就換到我了。

我打算請柯P簽下我想寫的話,所以,我自已就沒有請工作人員拍照紀念。

雖然可惜,但能簽下名就值得了。


再來,去找了 白芯羽 簽了名。再找了柯昱安簽了名。


再去找小朱。


而因為呂子也有過來,就過去他那的排隊人潮中找到他。

這個完全是「工作人員」的模樣,而他也是今天買了「柯P」的書直接要給他簽的。

他也是十足的柯粉,直接從宜蘭過來,且當天開票也直接看到最後結果 (他沒有台北投票權~)


再次找白芯羽拍照~~~跟他的爸爸~~


現場所有能簽名的都簽名了。

那與小朱就去找 找吃的,一樣找了另一家素食自助餐,

感謝 小朱陪到最後啦。


就這樣,七點多回家,開始寫寫今天的記錄。


(THE END)