發表文章

目前顯示的是 2月, 2018的文章

唯有偏執狂得以倖存

圖片
Only the Paranoid Survive - Andy Grove 還記得葛洛夫嗎? Intel的創辦人之一。他說的這句話,台灣大多翻譯成『唯有偏執狂得以倖存』,乍看之下很難理解,也不太容易關連到日常工作或生活當中的情境。 為什麼我會突然想到這句話? 講個故事。 適逢農曆過年前,由於過年時候必須要往返南北長途開車,所以過年前理當去車廠保養一下,因為一直都在原廠保養,從來沒發生過什麼太大的問題,也剛好在定期保養的時間內,農曆年前又一堆課程、專案,所以預約保養的時間拖到了小年夜的最後一天。 想說換換機油什麼的,應該很快。 沒想到坐在休息室大廳,咖啡都還沒喝兩口,師傅跑出來說:『先生,我跟您解釋一下車子的狀況…』心想,不妙。師傅說:『OO這邊,和XX這邊,有這些問題,另外OOXX應該要換,但…』『最麻煩的是,車子的水箱幫浦漏水很嚴重,這個問題比較大,如果開長途,恐怕有些危險…』 『好吧,那這些換下來要多少錢?今天會好嗎?』我心裡想,錢能解決的問題都是小問題。 『恩,但是,我們這邊現在沒有料件』師傅說。 『那能不能幫我調調看,是不是其他廠有零件可以換?』我問。 師傅為難的說『恩…就是都問過其他廠了,現在剛好都缺貨,要…年後才能夠幫你調料。』頓了一下又說『但,這個問題蠻嚴重的…』 我立刻問『你是說,車這樣沒法開長途嗎?』 師傅回答:『恩…就是你要常常看水箱是不是空了,我們剛才檢查你的水箱是全空的…如果溫度…如果有亮燈,你要立刻停車。』師傅還補了這一句『這問題蠻麻煩的,如果有貨我一定會建議你立刻換…』 『所以說,我目前也沒法做什麼?』我問。 『我們可以把剛才OO和XX這幾個問題先處理,OOXX先換掉…』師傅說。 『那好吧,我在這邊等。』我回答。 回到休息區,越想越不對勁。上網一查,水箱幫浦不貴,但如果掛掉或漏水,確實風險蠻高的,對安全很有疑慮。 怎麼辦? 過年行程已經定了(訂金也付了),現在改搭高鐵(沒票)或租車都來不及。而且就算下去,沒車也挺不方便的。 剛才一邊喝咖啡一邊打開電腦螢幕上寫到一半的code已經沒法吸引我的專注力,我心想,我要怎麼解決這個問題。 -------------------------------------------------------------------- 先停在這邊,如果你有耐心讀到這裡,我想問問,如果是你,你怎麼解決這個問題?

使用C#開發Linebot(20) - 不寫一行code完成Linebot的LUIS串接

圖片
前陣子,介紹過如何No Code完成Line bot的開發,如果你錯過了,可以看 這裡 。 No Code當然不是一行程式碼都沒有,只是,程式碼骨架我幫你寫好了。你只需要輕鬆地填入相關的Channel Access Token等資訊即可。 而很多同學不滿足,在我們介紹了 LUIS (Language Understanding Intelligent Services)之後,當然會想,能不能一行程式碼都不寫,就將Linebot的Web Hook串接到LUIS,完成一個能夠更用戶進行自然語言對談的Chat bot? 可以嗎? 沒問題,有人開口就做給你。 請打開VS2015/VS2017,然後建立一個空的Web專案: 這個畫面似曾相識? 當然,前面我們做過啊。請務必依舊選擇.net framework 4.5.2以上。然後,在下一個畫面中,直接選擇Empty(空)的範本類型,然後請務必(一定一定要)勾選WebAPI: 就這樣,VS2015會幫你建立好一個空專案,,接著,重點來了,請安裝一個nuget套件: 前面做過了,我知道,再一次加深印象,在Nuget套件安裝畫面上,選擇Studyhost.Example.Linebot套件: 按下安裝鈕,安裝完成後,你會看到這個套件已經幫你把程式碼都寫好了。只不過,跟上次不同,這次請把焦點放在TestLUISController: 你會發現,TestLUISController這支WebAPI Controller,就是一隻寫好了的支援LUIS的Line WebHook,你只需要把上面的幾個參數填進去就行,分別是: channelAccessToken: Linebot的Channel Access Token AdminUserId: 你建立Linebot的那個帳號(Admin)的UserId LuisAppId: LUIS App的App ID LuisAppKey: LUIS App的Key Luisdomain: LUIS App的domain 上面關於LUIS的幾個參數怎麼來呢?  如果你還對我們介紹過的LUIS有印象,應該會知道LUIS有一個Publish之後的會出現的Enpoint: 其中就有你需要的所有資訊了。 把相關的資訊填入程式碼之後,不用做任何事情,只需要發佈到Azure Web App站台上,並且到Line