跳到主要內容

發表文章

[WIX]如何移除安裝成功的視窗

Windows Installer XML Toolset 簡稱WIX, 可以用它很輕易的設計一個Windows 程式的安裝檔 一般而言使用WIX套件做出來的安裝檔,  在安裝完畢後會有一個安裝成功的視窗, 若不希望出現這個視窗, 可以修改ExitDialog.wax裡面的屬性如下 < InstallUISequence >               < Show Dialog = " ExitDialog " OnExit = " success " Overridable = " yes " > 0 </ Show > </ InstallUISequence > < AdminUISequence >               < Show Dialog = " ExitDialog " OnExit = " success " Overridable = " yes " > 0 </ Show > </ AdminUISequence >

如何在Container裡使用GPU

How to use GPU in docker container 前言 基本上原生的docker 容器是無法使用GPU資源 解決方法 必須使用NVIDIA的 Docker才可以讓容器吃到GPU的資源 以下是在Ubuntu上的安裝步驟 Step 1. (Optional) 安裝驅動 如果GPU的驅動已經裝好了化可以先略過這一步 sudo ubuntu-drivers autoinstall 安裝完之後可以用以下指令確認有沒有裝成功 nvidia-smi Step 2.  安裝 CUDA CUDA是個運算架構能夠輕易地時線平行運算 wget https://gist.githubusercontent.com/acerkr71a/29ecd032eeb178888fec0bb7660cc3bf/raw/03df656e945d7c56ee2d454e0ea83796e8eacfeb/install-cuda.sh && chmod +x installer.sh && ./installer.sh Step 3. 安裝NVIDIA 的 Docker wget https://gist.githubusercontent.com/acerkr71a/7c19e940f4029d86476309d63950d750/raw/a7f368c800b4ef2e23559ef5f13f97a540dc4499/install-nvidia-docker.sh && chmod +x docker-installer.sh && ./docker-installer.sh

手把手教學, 十分鐘內快速建立Line Bot

前言 相對以前來說, 現在要建一個LINE Bot已經變得非常簡單了, 尤其是最近微軟的Bot Service提供LINE的支援, 對使用微軟Bot Framework的開發者來說, 可以省去不少功夫去串接LINE 基本上使用Bot Framework來建立一個LINE Bot有幾個步驟 建立一個BOT 建立LINE BOT帳號 設定LINE頻道 串接LINE與Azure Bot Service 建立一個BOT 關於如何建立可以參考之前的 文章 啟用LINE的頻道 建立LINE BOT專用帳號 要開啟賴的通道首先必須要在賴的平台上替機器人建一個帳號 https://developers.line.biz/console/register/messaging-api/provider/ 建立Provider 這邊我們需要給他一個名字 選擇Message Api, 然後建立頻道 給個名字, 然後下方選擇Developer Trial Developer 跟Free最大的差別是Free沒有推送訊息的權限, 所以如果你選擇Free, 那你的Bot就相當於有耳朵但是卻沒有嘴巴 而這個問題可以透過升級為付費模式來解決 相反的Developer有嘴巴也有耳朵的權限, 但是他不能透過升級來獲得更多的權限 填入你的電子郵件後按同意, 完成後會看到你剛剛建立的賴帳號 進入賴帳號, 繼續接下來的設定 接下來我們要開始將Azure Bot Service跟賴串起來 卷軸往下滾找到~Channel Secrete 回到Azure Bot Service上, 把Channel Secrete 填上去 接下來複製下面 Webhook URL , 然後再回到賴的頁面 卷軸繼續下拉到 Message Setting 這部分有四個步驟 1. 依序是設定Webhook URL, 把剛剛在Azure上複製的URL給貼上去 2. 啟動 Use Webhook 3. 取得Channel access token 4. 啟動 Allow bot to join group chats 複製在步驟...

How to secure ASP.NET MVC API: Part 1 (如何在ASP .NET MVC上保護REST API不被任意人士存取)

前言 基本上要保護API不被其他有心人士存取有很多種方法, 以下介紹兩種最常見的保護方式 1. 檢查Request Header有沒有特定的API Key Client跟Server在溝通時可以協調好Request Header裡應該要出現什麼特定的API Key字串才能證明是合法的請求 實作方法 - 使用Message Handler Step 1. (Optional) 安裝必要套件 Microsoft.AspNet.WebApi.WebHost Microsoft.AspNet.WebApi.Core Microsoft.AspNet.WebApi.Client 如果你的專案是 ASP.NET Web Application (.NET Framework)這種類型的話, 請務必安裝以上的套件 Step 2. 實作Message Handler來檢查每個進來的請求 在專案中新增一個目錄Handlers 接下來, 在這個目錄中新增一個APIKeyMessageHandler.cs 如下 <原始碼> 這個類別可以用來過濾請求, 當請求Header內沒有指定的字串時會被拒絕, Step 3. 註冊剛剛自訂義的Message Handler 修改Global.asax <原始碼> 加入以下兩行             GlobalConfiguration.Configure(WebApiConfig.Register);             GlobalConfiguration.Configuration.MessageHandlers.Add(new APIKeyMessageHandler()); Step 4. 新增一個API Controller "MyApiController" 來處理請求 <原始碼> 測試 如果請求裡面沒有帶APIKey, 最後會得到 {"message": "Invalid API Key"} 的結果 完整原始碼在這 ...

如何移除Azure上已經綁定的信用卡

Remove  a  credit card  from the account 當我們不想繼續使用服務時, 該怎麼將Azure上已綁定的信用卡移除呢? Step 1 進入Azure Portal後, 找到最右上角的地方, 點擊目前註冊的帳號, 然後再點擊 ... 展開隱藏的選項 Step 2 選擇View My Bill Step 3 選擇Payment Method Step 4 這邊可以選擇你想要刪除的信用卡 以上就是刪除信用卡的步驟, 如果文章哪裡有不清楚的地方, 歡迎在底下留言 Ref: https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/billing/billing-how-to-change-credit-card.md

Enable docker remote API

前言 一般來說, 開發者可以在各自的終端機上執行docker command去操作容器, 但透過remote api開發者還可以撰寫特定的應用程式透過HTTP請求, 直接去存取宿主機上docker的所有相關服務, 對於開發自動化程式的朋友們, 相信這個功能絕對是非常的實用 要使用remote api之前, 必須先啟用它 啟用 啟用方式非常簡單, 去docker的設定檔把Port打開就好了 sed 's/-H fd:\/\//-H fd:\/\/ -H=tcp:\/\/0.0.0.0:3489/g' /lib/systemd/system/docker.service > /lib/systemd/system/docker.service.new mv /lib/systemd/system/docker.service /lib/systemd/system/docker.service.old mv /lib/systemd/system/docker.service.new /lib/systemd/system/docker.service 最後別忘記重啟Docker systemctl daemon-reload service docker restart 以上~

十分鐘學會Kubernetes基本概念

What is Kubernetes 自從Google開源了Kubernetes(簡稱k8s)之後, k8s 已經成為目前最受歡迎的容器管理工具與調度平台, 現在不管在哪個雲端服務商Google, Microsoft, 或是Amazon 的布道大會上, 一定會有個議程在談k8s, 由此可見它的受歡迎程度相當的高 雖然k8s很受歡迎, 但實際上它並不是這麼好學的工具, 裏頭的觀念非常非常的多, 不可能一時片刻就完全學起來, 因此這篇文章將會著重在某些重點觀念上, 帶著大家簡單的了解k8s的基本功能與基本操作 為了簡化安裝步驟, 以下的教學將會使用minikue來讓大家體驗k8s Minikube 是一種閹割版的k8s, 由於安裝步驟非常簡單, 所以常常被用來當成入門k8s的工具 安裝步驟 使用Ubuntu 18.04 sudo apt update 安裝KVM會用到的套件 minikube會在宿主機上起一個vm跑k8s的相關服務, 所以我們必須安裝kvm相關套件 sudo apt install \ qemu-kvm \ libvirt-clients \ libvirt-daemon-system \ bridge-utils \ virt-manager 將使用者加入libvirt群組 讓一般使用者有權限執行 sudo usermod -a -G libvirt $(whoami) 安裝kubectl kubectl是kubenetes的管理工具 sudo snap install kubectl --classic 開始建立minikube curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \ && chmod +x minikube \ && sudo cp minikube /usr/local/bin/ \ && rm minikube 安裝KVN2 driver curl -Lo docker-machine-driver-kvm2 h...