2018年7月31日 星期二

the DevOps journey – 什麼? VSTS支援Public專案了!?

今天想要建立VSTS專案的時候發現了這個選項:

心想,MS買了Github之後果然霸氣,連VSTS都順便支援Public專案了!

咦?灰色的不能點?

看了說明原來Site Admin得先到Policy這個地方設定為開啟:

設定之後,你就可以建立Public Project了。

從此之後,在VSTS Project中你也可以讓匿名用戶檢視程式碼,commits、分支、pull requests,也可以檢視工作項、Wiki…等資訊…

咦?那我上課share code不就不需要用Github了嗎? (MS真是頗令人費解啊…)

更多資訊在…
https://docs.microsoft.com/zh-tw/vsts/organizations/public/about-public-projects?view=vsts

https://blogs.msdn.microsoft.com/devops/2018/04/27/vsts-public-projects-limited-preview/

------------------------------
本系列文章索引位於 http://studyhost.blogspot.tw/2017/02/the-devops-journey-index.html
相關教育訓練: http://www.studyhost.tw/NewCourses/ALM
若這篇文章對您有所幫助,請點選這裡加入FaceBook專頁按讚並追蹤,也歡迎您幫我們分享出去,謝謝您的支持。

2018年7月29日 星期日

使用C#開發Linebot(24) - 建立LINE Liff App

先前我們介紹過了Liff App這個機制之後,我們的SDK也跟著進行升級,現在,你可以透過底下這樣的語法輕鬆地建立Liff:

第二行的AddLiffApp這個API,就可以建立一個Liff App,其中的參數ChannelAccessToken不需要解釋,而LiffURL是具體連結到你自己開發的Web應用程式,注意該網址必須是https。

第三個參數是Liff App的高度,你可以透過isRock.LIFF.ViewType來選擇tall, full…

使用前別忘記將LineBotSDK升級到至少 0.7.6-beta2的版本:

上述程式碼執行過後,你會發現line bot顯示了該Liff App的URL:

如果你點選它,會發現果然以指定的方式開啟了該WebApp:

透過這樣的方式你可以輕易地建立一個Liff App,如果要列出所有的Liff App,也可以透過底下這樣的Method:

其中foreach所列出的是登記在該ChannelAccessToken名下的所有Liff Apps,呈現結果如下:

建立與列出Liff App的範例程式碼在 https://github.com/isdaviddong/CreateAndListLiffApp 

have fun~

-----------
線上課程:https://www.udemy.com/line-bot/
電子書:http://studyhost.blogspot.tw/2017/12/line-bot.html
LineBotSDK:https://www.nuget.org/packages/LineBotSDK
如果需要即時取得更多相關訊息,可按這裡加入FB專頁。若這篇文章對您有所幫助,請幫我們分享出去,謝謝您的支持。

2018年7月22日 星期日

Reactive

周末,去參加中學的同學會,結束之後老同學住在家裡附近,理所當然的搭他的順風車回家。就在準備上交流道的路口,後方一台B開頭的名車或許不耐等候,開始閃燈喇叭齊鳴。

我看到老同學瞥了後照鏡一眼,手反打入了低速檔,我立即把剛才忘了繫的安全帶扣好,心想接下來可精彩了。要知道當年這位同學,可是率領我們一票人夜騎九拐十八彎的領頭狼,後來買了跑車之後國道競速也時有所聞,即便人到中年,估計也寶刀未老吧。

正當我身心狀態都預備好了,卻見老同學一個轉彎,把路讓給了後方的來車,只見後方BMW引擎聲和喇叭聲同時巨響,從我們車旁呼嘯而過。我心想,老同學這是身經百戰之姿,顯然是要讓對方輸得心服口服,所以打算從後方追趕是吧?

停了兩三秒…咦? 沒有。

偷瞄了老同學一眼? 嗯? 沒有反應。

『沒準備教訓對方一下嗎? 這不像你啊~』我忍不住開口揶揄一番。

『我現開車可以心如止水,不動如山。』他回道。

『怎麼說? 是受了甚麼教訓嗎?』我一幅幸災樂禍樣。

結婚前,我女友就常跟我說:『開車的時候幹麼跟其他車子比快比狠,除了一時情緒,其實根本沒意義』我當然聽在耳裡,沒放在心裡。

直到有一天,颱風天剛過,路上很多風吹倒的樹木,當天急著要到公司,路上還不很好走,開著開著,後面一台車也像是剛才那樣又是喇叭又是閃光,我看了當然火大,立刻下車準備跟對方理論。

下車走沒幾步,對方駕駛還沒來得及反應,我就發現他猛按喇叭的原因了…

原來我後保險桿拖了一串將近2/3個車身長的樹枝,顯然是颱風吹斷的。我一看當下沒了情緒,先把樹枝給拉開,然後跟對方駕駛打了個道謝的手勢。

回到車上我一邊開車一邊思考,我想到的不是誤會了對方覺得不好意思,而是,原來人的情緒可以變化的那麼快,前一秒鐘我還想下車理論個輸贏,但下一秒我立刻沒了情緒,為何會有這差別? 我意識到,其實是我對事情的『認知』造成的。

我沒看到部分的事實(樹枝纏在保險桿上),但卻看到了對方駕駛按喇叭和閃燈(這也是事實),我自己把這行為解釋成對方很不禮貌,就是要跟我輸贏。因為我這樣理解這件事,所以導致自己心情不好,甚至衝動到下車打算講個道理,甚至想動手出氣。

但原來對方可能是好意,而我不知道。然而重點是,其實不管對方是惡意或好意,我發現其實影響我心情的,是我怎麼看待這件事情,也就是我對自己遭遇到的事情的認知是如何。

『塞翁失馬,焉知非福?』我突然補了一句。

他接著說:『從那一天開始,每當有人在後面按喇叭和閃燈,我就想起這件事情。我會先下意識的檢查一下是不是自己的車子怎麼了,會不會對方其實是想提醒我。一想到這邊,就沒了情緒。』

『但我覺得路上的惡人還是比好人要多的多吧?』我問。

『沒錯』他回答。

確實開車時大多數人其實都是沒耐心沒禮貌才閃燈按喇叭,但有了前面的那次經驗,以及後來刻意的練習之後,我發現自己逐漸可以『假裝』對方是為我好,想提醒我什麼,才瘋狂的按喇叭。久而久之,我幾乎可以不對路上車子的無理而動氣。

我發現,我居然可以控制自己的情緒,這種控制不是忍住壓抑,而是有能力決定對別人的無理自己要採用哪一種態度回應

接著我發現,這能力在工作上非常重要。讓我可以相當平和理性的面對客戶或同事的無理或不友善的態度。因為我知道我有能力,也可以,選擇自己回應的方式

由於不在盛怒下衝動的做決定,久而久之,我發現自己可以不被情緒控制,決策更加的正確,大多數同事也覺得我是個理性好相處的人。

『我想,現在根本沒人會相信,當年我是帶著一票人在路上夜遊飆車的衝動少年了吧。況且,就像我太太說的…』他緩緩地道:『在路上跟其他車子比快比狠,除了一時情緒,其實根本沒意義。』

『現在我都在這邊玩車』他拿出一張會員卡給我看,道:『這邊的輸贏還可以開香檳,拿名次,練技巧…比起在路上沒法控制自己情緒的亂衝耍狠,要有趣的多了。』

呵呵,我知道他其實是有在玩車的,還花了不少錢在上面。只是沒想到他在路上竟然可以這樣控制自己的脾氣。這到底是不是他在事業上小有成就的原因呢? 我不知道,但他說的那句話『我知道我有能力,也可以,選擇自己回應的方式。

我打算把這句話記起來,下一次有人按喇叭的時候,我不想輸給老同學,也不想讓自己沒有不生氣的自由。

2018年7月20日 星期五

幫你的Teams加上一隻對談機器人(Teams Chat Bot)

前幾天我們介紹過了如何申請免費的Teams,但你知道嗎? 免費的Teams 其實也可以擁有對談機器人喔。只需要三分鐘就可以搞定…

上圖就是我們跟這個剛用三分鐘做好的機器人對談的畫面。

他現在只會Echo,啥都不會,但你幾乎不用寫任何程式碼就可以完成,這樣的對談機器人有何用途呢?

用途大了,未來只需要稍加擴充,他就可以成為您在組織或企業內的小幫手,小從幫你查詢某人的分機、或是查詢你的今年度請假時數,大到自動幫你跑流程建立訂單或其他申請單,都是可以輕易實現的。

我們先來看如何建立一支這樣的bot。

使用bot service

要建立一支bot,你可以透過微軟Azure上的bot Service,建立時,目前有三種可以選擇:

請選擇最簡單的Web App bot,然後在出現的畫面中逐一填入相關資訊:

上圖1的機器人名稱當然就填寫你想要的名稱,而2,3,5預設會用同樣的名稱,我會建議你別改,且最好建立一個獨立的資源群組,這樣比較好管理。因為這個Web App Bot,會一口氣幫你建立Web App、Azure Storage、然後又可能有App Service Plan,如果你沒把所有東西放在一個獨立的資源群組裡,未來刪除的時候可能會漏東漏西。

上圖4程式碼的部分我們選擇C#,6的部分我們選擇自動建立。

按下『建立』鈕會跑一陣子,完成後,會出現類似底下這樣的畫面(如果沒有,請自行搜尋到該服務):

接著,請點選『頻道』,我們要讓這個bot可以被加入Teams中,請在頻道中把teams家進去,完成後類似底下這樣:

其實這樣該bot已經可以在Teams中使用了,但先別急,我們來看看這個bot目前是怎麼被設計的:

請在選單『組建』當中,找到開啟『線上代碼編輯器』:

點選後會出現底下這個Web畫面,基本上你可以在這個畫面中改你這隻Bot的程式碼,我們找到EchoDialog.cs:

然後把程式碼稍微改一下變成上面這樣:

完成後,請點選左側選單中的Open Console,然後下指令 build.cmd :

完成後,你修改的程式碼就生效了!!!!!

這時候先別急,我們回到azure管理站台,找到MS App Id,這個ID很重要,是我們待會測試bot所需的關鍵資訊:

找到之後,來到您的teams畫面,請在聊天選單中,點選下圖像是筆的那個圖示,在出現的『收件者』欄位中,輸入剛才你看到的MS App Id:

你會發現這樣可以找到你設計好的bot,然後,你就可以跟他說話了:

他當然也對答如流,只是言之無味, 後面就看你怎麼去改寫程式碼了。

三分鐘建立teams bot任務完成。

2018年7月13日 星期五

開放申請免費的Teams帳戶

既然微軟都免費提供Teams給大家用了,我們再客氣就有點顯得作做了,直接申請吧。

建議你先準備好Microsoft Account,也就是一般熟悉的Hotmail.com, Outlook.com之類的帳號。如果沒有,你可以從這邊申請一個。

其實從底下的申請頁面,你用哪一種帳號都可以,即使你用gmail他都會引導你去建立一個Microsoft Account,只是,為了避免你日後自己搞混帳號,建議你用一個已經申請好的Microsoft Account比較容易區隔。

直接到底下網址:  https://products.office.com/zh-tw/microsoft-teams/free

進入後會看到底下畫面:

填入你的帳號後,按下免費註冊鈕。

接著會出現:

按下設定帳戶後,會出現登入畫面:

正確的輸入密碼之後,就可以繼續申請步驟了:

你無須勾選底下幾個checkbox,上面的個人資料依照真實狀況填寫即可。接著系統會跑一下設定帳號:

完成後會出現底下畫面,不用猶豫,按下開始使用:

接著會進入系統,這時你會發現如果用Windows環境的話,它會叫你下載App,如果暫時不想下載也行,可以直接用Web模式亦可:

第一次進入,系統會讓你設定自己的顯示名稱:

接著你可以邀請你的同事或團隊進入Teams:


就這樣,你就有自己的teams站台了:

在Teams中做的事情非常多,從小組線上討論、視訊會議、檔案分享、行事曆、工作項目管理、以及外部系統(像是Trello、Evernote、Zendesk、Office…)的整合,且同時支援Android與iOS的手機和平板,你可以迅速讓整個團隊有一個共享的看板及線上工作區。

聽說這次大手筆開放了…

- 人數上限 300
- 無限訊息記錄搜尋 (Slack 1 萬)
- 10GB 團隊及 2GB 個人容量 (Slack 5GB)
- 整合O365線上應用程式如Word、Excel...等
- 視訊與通話可多人 (Slack 限一對一)
- 140 個第三方串接上限 (Slack 10 個)

看起來頗有搞頭,後續有機會再跟大家介紹一下怎麼使用teams囉。

2018年7月11日 星期三

為QnA Service的Knowledge Base加上共同管理者

QnA Maker正式版(GA)之後,在建立與權限維護上改變了不少,總的來說,就是改以Azure作為管理的核心,因此你會發現,你不再能夠直接從QnA Maker的管理站台(https://www.qnamaker.ai)去設定共同管理者,取而代之的,你必須從Azure Portal來設定。

當你要為某一個共同管理者設定權限時,你必須先在Azure Portal找到該QnA Maker的Cognitive Services服務,然後選取存取控制(IAM):

接著點選『新增』來加入新的用戶,並且在角色選擇『參與者』,在底下的『選取』文字方塊中直接輸入其 Microsoft Account,然後將其加入即可。

但請留意,這不會立刻生效,被加入的用戶會先收到一封mail,被邀請加入該目錄(Directory),收到Mail後該用戶要底選Get Started:

這會讓該用戶加入此目錄,然後才能夠存取該服務。

同樣的,這個作法也會讓該用戶在QnA Maker的管理站台(https://www.qnamaker.ai)中可以自由建立新的Knowledge Base,而帳就會算在你剛才授權的那個QnA Service與其所屬的訂閱(Azure Subscription)頭上:

此外該用戶也會被加入所屬的Azure AAD目錄中,如果要移除權限的時候也別忘記了唷。

建立QnA Maker時的小陷阱

先前介紹過,可以輕鬆實現自然語言客服的QnA Maker已經正式GA,因此,建立該服務需要到Azure站台上。我們知道Azure站台上的服務都有免費的選項可以用,QnA也不例外,因此你建立QnA Maker時候,可以很大膽的選擇底下的F0方案,而底下的Search Pricing tier也可以選擇F方案,大多Azure上免費的方案都是F開頭:

這樣就高枕無憂了嗎? 理論上是的,但有學員反應他的Azure被收了大錢,Why?不是F嗎? ㄟ…部分是的。

請看上圖的英文字部分,QnA Maker需要一個Azure Web Site,而建立QnA Maker時候,系統預設幫你開了一個S1(Standard)等級的Web Site,這S1等級的web App可是2000多台幣每個月啊…

這故事告訴我們,千萬別忽略網頁上不起眼的訊息,特別是英文的。

如何解決呢? 請找出該自動建立的WebApp(你設定他名字的,所以你應該找的到),將其改為(降級)為F1或D1即可:

Related Posts Plugin for WordPress, Blogger...

熱門文章