本篇文章探討的是 Terraform 12.20 所推出的兩個新功能, can() 以及 try(),來聊聊這兩個新功能對於開發者來說能夠帶來什麼樣的效益
can 這個功能主要是用在變數的簡單測試,譬如幫你確認變數的數值是否符合預期,這邊也可以搭配 regex 這種正規表達式的方式來幫你驗證輸入值是否符合規範。
try 這個功能目前使用起來跟大家寫程式所習慣的 try/catch 有點類似, try 之中要傳入一系列的參數,然後 try 會回傳第一個沒有發生錯誤的參數。因此如果今天有一些資料處理比較複雜的部分,可以考慮使用 try 來幫忙驗證。
舉例來說,今天需要透過 yamldecode/jsondecode 的方式來處理一些動態資料,我們可以撰寫類似下列的程式碼
locals {
raw_value = yamldecode(file("${path.module}/example.yaml"))
normalized_value = {
name = tostring(try(local.raw_value.name, null))
groups = try(local.raw_value.groups, [])
}
}
來幫忙判斷到底該資料有沒有成功抓取並且解析,此外我們也可以透過 try 的方式來達到一些變數的兼容性。
譬如說我希望當某個變數是字串時,回傳一個長度是一的陣列,當變數是一個陣列時,直接回傳一個陣列。 參考用法如下
locals {
example = try(
[tostring(var.example)],
tolist(var.example),
)
}
點選下列文章或是官方文件來學習更多!
https://levelup.gitconnected.com/using-terraforms-try-can-and-input-validation-eb45037af2b2
正規表達式 或 在 軟體開發學習資訊分享 Facebook 的最讚貼文
這門課的講師有寫一本書 Automate the Boring Stuff with Python Programming ,這堂課的內容就是基於這本書錄製的
從這 9.5 小時的課程,你會學到
✅透過編寫簡單的 Python 程式在電腦上自動執行任務。
✅編寫可以使用 “正規表達式 regular expression” 進行文字模式辨識的程式。
✅以程式設計方式生成和更新Excel 電子試算表格。
✅解析 PDF 和 Word 文件。
✅抓取網站並從線上來源提取資訊。
✅編寫發送電子郵件通知的程式。
✅使用Python的偵錯工具快速找出程式碼中的錯誤。
✅以程式設計方式控制滑鼠和鍵盤點擊並為你輸入。
https://softnshare.com/automate/
正規表達式 或 在 軟體開發學習資訊分享 Facebook 的最讚貼文
--課程已於 2018 年 7 月更新--
Chatbots可以幫助人們通過簡單的聊天界面購物,訂購食物,娛樂,提供幫助,建議,資訊,支援等等。
從這 8 小時的課程,你將學學到
1. 理解和學習對話界面和代理(agents)
2. 使用 JavaScript 和 NodeJS 建構對話代理或是聊天機器人 (chatbots)
3. 了解自然語言處理和AI的作用
4. 使用Chatfuel.com建構一個不用寫程式的聊天機器人
5. 使用Motion.ai建構一個不用寫程式或是寫一點點程式碼的聊天機器人
6. 在Motion.ai上使用webhooks
7. 建構和使用自己的Facebook Messenger 界面
8. 使用 Wit.AI 建構 Chatbot
9. 使用API.ai構建聊天機器人
10. 了解 intents 和 entities
11. 理解並使用正規表達式(RegEx)建構基本的聊天機器人
12. 在Facebook Messenger平台上部署機器人( bot )
13. 在 Skype上部署機器
14. 在 Slack上部署一個機器人
15. 在雲端平台上部署chatbot應用程式,例如 Heroku
https://softnshare.com/2017/02/07/buildincrediblechatbots/
正規表達式 或 在 Python-100-Days/12.字符串和正则表达式.md at master · jackfrued ... 的推薦與評價
正则表达式相关知识. 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达 ... ... <看更多>
正規表達式 或 在 正则表达式(RegEx)——快速参考 的推薦與評價
在正则表达式的最前面, 指定零个或多个下列选项后面跟着闭括号. 例如, 模式"im)abc" 将带有不区分大小写和多行选项来搜索abc (如果不含选项, ... ... <看更多>