2016年2月20日星期六

初試 U-SQL

近期見到 U-SQL 好似幾好玩, 所以就 Download 個 Tools 返來實行人試我又試.

1. 先準備數據.

我今次用的是 Google Place 的地點數據.


主要係玩個 types. 因為是用 "|" 來分隔.

今次想計不同類型的地點 Count.

2. 寫 U-SQL. (主要參考 Tutorial 的寫法.



都是用 SQL.ARRAY<> 將 types 的內容轉成 Array. 再用 Cross Apply Explode. 最後就 Group.

3. 推到 Data Lake 運行.


4. 睇結果.


2016年1月11日星期一

試用 Apache HTTPD 2.4 做 ReverseProxy 試 WebSocket

此摘要無法顯示。請 按一下這裡以查看文章。

用 Synology 的 Docker 運行 ASP.NET 5 試行 Simple WebSocket.

在家都有隻 Synology 的 NAS. 知道 DSM 可運行 Docker 就當然要試一下.

輕鬆地從 Package Manager 找 Docker 就可以.



安裝後就可以從 Docker Hub 找 "aspnet" 就找到 Microsoft/aspnet


安裝時選擇所需的版本. 我選用了 1.0.0-rc1-update1.

當下載後, 就可以係 Image 中找到已下載的 Image.



這裡可以選 Launch with Wizard.


Step 1: Container Name 同加一個 Port. 主要將 NAS 的 Port 指到 Container 的 Port.


Step 2: Default 就可以.


Step 3: 這裡需要 Advanced Settings 主要將一個 Folder 指入 Container. 用作將要放的 ASP.NET Web 放到 Container 中, 如下.


完成後就可以開始這個 Container.

進入 Home Folder (我將 Project Files 指到 Home)

運行一次 dnu restore (Restore 所需的套件)後, 就可以 dnx web 去運行.

但我沒有加入相關的 config. 這裡直接加入 Options.

dnx web --server.urls http://0.0.0.0:5000 預設是 localhost:5000. 外部不能連入. 所以改成 0.0.0.0:5000



這樣就可以直接連入 NAS 的 50080 Port. 之前 Step 1 指定的. 同樣可以運行這個簡單的 WebSocket.









2016年1月10日星期日

簡單試作 ASP.NET 5 RC1 WebSocket

基本上都己經更新了 Visual Studio 2015, 更新到最新 Stable 版的 DNX.


新開一個 ASP.NET 5 Project. 

主要用的的套件是:  "Microsoft.AspNet.WebSockets.Server": "1.0.0-rc1-final"


當加入 Microsoft.AspNet.WebSockets.Server 就可以在 Startup.cs 用 app.UseWebSockets();


因為只是單純測試 WebSocket 所以都在 Startup 直接制作一個 Echo WebSocket.

以上的 Simple 沒有處理多個封包的合併, 同時也沒有處理回應的實際應有的長度, 所以回應會是 1024 Bytes.

 加入頁面用作 WebSocket Client 測試.


簡單幾句 new WebSocket(); Handle "onmessage". 再用 websocket.send("Message") 就可以.

再用 Debugger 就可以看到來回的訊息.


從此可以見 Browser 送出的 5 Bytes Message, 回來因沒有正確 Create ArraySegment 所以看到 1024 Bytes.

加入正確的 ArraySegment Size 如下, 在回覆前創建一個新的 ArraySegment.


再從 Debugger 查看.


可以看見來回都是 5 Bytes.