2022年4月27日 星期三

[影視戲劇] 韓劇 The Cursed 謗法

之前介紹了喪屍片 殭屍校園,

屬於較為現實的恐怖片,

喪屍來自於病毒的感染,

今天要介紹的這部就不大一樣

[影視戲劇] 韓劇 The Cursed 謗法

故事從白昭袗小時候開始,

她的母親靠著做法事維生,

在一個月黑風高的晚上慘遭殺害,

而白昭袗自行逃脫避開這一劫。


而其中的緣故也同樣因為幫人作法事,

導致白昭袗的母親遭殺害,

最後落腳於孤兒院長大。


時間往後推到白昭袗高中,

她找到記者林珍熙要請她幫忙,

但因為理由太過離奇被忽略了,

而當年的兇手已經作為一個大企業的老闆,

幫兇巫女也依舊在其底下做事。


在一次的偶然請求下,

林珍熙請白昭袗實施謗法,

抱著姑且一試的心態而來,

反而印證了白昭袗所言不假。


接著就是兩人開始密謀著要除掉被附身的企業大老 秦終現,

不過在深入的調查之後發現,

一切的源頭還是來自於當年白昭袗的母親;

謗法其實就是咒殺術,

但還需要目標的照片、漢字名字與使用過的物品,

或者由施術者直接接觸目標即可,

對於這類靈異的戲劇有興趣的人可以找來瞧瞧。

以上就是今天的主題

[影視戲劇] 韓劇 The Cursed 謗法

雖說劇中部分情節有著自相矛盾,

謗法的施術特效略顯單調之外,

其餘安排還算連續與合理,

甚至最後還安排白昭袗的失蹤,

或許是要埋下第二季的伏筆吧

2022年4月26日 星期二

使用 GitHub Actions 自動化部署與測試

在資訊時代中減少人力,

除了能降低成本之外,

也避免人工作業時造成的錯誤,

而今天就要來談談

使用 GitHub Actions 自動化部署與測試

GitHub Actions 為 2019年由 GitHub 推出的一項服務,

讓程式專案除了版本控管之外,

實現自動化測試與部署的功能,

基本的設定方法如下:

1. 建立一個 workflow ,這個流程可包含從 buid ,test,deployment 等,

將這些原本由人工進行的動作包成一個 workflow 來進行自動化作業,

GitHub 內建有許多不同類型的範例程式供參考,

可選擇與目前專案相近的範例來修改,

此處以 Django 專案作為範例


2. 開啟範例程式之後,可依照每個專案的不同,設定要將哪些工作設定為自動化,

這些 workflow 會在 .github/workflows 資料夾中,

以副檔名為 .yml 的方式存在,

on: push: branches: [ master ] # 表示僅在 master 上傳的時候自動執行
runs-on: ubuntu-latest  決定測試的環境
steps 設定要執行的每個步驟
run 表示要執行的命令


3. 當設定的事件發生的時候, GitHub Actions就會自動執行設定好的 workflow,

範例設定的觸發條件為當 push 到 master 時候就會自動設定虛擬環境,

安裝並測試這個專案,

若有設定自動部署的話,

還能直接將這個專案上傳到執行的實際機器上,

達到從建置,測試,部署 三步驟自動化作業


以上就是今天的主題

使用 GitHub Actions 自動化部署與測試

GitHub發展至今,

已經不只是一個版本管控的平台,

自動化的功能能讓工程師空出更多時間專注於開發專案,

不需要進行重複瑣碎的人工作業



2022年4月22日 星期五

AWS 服務:Simple Email Service 寄信服務

網站架設過程中,

會遇到需要寄送信件的情況,

比如帳號認證、忘記密碼等等,

這些都需要寄信給使用者來確認,

所以需要郵件寄送的服務,

今天就來介紹

AWS 服務:Simple Email Service 寄信服務

首先登入 AWS帳號,

進入 Amazon SES 主控台,

在左手邊的工具列中找到 Verified identities,

接著在右上角選擇 create identity 來建立一個新的寄信服務


當然新增這個服務必須要證明自己擁有管理權限,

可採用 Domain 驗證或者以 EMAIL 驗證來進行,

此處使用的是 EMAIL認證


設定完畢後,

若網域供應商為提供 DomainKeys Identified Mail (DKIM) 服務,

就必須自行手動在 DNS 中增加 TXT records,

至於設定值可以參照AWS SES主控台給試算表檔案


驗證完畢後,

接著在帳號控制台中找到 SMTP的設定,

點選紅框中的按鈕來新增一組設定



AWS 主控台會詢問要新增的帳號名稱,

設定完畢後會在 IAM 服務中新增一組如說明下方的設定檔,

就是開 SMTP 服務給該名使用者


並且會給予一組帳號密碼,

讓用戶透過這組帳號密碼登入 SMTP 寄信

這個寄送服務預設會在沙盒模式,

讓使用者先以設定的信箱測試過後,

就能送出要轉為正式版本的按鈕


以上就是今天的主題

AWS 服務:Simple Email Service 寄信服務

若是從 AWS 的 EC2 或者 Lambda 服務來呼叫這個 SES 服務,

每個月可以免費傳送 62,000 則訊息,

官方說法這個優惠方案是不會過期的,

網站架設在 AWS 上面的話,

可以考慮使用 SES 服務來幫忙寄信



2022年4月21日 星期四

Python 基礎:檔案的讀寫 file open

之前介紹過 Python 的基本資料型態,

也有淺談 Python函式的呼叫,

今天則是要來介紹

Python 基礎:檔案的讀寫 file open

此處介紹檔案讀寫有兩種方式,

差別在於需不需要作檔案關閉的動作,

但同樣都是使用 open 來開啟檔案,

語法如下:

open ( 檔名, 開啟模式 , 編碼 )

什麼是檔案 (File)

檔案 (File) 是儲存數據的連續字節,

這些數據以特定的格式儲存,

最後被翻譯為 0與1 的資料給電腦取用。

編碼與字元集

而編碼則是將人眼所見到的文字依照規定的字元集作排列與組合,

這在之前本站也有稍微提到過忘記可再回去瞧瞧,

特別是中文字需要使用適當的字元集 (此處使用 UTF-8) 才不至於產生亂碼

開啟模式(mode)

官方在檔案開啟模式中,

有均有明確的定義

常見的有 :
r  :僅讀取
w:僅寫入但檔案若存在就覆蓋,若檔案不存在就建立新檔案
rb/wb:讀取/寫入 二進制檔 ,也就是直接使用 byte方式存取,不透過任何字元集(編碼)

詳細可參照官方說明文件

檔案讀取

上面使用了兩種方法來開啟檔案,

使用第一種方式開啟的檔案在結束使用時,

必須加上 close() 來關閉檔案

故程式就寫為:

f = open(filename, 'r', encoding='UTF-8')
使用完畢最後得加上
f.close()

檔案寫入

在檔案寫入的時候,

同樣也使用兩種方法來演示,

使用 with open 開啟檔案,

在跳出程式之後會自動關閉檔案,

故寫成:

with open(filename, 'r', encoding='UTF-8') as f:
最後並沒額外增加 f.close()


若沒有關閉檔案的話會怎樣?

在存取的資料量很小的狀況下,

或許不會遇到資料遺失的問題,

當資料量稍大或者同時有許多檔案存取的情形發生的時候,

未執行關閉檔案動作容易造成資料遺失,

故養成習慣使用 with open 來存取檔案為上策。

以上就是今天的主題

Python 基礎:檔案的讀寫 file open

範例程式的原始碼會放在 GitHub上面,

需要索取的話,

訂閱我的 YouTube 頻道後,在文章底下留言吧


2022年4月20日 星期三

Open edX教學:使用 Google文件作為 Open edX線上課程講義

Google提供了許多線上的服務,

其中包括了文件、簡報、試算表等等,

除了保存各種文件以外其實也能用來線上教學,

之前介紹過 Open edX 在影片播放過程中提問的模組 quiz in video,

今天則是要來介紹

Open edX教學:使用 Google文件作為 Open edX線上課程講義

首先要在 Studio 設定的"進階設定"找到進階模組列表,

確認 "google-document"這個模組是否在其中,

若沒有的話記得將其補上


接著準備一個 Google文件,

並將這個檔案發布到網路上,

複製 iframe網址 ( 內嵌網址 ),

待會要使用到


回到 Open edX 的 Studio ,

在新增模組的工具列中找到進階 ( Advanced )


從 下拉式選單中,

找到 Google Document 這個模組,

並點選新增


將剛才的 iframe網址,

複製到模組編輯功能中的 Embed Code 欄位,

並將顯示名稱 ( Display name ) 修改為需要的標題


這樣就能將各式的 Google 檔案作為講義,

嵌入線上課程中,

以講義的方式來輔助教學,

以上就是今天的主題

Open edX教學:使用 Google文件作為 Open edX線上課程講義

還沒有訂閱的朋友記得點選影片右下角的訂閱




2022年4月19日 星期二

Elden Ring 魔法學院 雷亞盧卡利亞

之前玩家在史東薇爾城探索後,

應該已經練就一身飛簷走壁的功夫,

挑戰完接肢葛瑞克後,

賜福會建議玩家往西北魔法學院方向

Elden Ring 魔法學院 雷亞盧卡利亞

而在出史東薇爾城之後不遠的教堂,

這邊有個 npc 會告知玩家須要找到輝石鑰匙,


順著賜福的指引,

沿著西北前行,

直到拉斯卡廢墟附近的一個涼亭發現傳送點,

這傳送點能直接將玩家送至學院門口,


在門口封印前屍體可找到鑰匙的所在地,

而這個所在則是繼續向西北走,


一直到下圖這個賜福點的東方,

這邊有輝石龍史瑪拉格,

在牠的身後就有學院鑰匙


若覺得目前等級太低不好打龍,

可拿到鑰匙後就閃人


不想看文字可觀看影片實際走法


再次回到剛才的學院封印前,

就能夠進入魔法學院 雷亞盧卡利亞 大肆搜刮,

ㄜ~ 探索魔法學院


前半段尚未實際進入建築物前,

在墓地後方會藏些東西,

這邊能找到戰灰或者骨灰


進入建築物後,

若看見某個書櫃或者畫作前方有其他玩家留訊息,

多半表示此處有古怪,

攻擊牆壁或者跳躍就能進入

細節藏在影片中,有興趣的點選影片進入觀看



探索學院的後半,

實際進入了建築物群後,

就跟史東薇爾城類似,

將之前練就的飛簷走壁功夫拿出來用,

這邊的重點在於屋頂,

有時候因為選擇不同叉路需要再走一小段重複的路程

以上就是今天的主題

Elden Ring 魔法學院 雷亞盧卡利亞 

還沒有訂閱的朋友記得點擊影片右下方的訂閱,


有時走過覺得搜尋不徹底,

或者有哪個道具想拿卻漏掉,

也能回來再走一遍



2022年4月18日 星期一

遊戲推薦 侏儸紀世界:進化 2

有關注頻道或者部落格的朋友應該都知道,

三不五時會有分享恐龍的相關影片與文章,

而這些都來自於電影官方授權的遊戲,

事實上這遊戲在去年底出了新款,

今天就來簡單介紹下

遊戲推薦 侏儸紀世界:進化 2 

實在話恐龍對於小朋友較有魅力,

這個已滅絕的生物讓人有很大的想像空間,

單從琥珀中擷取 DNA 這部分就值得好好著墨一番。

遊戲分為幾個模式來遊玩,

故事背景來自於電影 - 侏羅紀世界:殞落國度 之後,


所以開場的動畫中,

穿插了電影的幾幕也是很正常的,

也順道在遊戲中再次闡述故事的背景


由於電影的最後恐龍們回歸自然,

人類必須與恐龍共存,

玩家則扮演 DFW ( 魚類與野生動物管理局 ) 中的一員,

必須協助處理與控制跟恐龍相關的事件。


雖說遊戲新增了數個不同的元素與恐龍,

但骨子裡跟前作依舊相當類似,

故網路有人戲稱此作為前作的大型 DLC ( 資料片 )


例如上下兩張圖片所示,

在新作巡邏隊的工作越多了,

除了要修繕園區內的建築之外,

還得巡邏各個崗哨隨時監控恐龍們的狀態


在研發科技或者孵化恐龍,

甚至探索發掘世界各地的化石,

都須交由科學家帶隊才能進行,

科學家們工作量太大還會不滿意,

所以必須給予適當的休息與獎勵


建築物加上燃料與食物的概念,

雖說加入了這些新元素,

坦白說對於恐龍迷來說,

重點還是在於恐龍本身,

個人是覺得擺錯重點了


遊戲分幾種方式來遊玩,

劇情模式、混沌理論、沙盒模式、挑戰模式,

在劇情模式以各地發生與恐龍相關的事件開始,

玩家須將這些失控的恐龍納入管理,

劇情模式登場的首位是重爪龍,

有興趣的人也可以參照影片


對於恐龍部分,

領土的概念也是新作中加入的元素,

目前看起來感受不大,

若新元素讓人感覺不到它的存在,

那加入的意義何在,

值得好好深思一下


畢竟恐龍還是本作的重點,

不過很可惜製作團隊沒搞清楚狀況,

若單純從經營遊戲的角度看,

坦白說還有更多好選擇;

侏儸紀世界:進化 2 乍看起來就是基於前作與電影的基礎上繼續走下去,

玩法與前作大同小異,

不能說是缺點,

僅能說就是中規中矩缺少了一點創新。


以上就是今天的主題,

遊戲推薦 侏儸紀世界:進化 2 

還沒有訂閱的朋友,

記得點選影片右下角訂閱


2022年4月16日 星期六

Open edX 教學:Quiz in Video 影片中問答

之前介紹了以 Docker based 的 Open edX 安裝,

在新版本的 Maple 正式採用為官方僅有的安裝方式,

Open edX 是開源的線上教學平台,

也能使用模組來進行功能擴充,

今天就來介紹其中一個模組

Open edX 教學:Quiz in Video 影片中問答

Quiz in Video 是一個讓教師能在影片播放特定秒數後提問的模組,

除了避免學生播了影片就神遊物外,

也能輔助學生在線上學習中途實際檢驗是否了解該片段的解說,

才不會影片播放到結束了僅記得最後面講解的內容。


要使用這個模組必須先到 Studio 的設定,

從進階設定的進階模組列表檢查是否有 invideoquiz 這個模組,

沒有的話務必將其補上 ( 當然前提是網站管理員有安裝這個 Xblock才能使用 )


以課程管理員身分在 LMS觀看有設定這個模組的單元,

會看到影片下方會有提示告知最底下的問答題會在影片播放至特定秒數出現


回到 Studio 中除了新增課程影片之外,

接著要先設定一個與學生互動的問答題,

可以是單選題、多選題甚至其他的問題類型都可以


接著從進階中找到 In Video Quiz Xblock 這個模組,

並且新增到與影片相同的章節中


將影片的位置 ( 以 id 方式存在 ) 與問題的秒數以及id ,

填入 Quiz in Video 編輯功能中的兩個欄位


影片的 id 與問題的 id 可由 lms 中的 staff debug info 中取得,


設定成功後儲存並發布章節,

就能在影片播放到指定秒數出現提問讓學生回答,

以上就是今天的主題

Open edX 教學:Quiz in Video 影片中問答

還沒有訂閱的朋友,

記得點選影片右下角訂閱支持

2022年4月13日 星期三

使用 Tutor 安裝 Docker-based 的 Open edX

之前都是使用 native install 來安裝 Open edX ,

官方 Maple新版本發布僅支援 Tutor 安裝,

今天就來看看

使用 Tutor 安裝 Docker-based 的 Open edX

從 Lilac版開始就支援 Tutor,

並宣告將 native 安裝方式取消,

在 Maple 正式將此種安裝方式移除。

首先要在系統安裝 docker 與 docker-compose

透過指令安裝之後

sudo apt-get install docker-ce docker-ce-cli containerd.io

並且依照官方網站提及的安裝 docker-compose


安裝之後記得將目前 user 加入 docker group中

sudo groupadd docker
sudo usermod -aG docker $USER

這樣能以非 root身分執行 docker

接著使用命令安裝相關元件

sudo apt install python3 libyaml-dev python3-pip

最後再安裝 tutor

pip install tutor

安裝完畢之後執行

tutor local quickstart

就能以最簡單的方式安裝目前的 Open edX 版本


安裝之前,

應用程式會先詢問系統的基本資訊,

像是:

希望安裝的版本 ( release 或者 develop  ), lms與 cms 的 domain name,
站名、管理者 email、使用的語言,是否要安裝 SSL/TLS 憑證等等


安裝完畢後,

應用程式便會依照剛才的設定安裝,

就能直接無腦使用最新版本的 Open edX ,

若要自訂其他功能的話,

就必須要自行依照規則設定,

以上就是今天的主題

使用 Tutor 安裝 Docker-based 的 Open edX

Open edX 是開源的線上教學平台,

但架設需要對 Linux 系統有相當的了解

Docker-based 提供了簡便的方式安裝,

但相關的說明文件卻跟不上版本的改變,

關於這部分希望官方多加油。