發表文章

目前顯示的是有「開發工具」標籤的文章

使用 DevTunnel 做 WebAPI 的測試偵錯

圖片
過去開發 LINE Bot 的時候,我們必須建立一個 WebAPI,把該 WebAPI 作為 WebHook 在 LINE Developer 的後台進行設定,而這個設定需要的是一個可以在 internet 上公開的URL,這樣LINE 的後台才能夠在收到用戶傳來的訊息的時候,把該訊息傳遞給你開發的 WebHook 。簡單的說就是,你的WebHook必須是對外公開的。 但麻煩的是,一般在開發測試階段,我們習慣透過 Visual Studio 或是 Visual Studio Code 進行偵錯測試,然而我們偵錯時候開發工具所給我們的網址通常都是類似 https://localhost:5000 這樣的URL,而這樣的URL 是無法公開在internet上的,因為 localhost 指向的位置是本機(127.0.0.1),這導致我們無法將其直接設定為 WebHook。 這時,我們可以透過一些工具,幫助我們把測試階段的 localhost 網址,對外公開到網際網路上,具體實現的方式是,在開發人員的機器上,執行一個代理程式,透過這個代理程式搭配外部的伺服器,為我們開發中的 localhost 網址,建立一個 mapping 的外部網址。凡是對這個外部網址進行的HTTP存取行為,就會被轉傳遞到我們 localhost 的開發機器上,如此一來,我們就可以針對開發中的WebAPI進行偵錯測試。 而 DevTunnel ,這個微軟前陣子釋出的工具,就可以幫我們實現這樣的需求。 要安裝該工具很簡單,windows環境可以透過命令列(powershell)安裝: winget install Microsoft.devtunnel 安裝完成之後,請先透過底下網址登入: devtunnel user login 在命令列執行上面這個指令會開啟瀏覽器,請用你的 MS Account 或 GitHub 帳號登入。登入完成後,你就可以透過底下這樣的指令,把 localhost 特定的 port 公開到網際網路上(例如底下的port是5000): devtunnel host -p 5000 --allow-anonymous 執行後,你會看到該工具幫我們建立(取得)了一個mapping網址: 當你第一次點選該網址,會看到底下畫面,請直接點選Continue: ...

Snagit截圖後自動上傳至Imgur

圖片
如果你跟我一樣常常在寫blog,也總是使用Snagit作為預設的截圖工具,並且將Imgur做為免費的圖床那這個功能你應該會用到。 Snagit是個超方便的截圖工具,透過你選定的HotKey就可以輕鬆截圖,且可以自動把截取的圖片上傳到許多位置: 但好死不死這些預設的位置當中, 偏偏沒有我常用的Imgur。(Imgur是一個免費的圖床,並且有API可以使用,頗為方便。)導致我只能先把圖片儲存,然後再透過網頁上傳到Imgur,很麻煩耶。 幸運的是Snagit允許透過特定程式來處理截圖後的圖檔,而身為程式設計師,會寫程式的好處,就是可以解決自己的問題。我立即著手使用 .net core 撰寫了一個小程式,可以在Snagit截圖後自動上傳至Imgur,使用方式如下... 請先安裝 dotnet core runtime,如果成功安裝,你在命令列執行 dotnet --version會看到版號,請安裝 3.1.100以上版本。接著請執行底下指令: dotnet tool install --global SnagitShare2Imgur 這是因為我把這個工具設計成 dotnet CLI tool了,你可以直接使用上面的指令透過nuget自訂下載安裝。安裝完成後會出現下圖畫面: 這表示該工具已經成功安裝在你的電腦上。 接著,請到Snagit Editor的Preferrences設定畫面:   選擇Share-->Program-->Manage,接著在跳出的畫面中,新增一個Program:   請在Display Name和Executable處輸入snagitshare2imgur,完成後按下OK即可。這個動作是在Snagit的截圖處理程式中,加上剛才我們下載的那隻程式(snagitshare2imgur)。 只剩最後一個步驟,請前往Imgur網站(Imgur.com),註冊登入後,透過底下網址,申請一個App(這是因為我們要使用API來上傳圖擋到你的帳戶底下): https://api.imgur.com/oauth2/addclient 出現申請表單之後請依照底下方式填寫: 填寫完畢之後,你應當會申請到一個App,請記得該App的ClientID(如下圖),它應當是類似13c9c5axeb6xd38 這樣的文數字: 取得該文數字(Clien...