分類
好用軟體

AirParrot-將PC與MAC的畫面送到Apple TV上

之前介紹過將 AirPlay 的畫面送到 PC 與 MAC 上的軟體- AirServre: https://diary.tw/archives/1314 , 就是利用 PC 與 MAC 當做 Server (接收端), 可以把 Mobile Device 的訊號送進來, 若接上投影機或電視就可以放出來進行簡報.

這次的軟體是反過來, 將 PC (iTunes有 audio 的 AirPlay) 與 MAC (OS-X有內建這個功能了)的訊號利用 AirPlay 傳輸送到 Apple TV, 也就是當 AirPlay Client.

這個軟體是 AirParrot, http://www.airsquirrels.com/airparrot/

利用這個軟體配合 Apple TV, 可以容易地將 PC / Notebook 上的訊號送出來進行簡報, 操作方式也很簡單, 安裝好後, 直接在同網段的 Apple TV 就可以被搜尋出來, 點選就可以送上去了, 預設是不送 audio, 可以經過打勾設定將聲音也一併送出.

這個軟體試用是 20分鐘, 20分鐘到了會自動關閉, 購買是 9.99 美金.

下載:
Windows 64位元版: http://www.airparrot.com/download/Windows/AirParrot64.msi
Windows 32位元版: http://www.airparrot.com/download/Windows/AirParrot32.msi

分類
WebTrend

Google Reader影響很大

今天查了一下 feedburner, 發現訂閱者大量減少, 其實原因無它, 就是 Google Reader 停止服務了, 雖然這個很令人懷念的好服務停了, 不過看起來”傳統”blog (本站也算是)的流量應該會受到不少衝擊吧.

來看看統計圖吧:
All time:
30days:
是的, 就是這樣, 訂閱者瞬間少了 80%, 真是驚人啊…

分類
程式技術

程式線上跑-Compile and Execute Programs Online

今天早上在幫朋友查一個 java 的小問題, 剛好手邊沒有環境, 查一下找到這個很棒的工具, java 線上跑:

http://www.compileonline.com/compile_java_online.php

他已經預設提供了 Hello World 的基本框架, 可供直接執行程式, 如輸入以下程式:

public class HelloWorld{
     public static void main(String []args){
        int a = 1;
        int b = a++; // b=1, a=2
        int c = ++a; // a=3, c=3
        
        System.out.println(b);
        System.out.println(c);
     }
}

按下左上的 compile & execute, 在左邊的視窗就會出現結果, 十分方便, 在沒有環境時, 馬上有個小環境可以供測試驗證, 很不錯呢.

回到他的主站, 發現他提供的還不只 java 程式語言, 還有許多其他的:

http://www.compileonline.com/

區分為 web用, 像是 css, javascript, jQuery 等, 還有格式化文字用, 像是 MathML, LaTex 等, 再來就是程式語言了, 真的很多, 包含了pascal, php, python, java, c, c++, c#, objectiv-c, ruby 等很多各式各樣程式語言, 好方便啊, 大家可以多加利用.

分類
好用軟體

TableTools2-好用的Firefox網頁表格plugin

在瀏覽網頁時, 有時想針對一些輸出的表格做些進階的分析及處理, 往往會將資料先存出來, 轉到 excel 中進行.

現在有個好用的 plugin 可以供在網頁上應用, 而且直接操作, 不需要離開現有的畫面, 馬上就可以進行表格(TABLE)的排序, 多欄排序, 繪製圖表等功能, 另外像是在 excel 中才有的篩選, 複製欄, 隱藏欄等功能, 也都一應俱全, 實在是非常好用, 值得推薦大家來使用看看.

TableTools2 plugin 下載網址: https://addons.mozilla.org/zh-tw/firefox/addon/tabletools2/

安裝好後, 找個網頁有表格的, 按下右鍵, 就可以玩囉, 快來試看看吧.

裝好之後, 想玩看看, 可以到作者網站提供的表格區來試看看:

  1. 基本表格 http://mingyi.org/TableTools2/demo.html
  2. 進階表格 http://mingyi.org/TableTools2/advanced-demo.html
  3. 繪製圖表用的表格 http://mingyi.org/TableTools2/chart-demo.html
  4. 用來測試效率的表格 http://mingyi.org/TableTools2/large-table.html (可以生出大量資料)

另外這裡是官方 demo 影片, 也可以參考看看: http://mingyi.org/TableTools2/video.html

很不錯的工具.

分類
Database

使用CTE進行遞迴(Recursive)查詢

從 MS SQL 2005 起, 支援了 CTE (Common Table Expression) 語法, 可以參考之前的文章: https://diary.tw/archives/339 .

今天要來介紹的是有關應用在遞迴方面的查詢, 利用這種查詢, 可以很容易地將資料展開, 例如像是組織圖, 或是像分類項含有子分類這樣的樹狀資料, 當然, 簡單一點的像是累加也是一樣的, 先來介紹 CTE 用在累加的語法上.

WITH cte (num, mysum) AS (
  SELECT 1 as num, 1 as mysum
  UNION ALL
  SELECT num + 1, mysum + num + 1 FROM cte a where num <10
)
SELECT * FROM cte

看好, 在括號內的第一個 SELECT 1, 1 的部分, 就是原始值, 而後面的 SELECT .. FROM cte 則是開始自己對自己查詢, 最後的 num < 10 是他的 boundary condition, 也就是只做到 num < 10.

結果如下:
是的, 結果就是那個 1 + 2 + 3 + … + 10 = 55 .

再來看看其他的用法, 像是分類含有子分類的資料, 先來準備一些資料:

CREATE TABLE CATEGORY (CID int primary key, NAME nvarchar(200), PARENTID int)
INSERT INTO CATEGORY values (1, N'交通工具', 0), (2, N'陸上', 1), (3, N'水上', 1)
INSERT INTO CATEGORY values (4, N'機車', 2), (5, N'汽車', 2), (6, N'輪船', 3)
INSERT INTO CATEGORY values (7, N'空中', 1), (8, N'飛機', 7), (9, N'直升機', 7)

來組合吧, 使用CTE:

WITH CTE (CID, NAME, PARENTID, LEVEL) AS (
  SELECT CID, NAME, PARENTID, 0 FROM CATEGORY WHERE PARENTID = 0
  UNION ALL
  SELECT A.CID, A.NAME, A.PARENTID, LEVEL + 1 FROM CATEGORY A INNER JOIN CTE B ON A.PARENTID = B.CID
)
SELECT * FROM CTE

結果如下:

是不是很清楚看出來各分類的位階(LEVEL)狀況? 十分方便好用的語法. 再來看看如何展開成一行資料, 也就是各自分類結構合成一筆結果, 語法如下:

WITH CTE (CID, NAME, PARENTID, LEVEL, ORICID, DATA) AS (
  SELECT CID, NAME, PARENTID, 0, CID, CONVERT(NVARCHAR(MAX), NAME) FROM CATEGORY WHERE PARENTID = 0
  UNION ALL
  SELECT A.CID, A.NAME, A.PARENTID, LEVEL + 1, A.CID, DATA + '-' + A.NAME FROM CATEGORY A INNER JOIN CTE B ON A.PARENTID = B.CID
)
SELECT * FROM CTE

結果如下:

最後面的那個欄位就是想要呈現出來的結果, 說穿了, 就是一直累加上去, 只是是字串的累加(DATA), 不是數字的累加, 另外也多了一個欄位用來表現原本自己的CID(ORICID), 這樣看起來也就更清楚完整, 利用這樣的方式來表現分類結構, 非常好用呢!

另外記得字串累加的部分, 使用 NVARCHAR(MAX) 以避免發現 CTE 和累加的欄位不一致的問題, 這是要特別注意的地方.

無法對齊欄位的錯誤訊息為:
Types don’t match between the anchor and the recursive part in column “xx” of recursive query “xx”.
可以參考這篇解答: http://stackoverflow.com/questions/1838276/cte-error-types-dont-match-between-the-anchor-and-the-recursive-part

結論, CTE的遞迴語法, 其實也就是自己再對自己查詢, 只要把握好起始條件, 還有遞迴的終止條件, 就可以很順利的產出你要的結果. 大家可以多加利用這個好用的語法, Let’s CTE!!

分類
好用軟體

各地DNS查詢測試-WhatsMyDns

通常 DNS 設定好了之後, 如果不是新記錄, 是修改 ip 的方式, 一般預設的 TTL 為一天, 也就是 24小時, 所以想要知道更新的狀況, 就得從各個 DNS 上來看, 有個網站服務提供這樣的功能, WhatsMyDns: http://www.whatsmydns.net/.

這個網站提供了以下幾個區域的DNS Server查詢:

Mountain View CA, United States (Google)
Dallas TX, United States (Speakeasy)
Seattle WA, United States (Speakeasy)
New York NY, United States (Speakeasy)
Reston VA, United States (Sprint)
Recife, Brazil (Hotlink Internet)
London, United Kingdom (BT Global)
Lille, France (Nordnet)
Merzig Saarland, Germany (Probe Networks)
Bologna, Italy (INFN)
Ankara, Turkey (TTNET)
St. Petersburg, Russia (Uni of Tech & Design)
Peshawar, Pakistan (PTCL)
New Delhi, India (BSNL)
Bangkok, Thailand (TOT)
Petaling Jaya, Malaysia (Clear-Comm)
Hong Kong, China (PCCW)
Sydney NSW, Australia (Telstra)
Melbourne VIC, Australia (Telstra)
Auckland, New Zealand (Xtra)

DNS查詢的結果, 除了表列出來以外, 也在右邊的 Google Maps 上以綠色打勾, 與紅色打叉的方式來表現, 結果一目瞭然, 就很容易地知道 DNS 更新的狀況了.

繼續閱讀:
http://www.goston.net/2013/07/19/3440/

分類
WebTrend

Yahoo願望清單

看標題看不懂吧! 以為是買東西的清單.

這個是 yahoo 服務推出用來更新用戶想要使用的使用者名稱服務.

Yahoo 將會釋出大量的久未使用的帳號, 並且給這些登記的用戶, 乍看下似乎很棒, 可以讓大家選到自己想要的名稱(帳號), 但實際上, 應該搶不到的還是搶不到, 而且, 也不知道是什麼方式來配送給這些列出願望清單的用戶.

不過, 無論如何, 對於這種 michael0809 這樣的想要改成 michael 還是相當困難吧, 但是, 還是可以登記看看囉, 說不定, 就拿到了.

繁體中文官網: https://wishlist.yahoo.com/?.lang=zh-Hant-TW&.intl=tw

分類
系統技術

Apache與IIS Web Sever URL長度上限

之前有查過 browser 的 url 上限, 可以參考這篇: https://diary.tw/archives/455 , 當時是為了調查 referer 的 url 上限, 進而找出 browser 的 url 上限.

那 web server 上的上限呢? 在 Apache 下有個 LimitRequestLine 的設置, 可以設定 URL 上限, 參考: http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestline

而該值預設為 8190 也就是大約在 8k 左右.

在 IIS 則是利用參數 requestLimits 中的參數, MaxUrl, 預設是 4096, 參考這篇: http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits

這樣看起來基本上都比 Browser 長得多.

分類
好用軟體

AirServer在PC與MAC主機上播放AirPlay的好用軟體

現在 Apple 的 iDevice 還真的不少, 有時候在做簡報或資料分享時, 可以透過 iPad 是很方便的, (有時候是用來播放影片也很不錯用).

若要簡報或放到投影機, 可以配合 Apple TV 來使用, 不過若是不想花錢買, 也有便宜的軟體 solution, 今天要介紹的就是這套軟體 AirServer: http://www.airserver.com/

這套軟體是將你的PC或Mac用來做為接收AirPlay的設播訊號用的(包含聲音及畫面), 可以很容易在現有的設備上直接進行播放的動作, 若是有投影機或電視都可以利用一台PC或Notebook來進行播放.

使用方便還蠻單純的, 下載, 安裝, 輸入序號, 執行, 他會在通知列出現, 而 iDevice 在同一網段下, 就會偵測到有可供播放投射的設備, 就可以順利播放了, 這裡有個比較表, 比較使用 AirServer 和 Apple TV 在 AirPlay 上的功能: http://www.airserver.com/Compare

不知道實際效果好不好的朋友們, 可以先安裝他的免費 7天版本, 連結如下:

http://www.airserver.com/Download/

然後點 FREE 的那個版本, 輸入 email 或 fb connect, 下載後再 request activation, 用來取得試用的 activation code, 就可以進行安裝並啟用了. 很方便容易呢!

除了可以播放外, 其實還有個有用的地方, 就是在 PC上進行側錄 iDevice 的操作畫面, 用來做教學應用是很不錯的選擇, 而且價位真的還蠻便宜的.

繼續閱讀:
http://ipadclass.blogspot.tw/2012/05/airserver-ipad.html
http://ipadclass.blogspot.tw/2013/02/airserver-windows.html 這篇有 trouble shooting

分類
WebTrend

Flickr免費空間大躍進-1TB讓你空間用不完

最近的 yahoo 動作很多, 包含收購 tumblr, 另外就是這個 flickr 的大改版.

我也是 flickr pro的愛用者, 好用的介面, 好用的管理方式以及簡潔的呈現, 所以付費用了好一陣子. 唯一美中不足的是他的地圖圖資很不好, 不是Google(廢話).

最近的改版, 將介面調整, 並且讓免費會員就有 1TB 的超級大空間, 另外像是以往要付費會員才能解除的日上傳量限制及只能秀最後200張圖, 都在這次的改版取消了, 很大幅的躍進.

下一次的會員到期就可以不用續了, 轉為免費會員好好來繼續給他支持用下去.

以 1TB 的空間來看, 放 1200萬畫素的相片可以放到 29萬張 – 根據 http://www.flickr.com/#storage 這個連結來看. 不過我的經驗是大約一張 10MB, 所以約存到 10萬張左右(但也相當夠用了).

希望能一樣保有好的使用者體驗及好的服務, 加油吧!

付費功能有兩種, 一為無廣告, 每年49.99美金, 一為空間加倍(2TB), 每年499.99美金. (相較之前的 flickr pro真是不便宜啊!)