繼之前分享如何實作「窮人版 ELK」之後,再來分享一下這個服務裡面的 DSL 是如何實作的。會想到要為這個服務做 DSL,主要是小編雖然已經把 Impala 產生的資料利用一些工具轉成 PNG 圖檔,但動作太繁雜,所以想把這些過程用 DSL 來表示,工程師只要會下 SQL 就能把資料轉成 PNG 圖檔了。
其實對於 DSL,有在 follow 粉絲頁的朋友應該有注意到,小編很久以前就有一個屬意的方案了,那就是 MSON。它結合了 Markdown 以及 JSON,所以不只人類易讀,機器也易讀。只不過 MSON Parser 一直都是殘缺不全,所以沒辦法讓小編完整的實作 DSL,這個方案就被捨棄了。
另一個也很適合拿來做 DSL 的就是 YAML 了,個人覺得跟 MSON 比起來易讀性稍低一點,但已經是目前還不錯的實作方式,所以就以這個來做為「窮人版 ELK」的 DSL 實作方案。
DSL 已經把所有轉換的細節都隱藏起來了,工程師只要先自己在 Impala 上撰寫正確的 SQL 指令,其他動作只要把必要欄位填完就可以了。下面是必要欄位的說明:
* SQL:要在 Impala 裡面執行的 SQL 指令,其中有用 ":VAR" 包起來的變數名稱,表示是從 INPUT 欄位取得
* CHART:highcharts 的圖表格式,DSL 目前支援 column (長條圖)、pie (圓餅圖)
* INPUT:這是一個陣列,表示這個變數名稱是從外部操作時取得,另外後面的 "date" 為資料型態,目前支援的類型為 HTML 的 input[type]
* OUTPUT:產生 PNG 圖檔時的欄位資訊,如 X 軸是從 Impala 的哪個欄位取得,顯示在圖表上的名稱要叫什麼
至於轉換細節又是另一件麻煩事,將 DSL 轉成最後的圖檔又經過了不少步驟:
1. js-yaml:雖然說 YAML 很適合拿來做 DSL,但 JSON 還是目前大家最常用的格式。所以當然要先把 YAML 轉成 JSON 這樣才好操作 XD
2. jq:轉換過程中 jq 幫了小編很大的忙,官網寫著這是一套輕量且靈活的命令列 JSON 處理工具。無論要對 JSON 取 key、取 value、取 length、做 group by、做 sort by、if-else、while-loop 都可以,就是很強大。所以小編就拿這個將 YAML 轉換完的 JSON,用一堆奇怪的語法把資料轉換成功。
其實在轉換過程最麻煩的不是操作 JSON,最麻煩的在小編不太會寫 bash script 啊!!!尤其是一堆變數轉換的過程,一下子用 ${},一下子用 $(),還有 ${[$k]} 的這種寫法,看了頭好痛 Orz
最後把 jq 轉完的資料丟給前一篇提到的那些工具,就可以完美把 PNG 圖檔產生出來了,第二篇的「窮人版 ELK」文章到此也就結束了。其實這個專案還有另一個跟圖表無關的功能,那就是即時觀看 API 發送歷程,如果有第三篇的話再來分享一下好了。
* 如何實作「窮人版 ELK」:https://www.facebook.com/kewang.information/posts/2085843121692051
* 如何使用 MSON 的幾個方向:https://www.facebook.com/kewang.information/posts/1940647046211660
* jq:https://stedolan.github.io/jq
#mson #dsl #yaml #json #jq
同時也有121部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,元智基礎程式設計Excel and VBA第6、7、8、9次上課 第6次: 01_樂透彩VBA結合定義名稱 02_格式化前七名與清除 03_將VBA格式化改為列出前七名 第7次: 01_檢視與參照用VLOOKUP函數 02_編號改為下拉清單 03_將參照的欄數用ROW函數產生 04_血型分析用V...
html 語法 變數 在 軟體開發學習資訊分享 Facebook 的最讚貼文
--課程已於 2017 年 8 月更新--
你知道最有生產力的命令列專家利用了 Vim 文字編輯器的強大功能嗎?
問題是,如果你想要使用 Vim 非常好並且想要自己學習,可能需要很長時間。
當你完成本課程,你會知道如何:
1. 一次編輯多個檔案,包括如何在不同檔案之間來回移動資料,從一個檔案複製和剪貼到另一個檔案,並快速跳轉到另一個檔案。
2. 使用必須知道的鍵盤快捷鍵,以及如何輕鬆記住它們。你會實際學習如何“在 Vim 中思考”,所以你甚至不必記住每一個命令,從而節省了無數小時的工作時間。
3. 尋找和替換檔案中的整塊資訊。這包括如何透過重新命名檔案中或是檔案集合中的所有變數來可靠地重構程式碼。當然,你將學習簡單的尋找和替換技術來替換整個檔案中的單詞等等。
4. 剪切,複製和貼上。你將了解如何充分利用 Vim 的內建剪貼簿系統,使用 Vim 的剪貼簿歷史記錄,以及如何從 Vim 中訪問系統的剪貼簿。
5. 視覺化地選擇文字區塊,並對這些區塊執行編輯,例如移動區塊,刪除區塊,縮排/移位區塊等。你將了解 Vim 的文字物件 ( text objects ),以便你可以快速選擇單個或多個單詞,行,段落,HTML / XML 標籤,程式碼區塊等。
6. 如何進行垂直編輯並使用 Vim 的視覺區塊模式( Visual Block Mode )。(有人稱為欄編輯模式或是矩形模式…)
為源始碼,設定檔案或是你經常編輯任何類型的檔案啟用語法凸顯模式 ( syntext highlighting )。這包括如何自定義 Vim 中的配色方案和文字顏色碼。
7. 使用簡單到進階的瀏覽技術,以便你可以在檔案中快速跳到所需的位置。
8. 實用的應用技巧,如編輯程式原始碼,腳本 ( scripts ) ,HTML 等等。你將在本課程中找到很多練習的機會。
充分利用內建的幫助系統,快速找到所需要的說明,而不用離開 Vim。
9. 在 Linux 和 Windows 上使用 MacVim 和 gVim。這包括學習 Vim 的文字界面和圖形界面的優缺點。
創建,儲存和重放巨集 ( macros ) 以正常化資料,並快速重複複雜的編輯。你將學習如何在一個文字檔案中的每一行附加或預加 ( prepend )文字,如何格式化一行文字,並將該格式應用於檔案中的指定區域等等。簡而言之,你將學習如何使 Vim 中的所有內容自動化。
10. 創建自定義快捷方式和個性化鍵盤對映。如果你想為你經常做的事情創建一個快捷方式,你會發現如何使你的生活變得更容易一些。
11. 縮排和移動文字區塊。你還將學習如何啟用自動縮排,以便你可以快速清理並美化你的原始碼。
12. 還有更多…
https://softnshare.wordpress.com/2017/05/26/vimmasterclass/
html 語法 變數 在 軟體開發學習資訊分享 Facebook 的最佳解答
17.5 小時的課程,從 JavaScript 初級到高級開發,涵蓋了ES6 ,而且附有 30 道練習題用來檢測自己是否真的理解 Javascript
課程內容涵蓋:
1. 所有的JavaScript和程式設計基礎知識:變數、資料型別,布林邏輯、if / else 語法、迴圈、函數、物件、陣列…等等。
2. 深入了解 JavaScript 在背後工作情況所需知道的一切:執行的背景狀況 、hoisting、範圍界定、“this”關鍵字…等。
3. 如何使用 JavaScript 程式碼與網頁進行互動:DOM操作。了解如何選擇和更改網頁元素、建新元素並處理 DOM 事件。
4. 複雜的JavaScript功能,如函數構造(function constructors)、原型繼承(prototypal inheritance)、一級函數、closures、綁定和應用方法…等。
5. 我們要編寫兩個漂亮的真實世界的應用程式來應用我們的知識並學習新的概念(課程會提供這些專案的初始 HTML 和CSS 程式碼)。
6. 了解如何使用模組和功能來組織和建構程式碼、如何建立資料隱私和封裝,以及為什麼這麼重要。
7. 最現代版本的JavaScript新功能:ES6 / ES2015的新功能。
>課程有英文字幕,網頁中附有將英文字幕自動轉換為中文字幕 how-to
https://softnshare.wordpress.com/…/completejavascriptcourse/
html 語法 變數 在 吳老師教學部落格 Youtube 的最讚貼文
元智基礎程式設計Excel and VBA第6、7、8、9次上課
第6次:
01_樂透彩VBA結合定義名稱
02_格式化前七名與清除
03_將VBA格式化改為列出前七名
第7次:
01_檢視與參照用VLOOKUP函數
02_編號改為下拉清單
03_將參照的欄數用ROW函數產生
04_血型分析用VLOOKUP查詢
第8次:
01_VLOOKUP函數與血型清單
02_範例VLOOKUP人事考評管理系統
第9次:
01_重點回顧與人事考評轉VBA與跨工作表
02_修改排序公式自動追蹤最下一列
03_將刪除儲存格Cells改為Range提高效率
完整影音
https://www.youtube.com/playlist?list=PLYDN7SApJ3PiwYQ4e5EOgnoCfpRlzCP3K&disable_polymer=true
課程理念:
1.以循序漸進的方式, 透過詳細的說明和實用的50個Excel VBA範例,
帶領您輕鬆進入 Excel VBA 設計的領域, 並逐步了解整個 VBA 的架構與輪廓,進而學習 VBA 變數、常數、函式及邏輯的觀念, 即使沒有任何程式設計基礎,也能自己親手撰寫 VBA 程序來提昇工作效率, 晉身職場 Excel 高手!
2.進而解說EXCEL與資料庫的結合,甚至將EXCEL當成資料庫來使用,
結合函數、VBA等更深入的功能,讓資料處理和分析的應用更上層樓。
五大類函數與自訂函數
一、文字和資料函數
二、邏輯函數
三、日期和時間函數
四、數學和三角函數
五、檢視和參照函數
上課用書:
Excel VBA一點都不難:一鍵搞定所有報表
作者: Excel Home
出版社:博碩
出版日期:2013/06/26
定價:380元
超圖解 Excel VBA 基礎講座
作者: 亮亨/譯 出版社:旗標
出版日期:2006/05/15 定價:420元
日本Amazon網站同類書籍銷售No.1
吳老師 108/3/7
函數,元智大學,程式設計,線上教學excel vba教學電子書,excel vba範例,vba語法,vba教學網站,vba教學講義,vba範例教學,excel vba教學視頻
![post-title](https://i.ytimg.com/vi/OmNmBsnctmQ/hqdefault.jpg)
html 語法 變數 在 吳老師教學部落格 Youtube 的最讚貼文
PHP與雲端資料庫教學總整理(2015)
完整連結:
http://terry55wu.blogspot.tw/2015/04/phpapp.html
最近開的課程其實都是可以相互整合的,
而這些可成都跟目前大數據時代的處理與應用有很大的關係,
其中有和APP開發有關的有 ANDROID APP開發與雲端實務應用2015
另外,如何和 APP的資料庫連結還有賴向PHP技術,
這方面的開課有 PHP雲端資料庫教學,
最近發表過的文章有 :
PHP雲端資料庫教學之1(打造PHP與MySQL環境)
PHP雲端資料庫教學之2(建立互動PHP網站)
PHP雲端資料庫教學之3(動態網頁如何傳遞引數GET與POST)
PHP雲端資料庫教學之4(PHP證照考題說明與表單設計)
PHP雲端資料庫教學之5(PHP證照102題環境與題目)
PHP雲端資料庫教學之6(建立MYSQL資料庫與SQL語法)
PHP雲端資料庫教學之7(PHP證照202題解題)
PHP雲端資料庫教學之8(用DW設計新聞公告專題使用者)
PHP雲端資料庫教學之9(用DW設計新聞公告專題管理者)
PHP雲端資料庫教學之10(用DW設計購物車01)
PHP雲端資料庫教學之11(用DW設計購物車02)
PHP雲端資料庫教學之12(用DW設計購物車03)
01_如何利用FOR迴圈輸出多選
02_如何利用FOR迴圈輸出多選(GET傳送)
03_PHP證照考題說明與表單設計說明
04_PHP證照考題說明與結果畫面
05_02_表單介面設計
06_表單設計細節與傳遞參數與接收
07_如何在表格中顯示接收到的變數
08_將換行轉成BR換行與PHP中文手冊
之後的課程還會在講有關PHP與MYSQL連解方面的課程,
也可以把EXCEL的資料匯入到MYSQL,可以利用PHP建立雲端資料庫,
可以當成是EXCEL和APP的共用資料庫,
對這部分有興趣的網路學員可以留意。
教完MYSQL之後,接下來就是利用DW CS6來建立動態資料庫網站,
亦即不用PHP程式也可以建立互動式網站,
但還是有點PHP程式會比較好理解邏輯。
PHP雲端資料庫教學之4(PHP證照考題說明與表單設計)
PHP雲端資料庫教學之5(PHP證照102題環境與題目)
參考書目
Dreamweaver CS6 X PHP超強互動網站特訓班(附影音教學、獨家擴充程式、範例、試用版)作者: 鄧文淵/總監製,文淵閣工作室/編著
挑戰PHP5/MySQL程式設計樂活學
作者: 文淵閣工作室 (著)
PHP 5實力養成暨評量(附光碟)
作者: 財團法人中華民國電腦技能基金會
php教學例子,php mvc教學,php ajax教學,資料庫,大數據,開放資料,XAMPP,Dreamweaver CS6,雲端資料庫,php mysql教學,html教學,php教學影片,php教學範例,php 安裝
![post-title](https://i.ytimg.com/vi/ObARZtbpLb0/hqdefault.jpg)
html 語法 變數 在 吳老師教學部落格 Youtube 的最讚貼文
PHP與雲端資料庫教學總整理(2015)
完整連結:
http://terry55wu.blogspot.tw/2015/04/phpapp.html
最近開的課程其實都是可以相互整合的,
而這些可成都跟目前大數據時代的處理與應用有很大的關係,
其中有和APP開發有關的有 ANDROID APP開發與雲端實務應用2015
另外,如何和 APP的資料庫連結還有賴向PHP技術,
這方面的開課有 PHP雲端資料庫教學,
最近發表過的文章有 :
PHP雲端資料庫教學之1(打造PHP與MySQL環境)
PHP雲端資料庫教學之2(建立互動PHP網站)
PHP雲端資料庫教學之3(動態網頁如何傳遞引數GET與POST)
PHP雲端資料庫教學之4(PHP證照考題說明與表單設計)
PHP雲端資料庫教學之5(PHP證照102題環境與題目)
PHP雲端資料庫教學之6(建立MYSQL資料庫與SQL語法)
PHP雲端資料庫教學之7(PHP證照202題解題)
PHP雲端資料庫教學之8(用DW設計新聞公告專題使用者)
PHP雲端資料庫教學之9(用DW設計新聞公告專題管理者)
PHP雲端資料庫教學之10(用DW設計購物車01)
PHP雲端資料庫教學之11(用DW設計購物車02)
PHP雲端資料庫教學之12(用DW設計購物車03)
01_如何利用FOR迴圈輸出多選
02_如何利用FOR迴圈輸出多選(GET傳送)
03_PHP證照考題說明與表單設計說明
04_PHP證照考題說明與結果畫面
05_02_表單介面設計
06_表單設計細節與傳遞參數與接收
07_如何在表格中顯示接收到的變數
08_將換行轉成BR換行與PHP中文手冊
之後的課程還會在講有關PHP與MYSQL連解方面的課程,
也可以把EXCEL的資料匯入到MYSQL,可以利用PHP建立雲端資料庫,
可以當成是EXCEL和APP的共用資料庫,
對這部分有興趣的網路學員可以留意。
教完MYSQL之後,接下來就是利用DW CS6來建立動態資料庫網站,
亦即不用PHP程式也可以建立互動式網站,
但還是有點PHP程式會比較好理解邏輯。
PHP雲端資料庫教學之4(PHP證照考題說明與表單設計)
PHP雲端資料庫教學之5(PHP證照102題環境與題目)
參考書目
Dreamweaver CS6 X PHP超強互動網站特訓班(附影音教學、獨家擴充程式、範例、試用版)作者: 鄧文淵/總監製,文淵閣工作室/編著
挑戰PHP5/MySQL程式設計樂活學
作者: 文淵閣工作室 (著)
PHP 5實力養成暨評量(附光碟)
作者: 財團法人中華民國電腦技能基金會
php教學例子,php mvc教學,php ajax教學,資料庫,大數據,開放資料,XAMPP,Dreamweaver CS6,雲端資料庫,php mysql教學,html教學,php教學影片,php教學範例,php 安裝
![post-title](https://i.ytimg.com/vi/Zwc9tZHR2JA/hqdefault.jpg)