跳到主要內容

發表文章

目前顯示的是 2018的文章

在MeasureUp 上找不到已註冊的模擬試題

通常找不到, 最有可能是我們不小心勾選到了Hide Test的選項 所以導致我們看不到試題, 解決方法很簡單(建議使用Desktop 版, 線上版的有問題) 在右上角點擊Filter 滾輪拉到最底下可以看到 Show hidden  的選項 將他打勾, 看看你的東西有沒有出現 最後, 記得再把 Hide Test 給取消掉

[快速教學] 如何使用MeasureUP 上的模擬試題, 以Microsoft Official Practice Test for MCP 為例

為了能充分準備微軟的證照考試, 通常大家都會去MeasureUp 上買模擬題來做, 但使用步驟實在寫得不清不楚 Instructions for Using Your Product Key To use a product registration key, follow these simple steps (Do not copy and paste, please manually type in key). Go to marketplace.measureup.com . If you already have an account, log in to your account, then skip to step 3. If you do not have an account, go to marketplace.measureup.com , click New Account button and create an account. At the top of the page, click Register Key . Read and consent to the License Agreement by selecting the check box below the License Agreement. Enter the product registration key in the text box. Do not remove any dashes or substitute any numbers. DO NOT COPY AND PASTE. Click the Register button to complete practice test registration. To view your Tests, click the Tests button on the navigation toolbar located at the top of the page. Now your test is available and you can begin. Click the Begin Test button of the product you wish to use and follow t...

如何在 Heroku上部屬Node.js應用程式

由於Heroku 的步驟非常簡單, 而且又不用付費, 有時候我還是會用Heroku來部屬應用程式, 特別是在開案初期會有許多機會要做prototype給老闆或客戶看時 以下教學, 示範如何將Node.js應用部屬在Heroku上 前置步驟 安裝 Heroku Cli 根據你的系統安裝對應的cli版本 https://devcenter.heroku.com/articles/heroku-cli 建立 Git Repository (optional) git init (若已經建立過了可以省略) 加入修改的檔案 git commit -m 'update' 交付目前的修改 git commit -m 'update' 登陸 Heroku (必須先在上面註冊一個帳號, 填填資料就好, 不像aws, azure都會要求綁信用卡) Heroku login 建立環境 Heroku create 結果: 執行完之後 remote repository 會出現Heroku的端點 可以使用git config --list 來查看 部屬 git push Heroku master 測試 在之前的步驟中, 執行完Heroku create之後回傳的第一組字串即是我們在雲上的Endpoint ex:  我們可以使用curl做簡單的測試 curl -XPOST -d '{ "name": "andy" }' https://vast-meadow-85422.herokuapp.com/send 如何查看 Heroku 上的程式 Log git push Heroku master 如果有debug的需求可以執行這條指令來查看log中的訊息

[Docker Container] 如何將程式log輸出

輸出log的方法有兩種 1. docker attach <container_name> 2. docker logs -f <container_name> <container_name> 是你的container的名稱或id Attach 與Log的差別 最大的差別是 Attach 除了可以導出 stderr 以及 stdout 之外, 他還能夠串接stdin 也就是, 執行 docker attach 之後 你還能夠繼續對container 下指令

Azure Storage Queue vs Azure Service Bus

實務上, 在我們設計一個系統的時候, 為了提升 Scalabilty 最常見的方法是使用Queue來 降低各個服務元件之間的耦合度 在Azure 上, 目前有兩種Queue可以讓我們使用 Azure Storage Queue  基本上Storage Queue 可放64 Kb以下的訊息, 並且提供最常7天的訊息存留時間(Time To Live, TTL), 以及最大儲存上限200TB Azure Service Bus Queue 但若是想要比較進階的功能, 則可以選擇Service Bus Queue 像是長輪詢(Long Polling), 保證先進先出(First In First Out, FIFO),  重複資料自動刪除(Duplicate detection), 自動處理無效訊息(Auto Dead Littering)...等等, 這些都是Service Bus Queue 獨有的功能 除此之外Service Bus Queue可以允許的訊息大小比Storage Queue更大, 可以大到265 Kb, 而且訊息儲存時間(TTL)無上限 唯一的缺點就是最多只能放總共80GB的訊息量 總結 簡單的說Service Bus Queue比Storage Queue提供更多的功能, 但若實務上用不到或是訊息總量的需求超過80GB, 那麼Storage Queue則是最佳的選擇 REF https://docs.microsoft.com/zh-tw/azure/service-bus-messaging/service-bus-azure-and-service-bus-queues-compared-contrasted https://feedback.azure.com/forums/217298-storage/suggestions/3588788-enable-long-polling-on-azure-storage-queues https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-sessions https://www.todayso...

[簡易教學] 如何串接Flickr API 實做照片搜尋程式

前言 在Flickr上面的照片可以簡單分成Public以及Private兩種, 若想要取得個使用者人私有的照片, 必須先取得擁有者的授權, 相反的, 公開的照片就不需要 本篇文章介紹如何使用Flickr API 透過Oauth 1.0a的認證機制進而取得私有照片 取得私有照片, 首先, 需要到官網註冊應用程式 https://www.flickr.com/services/apps/create/apply/ 註冊完成後, 會得到 Key: fba9dc9235adf433742f0beee59a11 Secret: 311231123ab23d611c942 取得Request Token Request Url https://www.flickr.com/services/oauth/request_token? oauth_consumer_key=5c5a00165ea0999178645f2e9fb46570& oauth_signature_method=HMAC-SHA1& oauth_timestamp=1539671009& oauth_nonce=4qXlqZ& oauth_version=1.0& oauth_signature=qFwCz7YMBmjIMQGIxyPVfTMyvrA= 回傳 lback_confirmed=true& oauth_token= 72157696618862120-d3975ffa52e2c7b6 & oauth_token_secret= 66b28eac5aedf66b 基於oauth_token讓使用者認證, 取得oauth_verifier Request Url https://www.flickr.com/services/oauth/authorize? oauth_token= 72157696618862120-d3975ffa52e2c7b6 & perms=read 回傳 https://app.getpostm...

如何避免Windows 10 更新, 自動重新啟動

前言 微軟不知道自從Windows 10 哪一版之後開始強迫使用者更新到最新版, 說實話, 這個非常惱人, 有時候你工作做到一半東西都還沒存檔, 隔天來上班時發現, 挖考~系統被重啟了, 全部心血直接泡湯 想避免這問題可以在鍵盤上同時按 Windows+X 然後在按 A. 此時會跳出命令列視窗 複製以下的指令並且按Enter執行 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoRebootWithLoggedOnUsers /t REG_DWORD /d 0 /f

C# WEB API 無法回傳HttpStatusCode NotModified(304)

C# WEB API 無法回傳HttpStatusCode NotModified(304) 實務上在實作WEB API時, 通常會根據結果去回傳合適的HTTP Status Code(狀態碼), 當請求失敗時我們可以從狀態碼清楚地得知原因是什麼 有些狀態碼有其特殊的規範, 如 304 NotModified 如下所示, 這個API 若檢查到POST過來的資料(Activity)早已存在資料庫中時, 會回傳304還有碩誤訊息 "item exist already"         public async Task <IHttpActionResult> Post([FromBody]Activity activity)         {             if(Context.Activities.Any(a=>a.Id == activity.Id))             {                 return ResponseMessage(Request.CreateResponse(HttpStatusCode.NotModified, "item exist already" ));             } 而這是一個錯誤的示範 當使用POSTMAN測試時會報錯 Could not get any response There was an error connecting to   http://localhost:58671/api/history . Why this might have happened: The server couldn't send a response: Ensure that the backend is w...

使用Azure cli 建立對話式聊天機器人(Bot Service)

前言 如果覺得使用Azure Portal建立Bot很麻煩的話, 不妨試試看用Azure Cli, 以指令的方式來建立 以下教學如何使用Azure cli 快速建立一個Bot 前置作業: 需要先在開發機上安裝Azure cli的套件 https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest 註冊新的應用程式 每隻Bot應用都需要先在微軟的App Portal註冊, 之後會取得APP ID 以及Public key (https://apps.dev.microsoft.com/portal/register-app) Public Key 這組密鑰需要自己手動按下 Generate New Password 去產生, 得到之後記得要好好保存, 因為它只會在UI上顯示一次 如上圖所示, 以上步驟完成後會可以得到App ID\Public key, 當後端程式(Bot邏輯)與Azure Bot  Connector Service溝通時會需要App ID\Public key來認證身分 在雲上建立Bot Service 登陸azure az login 建立資源群組(若使用既有群組,可以省略) az group create --name BotResourceGroup --location "West US" 建立bot 相關資源 az bot create --resource-group "BotResourceGroup" --name "andy-test-bot" --kind "function" --description "description-of-my-bot" --appid <YOUR_APP_ID> --password <YOUR_PUBLIC_KEY> appid , password 記得換成剛剛取得那組帳密 kind - 目前有三種資源方案function, registr...

使用UWP 設計 MVVM 軟體架構(三) 在view中使用view以外的資源, 以加入Converter 為例

本篇文章簡單介紹UWP MVVM 如何在view中使用view以外的資源(以加入Converter 為例) 假設view上有個 Image 元件, 它的Visibility屬性被綁定在MyViewModel.IsHide 這個Property上, <Image Margin= "200,200,0,0" MaxWidth= "50" MaxHeight= "50" HorizontalAlignment= "Center" VerticalAlignment= "Center" Source= "ms-appx:///Assets/googleIcon.png" Visibility= "{Binding IsHide, Mode=OneWay}" /> 為了提升可讀性, 我們將 MyViewModel.IsHide 宣告成布林型別, 但由於 Visibility 屬性只能接受整數型別, 所以我們需要多做一個Converter 來轉換成UI上需要的值 public class BoolToIntConvert : IValueConverter { public object Convert ( object value , Type targetType, object parameter, string language) { return ( bool ) value == true ? Visibility.Collapsed : Visibility.Visible; } public object ConvertBack ( object value , Type targetType, object parameter, string language) { t...

[C#] 實作如何讓Cortana Skill 呼叫UWP

前言 當我們在實作Cortana Skill的時候, 我們可以將雲上的資料回傳給Cortana 並且顯示在Canvas上 來跟使用者互動 但實務上, 有些情況因為Canvas本身的限制, 所以需要再刻一個負責前端的UWP來顯示Skill回傳的資料 以下即介紹如透過實作UWP的 Deep link使之與 Cortana 互動 UWP的部分 設定Protocol 右鍵 Package.appxmanifest 選擇 View Code 加入 <Extensions> <uap:Extension Category= "windows.protocol" > <uap:Protocol Name= "YOUR_URL" > <uap:DisplayName> " YOUR_NAME " </uap:DisplayName> </uap:Protocol> </uap:Extension> </Extensions> 這邊假設 YOUR_URL = skill.mytest.clien YOUR_NAME = mytest 複寫OnActivated 當程式被Cortana叫起來時, 這個函式會被執行 複寫它, 使之將頁面切換至相應的頁面 var protocolArgs = args as ProtocolActivatedEventArgs; rootFrame.Navigate( typeof (Views.ListPhotos), protocolArgs.Uri.Query); 如範例所示, 我們會將頁面導向到 Views .ListPhotos Views.ListPhotos複寫OnNavigatedTo 讓我們在導向至這個頁面的時候, 可以先去載入相關資料 protected overrid...

[C#] UWP 遠端部屬 Remote Deploy

通常當我們開發UWP到某一特定階段的時候會想要把程式部屬在其他實體機器上, 讓它跑跑看有沒有問題出現 基本上, Visual Studio 2017  除了部屬在虛擬機或是本機上之外, 也另外提供了遠端部屬的功能, 要啟用這個功能, 首先, 遠端機器必須安裝 Remote Tools for Visual Studio 2017 https://visualstudio.microsoft.com/downloads/?q=remote+tools#remote-tools-for-visual-studio-2017 安裝完後, 我們可以在開始選單上找到, Remote Debugger (左鍵執行) Remote Debugger 起來後會開始等待連接 第二步, 右鍵專案名稱 > Properties 在Debug的頁簽下, 完成以下的設定: 選擇裝置種類,  搜尋裝置,  選擇你要連接的裝置 最後, 點選工具列下方得執行 Visual Studio 就會將UWP部屬在連接的遠端機器上並且執行