[安裝筆記] Windows 10 WSL 2 安裝 Docker Desktop (含更改 Docker Image 路徑)

在 Windows 10 要能充分整合 Docker 應用與開發,安裝 Docker Desktop 是最理想的。

關於 Docker Desktop 可以參考官方文件的介紹

Docker Desktop is an easy-to-install application for your Mac or Windows environment that enables you to build and share containerized applications and microservices.
Docker Desktop includes Docker Engine, Docker CLI client, Docker Compose, Docker Content Trust, Kubernetes, and Credential Helper.

安裝 Docker Desktop 之前,要先確認在 Windows 10 系統上已安裝建置好 WSL 2 的 Linux 子系統,可以參考前寫的:[安裝筆記] Windows 10 安裝 Linux 子系統 (WSL2)。

安裝 Docker Desktop 只要下載官方的安裝檔並執行安裝即可。這裡有篇很詳細的安裝文件,可以參考:How to Set Up Docker in WSL [Step-by-Step]

安裝完 Docker Desktop,系統會提示登出 (logout) 再重新登入,如此 Docker 已常駐於系統 (可觀察工作列的通知區有否鯨魚圖示),點擊該圖示即可出現 Docker Desktop 操作介面。
[安裝筆記] Windows 10 WSL 2 安裝 Docker Desktop (含更改 Docker Image 路徑)

閱讀全文 »

關於 Udemy 線上課程平台課程大綱規劃與模板 (提供下載)

最近在整理原來實體課程的教材內容,準備移轉到線上教學平台上 (我的第一個線上課程應確定爲「活用 UML 體現軟體設計思維」),首先考量的應該是國外最大的教學平台 - Udemy

實體教學與線上教學肯定是截然不同的方式,前者重於與學員的「互動」,甚而需「因材施教」,動態改變課程內容;但後者並沒有可與之互動的觀衆,所以事前錄製的內容與呈現方式,以及每一個單元的主題與目標,就要相當明確了。

最主要的呈現方式當然就是視頻錄製,並可以使用如 Powerpoint 的簡報作課程大綱與內容說明,另外涉及到開發工具的操作等,就需要螢幕錄製操作步驟。每一個視頻單元,據我大量查看 Udemy 衆多課程講師,大都爲 5~10 分鐘左右,單元主題要能切中該視頻內容,可以是很通俗的命名。

與我實體課程規劃大綱的方式最大的不同是,Udemy 課程大綱主要只有兩層:Section 與 Lecture

Section 比較像是章、節的概念,而 Lecture 與傳統書籍大綱內的小節觀念可能不大相同,它要呈現的是一個講課、講座、講稿這樣的概念。

Section 比較容易界定,一個「章/節」的目標 (objective) 明確就沒有問題。而 Lecture 我是很不習慣,主要就在於要配合視頻 5~10 分鐘內的長度,所以以前的小節觀念,需要分割或合併,但要給予一個清晰的 Lecture 講座名稱,有時沒想像得簡單。

閱讀全文 »

Manjaro 18 安裝 XAMPP – WordPress 本機開發環境

WordPress 寄放於遠端虛擬主機廠商,而希望在本機具有開發 Web 的環境,我自己是安裝了虛擬機的 Manjaro (安裝版本 18) 類 Arch Linux 系統,但我實在不想再重新一個個安裝與設定相關 LAMP (Linux, Apache, MySQL, PHP) 開發環境,所以找尋有否已整合好的開發套件。

以前我就在 Windows-based 安裝過 XAMPP,原來也有適用於 Manjaro 的系統,但需要手動安裝 (也可以透過 AUR 安裝,但建構過程出現問題),不過安裝過程倒是非常簡單。

稍微注意下,是從 MySQL 被 Oracle 併購之後,開源組織應該是擔心後續的商業利益問題,因而復刻了一個幾乎等同於 MySQL 的 MariaDB,所以安裝 XAMPP 目前版本後的資料庫是 MariaDB 而非 MySQL。原來我是有些擔心因爲主機商提供的仍是 MySQL,而在本機安裝的卻是 MariaDB,不知 WordPress 是否會有相容的問題,但爬文後普遍看來是沒啥問題,所以就先給安裝下去,留待後續再查看是否有資料庫相容性問題。

閱讀全文 »

Visual Studio 使用 Quickfix 重構工具簡單說明與錄影操作示範

參考 使用 Visual Studio Quickfix 重構工具的幾個主要類型與範例

這裡提供程式碼練習案例 (放於 Github),可以參考上述網址的操作說明或後述的錄影操作示範。(其中有改寫幾個案例,每一個案例均可透過 Console 程式執行。)

重構範例的操作錄影教學與簡單說明則已發布於「FB 社團—軟體設計鮮思維」:

安裝 ArchLinux @Windows 10 子系統 (WSL)

其實 Windows 10 早在去年就已具有可以在 Windows 環境下執行 Ubuntu 的機制,但還很陽春,效能不佳,問題多多。但從 Windows 10 1803 版本釋出後,WSL (Windows Subsystem for Linux) 已修正諸多問題並大幅提昇執行效能,使其執行原生 Linux 系統於 Windows 10 環境下成為可便利運行的方案。

所以,WSL 到底是什麼?這篇 Arch Wiki 上說明得很清楚:

「Windows 10 包含一個模擬 Linux 內核的子系統,使得 windows 可以運行 Linux 原生應用程序。這個子系統有點像反過來的 Wine,但是它比 Wine 更加底層。默認情況下,此子系統使用 Ubuntu 用戶空間,但是它可以被替換成 Arch。你需要使用一個現有的 Arch 安裝去構建一些軟件包。」

我個人是相當偏好 ArchLinux,因為可以高度客製化。安裝 ArchLinux 於 WSL 下相當簡單,因為國外已經有大神整理成安裝執行包,詳見 Github-ArchWSL。安裝該執行包前,需要先啟動 WSL 功能,使用 Administrator 開啟 PowerShell 命令列視窗,執行下列指令:

> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

重新啟動,然後下載上述 ArchWSL 安裝包,解壓縮並置於準備安裝的目錄下 (我是設定於 C:\Linux\ArchLinux 目錄下)。再來依照執行 ARCH.exe,靜待安裝過程 (非常快),然後完成。

閱讀全文 »

簡述何為瀑布式 (waterfall)軟體分析設計文件?!

** 本文同步發表於 FB 社團-軟體設計鮮思維 **

什麼叫做「Waterfall (瀑布式)」文件?

就是文件整理看起來很用心的樣子,經由不斷地開會與確認諸多細節,然後在某次的會議決定階段告一段落,就給予該文件一個版號 (0.1, 0.6, 0.8 .....)。

所以,一個功能模組或作業流程,經過了幾次的版號更新,最終總算得以定案,然後再交付給 PG 據此撰寫程式碼。

不管大或小的單位,稍有組織性重視文件設計 (得以保存與傳承企業資產,其實是好事),幾乎就是採以這類 "瀑布式" 的開發模式。

如果這樣能順暢移轉至程式寫碼,那當然沒有問題。但是,需求分析其實是一種假設與期望,越是要求精確,越是不容易釐清。

那麼,為何精確度的細節非得要在文件分析階段就要求完整呢? 為何不搭配每一個階段的文件分析告一段落甚或當下就寫成程式碼呢?

每一次版號的演進,文件與程式碼從功能框架的較大目標範圍,再逐漸地往細節 (即精確度)貼近。

簡而言之,設計文件與程式碼本來就是「一體兩面」!設計文件引導程式碼的開發;程式碼的修正更新文件原來的假設。

所以,現實上當文件的版號制訂為最終版時,那麼,程式碼應該也是接近完工了。

為何不這樣作?這樣不是輕鬆又愉快? 其中一個很大的問題就在於,諸多實作的程式開發人員不太容易掌握所謂的「不確定性」開發態度。也就是說,如果沒有提供很精確的細節,開發人員已經不知道要如何寫出程式碼。

總之,各類角色的開發人員,對於軟體開發的最重要修煉就是要懂得先學會如何抓到「大」的主題 (topic),再來才是往「細」的程序/邏輯/欄位 作精。

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal