To Iterate is Human, To Recurse, Divine
遞迴是資訊科學中常見解決問題的方法,其形式簡潔而優美。
當我們在定義解決方法的步驟中,卻又參照到自身的這個方法,其不斷的變換,實則不易理解。
透過生活中的實際案例,解釋遞迴的概念,並試圖區別「重複」(迴圈)的概念。
電子書:
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=a27cb43d8c85492bbc92f7836258013b
Scratch遊戲進階設計─垂直方向的運動
模擬真實世界物體在垂直方向的運動,如自由落體、跳躍與反彈等現象。
電子書
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=6deafa2dfbe74fdc8bc56df3bc96b464
使用「向上」鍵進行跳躍動作;
調整係數觀察運動情形。
JavaScript 版本 (適合手機與行動裝置)
https://phosphorus.github.io/app.html?id=172993737&turbo=false&full-screen=true
Scratch 模擬設計─掉落的藝術 (Fallen Art)
不同形狀的物體隨機掉落在不同的地方,堆疊出不同的圖騰和數量,也是一種自然之美。
Scratch 中物體如何精準掉落於底線上而不超過,以下程式提供一種技巧。
https://scratch.mit.edu/projects/172766046/
JavaScript 版本 (適合手機與行動裝置)
https://phosphorus.github.io/app.html?id=172777011&turbo=false&full-screen=true
Scratch 遊戲設計─猴子變裝秀
發揮您的創意組合各個身體部位,設計一個可以任意改變造型的動畫主角。
電子書
http://odata.tn.edu.tw/ebooktagapi/Intro/Index2?id=55e94d175a3849418d546c2e3e7a5f9a
JavaScript 版本 (適合手機與行動裝置)
https://phosphorus.github.io/app.html?id=172781594&turbo=false&full-screen=true
實作 Windows 原生開機虛擬硬碟 (Boot to VHD)
目的:將原本位於 Linux 虛擬主機下的 VHD 虛擬硬碟(Windows 作業系統),改以實體方式直接開機,並實作差異硬碟。
$ vboxmanage clonehd 來源.vhd 目的.vhd --format VHD --variant Fixed $ vboxmanage clonehd Windows81.vhd 2.vhd --format VHD --variant Fixed
於 Windows 中使用 Visual BCD Editor 編輯 BCD 開機組態資料庫,設定 VHD 開機相關選項。透過此工具修改 Boot\BCD 檔案,如下圖:
準備 Windows 開機程式相關檔案 (bootmgr)
準備以下相關檔案: 目的.vhd (如2.vhd) Boot\* bootmgr BOOTNXT
> insmod part_msdos > insmod ntldr > insmod ntfs > set root='(hd0, msdos6)' # 實際的 bootmgr 所在分割區 > ntldr /bootmgr > boot
> diskpart DISKPART> create vdisk file=差異硬碟 parent=基礎硬碟 DISKPART> create vdisk file=D:\3.vhd parent=D:\2.vhd
參考文件:
Scratch 遊戲設計─分數的量感 (真分數)
JavaScript 版本 (適合手機與行動裝置)
https://phosphorus.github.io/app.html?id=169299590&turbo=false&full-screen=true
Scratch 遊戲設計─高效版刮刮樂 (Scratch Card)
按住滑鼠左鍵刮開!
JavaScript 版本 (適合手機與行動裝置)
https://phosphorus.github.io/app.html?id=167670723&turbo=false&full-screen=true
概念上是透過可以執行網頁服務的主機,來處理 Let's Encrypt 的 challenge。使用 FTP 方式掛載 dcs.tn.edu.tw 的檔案系統,讓 dehydrated 程式可以寫入到 dcs.tn.edu.tw 主機的 .well-known 目錄,以利後續 challenge 動作。最後,將產出的私鑰與憑證相關檔案轉換成 *.pfx 格式,匯入至 cloud.tn.edu.tw 平台。
以 curlftpfs 掛載 dcs.tn.edu.tw 目錄 (以下使用 autofs 自動掛載)
# vim /etc/auto.misc chpsxoops -fstype=fuse,rw,umask=002 :curlftpfs#ftp\://chpsxoops\\chpsadmin\:密碼\@ftp.dcs.tn.edu.tw
# mkdir -p /misc/chpsxoops/site/wwwroot/.well-known/acme-challenge/
# vim /misc/chpsxoops/site/wwwroot/web.config <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <staticContent> <mimeMap fileExtension="." mimeType="text/plain" /> </staticContent> </system.webServer> </configuration>
# cd /etc # git clone https://github.com/lukas2511/letsencrypt.sh.git
# vim /etc/letsencrypt.sh/dcs.config WELLKNOWN=/misc/chpsxoops/site/wwwroot/.well-known/acme-challenge # /etc/letsencrypt.sh/dehydrated -c -d chpsxoops.dcs.tn.edu.tw --config /etc/letsencrypt.sh/dcs.config # INFO: Using main config file /etc/letsencrypt.sh/dcs.config Processing chpsxoops.dcs.tn.edu.tw + Checking domain name(s) of existing cert... unchanged. + Checking expire date of existing cert... + Valid till Sep 24 02:17:00 2017 GMT (Longer than 30 days). Skipping renew!
# cd /etc/letsencrypt.sh/certs/chpsxoops.dcs.tn.edu.tw # openssl pkcs12 -export -out /tmp/xoops.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem