整理一些我自己在各個領域的學習心法,分成四大部分:
- 法則
- 探索
- 階段
- 實踐
整理一些我自己在各個領域的學習心法,分成四大部分:
軟體開發生命週期 (Software Development Lifecycle, SDLC) 是軟體工程裡很重要的概念,不同的角色 (PM, Developer, Test, Operator) 會有不同看法,從不同方法論 (CMMI、RUP、LEAN、XP、Agile、Scrum、DevOps) 也會有不同階段定義,Google 可以找到很多類似的圖。
類似的東西聽了不少,但是往往講者會因為個人經驗,會偏重在某一方面。像是現在經常提自動化測試,很多都是開發人員在喊,卻鮮少聽到從 QA 端的聲音;經常聽到開發人員在喊 DevOps,但實際現場調查很少 Operator 加入討論,更別提資安相關角色。最有趣的是,我還沒遇過有 PM 懂這些流程的,PMP 那又是另一個世界。
- 同一件事,不同角度的人有全然不同的看法。這篇文章討論 DevOps 也有類似的想法:关于 DevOps ,咱们聊的可能不是一回事
- 關於敏捷軟體開發,我的想法請參閱這篇整理:談談敏談開發的看法
本文記錄我在不同的工作時期的體悟和心得。
這段本來寫在 Issue Tracking in Redmine,他的 視野 與角度都不同,所以獨立成一篇。
其實我也在思考,現在服務的公司屬於哪一個階段,我應該扮演什麼樣的角色來幫助公司、幫助同仁,該怎麼收、放、進、退,該怎麼演。
今天把這段埋藏很久的想法,分享給公司內年輕的朋友:『自動化測試?』我提出來的問題是,我們平常說的『自動化』真的是自動化?什麼是『自動化』?
我的看法是:不要陷入『自動化 XXX 』的迷思,特別是『中文』語意常常有陷阱。。。
聽起像是在鑽牛角尖的文字遊戲。。。且聽我 Tiger and Blue 。。。
- Updated 2023/07/19: 本文部分內容收錄在個人著作 《SRE 實踐與開發平台指南》 - 2023/08 上市
Redmine 是以 Issue Tracking
為概念核心。一開始的目的是為了追蹤軟體的 Bug
,後來衍伸出追蹤 事情
、議題
的概念,最後集結的就是專案管理的功能。
CodeDeploy 是 AWS Code[XXX] 系列之一,屬於給 Developer / DevOps / Operator 使用的服務,特別是 Continuous Deployment
部分。
整理使用 CodeDeploy 之前需要知道的事情,以及準備工作。
07/25-27 在 Google Taipei Office 上了三天 GCP 的課: Architecting with Google Cloud Platform: Infrastructure,內容其實跟上次參加 Google OnBoard 的差不多,只是更加的深入,同時包含了 Lab。
參加課程最難得的就是跟老師、同學一起交流、討論、分享經驗的過程,課程內容其實只要花時間去把官方文件爬過、把 Lab 做過,其實自己是可以完成的。
整理幾個面向,同時與 AWS 比較。
前一篇 整理如何利用 Elastic Beanstalk 架設 Wordpress 的筆記,這篇整理如何利用 EB CLI 部署 Node.js Application。
整理如何利用 Elastic Beanstalk 架設 Wordpress 的筆記。
AWS EBS 有四種類型: io1, gp2, st1, sc1,分別是 SSD / HDD,設計上是針對不同的用途有不同的選擇。整理 Deep Dive on Amazon EBS 與 官方文件 的筆記與介紹。
使用 Minikube 在 macOS 安裝 & 學習的筆記。
除了 minikube,也可以試看看 k3s, Docker Desktop, MicroK8s
整理 Plan and Design AWS VPC 的一些心得。
主要針對 Multiple VPCs, Regions, Account 的規劃,其中涵蓋到 CIDR / Subnets / Route Table / NAT Gateway / Security Group / Network ACLs… 等規劃。
這個 Index 整理跟 軟體工程實踐
相關的文章,重點在 實踐與執行
,主要內容包含以下:
(Research)
:研究新技術相關資料,計算機科學、網路、資料結構、演算法,新技術應用(Execution)
:執行管理的實踐方法,像是 Redmine 應用與整合、相關工具 (VSTS)、敏捷、看板等概念(Development)
:程式、Design Patterns、OOP、資料庫應用(Acceptance)
:Quality Assurance and Testing(Go Live)
:軟體到 現場 (Live)
的前、中、後,像是 Provisioning、CI/CD、部署流水線、環境、SRE、Monitoring、Observability、事件管理經營管理
是我正在學習的領域。因為工作職務關係,斷斷續續都有在讀類似的書籍,工作上經常需要思考相關的事情。因為這樣寫了一些比較屬於筆記性質的文字,有時候回來翻翻看看,覺得似乎慢慢形成自己的一套方法與哲學,雖然很多都還不夠成熟與完整,但總是自己的思考的足跡。
分類這些心得如下:
這裏整理 經營管理 (Management)
常出現的中英文名詞對照表。跟 計算機科學、軟體工程技術 有關參閱其他表。
這樣整理的想法源自於 喝咖啡聊音樂 的 字典工具,依照
實踐技術
與理論基礎
分成兩大類: 數位器材、音樂製作專有名詞對照表 和 樂理名詞、演奏術語專有名詞對照表。對應到 STEM (科學、技術、工程及數學) 的T、E
與S、M
詞彙的中文翻譯分別為正體中文慣用、簡體中文慣用語。中文詞匯翻譯參考資料:
整理一些我個人的參考書單,這些是啟發思考的起點。這些內容分成以下:
硬核 (Hardcore)
: 像是 STEM 相關的,通常需要深度思考才適合的。軟技能
:管理、經營都是軟的,屬於發散思考可以想、閱讀。但是要彙整時還是要深度思考。工具書
:通常是參考用的,需要時才會翻。成長類
:個人學習成長類整理書單是歸納、總結的過程,因為這個過程,也會篩去不需要的書,留下有價值的。這是從另一種角度來看待自己的學習足跡,審視自己的方向,不要貪多,斷捨離
的過程。以前在學音樂時,也是用同樣的方法,歸納出自己的 字典工具與書單,總結出自己的心法,形成自己的哲學。除了實體書、有聲書,有很多不錯的 Youtuber 頻道都有整理很多說書的總結,這些也是我探索的來源之一。
另外特別整理一些我常聽有聲書、知性 Youtuber ,水準都滿高的,很多想法都是從中得來。這年頭書的形式有很多種,實體書、電子書、說書 … 都是書。我從小就喜歡聽演講 (侯文詠),一直有聽書的習慣。這幾年大量高品質、有深度的說書流行,讓工作忙碌的我,找回以前喜歡的學習方式。如果有不錯的書、或者推薦的 youtuber,歡迎留言一起討論。
這裏整理 計算機科學 (Computer Science)
常出現的中英文名詞對照表。舉凡:
等 .. 基礎計算機科學。
而實踐的技術,像是 資訊技術 (Information Technology)
與 工程 (Engineering)
相關的詞彙,相關請參考 另一個表。
這樣整理的想法源自於 喝咖啡聊音樂 的 字典工具,依照
實踐技術
與理論基礎
分成兩大類: 數位器材、音樂製作專有名詞對照表 和 樂理名詞、演奏術語專有名詞對照表。對應到 STEM (科學、技術、工程及數學) 的T、E
與S、M
詞彙的中文翻譯分別為正體中文慣用、簡體中文慣用語。中文詞匯翻譯參考資料:
技術領域名詞出現的很快,整理一些常出現的中英文名詞對照表。這個表放的是 資訊技術 (Information Technology) 與工程 (Engineering)
相關的詞彙。主要有以下:
等 … 以業界相關實踐方法、技術為主。計算機科學 (Computer Science)
相關請參考 另一個表。
這樣整理的想法源自於 喝咖啡聊音樂 的 字典工具,依照
實踐技術
與理論基礎
分成兩大類: 數位器材、音樂製作專有名詞對照表 和 樂理名詞、演奏術語專有名詞對照表。對應到 STEM (科學、技術、工程及數學) 的T、E
與S、M
詞彙的中文翻譯分別為正體中文慣用、簡體中文慣用語。中文詞匯翻譯參考資料:
我習慣稱自己為 Software Developer
,而不是 Software Engineer
。
這篇文章:Developer vs. Engineer 也講到兩個差異,不過跟我看法完全相反。
基於以下原因,我覺得公司內部的文件,有其必要性:
整理 GCP 的 Virtual Private Cloud (VPC) 的筆記,同時跟 AWS VPC 的設計比較。
今天 (2017/06/21) 有機會到 AWS User Group Taiwan 分享心得。主題:淺談系統監控與 CloudWatch 的應用。
AWS 跨帳號權限需要透過 Cross Account Roles
的方式來做,可以達到權責分離,不需要每個人在每個 AWS Account 開 IAM 帳號,達到管理便利的平衡。
上次 Migrate 2.x to 3.2 失敗,這次利用假期再試一次 migrate 2.x to 3.3.x。
整理開發 CloudFormation Template 和 Debug Stack 遇到的問題。。。
接著整理 EC2 Auto Scaling 中很重要的觀念:Lifecycle
and Hooks
。
EC2 Auto Scaling 系列文章
昨天去參加 Google 第一次在台灣辦的活動 Google Cloud onBoard,看到很多讓人興奮的東西。
花一點時間玩了 GCP 的 Compute, Storage, Networking 部分,順便跟 AWS 比較。
繼續整理 CloudFormation Stack 的筆記。主要包含 Stack 工作流程、Stack Status、Update Stack。
上一篇整理 CloudFormation Template Anatomy,本文整理很重要的概念:Resource Types
、Attributes
,包含以下:
本文整理 CloudFormation 整理官方文件學習筆記,主要是 Template Anatomy (結構)
的部分。
CloudFormation 是 AWS Infrastructure as code (IaS)
的實踐,整理一系列學習筆記與心得。基本概念、生命週期、Debug 技巧等 ….
這幾年 DevOps 盛行,大家都在討論,然後都在喊要 CI 、要自動化測試 ….
我從 Software Developer, Software QA (SQA), System Operation / Administrator 三種角色 / 職務都走過,做了幾年的 System Operation / Administrator 之後,最近開始有機會回到 Developer 身份,專注 Microservice 與架構,反思測試的重要性感覺又更深刻。
Software QA 的職能條件 有過去經驗的分享。
整理一下過去做 SQA Manager 時的 Test Strategies (測試執行策略) 與心得。
- 本文整理的資訊,大概只是
目錄
、基本章法
,有空再把內容展開,整理出完整的分享。
20230523 更新:本文內容部分收錄在 共同著作《軟體測試實務》 第一冊 第一章之中,歡迎大家彭場指導。
整理一些不錯的 Redmine Plugins and Themes。
產品 / 專案進行中,經常會有 新功能需求
,有時候是來自老闆的突發奇想、或者市場反饋、或內部發想。這些資訊的流通,在組織內部是很重要的,畢竟大家要了解『需求』的來龍去脈之後,才能設計出有意義的功能,打到重點,否則會有越來越多溝通成本,所以 需求管理 (Requirements Management) 我覺得是件非常重要的事情。
不過現實跟理想總是有差距的。