學習Design Pattern最怕就是找不到範例,無法意會其中精髓。
StockOverflow 有一篇Examples of GoF Design Patterns 列出 JDK中使用哪些Design Pattern,或許可加深印象及想法!
學習Design Pattern最怕就是找不到範例,無法意會其中精髓。
StockOverflow 有一篇Examples of GoF Design Patterns 列出 JDK中使用哪些Design Pattern,或許可加深印象及想法!
ruby irb 環境中並不適合編輯程式碼,因此常常浪費時間在編輯上。
gem interactive_editor 簡單整合在irb使用各種編輯器!
安裝過程:
[code] gem install interactive_editor [/code]vim ~/.irbrc
[code] require 'rubygems' require 'interactive_editor' ... [/code]自行定義: vim ~/.irbrc
[code] ... class << self def vi(name=nil) InteractiveEditor.edit('/Applications/MacVim.app/Contents/MacOS/Vim', name) end def vim(name=nil) InteractiveEditor.edit('/Applications/MacVim.app/Contents/MacOS/Vim', name) end def gvim(name=nil) InteractiveEditor.edit('/Applications/MacVim.app/Contents/MacOS/Vim -g -f', name) end def mate(name=nil) InteractiveEditor.edit('mate -w', name) end end [/code]執行irb,直接打vim就可以呼叫MacVim出來編輯之後,vim -> :wq 就會直接執行所編緝程式。
繼 用github管理dotfiles之後,發現Vim套件有一年多沒有更新,但是更新這些plugins相關檔案全部散落於~/.vim中,真的也不知道如何整理、維護。
過去Vim有人提出使用Vimball格式,但是它不是官方檔案格式也不容易使用於CLI環境下!
直到我看了Tim Pope 所開發的Vim套件管理程式pathogen.vim,只要將所有套件放在~/.vim/bundle用不同的目錄名稱來區別,執行Vim時自動將所有套件載入,要移除套件只要將~/.vim/bundle/plugin-name刪除。
下載 pathogen.vim 放至 ~/.vim/autoload 目錄中 [code] -> ls ~/.vim/autoload/ pathogen.vim [/code] 編輯 vim ~/.vimrc [code] " 最前面加入 filetype off call pathogen#helptags() call pathogen#runtime_append_all_bundles() [/code]
雖然有Pathogen管理Vim套件但是無法自動更新套件,目前大致上有二種方式:
兩種方式都是有效解決同步Vim套件問題,不過各有優缺點自行評估使用,不過現在維護VIM相關設定真的也容易許多了!
dotfiles基本上就是個人一堆設定檔如.vim, .vimrc, .screenrc, .irb, ...
在維護這些dotfiles有時候真的很花時間,乾脆直接放在github並使用git控管,日後要重灌、更新只少有一致的版本可以使用!
先去github新建 dotfiles git repository,利用git將你的dotfiles全部commit至github中,個人是將dot改成沒有dot檔案名稱再commit,利用Ryan 所寫的Rakefile自動安裝到自己的環境中。
安裝方式:
[code] git clone git://github.com/chliu/dotfiles ~/.dotfiles cd ~/.dotfiles rake install [/code]Apple加入Oracle’s OpenJDK,將提供更多 Java 技術到OpenJDK中。
將從Java SE 7 開始提供實作包括32-bit 與64-bit HotSport-base java virtual machine, class libraries, networking stack, graphical client....
個人是比較期待graphical client相關東西,這個應該是Apple強項。 JVM漸漸走向OpenJDK!
從上一次Steve Jobs挑起Apple與Flash大戰之後,HTML5愈來愈被人重視,先別管到底是誰輸贏,HTML5必然浮上台面上雖然真的有一點不想理它,但是它也算是下一代網頁規格、規範。
HTML5 大方向為何(很粗看一下):
section, header, footer, nav, article, aside...或許div將愈用愈少, 文件結構語意更重要!
contracts api, selectors api v2, indexed database api, web workers, web storage, web sockets, geolocation api, canvas 2d context, messaging api, html media capture,...好吧Javascript愈寫愈少,反正瀏覽器本身內建!
瀏覽器將漸漸成為framework!
placeholder text, autofocus fields, email addresses, web addresses, numbers as spinboxes, numbers as sliders, date pickers, search boxs, color pickers, form validation, required fields, ...常用處理都內建進來,看來Javascript會再少用一些。
反正就是要努力拋棄Flash!
HTML5 及各家瀏覽器都尚未準備齊全,不過只少可以看得出來下一代網頁未來的大方向。
Google 針對Apahce出的 mod_pagespeed 模組,主要讓你的網站用最省力、簡單、自動化跑最佳化 HTML, JavaScript, CSS, Image 相關網站元素。
聽聽Google怎麼說
we’re introducing a module for the Apache HTTP Server called mod_pagespeed to perform many speed optimizations automatically. We’re starting with more than 15 on-the-fly optimizations that address various aspects of web performance, including optimizing caching, minimizing client-server round trips and minimizing payload size. We’ve seen mod_pagespeed reduce page load times by up to 50% (an average across a rough sample of sites we tried) -- in other words, essentially speeding up websites by about 2x, and sometimes even faster.
ubuntu 安裝
修改ModPagespeedDomain 加入網站domain name => www.chrispad.com
確認網站的HTML、CSS是否已經改變過,想要進一步的微調 Go!