[Golang][LINE][教學] 如何傳送 LINE 專屬的表情符號(emoji)

前言 大家都知道 LINE 有一些自己獨特的表情符號(而非一般的 emoji) ,如果真的想要在 chatbot 中來顯示表情符號其實沒有那麼簡單。剛好發現其實網路上的資源也不多,順便寫一下相關資料分享給大家。 顯示一般的表情符號 (Emoji) ⚽️ 🏀 🏈 ⚾️ 🏐 🏉 🎾 如果要顯示 emoji ,其實他的代碼可以直接複製。這裡有兩種方式可以顯示。 直接將 emoji 複製起來,貼到字串裡面即可 str := 🍆 即可 如果要顯示完整 emoji 列表可以去這裡找 如果要透過 Golang 來顯示,可以透過以下的程式碼: 關於 LINE 自訂的表情符號 首先要先解釋一下, 一般來說如果要在官方帳號(OA) 上面直接發送具有 LINE 特定的表情符號可以透過以下方式。 \uDBC0\uDC84 這一段代表的就是顯示熊大的表情符號。但是你會發現不論你如何顯示都無法正常顯示。 經過尋找過後,發現以下的 issue 已提醒相關的資料。Python LINE SDK discussion 裡面有提到兩件重要的事情: LINE Emoji 是自定義的,要參考 LINE Emoji document 透過另外一個討論 Java LINE SDK discussion ,會發現 LINE Emoji 需要透過 utf32 來轉換到 utf8 。 (因為 Golang 本身都是透過 utf8 來處理字串) 所以處理方式如下: 透過 LINE Emoji document 來查表,找尋需要的 熊大 Brown 表情 0x100084 由於是 32 位元,前面補零 0x00100084 產生 utf32 decoder 轉換 utf32 成 utf8 那就直接來看程式碼: 參考 LINE Emoji document Python LINE SDK discussion Java LINE SDK discussion Golang UTF32 API
繼續閱讀

[好書分享] 跟TED學說故事,感動全世界

跟TED學說故事,感動全世界 - 好故事是你最強大的人生資產 The Storyteller’s Secret 作者:卡曼.蓋洛 原文作者:Carmine Gallo 譯者:許恬寧 出版社:先覺出版 出版日期:2016/07/01 書籍網址: http://moo.im/a/458fuE 前言: 跟著前一篇文章[好書分享] 跟TED學表達,讓世界記住你之後,這一本書相當推薦在讀完前篇文章之後繼續閱讀。也就是說如果說前一本書能讓你打破觀念,開始了解一個好的演講需要的一些要素。那麼這本書就是要讓你好好開始學習講一個好故事,講一個真誠的故事,講一個令人深刻的故事。 內容簡介: 這本書的主軸由二十四篇充滿著故事性的演講(可能不全是 TED) 開始提起,讓你了解每一篇所具有的說故事技巧。 第一部 那些點燃我們內心火焰的說故事大師 裡面先提到故事最重要的一些元素,不是誇張不是精彩,而是夠真實。這邊也不斷的建議我們,許多感動人心能夠連接講者與聽眾的故事往往就是講者自己的故事。這一段引用不少知名人士的演講,從搖滾樂天王史汀,星巴克的創始人到傳教的牧師。大家能了解這些人一站出來就能夠吸引每個聽眾的目光,但是讓感動內心的往往就是他們真實的過往故事,他們如何遇到困境,加以突破最後變成現在令人稱羨英雄的故事。 第二部 那些啟迪我們的說故事大師 第二段就是要提到故事往往要能「夠簡單」,透過故事本身的用字遣詞。這邊提到一個很重要的概念就是,就算你的故事內容與脈絡很好,你還需要不段的修飾故事本身的文字。讓故事說出來的時候,平易近人任何人都能輕鬆地閱讀並且了解。 這邊舉了比爾蓋茲在演講台上直接喝大便過濾的水,來讓大家注意並且打破了所謂「聽眾的安全堡壘」讓故事本身深刻的烙印在聽眾的心理。而哈洛威爾醫生透過比喻的方式來解釋「注意力不足過動症」(ADHD),讓每個聽眾就算沒有任何醫學的背景也能夠快速地了解。 第三部 那些一針見血的說故事大師 第三段開始要教導講者,你要能夠濃縮你的故事。如果你的演講無法改成一句話,一段文字或是三十秒的小故事。你的演講主軸真的需要好好的重新思考。 這邊有提到幾個有趣的例子:特斯拉的馬斯克用了很短的一句話敘述了現在世界上電池的缺點。太空人如何用短短的一個小故事與幾張圖片來讓你了解恐懼。如何透過明信片短短的區域來解釋你的生意點子獲得投資。 第四部 那些激勵人心的說故事大師 激勵人心的說故事大師往往都能夠讓他的故事具有靈魂,讓故事的本身變成演講的主軸。 跨國旅館的老闆透過自己的故事來激勵每一個員工,並且希望員工都能夠尋找自己的故事。因為故事的本身就代表著良好的服務,貼近人並且感動人心。讓每個來訪的顧客都能夠賓至如歸。 失去雙腳的講者敘述著自己原本快樂的生活,經歷了失去雙腳的巨變,如何調整自己並且擁抱全世界。 這些都是故事應該具有的靈魂。 第五部 那些啟動改造時刻的說故事大師 這裡首先都就提到了金恩博士,他如何透過「我有一個夢…」的起頭,來串接所有想法並且形成了跨世代的偉大演講。原本在講稿裡面並沒有那句話的,而這些被認為像是即席加入的幾個文字卻構成了最重要的元素。 這些可能都是不斷練習的結果,大家都聽過一萬個小時。除了不斷練習能帶來的熟練度之外,還能夠帶來敏銳的直覺能了解如何讓故事本身變得不朽經典的小技巧。 說故事大師的拿手絕活: ■告訴別人故事之前,先重新打造你告訴自己的故事。 ■給聽眾能認同的英雄,告訴大家他們克服了什麼困難,以及最後的收穫。 ■簡報至少要有65%是故事。 ■數據與事實雖能說服聽眾,但唯有動人的故事能讓大家起立鼓掌。 ■提供有用的細節,讓故事更豐富。 ■堅守三數法則。 ■皮克斯七步驟,給聽眾可以歡呼加油的對象。 ◎特別收錄1:24個故事QRcode即掃即聽! ◎特別收錄2:故事大師的百寶箱、故事力檢測表,三秒鐘立即吸收全菁華! 心得: 這本書除了讓你聽過一次那些偉大的故事本身外,透過頗析故事架構與共同的元素可以讓人快速地了解並且不斷的精進自己的故事。這本書的許多小技巧都相當能夠幫助你思考故事在演講中的比重,重新給予原本可能只是小插曲的故事新的靈魂。 透過這本書的閱讀之後,我重新了解故事對於一段演講的重要。必須得說也由於這樣的原因使得原本看似簡單的故事現在都要好好的思考整個故事架構與內容,務必力求完美。講師在講解的時候其實也大多依照著這本書的架構來教導。 記得第一次剛看完的時候,就決定將自己的演講分成兩段故事來表達。但是卻無法完整抓到故事給予人的連貫感與深刻程度,使得整個演講排練相當的糟糕。也只能說雖然說故事的能力是天生的,但是如何將故事說得好說得深刻說的動人,真的是需要持之以恆的練習。
繼續閱讀

[好書分享] 跟TED學表達,讓世界記住你

跟TED學表達,讓世界記住你 - 用更有說服力的方式行銷你和你的構想 Talk Like TED : The 9 Public Speaking Secrets of the World’s Top Minds 作者:卡曼.蓋洛 原文作者:Carmine Gallo 譯者:羅雅萱、劉怡女 出版社:先覺出版 出版日期:2014/05/29 書籍網址: http://moo.im/a/23bdVW 前言: 最近即將在年底的大活動來講比較軟性的題目。公司提供很好的福利給來分享的講者適當的訓練 ,為了能夠更了解,特地去買了電子書閱讀器 (readmoo),也買了一堆電子書來好好閱讀。 記得曾經聽誰說過『越硬的內容,講起來越軟(代表簡單);而越軟的內容,講起來越硬(代表很難)』,所以開始不斷的閱讀一些如何說出一個好演講的書籍。有兩本其實相當推薦。這是其中一本,另外一本是「跟TED學說故事,感動全世界」。 此外,為何說「越硬的內容越好講?」因為越艱深的內容,最重要的課題是要講的「淺顯易懂」這樣就已經成功了八成,只要在中間再加上一點點笑話,就是一場完美的演講。 但是軟性的演講是需要聽眾 call for action 的,更是因為每一張投影片可能都相當的容易了解。所以要能講到內心深處就格外的困難。要能夠讓聽眾感同身受,並且像是受到佈道般的激動感受。 內容簡介: 這是一本精心挑選了很多傑出的 TED 演講的書籍,並且詳細的解讀了每一個成功的演講背後的原因。 以下幾個是擷取出來的推薦,也是我最喜歡的幾個章節之一。 ▍羅賓森爵士如何幽默的談教育,使他的談話成為迄今最受歡迎的TED演說,勝過許多名人? POINT!關鍵的第一步聽起來可能違反我們的直覺──別企圖表現得很幽默!帶有幽默感的敏銳觀察,才是最恰當,也最有效的。 ▍比爾‧蓋茲為什麼要把蚊子帶上TED講台,是什麼原因讓他的演講5年後依然被討論? POINT!在演說中加入令聽眾瞠目結舌的橋段,那麼這段教他們難以忘懷的演說就能緊緊抓住他們的注意力,並且在演說結束後仍久久不忘。 ▍發現鐵達尼號的深海探險家巴拉德,如何在18分鐘內讓人們重新認識海洋? POINT!告訴聽眾一些他們從來沒聽過的資訊,並且以別出心裁的方式來包裝這些資訊;或針對行之有年的老問題提出新鮮、新奇的解決之道。 心得: 這是一本相當好的書籍,雖然整本書都是以介紹 TED 的成功演講為案例。但是非常清楚地解釋了每一段演講成功的原因,並且有附上相關演講的 QR code 。 雖然之前有一段時間我中午都是邊吃飯邊看 TED ,但是裡面還是有相當多段影片是我沒有看過的。 首先推薦的就是羅賓森爵士這段 TED 史上點擊率最高的演講,真的是相當的幽默風趣。讓每個聽的人都會會心一笑之外,也會認真的思考教育本質的問題。就如同他一直說的,「如果你的演講不有趣,就不會有人聽你說話。」再來我也很推薦比爾蓋茲的思路,首先透過不斷的清楚堆砌故事來深入人心之後。最後透過放蚊子的方式來打破每個人的防禦心,讓故事深刻的打到每個人的心理。 相當推薦這本書可以給以下兩種人: 如果你很喜歡看 TED 的演講影片,但是不知道哪幾篇是最受歡迎的。可以來看看這本分析,會讓你欣賞精彩的演講之外,深刻的了解許多背後的用意。 如果你跟我一樣,有一個機會要講比較軟性的演講。也很推薦你先從這一本看起,因為他會先開始讓你有學習的動機。先從欣賞一場好演講開始。
繼續閱讀

[Golang][LINE][教學] 如何快速建置一個 LINE Notify 的服務

前言 LINE 在 2017 年其實推出了一個「通知」的服務,名稱為 「LINE Notify」.這個服務跟 LINE Bot 裡面的推送(Push Message) 其實是分開來的,而且服務也是需要另外申請的. 本篇文章將簡單的介紹這個機制運作的方式,並且暨「[Golang][教學] 在 Heroku 建立你自己的 LINE 機器人 (LINE Bot API)」 之後,在寫一個 LINE Notify Template 的服務. 讓各位可以快速部署出自己的 LINE Notify 的服務. LINE Notify LINE Notify 的申請頁面 跟 LINE Bot 的不同,建議各位可以先去申請 Github 或是 IFTTT 的服務. 你會發現有一個新的帳號加你為好友,千萬不能封鎖 不然所有的 LINE Notify 都會收不到. 如果你可以正常的串接 Github 或是 IFTTT 的 Line Notify ,我們就可以繼續以下的相關工作. 開發 LINE Notify 服務 講到要如何開發一個 LINE Notify 的服務,主要需要進行以下幾件事情: 到 LINE Notify 的申請頁面 註冊你將要啟動的服務,來取得 Client ID 跟 Client Secret 一個靜態網頁來負責開啟 POST 資訊到 LINE Notify 並且讓使用者在 LINE Notify 上面登入帳號與傳送相關資訊 開發一個 API 端口(auth)負責跑 LINE Notify oauth 來讓使用者的 LINE 帳號與 Line Notify 的服務器登陸服務 開發另一個端口(callback)來接收,傳送回來的 token 並且儲存作為之後通知之用 最後有一個發送通知的端口(或是服務器透過資訊變更而啟動) 的端口 (notify) ,負責將要更新的資訊傳送給 LINE Notify 服務器來轉發到 Line Noty 的帳號上 在服務的說明上,可以參考 Line Notify 的官方網頁 或是 Poy Chang 所寫的「實作 Line Notify 通知服務 (1)」 都相當清楚. 但是本篇文章是希望能快速帶領各位完成一個 LINE Notify 的服務,所以接下來會使用我所開發的 LINE notify repo 來介紹. 透過 Line Notify Template 快速建立服務 Line Notify Template Repo: https://github.com/kkdai/linenotify 接下來的文章,將會一個個來解釋該如何透過 LINE Notify Template 來快速進行開發: 申請一個 Line Notify 服務: 記得到這個網址來申請你需要的 LINE...
繼續閱讀

[Coursera] Blockchain Basics

課程鏈結: 這裡 Blockchain Specialization 系列上課心得 Blockchain Basics (本篇) Smart Contract 待續 前言: 最近開始決定來清理一下 Coursera 上面積欠的課程,但是也想到竟然有這幾天的假期,不如來好好的學習一些有趣的知識. Ethereum 就是一個我之前一直想好好學習,但是沒有時間可以了解的. 剛好看到 Coursera 也有相關的課程,所以決定把這個系列課程剛好這幾天學習了解. 「Blockchain Basics」 算是比較粗淺的入門課程,並沒有任何的 Programming 的部分,主要是做概念的講解與名次的解釋. 課程內容: Week1: 基本的 Blockchain 結構: UTXO UTXO(Unspent Transaction Output): 結構包含如下 Unique identifier of the transaction that created the UTXO Index Value (option): Condition under output can be spent 一個 Transaction 會有 Input UTXO 也會有 Output UTXO, Genesis Block Genesis Block 指的是第一筆的交易,不論是 Bitcoin 或是 Ethereum 都有他們的 Block #0 ,我們可以透過以下的工具來查看: Block Explorer: https://blockexplorer.com/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f 具有 1 個 transaction Reward: 50 Difficulty: 1 時間: 2009 (如果你那時候開始玩.. ) EtherScan: https://etherscan.io/block/0 具有 8893 個 transactions 0 個 contract Gas: 5 Reward: 5 Week2: Smart Contracts: Smart contracts 是透過類似 Solidity 的高階程式語言,寫成一段程式碼可以透過 EVM (Ethereum Virtual Machine) 跑在任何的 ethereum client 上面. Ethereum 貨幣單位 \[1 Ether = 10^{18} Wei\] 交易產生 Smart Contracts 流程: 每一筆交易可以帶有可執行的程式碼 (smart contracts) ,但是執行該 Smart Contracts 的算力(Gas) 會被反映到手續費裡面.並且有嚴格的 Gas Limit 來掌控一個 Block 所能使用的上限. 節點功用: Full node: 交易的啟動,認證 挖礦 區塊的建立 智能合約的執行 Minor node:...
繼續閱讀

[好書分享] 征服世界是可能的嗎?

前言: 最近把一些之前沒看完的書開始拿出來讀完,這一本就是在閒暇時間拿來消遣用的書.但是雖然最近 Kobo 大幅度特價來台灣打廣告,我還是喜歡紙本的書啊(書櫃表示滿了..) 這一本不諱言當初是因為封面的比克大魔王 而買下來的,但是其實內容相當有趣所以當初也是一次幾乎都看完了.一直到了最近才有時間去寫讀書心得.這系列其實跟「空想科學讀本」系列很像,屬於幻想的科學系列.但是作者們都用很嚴謹的角度來看待當初埋藏在各位心裡的奇怪想法. tldr: 如果你沒有看過以下的漫畫讀物,強烈建議你「不」要買這本書來看.因為作者 岡田斗司夫 是動畫公司的創辦人,並且是美少女夢工廠當初創辦的公司. 裡面的範例也超級「宅」 ,如果是愛看漫畫的人或許可以完全融入作者的幻想科學裡. 內容簡介: 「征服世界」 已經忘記有多少動漫畫的反派夢想似乎都是這個,透過征服世界來達到自己的夢想.這本書也很有趣的由這裡展開.本來只是作者 岡田斗司夫 在暑假一個有趣的研究的分享,「一起征服世界吧」的演講. 卻被出版社聯絡,決定要出了這本有趣的書. 不過作者也不是泛泛之輩,他就認真的開始分析各個動漫反派的動機與方法論.整本書的架構如下: 征服世界的目的是? 一開始作者先透過一些動漫角色 「假面騎士」還有「北斗神拳」裡面的來分析這些反派為何要征服世界.每個人都有不同的目的: 消滅人類: 宇宙戰艦大和號- 科美拉星人 我要錢: 老是被人管,想要統治別人 推廣邪惡: 這個酷了吧? 竟然是七龍珠裡面的比克大魔王 哪類的統治者? 這邊就統治者(也就是我們說的大反派)來分析他們的人個特性,你看是不是相當認真. 想要征服世界的大反派,其實分成四型: 魔王型 獨裁者型 昏君型 幕後黑手型 那麼如何征服世界呢? 這邊就認真的討論,如果真的想要征服世界的人該如準備? 設定目的 確保人才 調度資金 作戰計畫管理及肅清屬下 征服世界之後(繼承人問題) 真正有可能征服世界嗎? 這個章節也認真的討論(但是還是舉了很多動漫的例子)征服世界的好處,還有統治世界的重點. 心得: 這本是相當適合當作休閒刊物,當然前提你還是要有相當程度的「宅」才能看懂裡面所舉的範例.作為一個放鬆毒物其實相當的棒.但是除了動漫的角色之外,也是可以看到作者對於歷史與人類管理相關的演進過程有一定程度的研究.有許多相關內容也潛移默化的導入到有趣的範例內.
繼續閱讀