跳到主要內容

發表文章

ZK 教學 - 常見錯誤用法 06 - 慎選 data binding 語法

慎選 data binding 語法 最常用的語法有以下 4 種: @init: 只從 ViewModel 載入一次 @load:載入並追蹤 ViewModel 變化 @save:寫入 ViewModel1 @bind:(雙向)等於 @load + @save 後面 3 種因為需要持續維持(追蹤)元件與 ViewModel 的綁定關係,伺服器需要建立 tracking node,因此成本較高。 依對系統的負擔排名如下: 因此如果沒有動態變化的需要,請使用 @init 。 例如在 Listbox , Grid , Tree 內的 <template> 若只是顯示資料,只需用 @init ,可以免去大量 tracking node 所需的記憶體。 例如: < grid width = " 400px " model = " @init(vm.itemList) " > < columns > < column label = " index " /> < column label = " name " /> </ columns > < template name = " model " > < row > < label value = " @init(forEachStatus.index) " /> < label value = " @init(each.name) " /> </ row > </ template > </ grid >

將 Atom 作為 markdown 編輯器

如果要將 Atom 作為 markdown 編輯器的話,本身已經內建預覽功能 (ctrl+shift+m),再加上以下兩個套件會更方便: markdown-scroll-sync 捲動原始檔案時,預覽畫面也會跟著捲動。 markdown-writer 增加熱鍵插入 markdown 語法,如 cmd+shift+’ 插入 code block。安裝完後,要先選 Packages / Markdown Writer / Configurations / Create Default Keymaps,熱鍵才會作用。

Intellij IDEA java 在 mac 下除錯模式啟動特別慢(卡住)

使用 Intellij 時,很常需要用除錯 (debug) 模式執行一個程式,但我發現在 Mac 下每次啟動都會卡住整個 Intellij 好幾秒鐘(完全無法操作),然後才會啟動,非常影響除錯效率,近來終於找到 stackoverflow 上有人提供的解法 :可以透過修改 /ect/hosts 或是啟動 File Sharing 來解決。

Inkscape 在 Mac 下只能輸入注音文問題

當我在 Mac (Sierra 10.12) 中使用 Inkscape 時,發現不管怎麼打字都只會出現注音文,如: ㄅㄨㄛ 既不能輸入英文,也不能打出中文字。我沒有完全解決,但是以下我的設定至少可以讓我輸入英文,中文輸入則必須要從其他應用程式複製後貼過來,給大家參考:

如何同時在多個 Excel 工作表 (sheet) 編輯

如果你有多個工作表 (sheet),你想要: 在每個表上的同一個儲存格中輸入一樣的內容、設定同樣的格式 在每個表上的同一個欄位上插入一行 刪除每個表上的同一個欄位 以上需求一開始你可能會想說用複製貼上,每一個表都做一次,但是這樣很麻煩也容易出錯,其實有方法可以一次作用在多個工作表上,只要: 先選擇要操作的所有工作表。可按住 Ctrl 選擇不連續的多個工作表或按住 Shift 選擇連續的多個工作表。 在某個工作表執行你要的動作如:插入行、輸入文字等 這樣該動作就會作用在所有你所選的工作表上。

Tomcat 如何自動停用(不部署)應用程式 war 檔

一般要停止一個應用程式可以透過 Tomcat GUI 管理介面停用: http://localhost:8080/manager/html 但是如果你希望啟動時就不要部署 (deploy) 某個應用程式 war 檔,就無法透過 GUI 管理介面。 例如: 我有一個應用程式部署了好幾個版本 app01.war 、 app02.war,但是我希望啟動 Tomcat 時,只要部署 app02.war ,而 app01.war 不要被自動解開部署。這時可以採用以下設定: conf/server.xml <Host deployIgnore = "app01.war" > 細節請參考: http://tomcat.apache.org/tomcat-7.0-doc/config/host.html#UserWebApplications

用 ZK shadow component 實現更彈性的頁面控制 - JCConf 2016 演講

很開心有機會能在 JCConf 2016 上演講,講題是「用 ZK shadow component 實現更彈性的頁面控制」。Shadow Component 我認為是 ZK 8 最重要的功能,讓你模組化一個頁面片段(含有一群 UI 元件),允許你傳參數至該頁面,因此可以輕易地在不同頁面內重用該頁面片段。 例如你用幾個元件組合出如下的個人資料圖: 你可以將該群元件放在一個獨立的 zul 中,在任一個頁面中將其插入,也可以設定一個易讀的元件名稱,所以在 zul 中就可以類似這樣使用: <zk> <personbox person = "@init(vm.person)" > </zk> 配合 ListModelList 跟 <forEach> (shadow component) 就可以做到動態增減的效果: 完整介紹請看當天演講影片: