Mason Tang

工程師筆記

Golang 神器 singleflight

什麼是 singleflight? singleflight 是 Go 語言中的一個包,用於抑制對同一資源的重複請求。它確保在同一時間只執行一次對特定資源的操作,而其他並發請求則等待並共享結果。 使用 singleflight 的步驟 1. 導入 singleflight 包: import "golang.org/x/sync/singleflight" 2. 創建一個 Group 對象: var g singleflight.Group 3. 使用 Do 方法執行函數: result, err, _ := g.Do("key", func() (interface{}, error) { // 執行實際操作 return "result&

By Mason Tang
迷你錄音室體驗

人生體驗

迷你錄音室體驗

源起 前天看到周杰倫為主題的手機殼店 PHANTACi x CASETiFY,可以體驗錄音室。 提拉米蘇陪我等待 所以預約今天體驗錄音,11點開門。點個餐,是提拉米蘇,還滿好吃的,吃起來不像提拉米蘇, 奶油很甜和蛋糕有六塊,沾了咖啡,有咖啡的苦味。旁邊還有一小杯熱咖啡,讓我加到提拉米蘇裡。 享受著我的蛋糕,邊想著等等要錄音什麼。最後還是決定即興發揮。 進到錄音室之後 工作人員介紹錄音室操作後,就放給我玩十分鐘。 這期間,真的就想到什麼講什麼,亂講亂玩。 最後才講最近的生活,把快樂和擔憂以及最近在忙的事都錄進去。 結束後到外面,試聽剛剛錄音的結果。發現錄音太小聲了。 原來要講這麼大聲,不能用平常講話的聲音。以後要聽,可辛苦了。

By Mason Tang

自我成長

完形心理學之「整體大於部分總和」

完形心理學中「整體大於部分總和」這一概念,可以通俗地理解為: 當我們看待事物時,整體給人的印象或效果往往比單純將各個部分加在一起更強大或更有意義。這個理念可以通過以下幾個方面來解釋: 感知與理解 視覺感知:當我們看到一張人臉時,我們不是單獨看眼睛、鼻子、嘴巴等部位,而是一下子就能認出這是誰。整張臉給我們的印象遠比單獨的五官加起來更有意義。 音樂欣賞:聽一首歌時,我們感受到的不僅僅是單個音符的總和,而是旋律、節奏、和聲等多個元素結合後產生的整體感受。這種整體感受往往能引發更強烈的情感共鳴。 日常生活應用 團隊合作:一個優秀的團隊的表現常常超過每個成員能力的簡單相加。團隊成員之間的協作、互補可以產生額外的價值。 烹飪藝術:一道美味的菜肴不僅僅是各種食材的簡單組合,而是通過巧妙的烹飪手法,讓各種味道融合,創造出獨特的口感和風味。 思維方式 問題解決:當面對複雜問題時,將問題拆解為小部分固然重要,但更關鍵的是要有全局思維,看到各部分之間的聯繫,從整體角度尋找解決方案。 創新思考:創新常常不是單純地將現有元素組合,而是通過重新組織和整合,產生全新的、具有更大價值的整體概念或產

By Mason Tang

自我成長

認知行為治療(CBT) 與信念、行為、結果

信念、行為、結果 你可能在很多地方聽過這組單詞,有時信念會替換成認知、想法。 其意思就是,信念決定行為,行為決定結果。 如果信念不變,那往往相同的結果會重複發生。 所以透過發覺信念,又稱作覺察。了解自己為什麼這麼想,並且重新看待、換個想法。就能終止這結果循環。 其實這個方法就是來自於,認知行為治療(Cognitive Behavioral Therapy,CBT)的理論。 CBT的核心理論 認知行為治療的核心理論認為: 1. 我們對事件的解釋和信念會影響我們的情緒反應。 2. 情緒反應進而影響我們的行為。 3. 行為又會強化或改變我們的信念。 這形成了一個循環,CBT的目標就是通過改變不合理的信念來打破這個循環。 A-B-C理論 CBT中的A-B-C理論進一步闡明了這種關係: * A(Activating event):引發事件 * B(Belief):對事件的信念或解釋 * C(Consequence):情緒和行為結果 根據這個理論,引發事件A本身並不直接導致結果C,而是我們對事件的信念B決定了結果C。 例如:

By Mason Tang

自我成長

BE DO HAVE

BE DO HAVE 你可能在書中或課程聽過這方法,聽起來很玄,但如果人生卡關,不仿試試看。或許對你有幫助。 Be-Do-Have的核心理念 Be-Do-Have理論認為,我們應該按照以下順序來實現目標: 1. Be (存在狀態): 首先確定你想成為什麼樣的人。 2. Do (行動): 基於這種存在狀態採取相應的行動。 3. Have (擁有): 最終獲得你想要的結果。 這種順序與大多數人的思維方式相反。許多人認為他們需要先擁有某些東西(Have),才能做某些事(Do),最終成為他們想成為的人(Be)。 Be-Do-Have的使用 要使用Be-Do-Have理論,可以遵循以下步驟: 1. 思考你的一個重要目標。 2. 想像達成這個目標後你會是什麼樣的人(Be)。 3. 開始體現這種理想的存在狀態。 4. 從這種狀態出發,思考和討論你可能採取的具體行動(Do)。 舉例說明 小明想成為講師,與其去想,講師要有名氣、要具備資歷,才能去講課,

By Mason Tang
Obsidian 的看板工具 Kanban

Obsidian

Obsidian 的看板工具 Kanban

看板工具 Kanban 看板工具,如果有用過,一定聽過像是 Trello, Jira 之類的工具。 今天介紹 Obsidian 的看板工具 Kanban。讓你資料帶著走。 使用 Kanban 一個空的看板,右上角可以新增 list。 已經典的 Todo, Doing, Done 為例子。就像是這樣。 然後可以點擊 +Add a card,增加卡片。 可以使用 Markdown 的語法,在卡片上建立各種效果。 你可能會好奇為什麼不能點開,編輯裡面內容,就像是 Trello 一樣。 其實你可以透過 [[Wikilink]] 做到這樣的效果。

By Mason Tang
Perplexity AI 初體驗

AI 自動化

Perplexity AI 初體驗

功能簡述 Perplexity AI 是黃仁勳有投資的一家 AI 公司,功能上整合了多家 AI 的功能。 提問包含了,網路搜尋、學術搜尋、數學計算、寫作、視頻、社交評論、推理。 最後可以將與AI的戶動,自動改寫成文章,分享於 Perplexity AI 的社群網路中。 編寫成文 使用收藏夾,歸類和他人協作 收藏夾除了將現有的一篇AI互動歸類之外,還可以用於與他人協作。一起增加相關主題帖子。 最後可以將多段與AI互動的結果,將整個收藏夾分享出去。 https://www.perplexity.ai/collections/ri-ben-jia-qi-THaYkY66QZuA2bJNnWVH4Q

By Mason Tang
RAG=Vector db+LLM

AI 自動化

RAG=Vector db+LLM

現在生成式 AI 很常聽到 RAG 或是 Vector DB,但說明的圖都很複雜。 後來找到一張圖,很好的說明 RAG 怎麼在運作的。 VectorDB 其實就是有著海量知識庫的DB,裡面的知識都已經切片成一段一段。 當有查詢時,會將prompt進到 Vector DB 裡,撈出文字相似性高的知識片段。 最後將查詢的prompt 結合剛剛撈出的知識片段,組合成新的 prompt 送給 LLM 進行生成文字。 圖片來源:https://medium.com/@cch.chichieh/rag實作教學-langchain-llama2-創造你的個人llm-d6838febf8c4

By Mason Tang

閱讀心得

專家機密心得

「專家機密」為機密三部曲的第三部 前面兩部是:網路機密(台灣翻譯:網路行銷究極攻略)、流量密碼。 作者羅素.布朗森(Russell Brunson) 這本裡面教如何三個主題: 1. 成為專家之路 2. 創造產品、找市場定位 3. 辦網路研討會 雖然羅素布朗森,以網路行銷聞名。 但全書有"一半"都在講舉辦「網路研討會」, 其實就是「銷售講座」。 什麼行銷,羅素根本是 Top Sales,套路滿滿。 羅素在網路研討會所使用的技巧, 在我目前聽過這麼多銷售講座,都能找到影子。 我最喜歡的篇章是在 2. 創造產品、找市場定位。 裡面大概是這麼說的﹔ 對於別人的狂熱粉絲, 推薦他們產品無異於攻擊他們信仰。 對於已經滿足的客戶, 轉換的適應很痛苦,不會願意轉換。 最好的客戶是, 既有方案中痛苦,一直在尋找&

By Mason Tang

自我成長

使用 OKR 達成目標

OKR 是一個很棒的工具,用來幫助個人或團隊達成目標。 OKR 由兩組詞組成「目標」(objectives)「關鍵結果」(key results) 確切做法是先釐清自己的目標,然後依據這目標,訂定合理的時間和關鍵結果。 比如三個月要瘦9公斤,那麼每個月要瘦3公斤。 然後要達成這樣的結果,要採取什麼樣的行動。 最後是每週都要檢視一次,自己是否仍在軌道上。 如果目前方法、進度,無法達成目標,要及時替換方法。並保持著該訂定的目標。 但是比起目標,更重要的是目的,目的是要擁有健康的身材嗎?或是擁有更窈窕的體態。 若不釐清自己的目的,空有目標,做起來是不會有踏實的感覺,就不會有動力。

By Mason Tang