發表文章

目前顯示的是 2020的文章

元件如何正確歸類 ? | 元件內聚性三大原則 : REP、CCP、CRP

圖片
  元件如何正確歸類 ? | 元件內聚性三大原則 : REP、CCP、CRP 適當時機 x 適當分類 大綱 全新的專案 高內聚就能低耦合 內聚性三大原則 REP , 再使用性 - 發佈等價原則 CCP , 共同封閉原則 CRP , 共同重複使用原則 內聚性張力圖 適當的時機,適當的分類

元件如何正確使用 ? | 元件耦合性三大原則 : ADP、SDP、SAP

圖片
元件如何正確使用 ? | 元件耦合性 : 3 大原則 最少改動 x 最大收益 大綱 簡單的任務 ? 神奇的軟體 耦合性三大原則 ADP , 無環依賴原則 SDP , 穩定依賴原則 SAP , 穩定抽象原則 領域驅動設計細節 最少改動,最大收益

程式如何高效開發 ? | 測試驅動開發 : 3 大法則 + 5 大好處

圖片
  程式如何高效開發 ? | 測試驅動開發 : 3 大法則 + 5 大好處 撰寫單元測試,速度更快 ! 大綱 除錯的日常 測試驅動開發 三大法則 五大好處 JUnit 示範 違反直覺的力量

如何快速學習新技能 ? | 軟技能 x 十步學習法

圖片
  如何快速學習新技能 ? 軟技能 x 十步學習法 | 學習「怎樣學習」 大綱 學習能力 軟技能:代碼之外的生存指南 十步學習法「概述」 第一部分:「研究」 第一步: 了解全局 第二步: 確定範圍 第三步: 定義目標 第四步: 尋找資源 第五步: 創建學習計畫 第六步: 篩選資源 第二部分:「學習」 第七步: 開始學習,淺嘗則止 第八步: 動手操作,邊學邊玩 第九步: 全面掌握,學以致用 第十步: 樂為人師,融會貫通 學習是一種類比行為

如何設計軟體 ? | 領域驅動設計 : 4 層架構 + 3 類物件

圖片
  如何設計軟體 ? | 領域驅動設計 : 4 層架構 + 3 類物件 有想法 x 也有做法 大綱 前人的專案 領域驅動設計 理論與分層結構 領域層的物件 專案架構實作 有想法也有做法

工程師面對挑戰 | 除了寫程式 還可以使用兵法 | 孫子兵法 x 始計篇

圖片
  工程師職場競爭力 | 面對挑戰,除了寫程式,還可以使用兵法 孫子兵法 x 始計篇 大綱 工程師的挑戰 戰爭論 與 孫子兵法 五事、七計、十二詭道 五事 七計 十二詭道 專注於你可以控制的事

工程師的問題解構流程 | 方格筆記本 x 思維模型架構 | 要思考還要知道如何思考

圖片
  工程師的問題解構流程  | 方格筆記本 x 思維模型架構 | 要思考還要知道如何思考

軟體的本質是什麼 ? | 軟體為什麼是軟體 ?

圖片
  軟體為什麼是軟體 ? | 軟體的本質是什麼 ? 程式人 x 靈魂深處的疑問 大綱 程式人的疑問 ? 軟體的本質 ? 軟體為什麼要是軟的 ? 如何製作軟的產品 ? 掌握關鍵,展望未來 !

Markdown 語法大全,範例模板

圖片
  文件  001.markdown-template.md 教程文章 Markdown 是什麼?|如何用它來寫文件 ? | 學習軟體工程師的數位筆記方案 Markdown 語法大全,範例模板 僅收入常用語法 目錄 標題 內文 清單 標註 區塊 程式碼 分隔線 超連結 圖片 表格

Markdown 是什麼?|如何用它來寫文件 ? | 學習軟體工程師的數位筆記方案

圖片
個人認為 Markdown + iCloud + Git 的組合是目前最佳的數位筆記方案! 這邊介紹,Markdown 的快速入門方法,以及一些我在使用的 Markdown 語法

如何進行 iOS UI 測試(UI Test) ? 使用 XCode 創建 Swift UI 測試案例

圖片
XCode 內建了 Unit Test、UI Test 、Code Coverage 、Performance 等框架 本篇主要聚焦在如何進行 iOS UI測試(Unit Test) , 使用 XCode 創建 Swift UI測試案例 測試用的程式代碼與教程文件,都在下方連結中。

如何進行 iOS 單元測試(Unit Test) ? 使用 XCode 創建單元測試案例

圖片
  XCode 內建了 Unit Test、UI Test 、Code Coverage 、Performance 等框架 本篇主要聚焦在如何進行 iOS 單元測試(Unit Test) , 使用 XCode 創建單元測試案例 測試用的程式代碼與教程文件,都在下方連結中。

【如何寫乾淨的程式碼 ? 】程式設計 代碼風格 指南 | 基礎 + 9 個進階概念

圖片
你寫過爛程式嗎 ? 你寫過好程式嗎 ? 在我的工作職涯中,我是如何發現應該要寫得整潔這件事? 關於寫程式,有一點要知道的是, 軟體之所以是軟體,是因為除了讓電腦的行為符合的需求外, 客戶永遠會想要增加新的功能,而且不想要花太大的代價。 如果你是個剛入行的工程師,那麼讓程式能動的確是你目前最重要的事情, 但如果你的目標是成長為資深的工程師,成為人們口中的「專業人士」的話, 程式代碼寫得清楚明白,會是你邁向這目標的重要哩程碑。 拜讀完無瑕的程式碼一書後,我整理了一份講義教程,分享給大家 裡面會先說明為什麼要有編程風格? 再來會告訴你如何使程式碼整潔? 以及 Java 編程風格中通用的慣例與細節 ! 最後則會告訴你如何開始做這件事情 !!!

【 gitlab 安裝教程】 5 步驟架設 gitlab 站臺 | Hyper V 虛擬機設定 x CentOS 安裝

圖片
想要自己架設一個像 github 的代碼託管平台 ? Gitlab CE (Community Edition) 社群版 會是你入門的好選擇。 正常的情況下,如果是團隊要使用 gitlab 來作為代碼托管平台。 會請 MIS 在公司用的伺服器上,安裝 CentOS 的作業系統,並將 gitlab 架設於此主機上。 但若是今天只是要個人使用,沒有伺服器可以用的情況要要怎麼辦 ? 因此,本次針對的是個人電腦架設 gitlab 站台的教學。 會使用 Windows 10 內建的 Hyper-V 虛擬機來安裝 CentOS , 有兩種方式可以安裝 Gitlab 1. 在線安裝 (連接網際網路,指令下完後大致完工) 2. 離線安裝 (沒有連接網路,公司內部網路的情況) 安裝完成後,創建一個新專案,使用 git 與 sourcetree 驗證站台功能。  我平時的程式代碼與技術筆記,也同樣是使用這種方式,自架 gitlab ,版本控制。  

Windows10 虛擬機配置 | 內建虛擬機器 Hyper-V 設定

圖片
使用 Windows 10 內建虛擬機器「Hyper-V」 , 設定配置,安裝作業系統。

【git 提交訊息格式】如何描述提交資訊 ? | 9 種標頭型態與結構說明

圖片
在團隊開發中,通常都會要求寫提交訊息,並且盡可能地「清楚明白」 添加提交版本的說明訊息,是為了之後回頭查看歷史,能更快、更精準地找到 我整合過去工作經驗中,使用過的提交訊息格式 會先從訊息格式的整體架構開始,說明各個部分的元素組成與代表含義 然後再依照 header、body、footer 的順序,介紹參數的分類與用途。

【什麼是 git flow ?】 5 項分支全詳解 | Sourcetree 實戰演練

圖片
git flow ,一個於 2010 年,提出的一套工作流程,而且 sourcetree 中已經內建了此項功能。 這次的介紹,會先從分支的功能定義開始,先理解功能上,長期分支中的 master 與 develop 分支的作用。 再介紹由長期分支衍生出來的任務分支 feature、release、hotfix ,知道這些任務分支,從哪裡來之後又會到哪裡去。 再來,則會直接在 Sourcetree 的介面中 示範如何將 git 專案,初始化 git flow 功能,然後使用 git flow 的任務分支,實際操作。

【git 基礎教程 #3】如何追蹤歷史紀錄? | 如何重置提交訊息?

圖片
Part I 的部分,介紹了參與一項專案所需知的最低限度操作 Part II 的部分,則介紹了多人協作時,控制進度流程所必須的動作 Part III 的部分,將會介紹日常開發時,可以運用版本控制軟體 追蹤歷史紀錄與重置提交訊息...等,協助開發操作的細節。 checkout 查看版控紀錄 reset file 重置檔案 reset branch 重置分支 replace commit 覆寫提交紀錄 history log 檔案歷史日誌 知曉了這些操作,可以讓你的開發,更加順利。

【 git 基礎教程 #2 】如何開始多人協作 ? | 5 項 git 操作教學

圖片
git 基礎操作 part I 的部分,介紹了最低限度 參與專案的輸入與輸出操作,提到了 sourcetree 的介面功能 clone 、commit、push 與 pull 等...操作。 延續 Part I 未提到的部分 這次將在說明 5 個操作: fetch、stash、tag、branch、merge 了解上述的操作,就能在較大型的專案中,進行多人協作。 fetch 查看遠端最新進度 stash 暫停手中進度 tag 標示任務狀態 branch 分工協作,切分任務 merge 整合專案,完成任務

【 git 基礎教程 #1】什麼是 git ? | Sourcetree 介紹 與 入門基礎操作教學

圖片
git 是一個分散式的版本控制軟體,是由 Linux 的核心作者,Linus Torvalds 在 2005年,為了更好的管理 Linux 核心程式碼而開發設計的。 相比其他的版本控制軟體,他最大的特點就是分散式,相比於 SVN 或 CVS 等集中式的版本控制系統,都必須要有一台伺服器作為中心,一但伺服器停止服務或者是沒有網路的情況下,就無法使用版本控制的功能。 在 git 基礎操作 Part I 的部分,我會先從軟體的取得與專案建置開始, 一步步的示範操作流程,只要知道了這些操作,就可以開始參與專案項目的開發。