《軟實力:軟體開發人員的生存手冊》心得

Image

這是一本你從未見過的軟體開發書。
                --《軟實力:軟體開發人員的生存手冊》

這本書其實已經借來兩年了(隔壁 Sian 心得文已經發了多久,就代表我借了多久),不過因為有一個指節那麼厚,我又是這麼的懶,因此就放在書櫃中睡了兩年,直到最近才終於捧起來看。

直接先說感想:驚為天人。這本書的內容就像是一篇接著一篇的部落格文章,但每篇之間又是環環相扣的,彷彿某種連載短篇一樣,會讓人一直看下去。

對於這本書的內容,我推薦有興趣的朋友、或是喜歡閱讀部落格的朋友可以自己去試閱看看(今年剛好也出了第二版);這邊就來聊聊我覺得這本書比較特別的部份吧!

神奇的內容廣度

首先一定要從這本書神奇的內容廣度開始說起,從常見的職涯建議、自我行銷,到健身、理財都有。完全對得起「生存手冊」的名稱

為了讓各位可以感受一下這個衝擊,這邊就條列出本書的章節目錄,並且附個一兩項裡面提到的內容:

  • 職涯
    • 如何把職涯當作企業經營?如何成為自由工作者?
  • 自我行銷
    • 如何打造個人品牌?為什麼幫助別人如此重要?
  • 學習
    • 什麼是十步學習法?指導別人有什麼好處?
  • 生產力
    • 什麼是番茄工作法?為什麼培養習慣這麼重要?
  • 理財
    • 什麼是選擇權?如何投資房地產?
  • 健身
    • 為什麼工程師需要健身?怎麼計算卡路里?
  • 心靈
    • 什麼是自我形象?我們該如何樹立理想的形象?

從目錄就可以看出來,這本書能夠給軟體工程師們為了生存所接觸到各個領域的簡介、讓讀者能快速對這些領域都有基本的概念。藉由這些基本概念,就可以根據這些方向來做進一步的了解。

……

閱讀全文



使用 JMeter 來對 API 壓力測試吧

Image

前陣子協助某支 API 的壓力測試,趁機請 QA 朋朋指導指導一下,因此接觸了這款簡單好用的壓測工具 JMeter,趁現在記憶還在的時候記錄起來。

往後其他同事只要說 API 弄好了可以串了,就先幫他打個一萬次壓壓驚,真是貼心

JMeter 是款充滿暴力的壓力測試工具,只要告訴他:你要揍哪支 API?要揍幾拳?揍他個幾輪?它就會忠實地對你指定的 API 爆打一頓。

……

閱讀全文



Sony WH-1000XM5 使用一週心得

Image

在某個風和日麗的午後,同事讓我試戴他的 XM5,當我戴上去聽了兩秒音樂,就明白我已經犯了錯,而且無法回頭。

過了幾天,這副耳機就出現在我家門口,到今天已經過了一週,就讓我來紀錄一下小小心得吧。

……

閱讀全文





使用 Azure Functions + Line Notify 來定時提醒公車到站時間

Image

在上週的 使用 Powershell + 工作排程器 + Line Notify 來定時提醒公車到站時間,我們利用工作排程器來定時觸發腳本,藉此用 Line 提醒我下班的公車還有多久才來。

做完之後靈機一動,對呀!最近上班挺常接觸到 Azure Functions 這個方便東東,不如就把這個小提醒給架設到 Azure Functions 上吧!

這樣就省卻了特定主機要開著掛工作排程器的困擾,又可以用香香的 Azure 工具來控制監聽的開關,豈不美哉。

如此如此這般這般,讓我們開始建立 Azure Functions 服務吧!

建立 Azure Functions 資源

Azure Functions 是 Azure 推出的一款無伺服器(Serverless)服務,簡單來說就是伺服器之類的麻煩事就交給 Azure 去處理,我們只要專心寫功能就好。對我這種愛寫小腳本的偷懶工程師來說,可以說是香到爆的服務。

小提醒:Azure Functions 是一款收費服務,使用前請務必確認定價

在這篇文章撰寫當下,Azure Functions 有提供每月免費執行一百萬次的授權,對我們每天一次的公車通知來說綽綽有餘了(我們應該不會搭這麼多趟吧…?)

……

閱讀全文



使用 Powershell + 工作排程器 + Line Notify 來定時提醒公車到站時間

Image

事情發生在一個風和日麗的平凡下午:

我:(把手上的事情弄到一個段落再下班吧)

~~十分鐘過後~~

我:差不多可以走了,公車也差不多要來了叭?
公車:(一分鐘前離站)
我:(゚д゚)

這時候才明白愛恨情仇,最傷最痛是後悔。如果我早知道公車快到站了,也許我就不會錯過。

抱著這股傷痛,決定乾脆寫個小腳本,每天下班提醒我一下,避免重蹈覆轍。

綜上所述!目標是:每天下班前十分鐘,告訴我下一班到達的公車時間

因此至少能夠拆分成三個階段:

  • 每天下班前十分鐘(定時執行)
  • 告訴我(通知功能)
  • 下一班到達的公車時間(查詢資訊)

那麼,我們開始吧!

……

閱讀全文



菜雞抓蟲:Azure Functions ServiceBus Trigger 執行過久時會重複觸發 Functions

Image

TL;DR

當發現需要執行很久的 ServiceBus Trigger Function 有重複執行的情況出現時,可以嘗試到官方的 Host.json 設定指引,按照 SDK 版本找到對應的「訊息鎖定最大持續時間」設定,例如 maxAutoLockRenewalDuration(延伸模組 5.x+)或 maxAutoRenewDuration(Functions 2.x),並加入專案的 Host.json

因為 ServiceBus 在傳遞訊息之後,如果超過一段時間(MaxAutoRenewDuration)內沒有得到回應,就會解除信件的鎖並嘗試重新傳遞,這時候如果原先的 Function 仍在執行,就會一前一後重複執行 Function 並發生許多光怪陸離的事,例如寫入兩筆資訊、重複複製資料之類的。

建議如果調整了有 ServiceBus Trigger Function 的 Azure Functions Timeout 設定時,或是發現某支 ServiceBus Trigger 的 Functions 執行時間過長,就要一併注意 MaxAutoRenewDuration 的設定,避免重複執行的情況出現。

……

閱讀全文



DevToys —— 開發人員的瑞士刀工具箱

嗨各位朋朋,又双叒叕到了「同事推薦的好用工具」時間!

今天要介紹的是 Devtoys:這是一套包含了許多貼心小工具的工具箱,例如 UUID 產生器、Base64 編碼解碼、JSON Format 都可以在這邊找到,省下 Google 這些小工具的時間。

進入官網Store 下載之後,點開就能在畫面上看到一整堆小工具:

Image

左邊的工具列也有工具分類和搜尋可以使用,具體有哪些工具這邊就不再贅述。可以到 Github 上看一下工具列表,或是就直接下載下來看看更清楚:

Image

……

閱讀全文



使用 Azure Service Bus 來建立簡單的訊息佇列(Message Queue)吧

Image

在工作上遇到在兩個 Azure 工具間建立訊息佇列(Message Queue)的需求,因此接觸到了 Azure Service Bus(中文:服務匯流排 燴牛排?),在前輩的協助下建立了一組簡單的 Demo,這就來筆記一下。

什麼是訊息佇列(Message Queue, MQ)

首先讓我們簡單認識一下訊息佇列。假設我們有生產者和消費者兩個服務,其中生產者負責產生資料,而消費者負責消費這些資料

Image

各位也可以這樣理解:生產者就像是壽司師傅,他會不斷的捏壽司出來;而這時候來了一位大胃王顧客,他就是消費者,會不斷地把壽司吃掉

Image

大概對這兩個角色有點認識就行了。那麼,假設我們有兩組 API 服務:其中一個是負責寫入 Log 的服務,而另一個是產品服務。

產品服務會將 Log 內容丟給 Log 服務去紀錄 Log,這時候產生了這些日誌資料的產品服務就是生產者,而消費這些日誌資料去寫 Log 的服務就是消費者。

也就是:產品服務(生產者) —— 資料 —> Log 服務(消費者) 這樣的狀況。

然而像這樣直接相依的兩個服務,可能就會遇到一些問題:像是消費者突然掛掉,導致生產者也跟著掛掉;又或是消費者的變動和擴展會連帶影響到生產者必須跟著變動等等。

……

閱讀全文



Snispate —— 方便的截圖小幫手,放下剪取工具和小畫家吧

Image

嗨各位朋朋,又到了「同事推薦的好用工具」時間!

今天要推薦的是 Snipaste 這套香香的截圖工具。

在遠古時代的時候,我寫部落格或是測API要貼圖附結果時,都是使用 Windows 內建的剪取工具(Shift + Win + S)來螢幕截圖,之後貼到小畫家上再進行標記(例如畫底線、紅色框框等等)

但有了 Snispate,這個動作就可以一氣呵成!

……

閱讀全文



系列文

轉貼文

最近文章

分類

友鏈

標籤

統計資訊

工商服務

    DDDTaiwan