2012京都賞楓,第六日:清水寺、建仁寺、青蓮院、知恩院、円山公園、長樂寺、八坂神社
旅遊日期:2012 年 11 月 22 日。
第六天行程:四条河原町 -> 清水寺 -> 建仁寺 -> 青蓮院 -> 知恩院 -> 円山公園 -> 長樂寺 -> 八坂神社。
青蓮院、知恩院、円山公園、長樂寺和八坂神社這五處是相鄰的,後門通前門。一次就可以走完。 交通使用巴士一日券。
旅遊日期:2012 年 11 月 22 日。
第六天行程:四条河原町 -> 清水寺 -> 建仁寺 -> 青蓮院 -> 知恩院 -> 円山公園 -> 長樂寺 -> 八坂神社。
青蓮院、知恩院、円山公園、長樂寺和八坂神社這五處是相鄰的,後門通前門。一次就可以走完。 交通使用巴士一日券。
今天有人在「Java Spring framework 開發人員面試題」留下一則回應。 我看了回應之後,想到了求才者應該如何面試程式人員的事。
我分成兩部份來看。分別是「觀念或語法」,「方法或答案」。
本文接續「CommonGateway 初步」的內容,說明 CommonGateway 如何處理 JSON 文件與資料上傳。
HTTP協定定義了兩項關於文件型態的標頭(header),一為 Accept,二為 Content-Type。
在傳統的 REST-like 應用中,這兩個標頭的原始定義並沒有被廣泛採用。大多數程式人員都是透過自定的額外參數來決定服務端該回應什麼文件型態給客戶端。 但在 RESTful 服務的設計場合中,文件型態的交換方式則回歸到這兩個標頭的原始定義了。 所以程式人員必須先分清楚這兩個標頭的使用場合。
旅遊日期:2012 年 11 月 21 日。
第五天行程:四条河原町 -> 天龍寺 -> 寶筐院 -> 嵯峨野觀光電車(嵯峨野トロッコ列車) -> 常寂光寺 -> 二尊院 -> 大覺寺。
今天是電車與腳踏車行程。巴士一日券不適用嵐山地區。関西周遊卡不能搭嵯峨野觀光電車(這屬於JR系統),而嵐電地面電車來回也只需400円。所以今天沒有使用任何優惠票券,主要交通費用是JR電車費790円和腳踏車租金1000円。
CommonGateway Framework (以下簡稱 CG)。概念請見「CommonGateway 介紹」。源碼託管於 github : common-gateway-framework ,主要程式碼只有一個 index.php 。
本文範例之完整內容請見「demo/api-first-step」。以下將逐步說明如何使用 CG 設計你的第一個 RESTful API 。
把 CG (也就是那個 index.php) 放在網頁根目錄下,然後以瀏覽器或你慣用的 REST client 工具開啟網頁。本文範例的網頁根目錄是 /home/rock/public/cg ,瀏覽器開啟的 URL 是 http://localhost/cg/index.php 。開啟後,會看到下列的提示內容:
index.php/{control_name}/{object_id}.
You may put your controller class in controllers/{class_name}.php.
CommanGateway Framework 是一個極小化的 PHP Web 框架。它的主程式就只有一個檔案 - index.php 。 我原先甚至不將它稱為 framework ,而只是一個導入器。但解釋麻煩,還是按一般認知,當它是框架吧。
CommonGateway 主要設計目的是用於設計 RESTful API 或是 Single page web app 。 它按照 MVC 的設計模式,將 Web 應用服務分成三個部份,即資料模型(Model)、流程控制項(Controller)與視圖(View)。 CommonGateway 替設計人員處理控制項與視圖工作。 至於資料模型則不是 CommonGateway 的責任。資料模型由設計人員透過其偏好的資料庫框架處理。
CommonGateway 為設計人員完成下列工作:
php-dbus 是來自 PECL DBus 的 PHP 擴展項目,其用途在於讓 PHP 支援 DBus 功能。
我為 php-dbus 添加了一個新類別: ByteArray ,再讓它的 DBus 方法支援 ByteArray 類別。我改寫過的 php dbus 源碼位於「https://github.com/shirock/rocksources/tree/master/php/dbus-extension」。
旅遊日期:2012 年 11 月 20 日。
第四天行程:四条河原町 -> 東福寺 -> 三室戶寺 -> 宇治觀流橋 -> 興聖寺。本日行程使用関西周遊卡(KTP)。
原本還有計劃逛東福寺旁邊的泉涌寺,但東福寺實在大的出乎意料,所以上午的行程就跳過泉涌寺了。 下午則去宇治,看看不同地方的紅葉景觀。
我先前寫了篇「撰寫乾淨的 eval 程式碼的技巧」,其中一個應用領域是在不同的 JavaScript 端點間傳遞要執行的程式碼。 但我同事又碰到另一個狀況,他不只要傳遞程式碼,同時程式碼中還要有一段從本地端點產生的資料。 由於資料中包含複雜結構與字串,他原先的做法一直碰到斷句或是逸出字元錯誤的困擾。 於是我又在「撰寫乾淨的 eval 程式碼的技巧」這之上擴充了可以放入資料的內容。
旅遊日期:2012 年 11 月 18 日。
第二天行程:四条河原町 -> 三千院 -> 曼殊院 -> 圓光寺 -> 詩仙堂 -> 叡山電鉄夜楓。因為這一天是假日,為了避免人潮,所以特意安排外圍的三千院行程。儘管如此,三千院還是很多遊客(笑)。
原本還有安排赤山禪院和鷺森神社。但是因為手機的時間跑掉了,早上的鬧鐘沒有準時響起,使我們晚了近兩小時才出發。赤山禪院和鷺森神社也就去不成了。
前幾天滑鼠的中鍵「又」壞掉了。咦?我為什麼說「又」呢?因為這是今年我家第3隻中鍵壞掉的滑鼠了。我自己壞掉兩隻,家人壞掉一隻。
我近來都是用羅技的無線滑鼠,我壞掉的兩隻分別是 M215, M310。雖然不是電競滑鼠級的高檔貨,但價位也不是太便宜,大概一隻5百元上下。每次都是壞中鍵,心裡總是不爽快。看網路文章說只要換十幾元上下的微動開關就可以修好。於是把滑鼠一拆,然後我就看到真相了。
看完新聞《幾K才合理? 產發會議吵翻天》的感想。我最討厭「被代表」了,偏偏兩邊都是喜歡「代表」別人的貨色。
外勞基本工資脫勾一事,我的立場就是「要就都從一致的基本工資起算,要嘛就都沒有,我才不分本勞、外勞」。
加班工時一事。兩個問題,一是坑死人不給錢的工作責任制;二是,老闆和員工到底知不知道加班費怎麼算?
要加班可以,先把工作責任制廢除。否則加再多工作時間,都不會有加班費。
本文說明在多顯示器併用的場合中,X Window 環境如何得知顯示範圍尺寸、實際啟用的顯示器數量、以及將視窗放置在指定的顯示器。
在 X Window 系統中,對於顯示功能定義了幾個專有名詞,分別是 Display , Screen, Monitor, Window 。 它們之間的關係是 Display 包含 Screen ,Screen 包含 Monitor 與 Window 。 Monitor 代表實際的顯示器,Window 則是負責與使用者互動的部件。 在這些專有名詞中,只有 Monitor 和顯示器硬體是一對一關係,其他都是抽象的軟體概念。
每年慣例的 IBM 開發者大會記事,今年台灣場是 8月28日。 活動當天,我有推一些照片。今天想到該整理到部落格上了。
活動主頁見此「Innovate 2012 IBM開發者大會」(當天的活動簡報已經提供下載了)。今年的活動主題是「Next, NOW!」。今年的主角不意外,「Next」就是指「雲端+行動」。
Debian/Ubuntu 系統與 NVIDIA 視訊晶片的視訊加速播放功能。
關於薪資問題,有人說「拿出香蕉只請得起猴子」。但我相信批評現在年輕人傲慢自負不願接受兩萬薪水的獅子總裁嚴長壽,絕對不會只付兩萬薪水給他手下表現最好的員工 (參見「年輕人消極待業 嚴長壽:傲慢、自負的態度怎有未來?」)。但是現實中確實也存在著把員工的努力表現視為理所當然,不論員工表現如何就是只付兩萬的老闆。
身為一個日本動畫愛好者,碰到這次的釣魚台事件,自然會有人問我還看不看日本動畫。 和我有相同處境者,也有著被所謂愛國人士質疑其愛國心的狀況。 老實說,這兩者根本不抵觸,我兩個都要。
碰到這種問題,只需要拿出「釣魚台是中國的,蒼井空是世界的」這則標語就足夠了。 這則標語用粗俗點的口氣來說就是「這片漁場是我的,那個女人我也要」。這話覇氣側漏了。 一為食欲,一為性欲。「食色性也」,這兩種欲望並不互相抵觸,我兩個都要不行嗎? 根本沒必要選一邊。
本來還想批批民族主義、團體主義的。這些人腦子很簡單,分不清各種本質與表象的差異。對於各種事物,他們的認知處理能力只能按照最顯著的標籤做出區分,標籤一樣的扎一堆。不過想想真要講的話實在太多,懶得說了。