台灣水庫蓄水量在這裡: http://water.taiwanstat.com/
資料來源是從經濟部水利署來: http://www.wra.gov.tw/
以視覺化的方式來將資料呈現出來, 很棒的作法, 也讓大家能快速理解水庫蓄水總量, 存量資訊.
大家可以多多利用.

台灣水庫蓄水量在這裡: http://water.taiwanstat.com/
資料來源是從經濟部水利署來: http://www.wra.gov.tw/
以視覺化的方式來將資料呈現出來, 很棒的作法, 也讓大家能快速理解水庫蓄水總量, 存量資訊.
大家可以多多利用.

繼上次 facebook 取得大頭圖 (link)後, 這次來說明取得 Google Plus大頭圖的方式.
需要先取得一個 Google Plus API 的 key (目前共有4種, server、browser、android、ios), 依實際需求來使用, 若要方便測試, 可以建立 server api key, 並設限 ip 0.0.0.0/0 全開放, 或是 browser api key 並設限為不限網域全開放.
接下來我們將使用的 Google Plus Api 是這個: plus.people.get, 參考以下網址:
http://developers.google.com/apis-explorer/?hl=zh_TW#p/plus/v1/plus.people.get
由於我們要取得大頭圖, 所以 fields 是使用 image, 可以獲得 api 存取需要以下網址:
https://www.googleapis.com/plus/v1/people/{user_google_plus_id}?fields=image&key={YOUR_API_KEY}
接下來訪問這個 url:
https://www.googleapis.com/plus/v1/people/106189723444098348646?fields=image&key={YOUR_API_KEY}
就可以取得如下回應:
{
"image": {
"url": "https://lh3.googleusercontent.com/-Y86IN-vEObo/AAAAAAAAAAI/AAAAAAADO1I/QzjOGHq5kNQ/photo.jpg?sz=50",
"isDefault": false
}
}
這個大頭圖的 url 就會出現囉. 大家猜一下是哪位呢?
參考資料:
http://stackoverflow.com/questions/17962759/is-it-possible-to-create-an-avatar-profile-picture-link-from-a-google-id
https://developers.google.com/+/api/oauth?hl=zh-tw
想要秀一下在 flickr 上的相片嗎?
使用好用的 flickr slidershow 功能, 像是這個: http://www.flickrslideshow.com/ , 只需要填入 URL of user 或是 set, 就可以產生 embed 的 flickr 相簿. (使用 flash)
另外像是這個: http://flickrit.com/ , 則是填入關鍵字、標籤、相簿代碼、使用者或是群組代碼, 即可產生 embed 的 flickr 幻燈片. (使用 iframe , 不使用 flash)
可以利用 Facebook 的 Graph API 進行即可.
facebook avatar api:
http://graph.facebook.com/[user-id]/picture default: 50×50
http://graph.facebook.com/[user-id]/picture?height=100&width=100 for 100×100
其中的 [user-id] 直接拿驗證後的 fbid 值即可, 原始的 fbid 也是可以正常使用的, 另外有設定自訂名稱的亦可.
參考資料: https://developers.facebook.com/docs/graph-api/reference/v2.2/user/picture?locale=zh_TW
例如:
http://graph.facebook.com/4/picture
http://graph.facebook.com/zuck/picture
http://graph.facebook.com/4/picture?height=300&width=300
之前有介紹過線上版本的數學解題工具:
現在來介紹一下微軟的工具, 是下載安裝的應用程式, 於2011年出的 Microsoft Mathematics:
http://www.microsoft.com/zh-tw/download/details.aspx?id=15702
該工具可以直接從上面網址下載安裝, 分為 x86, x64 兩個版本, 可以自行選擇適合版本安裝.
以網友問的一個問題為例:
x * y <=3
x – y >=0
若輸入到上面第二個服務 wolframalpha 解題如下:
http://www.wolframalpha.com/input/?i=x*y%3C%3D3%2C+x-y%3E%3D0

可以看到繪製出來的結果如上圖, 接下來使用 Microsoft Mathematics 來進行解題, 產生結果如下:

結果當然是一樣的, 不過在 windows 下的應用程式來解題, 十分方便好用, 大家可以試看看.
今天早上9點多開始的, 原來要用 run.quikLAB 的服務, 網頁有些問題, 剛好在忙, 沒特別去查.
不過後發現像 dropbox 也有這個狀況(因為 dropbox.com 網頁也用了 cloudfront), 開啟了 firebug 的 network 功能, 檢查一下, 原來是 cloudfront dns 解析失敗.
經交錯測試檢查, 目前查得狀況如下,
如此一來, 變成 hinet 網內用 hinet dns 的用戶, 會無法正常檢視有使用到 cloudfront 功能的網站, 太奇怪了.
所以, 再觀察看看. 這個問題很大.
[12:12]
目前已觀測正常了. 看起來可能是第二個原因吧.
今天在幫一個網站處理加上 SSL 時, 發現有個使用 jQuery 的效果消失了, 經檢查後, 發現其實是因為該網頁使用了 http://code.jquery.com/jquery-latest.min.js 的 jQuery library.
為了解決這個問題, 當然就是再加上 https 就可以了. 不過有沒有更好的方式呢? 答案是有的, 使用 // 雙斜線來處理.
//code.jquery.com/jquery-latest.min.js
這樣的語法, 是告訴瀏覽器, 使用”繼承”的 protocol, 也就是說, 主 url 上使用是 http, 這裡就用 http, 而原本是走 https , 這裡就用 https.
簡單來說, 一種方式就是 library 就都用 https 的方式, (當然原本的 library 網站要有支援 https, 目前絕大部分的 cdn library 都有), 否則使用這種 double forward slash 也是很不錯的方式, 解決開發環境只用 http, 而 production 環境使用 https 的狀況.
剛在撰寫程式碼時, 發現要取回 aws cloudsearch 中的搜尋使用時間, 其傳回的 json 參數中, 使用了減號, 該鍵值為 time-ms , 其實很直覺地要使用, 但又覺得怪怪的, 一執行馬上就有問題.
因為原來的 jsonObj.time-ms 會被視為 jsonObj.time – ms , 所以必須調整寫法, 正確寫法如下:
jsonObj["time-ms"]
這樣就可以了, 當然, 該回應的 json 中, 該鍵值(key)也必須是使用引號包起來的, 否則該 json 物件也會有問題.
測試程式碼如下:
var a = {
"mykey": "value1",
"my-key": "value2",
}
alert(a["my-key"]);
會回應 value2 這樣就對了.
參考資料:
http://stackoverflow.com/questions/13869627/unable-to-access-json-property-with-dash
這篇文章利用了之前的單字元判斷是否為 BIG5 的 ASP程式進行實作 (link), 由於是一個字一個字判定, 所以效率不會太好, 但可以快速解決有關在 UTF-8轉到 BIG5時, 不在該字元集的文字內容, 以過濾掉這類特殊的問題. 程式碼如下:
Function IsBig5(strChar)
' check A440~C67E 常用字, C940~F9D5 次常用字
session.codepage="950"
Dim lngAsc
lngAsc = Asc(strChar)
IsBig5 = (lngAsc >= -23488 And lngAsc <= -14722)
If Not IsBig5 Then IsBig5 = (lngAsc >= -14016 And lngAsc <= -1579)
session.codepage="65001"
End Function
Function TrimNonBig5(strUTF8)
For i=1 to Len(strUTF8)
charTemp = Mid(strUTF8,i,1)
If IsBig5(charTemp) Then
TrimNonBig5 = TrimNonBig5 + charTemp
End If
Next
End Function
str1 = "桃之雫果凍"
response.write TrimNonBig5(str1)
' output 桃之果凍
str2 = "洋風和菓子零食"
response.write TrimNonBig5(str2)
' output 洋風和子零食
str3 = "游錫堃王建煊"
response.write TrimNonBig5(str3)
' output 游錫王建
以上的程式可以有效地將非在 Big5 字元集中的文字過濾, 避免與傳統編碼程式溝通時的問題.
[2014/11/10 11:12]
若是有需要再補上 ASCII 字元集區段的部分, 可以使用 ASC 於 32~126 的 ASCII Printable 即可(參考資料: http://en.wikipedia.org/wiki/ASCII#ASCII_printable_code_chart), 記得是在轉 code page前測試 ASCII, 程式碼如下:
Function IsBig5Asc(strChar)
' check A440~C67E 常用字, C940~F9D5 次常用字, asc printable 32~126
Dim lngAsc
lngAsc = Asc(strChar)
IsBig5Asc = (lngAsc >= 32 And lngAsc <= 126)
session.codepage="950"
lngAsc = Asc(strChar)
If Not IsBig5Asc Then IsBig5Asc = (lngAsc >= -23488 And lngAsc <= -14722)
If Not IsBig5Asc Then IsBig5Asc = (lngAsc >= -14016 And lngAsc <= -1579)
session.codepage="65001"
End Function
Function TrimNonBig5Asc(strUTF8)
For i=1 to Len(strUTF8)
charTemp = Mid(strUTF8,i,1)
If IsBig5Asc(charTemp) Then
TrimNonBig5Asc = TrimNonBig5Asc + charTemp
End If
Next
End Function
str1 = "桃之雫果凍1200G(1.2公斤)"
response.write TrimNonBig5Asc(str1)
' output 桃之果凍1200G(1.2公斤)
主要是依照第一碼英文的代碼, 加上後面的個別數字運算而來, 其中第一碼是申報登記戶籍的地點, 共有26個英文字, 第二碼則是性別, 之後則是流水號.
驗證方式如上面連結的說明, 利用該說明, 進行程式實作後, 可以參考這個範例:
http://sample.diary.tw/pid/
上面網址使用純 javascript 撰寫, 並也製作了產生器, 配合 html download blob 語法, 可以下載內容, 十分方便, 可以參考看看.
html download blob 語法可以參考:
http://thiscouldbebetter.wordpress.com/2012/12/18/loading-editing-and-saving-a-text-file-in-html5-using-javascrip/
較複雜的下載方式, 可以參考這個 FileSaver.js 工具:
https://github.com/eligrey/FileSaver.js