這次的會議 9/11~9/13 為期三天,主題包含 AI, DevOps, Agile, Modern Web…等,完全可以找到自己有興趣的主題去聽,即使沒有興趣,隨便挑間會議室進去都會有點收穫。
紀錄一下這次我有參與的課程
Day1
【五倍學院聯名推薦工作坊】Python 新手股市探險:從資料到視覺化 – 高見龍
安裝環境前先提到了 Jupyter notebook,表示玩票性質可以,真的要寫專案,身為工程師還是要自己架設環境!!
Jupyter notebook 之前是有聽過,但一直都沒去了解,結果 Day3 喬叔的課用到了
比較直接的感受是,小型的專案或是 Demo 使用挺合適的
Jupyter 降低了很多入門的門檻,非常直觀,但大型的可能不是這麼合適,因為都是一個 block 一個 block 在撰寫,修改起來不是特別方便,如果是大型專案大概會瘋掉XD
回到正題,環境安裝
- python
- pip install requests (發送 HTTP 請求的lib)
- python -m venv .venv (建立虛擬環境,.venv可以是任意的名稱)
- .venv/Scripts/Activate.ps1 (啟動,mac 指令為 source .venv/bin/activate)
- deactivate (關閉)
可以將環境依賴寫到文件裡隨時復原
- pip freeze > requirements.txt(先把這個虛擬環境的依賴都寫到文件裡面)
- pip install -r requirements.txt(復原)
環境準備完就去證交所下載 csv
接著就是使用 pyhton 解析 csv 並安裝 matplotlib 套件畫出 K 線圖
這堂課非常新手友善,之前沒有做過python隔離環境,覺得非常實用
【AppWorks School聯名推薦工作坊】高效工作流:RPA 與 Coding 的應用策略 – 胡哲愷(抽抽)、許芳慈(Beryl Hsu)、陳宣諭(Hsuan Yu)
介紹 RPA(Robotic Process Automation,機器人流程自動化)應用範圍,可應用在重複行政庶務
課程使用 UiPath,使用情境為去求職平台輸入”Java”搜尋職務,將搜尋結果職務名稱與公司名稱存入資料表
- 註冊帳號
- 安裝 瀏覽器extension
- 打開 UiPath Studio 開始寫腳本
- 點擊測試
最後課程有提供情境要大家練習如何拆解成步驟,因為要會拆解成步驟才能夠寫腳本
也有在多補充說明可以跟其他的應用程式結合,例如發送Line、Slack等等
這堂課讓我有更多的思考 PRA 於生活或工作的應用
評估驅動開發: 生成式 AI 軟體不確定性的解決方法 – 張文鈿(ihower)
LLM(大語言模型,Large Language Model-based)與傳統 ML 的差異
傳統 ML 會透過不斷重新訓練模型來提升性能跟準確度,生成式 AI 該如何應對呢?
準備資料,讓 AI 執行,將結果與預期的答案進行打分(code-based打分、人工打分、AI 打分),再根據分數修改 prompt
測試的時候除了給 few-shot examples 以外,也要記得給 Edge cases 協助判斷
給的 few-shot examples 越多越能提升性能
這堂課講述了如何將 AI 產出的結果進行評估,對我來說非常的扎實且詳盡
不只是主管 – 那些年技術管理教會我的事 – 沈宏洲(Kyle Shen)
理解主管的管理風格
- 獨裁型
- 官僚型
- 放任型
- 顧問型
哪種風格都沒有對錯,因應公司文化,所選擇的風格
建立當責的團隊,避免成為喪師敏捷團隊
做自己,不要複製他人風格
坦承、並肩作戰並持續交付
目標清晰 OKR、善用能力 Metrix 與冰山理論
知易行難,還在持續學習的道路上,共勉之了
NestJS 與 gRPC:快速上手指南 – 謝浩哲(HAO)
介紹 gRPC 運作方式
注意事項
- 欄位序號不得重複
- 棄用的欄位使用 reserve 修飾字定義
用 ts-proto 套件根據 Protobuf (.proto) 文件自動生成 TypeScript 類型
OMG!! 打心得的時候才發現是 NestJS,不是 Next.js…到底是什麼搞笑的誤會XD
BenchmarkDotNET 科學化 .NET 應用效能調校 – 鮑承佑(老鮑伯)
Microbenchmark / Macrobenchmark / Profiling 的差異
測試效能時並不會把編譯的時間算進去
會測量多次,把差異過大的值排除算標準差跟中位數
支援多語言且可以跟 CI 整合
我很喜歡當時聽眾問的問題,大概如下
聽者:「請問為何貴司會需要用到 Benchmark?」
講者回:「因為做效能調校的話,總要讓客戶知道有改善多少」
因為他面對的是客戶,有效能報表的需求,有必要使用。
而我們平常的工作是否需要使用到,可以思考看看
Day2
使用 LangServe 快速部署 AI – 柯克(Ko Ko)
介紹 RAG(Retrieval-Augmented Generation) 原理,它是一種將檢索(Retrieval)與生成(Generation)相結合的技術
實作使用 LangChain 和 LangServe ,快速打造生成式 AI 的 web API
從將資料丟給 Embedding Model,資料會到向量資料庫,當使用者詢問問題時,也使用同樣的 Embedding Model 將產生的向量與資料庫的做計算(餘弦相似度),再透過另一個資料模型產生回應
課程步調超級無敵快,因為除了概念講解,上機實作,一路到佈署都完成了!!!!
我整個卡在 Python 的 Poetry 套件一直抓不到的狀態課程就結束了XD
感謝隔壁桌的同學 David 試圖拯救我
從 DevOps 到 SRE,從 IaC 到 GitOps – 王偉任 (Weithenn)
Terraform 對公有雲支援比較好
Ansible 對地端支援比較好
課程使用 Red-Had ansible 體驗使用程式概念管理 infra 架構
對 Infra 平常如何作業其實不甚了解,體驗之後覺得原來管理多台 server 可以有如此系統化的方式,算是打開新視野了
Pact 合約測試 – 確保微服務架構溝通的可靠性 – 劉奕為(John Liu)
json 格式,適用任何語言
合約由工具產生,可以整進 CI 做單元測試
模擬外部系統或服務,可以使用 imposter Mocks
感覺用在對外部客戶上比較能體現價值
以公司內部來說,除非大家常改壞談好的介面,才感覺比較有加合約測試的價值,不過常改壞的話可能還是要先究其根本原因了XD
AI模型的理想化和實用性妥協 – 賴志銘(Vincent)
- Python 負責 AI 模型開發
- 重構、解決依賴、改非同步
- C# 應用
- 資料處理(清洗、過濾、整合)、改非同步
使用 Netron 直觀的展示神經網路的結構,用來調整分析模型
Netron 對我來說是新東西,這堂課知道這個就值了
Shadcn ui ~不再從零開始刻前端元件的生活~ – 王耀輝(Wind Wang)
Headless UI 這些 UI 組件不提供外觀樣式,單純只提供功能
這樣就可以將功能跟樣式完全分開來,增加重複利用性
沒有分開的話,會需要覆蓋樣式的方式來達到同樣的效果
Radix UI 跟 Shadcn 都是 React 的 Headless UI 組件庫
- 已包含狀態邏輯
- Tailwind 添加樣式
- 所有組件皆有預設樣式
- 不用安裝整包,複製程式碼貼上就能用
各堂課受益良多,因為講者也有提到MUI,也會有要覆蓋樣式的痛點,因為目前部門是使用MUI
覺得有很多可以跟這位講者請益的地方
Hello Rust, 與AI/Python完美的結合 – 陳昭明(I code so i am)
效能接近 C,保留 Address、Pointer
避免區段錯誤、記憶體洩漏(強大的編譯時期檢查)
跨平台
沒有 GC
Pyo3 crate 可讓 Python 跟 Rust 互相呼叫
Maturin 可以將 Rust 編譯的二進制模組打包成 Python 懂的 wheel 檔案
Day3
走一遭『 寫程式 』以外的軟體開發 – 大型軟體公司的工作日誌 – 劉奕為(John Liu)
coding style 用套件自動化檢查
Sonarqube 可以檢查測試覆蓋率、style check 或是否有 duplicate code 等
code review 看什麼
- 正確性
- 安全性
- 效能
- 強固
- 可讀
- 風格一致
文件何時寫
- on call SOP
- 系統架構
- on boarding guide
- feature high level design
Scaling The E-Commerce Recommendations System – 黃耀慶(Arthur Huang)
如何找出客戶最有興趣的商品
雙塔模型(User Tower、Item Tower)
將兩個分開來有多種好處
包含如果要尋找女生購買頻率最高的商品,就可以從 User Tower 挑出女性跟商品交互產生 matrix
或是要尋找父親節商品就可以直接從 Item Tower 查找並調整商品權重
另外,還可以將 User Tower 分為線上、Item Tower 分為線下,這樣就可以即時透過用戶的行為改變產出的結果
客戶分析這塊挺有趣的,像是沒點擊不代表沒興趣,可能只是同頁商品中有更感興趣的
也不能都只依照客戶過往資料推客戶感興趣的,還需要對客戶做興趣探索
規模化敏捷的實戰:從六人 Scrum 到五十人跨部門 LeSS – 黃相文(Sam Huang)
講了挺多講者公司從6人到50人的組織調整的心路歷程
包含什麼階段做什麼調整,而調整是因為發現什麼問題
跟書上的 LeSS 不太一樣,重點是找到適合團隊的方式
當 Elasticsearch 搜尋引擎遇上 AI – 吳楨文(喬叔)
這堂課基本上 100% 吻合課程的描述,就是實作將 Elasticsearch 轉成向量資料庫,與 LLM 進行結合使用
難易適中,也是多了一些啟發思考能應用在哪裡
【五倍學院聯名推薦工作坊】Rust 從零開始網頁爬蟲 – 朱章祺(Bucky Chu)
課程內容是使用 Rust 去爬取網站資料,並將資料轉出 JSON
因為前一天第一次認識 Rust,聽起來是效能很好又好入手,就選了這堂課體驗看看
不過我也不知道跟用 C# 寫效能會差異多少就是了,需要再找時間實驗了