[Golang] 來用 Golang Present 製造 Golang 專屬投影片

前提: 很開心聽到有 GDG DevFest Taipei 場的活動,身為 Google 的語言 Golang 的台灣使用者社群共同協辦者,當然也要去參與這個盛會. 不過既然要參與 Google 開發者嘉年華會,當然得用 Golang 的 Present 工具來做投影片,但是其實還真不是那麼的簡單.這裡做一些簡單的筆記. Golang Present 什麼是 Golang Present ? 特色是什麼? Golang Present 是 Golang 社群開發出來的簡單的工具,透過簡單的語法可以來製作投影片(語法相似於 Markdown) Present 也是主要的 Golang Talk 的投影片製作工具,這裡可以看一個範例 State of Go . 你會發現有以下的特色: 簡單,樸素.沒有任何 Theme (特色 :p) 可以顯示,並且跑 Golang 程式碼. 可以在自己的電腦上顯示,當然也有人做好了 GAE 來跑. 如何透過 Golang Present 來製作投影片 以下會簡單的介紹,如何透過 Present 這個工具來製作投影片. 安裝 Golang (恩… 畢竟要透過 Golang 來跑代碼) 安裝 Present go install golang.org/x/tools/cmd/present 參考這個範例 Title of document Subtitle of document 15:04 2 Jan 2006 Tags: foo, bar, baz Author Name Job title, Company [email protected] http://url/ @twitter_name Some Text * Title of slide or section (must have asterisk) Some Text 在該目錄執行 present 可以在本地端的 http://127.0.0.1:3999 看到結果. 或者可以 push 到 github 上,透過 GAE 來看. 這裡有個範例 http://go-talks.appspot.com/github.com/.... 就可以跑. 筆記: 實地的透過 Present 來製作投影片.其實有一些麻煩的地方.挺值得記錄一下的. 圖片的大小無法自動縮放,建議使用 600 x 600 左右的大小 如果要放 GAE 上面來跑 Golang code ,記得所有跟 net/http 不太方便 demo server .因為 http port 會被擋(建議使用本地端來跑) GAE 來播放投影片會透過相當程度的 cache ,也就是大概是你今天改好的投影片,大概要一會兒才會看到最新版本. Reference: Go presentation tool...
繼續閱讀

[Chatbots Meetup] 參加 Chatbot Meetup#1

Meetup link Microsoft - Microsoft Bot Framework x Cognitive Service 快速打造智能聊天機器人 投影片 Introduce Bot Framework Cognitive service Bot Service just launch in few days. Compose.Ai - Introduction to NLP for Chatbots 投影片 NLP Problem: Standford Course Slide 如何獲得最多回饋的 Bot? A: 就罵髒話 Entity 個數的專一性 A: 不超過 10 個 Ref: fasttext Botimize.io - Messenger Platform’s New Opportunities and Insights 投影片 Zeroth.Ai Asia AI/ML Accelerator. 工人智慧到人工智慧 Travelflan Linker Networks - Golang 就我的 投影片 Him/Her - Facebook 不想讓你知道的事 投影片 PS_ID -> FB_ID 透過 PS_ID 拿 photo 需登入 (token) Facebook-Chat-api 不需拿 token (不用透過 FB Chatbot 登入授權) 當作網址登入 多個機器人,會被踢 aloha.ai 24 小時的品牌互動 客服中心,透過 Rule-based (keyword) 的方式 人工智慧  -> 工人智慧 (如果機器學習出問題的話) 卡米狗 2016/10/21 上線 15 萬人使用 流程 A, A –> A 貼圖 –> 貼圖 關鍵字回覆 A–> B 抽籤 一個 Bot 只能加入 1000 群組 (Line Bot 限制)
繼續閱讀

程式設計週記[2016/11/04]: 西部世界真的是很 HBO 的一部影集

這是什麼? 程式週記主要內容如下: Gihub project 介紹: 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢 網路文章心得: 會寫些心得,強迫自己閱讀. “程式週記”並且定期週期性更新. 大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下. 本週摘要 寫代碼跟玩 Kubernetes 已經變成是我抒發壓力的一種消遣,也已經沒有時間(也不應該)在上班時候寫代碼,只好半夜在家看看代碼跟玩玩 Kubertes 了. 最近看了 Westworld ,這部影集的人性探討真不少.相當建議大家來看看,結合時下流行的幾個話題: AI ,機器人,道德問題. Go Go 1.8 將會加入 graceful close/shutdown for net/http 大家期待很久的功能, gracefully shutdown 給 net/http 的部份總算在 Go 1.8 加入了. func (s *Server) Shutdown(context.Context) error {} func (s *Server) Close() error {} 只要有接上這兩個函式接口,並且將 context 做相關處理就好了. GAE go Image API for GCS 透過 GAE 上面的 Image Go API 來處理各種圖片的處理. Go for your Organization - Eleanor Deal 這個 talk 的題目相當有趣,就是 #Golang 對於你組織會有哪些影響. 他分別就幾個層面來談: Go 具有簡易的 Concurrency Go 設計需求簡單而容易明瞭 Go 具有內建的 testing, benchmark 甚至容易做 Profiling 當然 DevOps 而言 Kubernetes , Prometheus 甚至 etcd 都是你的好夥伴 最後 Gopher 都是具有分享的精神,而 Golang 不僅僅可以 Scaling 你的機器,更可以 Scale 個人與團隊. Methods in Go Methods in Go (part I) 深入探討 Go 的 Method 並且討論 T 與 *T 處理方式,一共有兩篇很值得一看. Python Android/JAVA/NODE.JS/Scala Docker Kubernetes How to Easily Install Kubernetes on AWS 這篇文章教導如何在 AWS 架設 Kubernetes ,其實架設 Kubernetes 並沒有那麼的困難.而且,如果你要在 AWS 上面架設,甚至有 KOPS( Kubernetes Operations ) 的工具可以幫助你自動安裝....
繼續閱讀

程式設計週記[2016/10/28]: Dyn 被攻擊的事件,讓我們了解網路有多重要 XD

這是什麼? 程式週記主要內容如下: Gihub project 介紹: 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢 網路文章心得: 會寫些心得,強迫自己閱讀. “程式週記”並且定期週期性更新. 大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下. 本週摘要 管理的事情越多,忙碌的部分也就更多.加上最近身體不是很舒服,剛剛辦完了 Golang Taipei Gathering 10 月份的聚會後,馬上就生病了. 整理這個禮拜的 twitter ,發現似乎變得有點少,看來得除了讓自己在公司的事情之外,還是得要好好學習東西.才不會讓自己每天忙碌而忘記真的想要學習的事物. Go Benchmarking go redis server libraries Redis (redis.io) 是相當知名的 in-memory data structure store . 這一篇比較了兩個比較知名的 Redis Golang Framework 的效能評比 redcon 跟 redeo 兩個套件在都略遜於 Redis 本身的 throughput ,作者覺得那些的效能問題可能來自於 Golang 的 GC 的處理上. 大家可以參考看看: redcon redeo Building Blockchain Networks Chain 是一個 BlockChain 服務的公司,提供透過 blockchain 技術的金流與安全的資訊服務. 相關訊息之前有板友貼過, 不過在這裡增加一些其他資訊: Chain 公司內部人員有一位是 Keith Rarick 是之前是 Heroku 做出 Go official buildpack 的大大 KR Github 根據 Reddit 上面的討論,如果你使用這個服務而沒有 AGPL 的話,你就得付企業的 License 費用 Reddit link GOROUTINE 執行相關討論 上週有人在 Golang.TW 的 Slack 問了一個關於 goroutine 的相關問題. 關於 goroutine 的程式為什麼不會列印在 thread 裡面的傳值部分. 這篇文章有清楚的分析原因與為什麼,感謝 KerkerJ 的紀錄與分析. digitalocean/go-qemu: Go packages to interact with QEMU using the QEMU Machine Protocol (QMP). Apache 2.0 Licensed. qemu 是一個虛擬機器的軟體,而這個套件可以使用 Golang 來透過 QMP 來操作 qemu. Podcasts about Go (golang) 所有跟 #golang 相關的 podcast 列表 Python Android/JAVA/NODE.JS/Scala How to build your own Uber-for-X application 介紹如何透過 node.js 跟 一些資料庫語法,來打造自己的 Uber-for-X...
繼續閱讀

程式設計週記[2016/10/21]: 優秀的創意到產品間存在著巨大的鴻溝,需要不斷的努力與調整

這是什麼? 程式週記主要內容如下: Gihub project 介紹: 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢 網路文章心得: 會寫些心得,強迫自己閱讀. “程式週記”並且定期週期性更新. 大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下. 本週摘要 工作上許多事情排擠我學習的時間,時間太少只好犧牲掉睡眠時間來學習與寫代碼. 神是公平的,不論你的種族與性別.他都只給你 24 小時,你要把時間花在哪些地方,成功就在哪些地方. (半夜醒來,發現一堆大大已經在努力學習有感) 下週三要有 Golang Taipei 聚會,希望大家都來參加啊. 沒有票的可以來找我拿閃電秀的票(前提是來當講者 :p ) Go redspread/spread : Docker to Kubernetes in one command https://redspread.com 透過 git-like 的指令能夠部署 Docker 跟 Kubernetes , RedSpread 提供相當方便的指令來部署你的服務. 最近 RedSpread 加入 CoreOS 了…. CoreOS 越來越多 Go 的大專案 Why you should not use iris for your Go projects Iris 是一個號稱地表上最快的 Web Framework,擁有 5000+ star 的專案,但是想要申請 Awesome-Go 卻被 ban 掉的整個故事. 這篇文章,從多個角度建議你不應該把 Iris 當作你的專案中,故事精彩就直接看內文吧. 懶人包: Iris 被 Awesome-Go 移除 Iris 的 Kataras 申請重新加入. 被人發現把 PR 改掉,License 亂寫 被 Awesome-Go 拒絕並且 Ban 掉 Kataras 把 Iris commit 改成只有兩個 (哪招?) Kataras 修改自己在 git issue 裡面的發言 參考 : Awesome-Go Github PR mesosphere/mesos-dns : DNS-based service discovery for Mesos 各種 Cluster Orchestration 軟體 (mesos or kubernetes ) 都會內建一套有用的 DNS . Mesos 用的就是這套的 mesos-dns ,而 Kubernetes 就是會逐漸轉向使用 SkyDNS. 有趣的是兩套都是 Golang 寫的. go-vgo/robotgo : RobotGo,Golang Native cross-platform system automation 這個很實用啊.跨平台的自動化系統.. (滑鼠精靈,自動點擊)都可以用 #### https://github.com/campoy/go-web-workshop Francesc Campoy...
繼續閱讀

程式設計週記[2016/10/14]: Learning how to using Machine Learning

這是什麼? 程式週記主要內容如下: Gihub project 介紹: 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢 網路文章心得: 會寫些心得,強迫自己閱讀. “程式週記”並且定期週期性更新. 大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下. 本週摘要 小孩子得了腸病毒,在家休養了一個禮拜.每天都在學習機器學習 (好像回文). 這次竟然花了兩個禮拜才整理出來,下週要改進. Go sourcegraph/checkup : Distributed, lock-free, self-hosted health checks and status pages checkup 是一個 #golang 專門拿來做應用程式健康檢查 (Health Check) 用的工具. 你可以使用 JSON 定義要檢查的應用程式網路與方式 (TCP/HTTP) 然後使用 CLI 的方式來執行. 也提供直接在 Programming 處理的方式. 支援 HTTP, TCP (並且支援 TLS) 與 AWS S3. 運用層面相當廣泛的好工具… 他們也寫了篇部落格來解釋他們為何需要自行研發這樣的產品. Why we open-sourced our uptime monitoring system heetch/LAPJV: Go implementation of the LAPJV algorithm 這個用來解決 Assignment Problem (任務指派問題)也就是將 n 個工作分配給 m 個人如何達到最大的有效的分配方式的問題. 一般而言的解決方式會是透過匈牙利演算法,而這段代碼使用了另外一個方式 Liner-Assignment-Problem Jonker-Volgenant algorithm 來大大的提升計算效能. 似乎無法找到論文(要錢),不過這邊有稍微講到如何做到 LAPJV . astaxie/bat : Go implement CLI, cURL-like tool for humans 類似 httpie 使用 Golang 作出的 CLI curl 工具。 這個套件的作者 Asta Xie 也就是 BeeGo 的作者. 參考 Httpie 重新以 Go 來打造的工具,使用了 Go Routine 讓整個軟體更加具有效能. noqcks/gucci : A simple cli templating tool written in golang noqcks/gucci 使用 #golang 寫的 template 工具。 可以透過樣板的替換方式,來讀取系統變數或是執行結果。 EBOOK : Webapps in Go (without) framework 免費的 #Golang Ebook ,使用最基本的 built-in package 來建置 Go Web App.還有 Go 語言的基礎教學,還不錯的書籍. pygo:...
繼續閱讀