發表文章

目前顯示的是 1月, 2020的文章

If somethings difficult or painful, do it more often.

圖片
If somethings difficult or painful, do it more often. 這句話似乎有點黑色幽默。你知道我在哪邊看到它的嗎? 是Azure DevOps的教材中。不可思議吧,剛看到的那刻我一頭霧水,它是怎麼會這麼不搭的出現在教材裡? 然後,我努力地搜尋,發現第一次出現這句話相關的內容,是在Martin Fowler的blog: https://martinfowler.com/bliki/FrequencyReducesDifficulty.html 它讓我想起以前在某本書上讀到的一段話,『 如果你想成功,就拼命去做自己明知該做但卻不想面對的那些事情。 』理由很簡單,因為我們始終得去面對我們該面對的事情…早晚而已。 為何要 盡早且頻繁 的去做那些我們不想做的事情呢,Martin Fowler給了三個看法。分別是 Smaller chunks、Feedback、Practice。 越討厭的事情就要越早做,免得積壓起來變成一大塊,那時候你就更不想做了。而且,一小塊一小塊的去進行,比起特別空出一段時間一次做完,其實來的輕省的多。Martin Fowler提到Database migrations就是這樣,我覺得其實不只,根本重構也是。 (平常有掃地,過年的大掃除就可以輕鬆一點;每天做一點功課,就不用期末前拼命趕報告K書的概念…) 而一小塊一小塊地進行,更容易讓我們 即時取得反饋 (不管是來自外在 環境 的、或是來自 客戶 的),這樣可以讓我們經常持續性的檢視自己的方向是否正確,如果把討厭的事情堆積起來,等到非做不可的那一天才做,那些會造成你卡關的問題常常來的讓你措手不及。 (平時不運動,等到發現自己身體有問題才開始運動,你的體能和身體狀況往往已經吃不消了的概念) 最後一件事情,就是『練習』。 確實,很多事情看起來很難(不然我們也不會想要逃避它),但當我們去面對它,常常練習之後,它會開始變得容易,如此反覆進行之後,本來看起來很困難的事情,慢慢的你會越來越熟悉和上手,這時候原本的難度會開始漸漸消失,困難的事情也就變得不再那麼困難了。 藉由反覆練習,你會熟悉踩過的坑和需要注意的事項,久而久之將變成習慣,在外界的人眼中,你似乎是天生好手,但你知道,其實也不過是因為你常常練習罷了。 很有趣吧。 If somethings difficult

用C#開發LINE Bot(35) - 使用 Command Line 發送免費的LINE推播訊息

圖片
在command lin(命令列)e發送LINE Notify的免費推播訊息,我想實現這個功能很久了,因為身為系統管理與開發人員,在許多系統管理與維運場合我都會用到。 先來看看執行結果,你可以在命令列中執行底下指令,它會讓你免費發送一則 LINE Notify 訊息給你指定的(訂閱你的通知)的用戶(或群組): C:\> line notify -n C02hfClbZuqo9cKQk4uckWQdGLYJBgHNKpldgL1ialx -m "test" {"status":200,"message":"ok"} 上面這段命令中,-n後面的參數是LINE Notify Token,代表某個訂閱者(或群組),而 -m 後面的參數則是你要發送的訊息。 上面指令的執行結果如下: 要怎麼實現呢? 其實很容易。不管是MAC或是PC/Linux環境,你只需要先安裝好 dotnet core 3.1 SDK , 然後執行底下指令: C:\> dotnet tool install --global line.cli 這會在你的環境上安裝好 LINE CLI,你會看到類似底下的訊息: 您可以使用下列命令來叫用工具: line 已成功安裝工具 'line.cli' ('1.0.15' 版)。 接著,就可以透過底下這樣的指令免費發送訊息給特定用戶了。 C:\> line notify -n C02hfClbZuqo9cKQk4uckWQdGLYJBgHNKpldgL1ialx -m "test" 除了可以發送文字訊息,當然也可以發送貼圖,類似底下這樣: C:\> line notify -n C02hfClbZuqo9cKQk4uckWQdGLYJBgHNKpldgL1ialx -s 1,2 也可以發送特定圖片: C:\> line notify -n C02hfClbZuqo9cKQk4uckWQdGLYJBgHNKpldgL1ialx -i [https://圖片url] 請留意上面 -n 後面的參數是 LINE Notify token,這是訂閱你的LINE Notify通知的用戶。是的,本質上它是透過LINE N