2013年2月28日

【筆記】使用 kvm + vmbuiler 自動建置 Ubuntu Server 虛擬機器

建置好 KVM 虛擬化伺服器主機(host)之後,可以利用 vmbuilder 工具「自動建立虛擬機器」。

「自動」的流程包含:
  1. 自動建立虛擬機器的配置檔(*.xml)與磁碟(*.qcow2)
  2. 從網路(HTTP, FTP)或本地 ISO 映像檔,自動安裝 Ubuntu Server 作業系統
  3. 自動設定網路(IP, Gateway, DNS)
  4. 自動建立第一組使用者帳號密碼
  5. 自動 apt-get 安裝額外的套件(如 OpenSSH、VIM 等)

因此只要預先寫好 script,日後就可以快速(重新)產生新的虛擬機器。

如果使用過 VirtualBox 虛擬機器安裝 Ubuntu Server 作業系統,從頭到尾安裝大約需要 10 ~ 20 分鐘時間。

使用 vmbuiler 呢?在 XEON E3-1230V2 + 32GB + Intel 520 SSD 240GB 的機器上測試,使用 time 指令測試發現,只要 80 秒(1m19.298s)就能建立好新的 Ubuntu Server 虛擬機器,而且包含網路、OpenSSH套件都搞定喔。

關於 KVM 虛擬化伺服器的建置,請參考此篇筆記

建立一個 vmbuilder.sh 指令檔,內容參考以下:

sudo vmbuilder kvm ubuntu --suite precise --flavour virtual --arch i386 -o --libvirt qemu:///system -d /var/lib/libvirt/images/vm0-kvm --ip 192.168.0.101 --mask 255.255.255.0 --gw 192.168.0.1 --dns 168.95.1.1 --hostname vm0 --bridge br0 --user ubuntu --pass reversed --addpkg openssh-server --iso /var/lib/libvirt/images/ubuntu-12.04.2-server-i386.iso --mirror http://tw.archive.ubuntu.com/ubuntu

上面的紅色字體部分需要特別注意!相信聰明的看倌只要看設定內容,就會知道它的用途為何。

(其他進階設定請用「vmbuilder kvm ubuntu -help」指令查詢。)

執行之後,產生的虛擬機器相關檔案:

/etc/libvirt/qemu/vm0.xml
/var/lib/libvirt/images/vm0-kvm/*.qcow2

基本上不需要再做其他設定,就可以直接啟動新的虛擬機器:

virsh start vm0

接下來就能利用 ssh 登入新系統。

ssh ubuntu@192.168.0.101

(預設密碼是 reversed)

如果要刪除虛擬機器,則使用 virsh 工具。

virsh undefine vm0

再將磁碟檔案移除(無法復原請小心使用)。

sudo rm -rf /var/lib/libvirt/images/vm0-kvm

延伸閱讀
  1. JeOS and vmbuilder

【日本自助旅行】關於 b-mobile 行動上網與剪卡

每次出國旅行,我最關心的事情之一就是...怎麼申請行動上網最划算。最近準備到日本自助旅行半個月,我選擇外國人適用的 B-mobile VISITOR SIM,這家行動上網服務是使用 NTT DOCOMO 3G,共分成兩種方案:

  1. 1GB Prepaid
    不限速,最高總傳輸量限1GB,14天內必須用完。
  2. 14Days Prepaid
    限速300kbps,無限量吃到飽,期限14天。

這兩種方案目前的價格都是 ¥3,980 日幣,詳情可參考林氏璧的介紹文。訂購表單的填寫說明,可以參考這篇寫得很仔細(還附上請旅館代收包裹的日文信範本@@)。


因為 b-mobile 目前僅提供 Regular 與 Micro 兩種尺寸的 SIM 卡,對需要 Nano 尺寸 SIM 卡的 iPhone 5 來說,需要另外準備一支剪卡器(售價約台幣 100 ~ 200)。建議訂購 Regular SIM card 的方案,因為是標準大小可以直接剪不必加轉卡,剪卡失敗率應該會比較低。

【網站開發工具箱】BalanceText jQuery Plugin 更容易閱讀的文字段落編排

BalanceText(平衡文字)是美化文字排版的 jQuery Plugin,可以提高網頁文字段落編排的可讀性。

balance-text (GitHub)
https://github.com/adobe-webplatform/balance-text

以下是示範的文字,將段落設定成置中對齊,因為寬度不足,所以「it so.」被擠到第二行,造成排版變得不好看:

<p style="text-align:center">There is nothing either good or bad, but thinking makes it so.</p>


使用 BalanceText 的方法:
  1. 必須有 jQuery library(建議版本 > 1.8.x):
    在 </head> 之前加入:
    <script type='text/javascript' src='http://code.jquery.com/jquery-1.8.3.js'></script>
  2. 在 </body> 之前加入:
    <script type='text/javascript' src="https://raw.github.com/adobe-webplatform/balance-text/master/jquery.balancetext.js"></script>
  3. 加入 CSS 樣式定義:
    .balance-text {
        text-wrap: balanced;
    }
  4. 需要 BalanceText 處理的段落,加上 class="banalce-text"
    <p style="text-align:center" class="balance-text">There is nothing either good or bad, but thinking makes it so.</p>

經過 BalaceText 的處理,置中換行的文字段落,每一行的寬度被調整到較相近,有更好的可讀性。


範例原始碼詳見:http://jsfiddle.net/lyhcode/daFdg/

參考:Balancing Text for better readability

2013年2月27日

樂活台灣島地圖:住宿新竹喜來登飯店(新竹 / 竹北)

喜來登(Sheraton)是全球知名的旅館連鎖品牌,台灣目前有台北與新竹兩家,宜蘭喜來登仍下落不明。新竹喜來登位於竹北,觀光局星級旅館評鑑獲得五顆星,適合商務或家庭住宿。雖然歸類在豪華型酒店,但新竹喜來登的客房裝潢,並沒有過多俗氣的金碧輝煌,而是較多時尚舒適的設計風格,有許多是新家裝潢會考慮的元素。

優點:舒適好眠的喜來登甜夢之床(Sweet Sleeper)、乾淨寬敞的健身房與室內溫水游泳池、種類多的 Buffet 早餐

缺點:周邊並沒有太多可以走路可以逛的地方



Hotels.com 訂房 ($4,400/晚起)

延伸閱讀




開發者的 10 個網站壓力測試工具 ab, siege, curl-loader, httperf, http_load, tsung, funkload, openload, jmeter, blitz.io

網站上線前,壓力測試是不可少的步驟,這篇文章收錄十個開發者可以參考的壓力測試工具(Load/Stress Test Tools)。

一、ab

Apache HTTP server benchmarking tool

由 Apache 開發的測試工具,除了同廠牌的 Apache HTTP Server 之外,也能測試它牌的網站伺服器效能。

優點是此工具程式的效能極佳,可以輕易測試 1,000+ concurrent users 的測試,報表也算相當清楚。

輸出範例:

ab -n 10240 -c 512 http://localhost/

Concurrency Level:      512
Time taken for tests:   5.658 seconds
Complete requests:      10240
Failed requests:        0
Write errors:           0
Non-2xx responses:      10240
Total transferred:      4874240 bytes
HTML transferred:       2795520 bytes
Requests per second:    1809.94 [#/sec] (mean)
Time per request:       282.883 [ms] (mean)
Time per request:       0.553 [ms] (mean, across all concurrent requests)
Transfer rate:          841.34 [Kbytes/sec] received

常見問題:

Q: socket: Too many open files (24)

需要調整系統的 Open Files Limit 數值。

ulimit -n 8192

Q: apr_socket_recv: Connection reset by peer (104)

調整 Apache2 httpd.conf 的數值。

MaxClients          512
ServerLimit         512

二、siege

Siege is an http load testing and benchmarking utility.

http://www.joedog.org/siege-home/

三、curl-loader

使用 C 語言的 libcurl 函式庫為基礎開發的壓力測試工具,有優異的執行效能,如果硬體環境允許(處理器夠快、記憶體夠大),要模擬上萬個同時連線數量也做得到。

優點是方便用來模擬使用者登入、操作與登出的行為。

http://curl-loader.sourceforge.net/

四、httperf

由 HP 開發的壓力測試工具。

http://www.hpl.hp.com/research/linux/httperf/

可參考這篇教學

五、http_load

體積很小的壓力測試工具。

http://acme.com/software/http_load/

六、tsung

以 Erlang 語言開發,功能強大的分散式壓力測試工具。支援 HTTP/SSL、WebDAV、SOAP(Web Services)、資料庫(PostgreSQL, MySQL, LDAP)與即時通訊 XMPP/Jabber 等協定,並使用 XML 格式的設定。

http://tsung.erlang-projects.org/

Funkload Test Report
七、funkload

適合 Python 開發者的工具,壓力測試使用 PyUnit 單元測試框架;支援將測試結果利用 gnuplot 繪製成統計圖表。

http://funkload.nuxeo.org/

八、openload

開源的 OpenWebLoad 在 Linux 下執行網站壓力測試,算是簡單易用的工具,但是功能也相對較少。

http://openwebload.sourceforge.net/

圖片來源:Introduction to JMeter
九、jmeter

Apache 開發的 Java-based 壓力測試工具,功能十分強大且提供 GUI 設定介面。可以支援分散式的壓力測試,可事先設計好測試步驟(模擬多種使用者行為),並可將結果產生報表或繪製圖表。

http://jmeter.apache.org/

十、blitz.io

簡單好用的「網站壓力測試雲端服務」,註冊後可以獲得免費測試的點數(credits);如果只是進行小型的初步測試,並不需要費用或點數;進行 250+ concurrent users 以上的測試時,就需要扣取點數。

通過本網誌的介紹,已經邀請近百位開發者試用。

Blitz.io 預設使用的測試伺服器,位於北美的機房,所以測試架設於亞洲地區的網站,很容易出現 timeout 的問題(只要 response 時間超過 1000ms 就會 timeout)。所以可以將測試伺服器的地點指定「日本」(--region japan),就可以減少 timeout 頻繁的問題。

-p 0-250:10 --region japan http://company.coooom/

Blitz.io 可以說是最容易使用的壓力測試工具,只要以下步驟:
  1. 註冊成會員並登入(使用 FB 帳號)
  2. 填入想要測試的網址
  3. 依照指示在網站增加 .txt 文件檔(驗證網站是你擁有的)
  4. 套用預設的參數進行測試
  5. 調整測試參數取得需要的測試結果

Blitz.io 的測試結果是漂亮的圖形化報表,它也會針對測試結果給予一些分析。由於超過 1000ms 就會被列入 timeout,這個測試結果其實比較「嚴苛」,因為在上線人數較多時,網站延遲 2-3 seconds 回應,應該也算在合理的堪用範圍內。


使用 Blitz.io 的優點是,它是真實從遠方的測試主機進行壓力測試,所以測試結果也包含網路頻寬等因素。如果想要自行建立同樣的測試環境,就需要向 Amazon 租用 EC2 雲端虛擬機器,才能有充足的頻寬和運算資源來進行大量(例如 5,000+)的測試。比起自行建立分散式的測試架構,付點錢給 Blitz.io 是比較簡單的辦法。

免費獲取 Blitz.io 點數的方式,就是邀請其他人加入,所以建議可以早點參加,隨著它的發展愈久功能就會愈多。

立即免費註冊申請:http://blitz.io/gb98nG9v1ZRaN (邀請連結)

延伸閱讀

2013年2月26日

「電腦組裝」三萬元伺服器規格的硬體配置參考(2012年1-3月)

最近訂製的伺服器規格,提供給有需要的朋友參考。

用途:需要24小時開機當伺服器,記憶體充足且速度不差。
預算:主機不含螢幕鍵盤滑鼠,三萬元左右。
規格:XEON處理器、32GB記憶體、SSD硬碟、足瓦電源供應器。

品 名產 品 名 稱備 註數量小 計
主機板 MB華碩 P8H77-V 搭 Intel Xeon E3-1230V2 CPU合購價, $10560↘$10400 ★ 熱賣Intel 1155腳座/H77晶片/合板110400
記憶體 RAM創見㊣ DDR3 8G-1600單支【整組搭購價.限一組】, $1225 ★桌上型 DDR3單支44900
內接硬碟HDD|固態SSDIntel 520系列 240G/讀:550MB/寫:520MB/25nm/五年保固, $7750↘$7350 ★2.5吋SATA3 SSD固態硬碟17350
顯示卡VGA|3D套件 華碩 EN210 SILENT/DI/1GD3/V2(LP) /1G DDR3/16cm【紅綠配省50】免費升級4年保, $1190 ★PCI-E介面 nVIDIA 21011190
CASE 機殼(+電源) PC-7FN(黑) / 顯卡長 29cm.風扇高 16cm / U3內置.SSD*4, $3500 ★聯力-全鋁殼專家(ATX)13500
電源供應器海韻 G-650W / 80+金牌.半模組化 / 全日系電容(主要固態)【限組裝】, $3290 ★ 熱賣海韻-終身保固 三年免費13290
UPS|印表|掃描器 飛瑞 A-1000 離線式(Off-line) /瓦特數:600W/雷擊防護/輸出插座:3個, $2090 ★ 熱賣飛瑞 (Eaton)系列12090
含稅現金價:32720

使用 CodeNarc 分析 Grails 專案程式碼品質

CodeNarc 是用於 Groovy 語言的程式碼分析工具,它可以協助找出程式碼存在的缺陷、壞習慣、不一致等問題,提供高彈性的規則框架,方便為專案訂定規則,並可以整合到建置工具及產生報表。

CodeNarc analyzes Groovy code for defects, bad practices, inconsistencies, style issues and more. A flexible framework for rules, rulesets and custom rules means it's easy to configure CodeNarc to fit into your project. Build tool, framework support, and report generation are all enterprise ready.

如果尚未瞭解程式碼分析對軟體專案的好處,可以參考「軟體構築美學」這本書的第五章,雖然該書是為 .NET 所寫,但其精神同樣適用於 Java / Grails 的開發。

在 Grails 的建置流程加入 CodeNarc 的支援,可以說宇宙超級無敵簡單,已經提供 CodeNarc for Grails Plugin,所以強烈建議...一定要加上 CodeNarc 整合。

安裝方法:

執行「grails install-plugin codenarc」



編輯 grails-app/conf/BuildConfig.groovy 在 plugins 區塊加上 compile ":codenarc:0.18.1" 設定。(適用 Grails 2.2.0 或更新版本)

安裝好 Plugin 以後,只要執行:

grails codenarc

就會產生報表檔案:target/CodeNarcReport.html

報表的畫面請參考以下畫面:



對專案管理者來說,只要由資深開發者訂定規則,依照 CodeNarc 的規則語法撰寫定義檔,就可以在持續整合(continuous integration)階段,自動產生程式碼的分析報表。

如此一來,就能夠要求每位開發者“盡可能”撰寫出能夠通過檢查的程式碼;能夠通過程式碼規則分析的查核,並不代表程式碼就沒 BUG 或很好,但至少在風格上會比較一致,而且能夠避免一些愚蠢的錯誤。

2013年2月23日

食べログ(tabelog.com)搜尋日本美食

食べログ(tabelog.com)

食べログ收錄超過 70 萬家日本餐館資訊,包含各類型的美食與價位,是日本自助旅行做功課的好地方。和一般介紹日本美食的「中文網站」或書刊雜誌不同之處,就是「食べログ」是道地的日本網站,就像在台灣找美食可以用「愛評網」;到日本當然要多用當地人的網路工具啦。

網站只有提供日本語系,但只要利用 Google 瀏覽器的自動翻譯,看不懂日文也可以大概猜出說明內容的原意。

利用 Google 網站翻譯將日文自動轉成中文繁體

將喜歡的餐館訊息記錄下來,還可以在 iPhone 安裝「食べログ APP」軟體,這樣一來就可以方便查詢想去的餐館,並且打開地圖導航節省找路的時間。


2013年2月22日

從慘痛經驗比較 Grails 2 應用程式的佈署環境

每次以 Java 開發 Web Application,總是在效能的問題踢到鐵板。前幾年使用  Groovy 架構打造的 PLWeb,耗費近兩個學期的調校,最後才能負載約 100 多位 concurrent user 的處理量;伺服器的總記憶體甚至增加增加到 32GB,所以算用銀兩解決不少問題。

重新以 Grails 開發的 CodeCanaan 教學系統,面臨的伺服器環境更加嚴苛,因為沒有任何經費補助,只能勉強先租用一部 Linode 1024MB 的主機,也就是記憶體只有 1GB 的情況下,要運作一個框架更為複雜的 Web 系統。

機器:Linode VPS 1024 搭配 Ubuntu 12.04 LTS  Server。

RAM 的分配:
  • Tomcat 約 768MB
  • Apache、MySQL 與其餘系統服務 256MB

雖然理想是能有一部獨立的 Database Server 加上三部 Application Server,但現實是沒有那麼多銀兩,所以只能先將有限的資源榨乾。

本來對新版的 Java 7 + Tomcat 7 號稱更好的效能有一些幻想,所以就直接將 Server 的 Java EE 環境直接升級到最新。

今天第一次上線面對 70 位使用者同時上線,光是註冊動作就卡住近 20 分鐘,接下來不斷面臨網站癱瘓的局面。

平常開發階段的測試速度都很快,讓我對 Grails 專案佈署結果有過度期待,面對網站不堪用的情況,只好從基本的壓力測試重新檢查一次。

Oracle Java 7 + Tomcat 7 的測試結果。

$ ab -n 512 -c 20 http://localhost:8080/

Concurrency Level:      20
Time taken for tests:   109.402 seconds
Complete requests:      512
Failed requests:        0
Write errors:           0
Total transferred:      13357056 bytes
HTML transferred:       13202944 bytes
Requests per second:    4.68 [#/sec] (mean)
Time per request:       4273.526 [ms] (mean)
Time per request:       213.676 [ms] (mean, across all concurrent requests)
Transfer rate:          119.23 [Kbytes/sec] received

看到這個測試結果真傻眼,每秒居然只能處理不到 5 個 request,而且 concurrent 才只設定 20 而已。這個問題卡關幾個小時,仍無法找到效能低落的主因,期間發現打開 Tomcat 7 的 APR 會比預設的(BIO)模式效能更差,這和我對 APR(Native)模式理解有所出入。

這個測試結果比直接用 grails run-app 運行 development 模式的效能更差,雖然不太能夠理解真正原因,不過還是先嘗試將 Java EE 環境的版本調降。

改用 Oracle Java 6 + Tomcat 6 重新佈署。

$ ab -n 512 -c 20 http://localhost:8080/

oncurrency Level:      20
Time taken for tests:   12.629 seconds
Complete requests:      512
Failed requests:        0
Write errors:           0
Total transferred:      13351936 bytes
HTML transferred:       13202944 bytes
Requests per second:    40.54 [#/sec] (mean)
Time per request:       493.318 [ms] (mean)
Time per request:       24.666 [ms] (mean, across all concurrent requests)
Transfer rate:          1032.47 [Kbytes/sec] received

剛建置好的新環境,設定僅用預設值尚未經過調校,但測試結果已是正常水準。

2013年2月20日

Hotels.com 日本飯店住宿限時特價 5 折起,飯店特惠 101 小時優惠

飯店特惠 101 小時優惠 - 5折起

三月準備到日本賞櫻嗎?自助訂房可以省下不少旅費!除了 Hotels.com 現正推出的 5 折優惠外,另外分享一些訂房心得。

☆☆ 省錢第一招!

Hotels.com 日本數十家飯店五折起,兩人住宿平均一人花費不到 1000 元,就能入住評比三顆星以上的旅館。

參考:飯店特惠 101 小時優惠 - 5折起

☆☆ 省錢第二招!

善用 Hotels.com 的 Welcome Rewards 顧客獎賞制度,訂房集滿十個晚上,就多贈送一晚!

參考:Hotels.com 獎賞計畫「Welcome Rewards™」住10晚送1晚

☆☆ 省錢第三招!

找到喜歡的旅館別急著下訂,先用 Hotels Combined 搜尋一次,比較 Agoda、Booking.com 等全球知名線上訂房系統的價格檢索。同樣的旅館和房型,在不同網站訂房的價格,有時會有很大差距喔。

☆☆ 省錢第四招!

便宜住宿用 Agoda 找,可以找到更多選擇!

如果在東京、大阪等都會地區,只想找個晚上可以洗澡睡覺的地方,把錢省下來吃喝玩樂,找一個人住宿費台幣 500~1000 元的廉價旅館,用 Agoda 可以找到更多筆,而且同樣享有訂房回饋金制度。

因為 Agoda 有優良的顧客評比機制,多查看其他顧客住宿後的評論,可以更容易辨別便宜的旅館是否符合:乾淨、安全、服務不差以及通英語的基本要求。

參考:Agoda 網站

☆☆ 省錢第五招!

長距離移動搭乘 Willer Express 夜間車,在車上睡一晚,不僅省錢也可利用睡覺時間移動。Willer Express 提供多種座椅,可以加價選擇比較舒適的座椅,雖然不比能躺平的臥舖,但很適合身強體壯容易入眠不怕吵又耐操的背包客。

*東京到大阪,搭乘 RELAX 舒適座椅,車資大約日幣 $4,700 元起。

現在 Willer Express 已經有中文網站,提早預定或持學生證,可以再享額外的折扣。

參考:Willer Express 網站

☆☆ 旅費估算(七天六夜)!

機票:搭乘樂桃航空,台北大阪來回約 $4000 - $6000
住宿:6夜 * $1000 - $1500/人,約 $6000 - $9000
車資:購買周遊券約 $3000 - $5000
餐費:三餐吃日本料理,7天 * $1000/天,約 $7000
-----------
小計:$20,000 - $27,000

真的有夠省 : )

ShareDesk 搜尋全世界的「分租辦公室」適合新創公司的短租工作空間

ShareDesk - http://www.sharedesk.net

只要輸入城市名,ShareDesk 立即幫你搜尋該地區的...出租辦公室,而且最短租期只要一天、甚至也有以小時計算的服務。

我很好奇台灣是否有這樣的場所,所以輸入「Taiwan」,不過沒有任何結果,因為包含的地區太廣無法找;換個關鍵字「Taipei」果然找到...兩筆資料。位於台北大安區的「慶隆商務俱樂部」提供 USD $5.5 / hour 起的收費服務,共用工作空間(Coworking Space)平均每日收費台幣 $267 元起,還提供 Herman Miller 人體工學椅。


會找到 ShareDesk 這個網站,是因為我關注的 Grails 社群,近日舉辦的課程地點在曼谷,很好奇它挑選的場地「HUBBA」。


HUBBA - Bangkok's 1st Coworking Space for Tech & Creative Startups

搜尋相關資料時發現 HUBBA 的 ShareDesk 專頁


用「Bangkok」(曼谷)做關鍵字再找一次 ShareDesk,可以找到三家看起來質感都不錯的分租辦公室。


2013年2月18日

當教召遇到出國?!如何申請免除本次召集

如果收到教育召集令(教召),卻剛好和出國的時間"卡"到該怎麼辦呢?

相信近年赴海外出差旅遊留學進修深造度假打工壯遊的朋友愈來愈多,剛退伍幾年內又容易被教召,日期給它衝到真的是很不巧捏!

參考後備指揮部提供有關兵役法的相關規定,出國可以依規定申請免除召集(免召)。

◎依據兵役法第43條:
後備軍人及補充兵具有下列情形之一,經國防部所屬權責單位核定者,得免除本次教育、勤務、點閱召集
1.患病不堪行動者。
2.家庭發生重大事故,必須本人處理者。
3.中等以上學校在校之學生。
4.民意代表正值開會期中者。
5.因事赴國外者。
6.航行國外之船員,正在航行中者
7.有犯罪嫌疑在羈押中,或犯罪處徒刑在執行中者。
8.其他因不可抗力而無法應召者。

免召和請假或緩召不一樣,只要申請通過,該次召集就可以免除而非延期。

◎當事人於收到召集令後,如符合兵役法第43條各款要項,需申請免除本次召集者,應於召訓前3天向戶籍所在地縣、市後備指揮部提出申辦,經審查後(不論是否符合申辦要件),均會以正式公文書(載明事由)函覆。

雖然規定是「前三天 」申請即可,但建議不要拖到那麼晚,如果早已規劃好出國行程,提前一、二個星期申請,就可以早一點收到免召的確認。萬一時間急迫來不及申請,就需要請家人幫忙代辦,重點是要有出入境記錄可以證明,教召期間確實有出國的事實。

需要準備:
  • 教育召集令正本(含交通票)
  • 出國證明文件
  • 護照影本(記得先影印好)
  • 身分證影本(記得先影印好)
  • 印章

其中出國證明文件,只要是能夠證明教召期間會出國的資料即可,例如:
  • 公司派遣國外出差證明(需要蓋公司章)
  • 旅行社旅遊契約書
  • 機票訂位記錄

自己訂票的自助旅行者,可訂位後收到的 E-Mail 確認信印出來當證明。以筆者的經驗為例,由於是直接在廉價航空的網站刷卡訂票,唯一的證明文件就是訂購行程內容的 E-Mail 通知,將它印出來把往返航班時間標記清楚,就拿來當做出國證明。

準備好相關的文件,到各地區的後備指揮部服務處辦理;服務處是有開放一般民眾進出洽公的辦公室,可別誤闖有哨兵的營區啊!

申請免除召集的程序,主要是填寫一張申請書和一張切結書,需要蓋私章。填寫完成就把召集令、護照與身分證影本與出國證明文件,一起交給承辦人員。

等收到「申請免除本次召集盒核復表」公文的副本(掛號信),就表示申請已經通過。

重點是:一定要出國!一定要出國!一定要出國!一定要出國!一定要出國!一定要出國!一定要出國!一定要出國!一定要出國!一定要出國!一定要出國!一定要出國!一定要出國!一定要出國!一定要出國!一定要出國!

如果是以出國為理由申請免除召集,承辦人員會在教召日期後,查詢是否有出入境記錄,所以絕對不能只買機票卻未出國,這樣可能會吃上官司需要上法院報到(妨害兵役)。如果因故取消出國行程,教召當日就需要乖乖去報到。

申請免教召之後,會有什麼影響呢?

根據國防部後備指揮部問題諮詢的答覆內文:

◎國防部為確保訓練成效,維持團隊默契與向心,律定凡納編後備部隊要員均採「固定編組」,每年以新退人員(退伍第2年)實施異動輪換遞補,退伍第1年採通信資檢驗證基本資料。

如果你不小心因為出國申請免除召集,就會失去和該次弟兄維持團隊默契與向心的機會,該次「固定編組」要員就不含你在內,據說有可能讓你之後的教召機會平白無故流失!

延伸閱讀:

LearnGitBranching 學習 Git Branch 的網站

Git 是比 SVN 更棒的版本控制系統,熟悉 Git 幾乎是現代軟體開發者必備的技能,它最大的缺點就是...用過之後就再也回不去了 : )

Git 開 branch 很容易,維護也很方便。但對於剛開始使用  Git 的新手,通常會「害怕建立 brach(分支)」,可能是出自於怕麻煩或不瞭解原理。

LearnGitBranching 是提供互動式教學的網站,提供關卡式的設計,讓 Git 的新手更容易瞭解 Git Branch 的使用觀念。

LearnGitBranching
http://pcottle.github.com/learnGitBranching/



如果想更完整學習 Git 的觀念與工具操作,也可以參考 O'Reilly 出版的《Version Control with Git》,中譯版是《版本控制使用 Git》。


【新書介紹】O'Reilly - Getting Started with Raspberry Pi By Matt Richardson, Shawn Wallace

Getting Started with Raspberry Pi
Raspberry Pi 是一款麻雀雖小五臟俱全的微型電腦,目前有 Model A 與 B 兩種型號,其中 Model B 價格稍高但規格較好:
  1. 售價僅 $35 USD(約台幣 $1050 元)
  2. 長寬約等於一張信用卡、體積接近一個香煙盒
  3. CPU 採用 32bit 700MHz 的 ARM11 架構處理器
  4. RAM 主記憶體容量有 512MB
  5. 內建 2 組 USB 孔
  6. 提供 HDMI 與 RCA 顯示輸出
  7. 類比音效輸出(3.5mm立體聲)
  8. 作業系統與檔案使用 SD 記憶卡保存
  9. 乙太網路
  10. 使用 Micro USB 提供電力
Model A 沒有乙太網路、記憶體較少(256MB),但優點是比較省電。

Raspberry Pi 可以當做一台完整的「迷你主機」,只要接上電源、鍵盤滑鼠與顯示器(需要以 HDMI 連接),就可以把它當做是一部個人電腦使用。

由於 Raspberry Pi 消耗的電不多,只要利用 USB 連接線,接上手機的 USB 充電器、筆電或桌機的 USB 孔,或者使用外接行動電源,就能提供所需電力。

因為體積小、耗電少,以及重點...「便宜」,Raspberry Pi 可以滿足玩家對「Make(自已動手做)」的渴望,舉凡用 Pi 打造車用多媒體主機、家庭劇院、隨身行動電腦、黑客工具、遙控玩具或機器人等,只要熟悉 Pi 就可以用更少的預算與時間完成。

如果你已經心動,可以趕快到 Raspberry Pi 網站訂購,愈早下訂愈好,它目前仍是供不應求的狀態;根據筆者的經驗,從下訂到收到貨品,足足等待三個月之久。

當你收到 Raspberry Pi 之後,打開包裹會發現,裡面只有像裝水果糖的塑膠盒,內容物就是一塊 Pi 電路板與一張紙!別太過驚訝,它的包裝就是如此精簡。

雖然可以在 Raspberry Pi 的網站,或者利用 Google 找到足夠的資訊,幫助你開始使用它;但是為了節省時間,我想直接找一本手冊來閱讀。

我學習 Pi 的第一本書是「Getting Started with Raspberry Pi」,選擇它的原因有兩個:(1) 值得信賴的 O'Reilly 出版社;(2) 由知名的 Make Magazine 編寫。《Make》是知名的「自動動手做」雜誌書,教讀者將科技延伸應用到生活中,結合電子、機械與程式設計等技巧。

Getting To Know The $35 ARM-Powered Linux Computer
By Matt Richardson, Shawn Wallace
Publisher: O'Reilly Media / Make
Released: December 2012
Pages: 180

這本書包含 10 個章節,屬於「Getting Started Guide(新手上路)」的說明手冊。對讀者來說,基礎的知識必須找其他書閱讀,例如 Linux 系統操作、Python 程式設計等,對於不熟悉 Linux 與 Python 的使用者,大概就只能從前 1 - 2 章獲得少許幫助(認識 Pi 與安裝作業系統、開機到桌面環境及網路設定)。

1/Getting Up and Running
2/Getting Around Linux on the Raspberry Pi
3/Python On The Pi
4/Animation and Multimedia in Python
5/Scratch on the Pi
6/Arduino and the Pi
7/Basic Input and Output
8/Programming Inputs and Outputs with Python
9/Working with Webcams
10/Python and The Internet

拿到 Pi 與書之後,第一件事情就是要安裝作業系統,所以前兩章就是很好的懶人包,可以省下不少找資料所需的時間。Pi 的作業系統 Raspbian 是以 Debian Linux 為基礎開發,需要從網路下載取得最新版本,並且正確將它存到 SD 記憶卡,才能讓 Pi 順利開機。

許多 Pi 使用者遇到的問題:「沒有 HDMI 螢幕怎麼辦?」儘管許多電腦螢幕和電視都有支援 HDMI,但總是會遇到沒有螢幕的狀況,例如出外身邊只有筆電和 Pi,如果不想隨身帶一台外接螢幕,那就只能透過網路遠端存取 Pi 的系統,在書中 p.29 的 Running Headless 就提供有用的建議:透過 SSH 及 VNC 操作 Pi,在沒有顯示器、鍵盤與滑鼠的窘境下,仍然可以利用筆電的網路遠端存取。

前 2 個章節比較需要仔細閱讀,之後從 3 - 10 章就只要依照個人需求選讀,這些章節之間並沒有先後順序與關連。

雖然 Pi 也支援各種程式語言,例如 C / C++ / Ruby / Perl ... Node.js 等,畢竟它可以執行相當完整的 Linux 作業系統,常見的軟體工具,只要透過 apt-get 就能安裝。

但是 Pi 的社群比較偏好用 Python 寫程式,這本書後面大多數章節都是以 Python 為主;對於開發 Pi 的程式,Python 是很好的起步工具,因為這本書已經提供不少教學,關於利用 Python 撰寫 Pi 的程式,包含存取網路、多媒體與視訊的實際範例。

如果想使用 Pi 控制機器人或其他電子電路裝置,最好的方法就是跟電子積木「Arduino」結合,第 6 章的教學是個不錯的起步,讓你開始使用 Pi 連接 Arduino 電路板,並利用 Python 程式透過 Serial connection,建立起 Raspberry Pi 與 Arduino 兩個裝置間的通訊。

目前 Raspbery Pi 還肩負一項重要任務,就是基礎程式設計的教學。日前 Google 贊助百萬美元給 Raspberry Pi 基金會,幫助英國學童學寫程式。Pi 的簡單易用、省電節能以及重點...「便宜」,對教育來說是很棒的工具,特別是教「寫程式」,應該很難找到像 Pi 這樣只要台幣一千元,就能撰寫程式碼並編譯執行的硬體吧?這本書的第 5 章,是拿 Pi 來教程式設計邏輯觀念的案例,使用由 MIT 實驗室開發的 Scratch 軟體,可以用視覺化的方式讓學童也能接觸程式設計。

優點

涵蓋新手上路必須知道的 Raspberry Pi 知識。

缺點

對於不熟 Python 也不打算用 Python 的讀者,這本書的價值就大打折扣。

評比

★★★★☆(推薦!)

購書連結
  1. Buy from 《Getting Started with Raspberry Pi》O'Reilly Books

2013年2月17日

GoDaddy 購買 .tw 網域名稱第一年只要 $720 元的方法

雖然我的網域名稱幾乎都在 GoDaddy 註冊購買,因為透過它註冊 .com 之類的網域名稱,費用比國內其他管道購買便宜,而且經常有優惠折扣。除了...台灣專屬的「.tw」網域名稱。

每次想買「.tw」的網域名稱時,GoDaddy 那個高達 $39.99 美金的價格(而且幾乎不會有啥促銷),換算下來要價 $1,200 元新台幣,比在 PXHome 買網址還要貴@@

所以過去只要買「.tw」網址,通常就是先在國內其他管道買,大概 $600-$800 元,然後在利用 GoDaddy 提供的 off-site DNS 免費托管,這樣一來即使在國內其他管道註冊的網址,也能交給 GoDaddy 集中管理。

我偏好在 GoDaddy 買網址,原因是它後台功能算是比較齊全,而且可以透過 PayPal 付款很方便。反觀國內有些網址商,雖然可以用其他方式如超商、ATM轉帳付款,但後台功能陽春到爆,...通常我都是註冊玩就直接轉給 GoDaddy 做 off-site 管理了。

最近要買一組新的 .tw 網域名稱,因為是自己要用的,不想再其他管道註冊,這樣比較容易管理每年要續約的時間和預算,所以認真找一下「GoDaddy 怎麼買網域比較便宜」。

利用「godaddy promo code 2013」當關鍵字,找到一個臉書粉絲專頁,專門提供 GoDaddy 的優惠代碼。

http://www.facebook.com/GodaddyPromoCode2013

測試一下果然找到一組可用的優惠代碼「WOWSAVED20」,雖然字面上看起來只是八折(20% off),但測試後發現購買 .tw 網址可以打到六折(據說到 2/28 以前可不限次數使用)。

GoDaddy 定價高達 $39.99 美金的 .tw 網域

輸入這組優惠代碼「WOWSAVED20」。


瞬間就少掉 $16 美金的費用,只要支付 $23.99 就能買到一組 .tw 網域名稱,換算大約 $720 元新台幣。事實證明,只要勤勞一點,找到優惠代碼就可以省下好幾塊雞排的花費啊!


雖然優惠只有「第一年」適用,之後續約就可能「恢復原價」;關於這點因為 GoDaddy 轉出網址並不難,如果真的在意續約費用,只要到期前將它移轉到其他收費較便宜的註冊商。

MacBook Pro 筆電電池更換自己動手,只要 2000 元有找

我的 MacBook Pro 筆電電池循環已達 200 多後,狀態已顯示「電池維修」,剩餘的電池壽命僅有 70%(關於查詢電池壽命的方法請參考這篇)。雖然「電池維修」之後還有更糟糕的「立即維修」狀態,但是只剩 7 成的電量實在不方便,只能維持 2.5 ~ 3 小時的續航力(因為已改雙硬碟 + 增加記憶體所以更耗電一些)。

印象中對 MacBook 電池維修的費用總是貴森森;但是 MacBook Pro 拆卸並不難,大概十分鐘內就可以更換完成,因此需要的費用僅有價格約 2000 元左右的全新電池。我的筆電是每天使用的工作用機器,大概使用兩年後電池的容量就開始下降;電池本來就是消耗品,如果能在合理的費用內更換新電池,其實也不用太過度在意電池的保養,畢竟一台筆電能用滿三年就很了不起啦!

MacBook Pro 13" Unibody 2010-mid 使用的電池型號是 A1322,在網拍很容易找到,但價格有很多種,我是挑便宜、店家看起來可以信任的下訂。

參考 ifixit 的電池更換教學,以下以照片記錄更換過程。

用便利商店取貨付款,大約等三天左右就拿到新電池。

新電池開箱!

拆 MacBook 筆電背蓋,需要找專用規格的起子。

筆電原本的舊電池!

拆電池需要 Y 型起子和挖電池用的塑膠工具。

用塑膠工具把電池接頭挖起(垂直往上)。

拆接頭要使用塑膠工具,避免金屬工具誤觸帶電的接點。

電池以兩個 Y 型螺絲固定,有長短之分(左短、右長)。

小心取出電池。

新電池驗明正身,型號 A1322、電壓 10.95V、63.5Wh。

裝上新電池、重新鎖回所有螺絲,大功告成!

新的電池第一次開機顯示容量 5720mAh,筆電續航力的第二個春天來啦!


亞航促銷菲律賓(克拉克)來回機票只要台幣 1,353 元起

亞航飛菲律賓克拉克的機票促銷,2/17 是最後一天;以自助旅行 10 天 9 夜預算台幣 $18,000 試算。

來回機票 $1,353/人 + 9晚 * 平均每晚住宿 $800/人 + 10日 * 平均每日餐費 $500/人 + 車資 $3,000/人 + 簽證 $1,200/人 = $17,753/人

## 機票 ##

亞航(AirAsia)促銷票只要台幣 4 元,加上必要的稅金後來回機票 1,353 元。

台北(桃園機場)→菲律賓(克拉克機場)
促銷票:台幣 999 元

菲律賓(克拉克機場)→台北(桃園機場)
促銷票:台幣 354 元

機票小計:999 + 354 = 1,353

## 交通 ##

國內線
  1. SEIR
  2. 宿霧太平洋

## 簽證 ##

馬尼拉經濟文化辦事處

台北:104台灣台北市長春路176號11樓
TEL:(886) 2-2508-1719 Map

台中:40341台灣台中市民權路239號4樓2A(國泰人壽大樓中港大樓)
TEL:(886) 4-2302-9080 Map

高雄:807台灣高雄市三民區民族一路80號9樓之2
TEL:(886) 7-3985935,(886) 7-3985936 Map

所需文件:
1. 個人觀光簽證申請書
2. 必備文件Check List
3. 護照正本
4. 身分證正反面影本(剪成小張)
5. 六個月內的2吋彩色半身照兩張
6. 簽證費用1200元
7. 未滿15歲小朋友需要戶籍謄本

簽證費用小記:台幣 1200 元

## 住宿 ##

Agoda 找台幣千元有找的便宜住宿,選擇地點、利用星等與價格排序,篩選顧客回應多、評分高的旅館。

克拉克
  1. 洛杉磯市圖內飯店 (Tune Hotel - Angeles City)
  2. 魯米公寓 (Rumi Apartelle Hotel)

宿霧
  1. 阿爾巴公寓飯店 (Alba Uno Residencia)
  2. 彭斯恩宮殿飯店 (Palazzo Pensionne)

馬尼拉
  1. 馬尼拉心靈平靜民宿 (Chill Out Guesthouse Manila)
  2. 馬比尼大廈飯店 (Mabini Mansion Hotel)

長灘島
  1. 晨星海灘渡假村 (Morning Star Beach Resort)
  2. 羅梅羅長灘別墅飯店 (Villa Romero de Boracay Hotel)

2013年2月9日

利用 Evernote Clearly 輕鬆整理旅遊資訊

Evernote 是知名的雲端筆記服務,不僅在電腦上可以方便整理筆記,還能夠在 iOS 與 Android 行動裝置上閱讀。除了用於工作、學習的筆記,結合手機的照相功能,就可以變成旅行時最佳的記錄工具,把景點與美食快速記錄下來,是擁有智慧型手機的朋友必備的 App 軟體。

Clearly 是由 Evernote 製作的瀏覽器輔助工具,可以輕鬆將原始網頁轉換成「更容易閱讀」的樣式。建議搭配 Google Chrome 使用,安裝後在瀏覽器右上角就會出現「Clearly」的檯燈圖示。

使用「Evernote + Clearly」就變成超級好用的旅遊資訊筆記本,在出發自助旅行前,規劃行程、找資料做功課時,只要幾秒鐘就能把喜歡的網頁資料變成自己的筆記。

直接看畫面會更清楚怎麼做:

Google Chrome 瀏覽器先安裝 Clearly 外掛;看到喜歡的旅遊資訊,直接點 Clearly 進入舒適閱讀模式。

經過 Clearly 處理的網頁內容,已經將側邊欄、廣告等不必要的資訊都清理乾淨。如果想要把網頁內容變成筆記,只要點選右邊的 Evernote 按鈕,就會將「文字 + 圖片」全部轉成筆記。

打開 Evernote 進行「同步」,會將已經轉換成筆記的圖文資料下載,因為已經變成一篇筆記,所以方便編修、劃重點等。

旅行時只要使用智慧型手機或平板,就可以輕鬆閱讀整理好的筆記資料。

搭配 Evernote 專業版 App(需要付費),就可以支援下載筆記離線閱讀,對於出國自助旅行不方便隨時上網的使用者,僅需支付一個月 $150 元台幣的費用(如果平常用不到專業版功能、就是要出國前再買即可)。

2013年2月8日

GeekDesk 專為電腦技客打造的工作桌

GeekDesk

GeekDesk 是一家專業設計生產「技客工作桌」的公司,適合整天工作都在電腦桌前的工作者。許多公司例如最近很紅的 Coursera 等,就指定採購 GeekDesk 的工作桌,作為辦公室的標準配備。

什麼才算受到技客(Geek)青睞的工作桌呢?GeekDesk 有這些特色:

  1. 提供電機升降馬達(Electric motor is effortless)
  2. 一鍵快速切換坐立模式(Sit/stand with a button push)請見「站著工作更健康
  3. 划算(Extremely cost effective)
  4. 增加生產力(Increase productivity)
  5. 更健康的工作(Work healthier)
  6. 減少肩頸疼痛(Reduce back & neck pain)
  7. 更容易專注(Stay more easily focused)

GeekDesk 提供兩種型式:
  1. GeekDesk Max 售價 $949 USD 起
  2. GeekDesk v3 售價 $749 USD 起

最便宜的 v3 價格約為台幣 22K,等同國內目前最熱門的薪資行情 : )

GeekDesk
http://www.geekdesk.com/

對於一天超過八小時都在辦公室過日的電腦工作者,工欲善其事必先利其器相當重要,因為舒適的工作環境讓員工生產力提昇,而且對公司來說只是一筆並不是太超過的花費;不信?算給你看。

範例:讓員工捨不得離開這家公司的辦公設備:
  1. DELL UltraSharp 27" IPS 螢幕 * 2顆 (雙螢幕的重要性不必多說了) = $52,000 NTD
  2. GeekDesk 或 Herman Miller Envelop 人體工學工作桌 * 1組 = $36,000 NTD
  3. Herman Miller Embody Chair 人體工學椅 * 1組 = $48,000 NTD

Total = $136,000 NTD

若比照公家單位年限 5 年計算,平均一年只要 $27,200 元、每月只要 $2,266 元。

PS. 這樣的工作環境在國外很常見(詳見 OfficeSnapshots 網站),並不會特別吸引求職者。但是在國內若有雇主願意重視工作環境,相信會比只給 22K 或香蕉的同業,產生百倍的引力吸引更優秀的求職者注意啊!

lyhcode by lyhcode
歡迎轉載,請務必註明出處!