搜尋

搜尋結果

[議劇論映] 如散文般的日劇 — 《大豆田永久子與三個前夫》
娛樂殿堂
君尋・2021-07-20

《大豆田永久子與三個前夫》 觀後推薦度:★★★★☆ 簡介: 人氣日劇《四重奏》的班底,再加上知名編劇坂元裕二撰寫劇本,單是這兩點已成為日劇迷必看的理由。故事講述大豆田永久子(松隆子飾)結婚三次又離婚三次,過著單身的日子並撫養一個女兒,卻又常在日常生活中不斷遇上這三位前夫。結婚是兩個人的事,同樣,離婚也是。所以問題是在離了三次婚的大豆田永久子身上?還是她遇到的三名前夫?故事就是如此圍繞著大豆田永久子和她三位前夫的生活而展開。劇集的演出上,會透過旁白形容大豆田永久子的行為、為她說出當下的心聲,因而出現不少「認真的搞笑」的橋斷。劇中所有人都是在認真進行某件事,而不是特地作出搞笑的行為,但觀眾看到這些場面卻會忍不住笑出來。不過在坂元的劇本之下,角色們更像在「演舞台劇」多於實際生活,除了很多戲劇性的發展外,還經常在劇中透過角色討論很多有意思的議題,並偶爾留下發人深省的金句。 觀後心得: 習慣速食文化的現代人可能不太容易接受《大豆田永久子與三個前夫》 。坂元裕二的劇本與一般日劇的模式非常不同,《大豆田永久子與三個前夫》 沒有向觀眾表達劇集明確的目的,單看標題也搞不懂劇集是什麼類型的故事,就算看了一兩集也未必知道故事想要講什麼。沒有明確主軸,但卻不斷以發生在大豆田永久子身邊的事,讓觀眾認識這個人和看到她的改變。大豆田在公司的事、她的前夫們和前夫們的新戀情、摰親好友的事、女兒和初戀男朋友的事,以及大豆田遭遇的一段新戀情,這些就是劇集中大部份的內容,結局亦是以相當平淡的方式完結。有人形容本劇像散文,透過不同的故事表達如隱喻般的意境,相較其他直接或間接表達主旨的劇集,觀眾要有相當高的專注和領悟,才能在本劇中找到樂趣。不得不提的是,正如過去坂元裕二執寫的劇集,本劇同樣有大量的對話場面,然後透過各個角色的口中,講出編劇的金句。有時會覺得過於刻意,但如果金句擊中觀眾的內心卻有超乎想像的效果(例如不斷被提到的《四重奏》中關於檸檬的那段說話)。 簡評:觀眾需要慢慢沉浸於坂元裕二的世界之中,喜不喜歡本劇就要看對不對得上電波,沒法產生共嗚的話建議果斷棄劇。 關於議劇論映 本欄目將會分享日本及歐美的影集和電影。除最新上映及流行的作品外,亦會推薦值得回味的滄海遺珠。 更多本欄目相關的內容可按:httpsppt.ccf6n5yx

陳康妮:淺談澳門計算思維與不插電活動教育
文化創意
陳康妮・2021-06-19

【作者簡介】 陳康妮 Miss Connie 澳門科技大學講師 澳州墨爾本大學主修高等教育管理學 澳門高等教育管理學專家(Digital Educator) 澳門培訓師 (Digital Trainer) 澳門教育專欄作家 (Digital Writer 全球職涯發展師 從事高等教育管理培訓工作24年 計算思維是一種邏輯思考和批判性思考的能力,是數理思維發展到一定程度的高級型態,需要將困難的、複雜的問題拆解為一個個的小任務去分別解決,也具有抽象化的特徵,需要用到分析、分解、聯想等方法,是一種高效地解決問題的方式。這種思維方式是我們在未來需要對學生著重培養的,而學習編程對於培養計算思維是十分有利的。 提到編程,大家就會聯想到網絡、計算機,但是鑒於學生們整處於生長發育階段,平時的課業壓力就很大了,如果又長時間地盯著電腦屏幕對眼睛是有損害的,所以這也為我們教師提出了一個難題,就是如何通過不傷害眼睛的方式去教授學生們學習編程,所以我想到了不插電的編程活動。 編程是一個工具,是一種表達思維的方式,需要用到計算思維,即運用計算機科學的基礎概念去求解問題的思維能力,這種思維是可以不依賴計算機的,具有通用性,所以我們可以借助這一特性去策劃不插電的編程活動。 我們可以選擇通過遊戲和實踐活動的方式幫助學生們學習編程,用一種開放式的學習方式,將計算機科學知識和計算思維融入到有趣的活動中,讓學生們不僅可以學到知識還能在活動的過程中享受到學習的樂趣。 可以結合生活中的一些例子給學生們做演示,比如說結合智能掃地機氣人讓學生們思考機器人的工作原理,聯想到到程序和編程,激發學生們的探索慾望,這樣才有助於教學進一步開展。 除此之外,還需要設計一些學生們可以參與進來的活動,讓學生們在動手實踐的過程中發現問題、提出問題、分析問題,最後引導學生們去思考如何解決問題。之所以採用不插電活動,一方面是因為不插電活動有助於保護學生們的眼睛,另一方面也是因為編程的特性。在之前我著重談論了計算思維,重點強調思維二字,因為計算機是靈活的,編程也不存在固定的框架,所以我們不能禁錮學生的思維,我們利用一些具體的活動讓學生們在實踐中領悟計算思維,只有學生們領悟了計算思維,他們才會慢慢地理解到計算機語言,從而進行進一步的編程學習。總而言之,利用不插電的編程活動幫助學生們領悟計算機思維是非常重要的。

你開始寫 Spring Boot 測試案例了嗎?
科技新知
MacauYeah・2025-11-29

雖然筆者過往做 spring boot framework 教學中,都有滲入一些測試用例。筆者也曾經困惑了很長一段時間,所以就獨立開一個主題,聊一下筆者在實務上對spring boot test 的理解。 測試案例究竟測試什麼? 測試用例 test case 是確保你的程式碼正確性與穩定性的重要步驟,但在 framework 下,並不是所有功能都很容易寫成測試。所以在討論 framework 測試之前,釐清測試的本質。 function input business logic function output 這意味著我們輸入某些資料(input),然後經過業務邏輯(business logic)的處理,最後產生結果輸出(output)。 我們的測試目標,其實就是確保業務邏輯正確。而我們的手段就是經檢查概定的輸入資料,核對輸出結果。 那麼只要我們可以生成輸入資料,就一定可以檢查輸出結果了吧?其實不是的,因為實務上的輸入和輸出沒有這麼簡單。筆者常接觸到的輸入輸出如下 輸入 function 輸入參數 系統狀態資料,例如:資料庫狀態、外部API結果。 輸出 function 輸出參數 寫入系統(影響到)的資料,例如:資料庫狀態、使用外部API時的輸入參數。 總之就是考慮了狀態機 state machine 的問題,每個狀態外部輸入都是一個測試用例,然後核對狀態機去了下一個什麼狀態。 言下之意,我們就是暴力地生成輸入參數和模擬狀態資料,道理上就是可以進行測試。 Spring boot web framework 中,我們又會測試什麼? function input business logic function output在Spring boot web就變成如下 controller request business logic controller response在 Spring Boot test 中,我們可以用模擬的 MVC MockMvc 測試來驗證 controller 的行為。不過,其實進入 controller 前經過很多系統轉換,而這些道理上跟Framework的技術大相關,與業務邏輯小相關。所以為免折磨自己,可以將業務邏輯單獨封裝成服務(service)。之後直接測試服務 ,易寫也易讀。 controller request service input business logic service output controller response道理上 controller 能做的業務邏輯,服務 service 都可以無腦重現。這樣還可以重用服務,減少測試的數量。 如何實現輸入? 直接 new Object。大部份的情況下,因為業務是自己編寫的,應該都可以直接 new 出來。 經 json 檔讀入。如果輸入的參數量太多,逐個經 java new 是很耗時的,我們可以經 json 反序列化變成 Object。但這亦只限於自己可以操作改寫的類。 Mockito 模擬那些無法簡易經 new 或 json 反序列化的 Object。例如:spring security authentication object 我們在使用時,其實只看到 interface。我們難似自己實現一個可以反序列化的類,那麼我們可以使用 Mockito 來模擬這些資料。一些外部API的結果,我們也可以用使 Mockito 來模擬。 什麼情況下不進行測試? 有些情況下,我們可能選擇不對某些功能進行測試,原因可能包括對功能的了解不足或是單純的懶惰。以下是一些例子: 僅進行配置的Function:如果你的 Function 只是在 Framework 中填寫配置,而且你並不太了解它的運作原理,可能就不需要進行測試了。例如,Spring boot web 中,需要大家配置一個SecurityFilterChain Object,它要求大家將 HttpSecurity 轉換為 SecurityFilterChain 。因為輸入的 HttpSecurity 是系統固定的參數,我們亦沒有檢查它的狀態。這種情況下,它的輸入及輸出,其實我們都沒有真正理解。我們硬測試的話,測試功能可能只流於表面。若我們真的要做測試,也是經過MockMvc進行端到端測試(endtoend testing),測試它在事後的影響範圍。 單純的框架功能:例如資料庫的儲存庫介面(repository interface),雖然是在框架下生成的,對於自己手動調整的部份功能,筆者通常亦不會進行單獨測試,通常都會搭配業務邏輯一起進行。它可以使用 Mockito 進行模擬測試,或用測試環境的真實資料庫進行測試。 面對的挑戰 總括來講,筆者盡可能地把測試用例限定在業務邏輯中,就可以大大地降低寫測試的技術難度。但筆者還是有些問題並未完美解決。 測試用例的數量可能很多,因此共用與維護變得相當困難。逐個用例獨立編寫輸入也是很累的。對於 Mockito 的使用,筆者還是可免則免。因為要逐個功能模擬,編寫量就指數提高,這亦難似配合外部變化。一般來說,能優先使用測試環境或者 Docker 來模擬環境的,就盡量用。 離線開發、離線測試。系統依懶的外部功能越多,想做單機開發的難度就越高。即使前述有 Docker 測試,對於持續整合(CI)來講也是有一定難度。那麼這時,Mockito 就是一個可取的選擇。但這又回到編寫量及難以偵測外部變化問題。 希望這篇文章能幫助你更好地理解測試案例的編寫方向,並在Spring boot web開發中加入你自己的測試!

良心遊戲推薦:《歧路旅人:大陸的霸者》
手機‧電玩
MacauYeah・2023-02-14

對於RPG劇情遊戲,筆者一直只會關注主機或PC平台,手機上的作品,真的不敢期待太多:新作品課金意圖太強、看下去不天天充錢就玩不下去;移植作品就是操作不良,沒有考慮手機的使用環境,還會遇到手機升級就不能玩的狀況。 不過最近,筆者終於真真正正玩了一款適合手機上的新作品 《歧路旅人:大陸的霸者》。筆者前陣才剛通關了Switch版上的《歧路旅人》八方旅人,然後它的手機版《歧路旅人:大陸的霸者》就剛好中文化,在港澳台上市了。筆者下載後,也就斷斷續續的玩,截至現在,遊玩總時數25,但這25小時體驗不比Switch 版差,什至劇情方面還比Switch 版好。筆者盡量以不劇透的方式,去表達手機版與Switch版的差異。 先講戰鬥系統,歧路旅人系列,都有不同武器和魔法屬性,只有累積打中弱點武器或魔法數次,才能破防,玩家正常情況下,亦可以在每回合中取得BP點數,然後再一口次大量輸出。手機版與Switch版最大的差異,Switch版可以通過改變角色的副職業來達到轉換武器、魔法,而手機版角色只有單一固定武器、魔法學習路線。Switch版,一次出戰只有4人,但因為副職業選擇多,容易配出全屬性泛用戰鬥隊伍。手機出戰角色為8人,分前後排出戰,後排正常情況下不會受傷,可以自動回復HP、SP、BP,但因為要經過抽卡取得角色,所以正常情況下都不會有全屬性隊伍。 手機版中,雖然抽卡很可恨,但筆者在不課金情況下,也順利通關主線基本內容,證明關卡設計還是合理。(筆者沒有課金,只需要使用遊戲內的獎勵系統去重複抽角色,大概抽夠50抽,就夠編一隊半泛用隊) 劇情系統:Switch 版中八個主線明線故事,每個四章節。手機版中三個主線明線故事,每個三章節,也有抽卡角色故事,也是每個三章節。不同主線之間可以自由切換,沒有指定順序。Switch 版故事比較多,也只有八個主線全數完成,才能有挑戰隱藏Boss,解釋全世界的來龍去脈(筆者沒有成功挑戰隱藏Boss,只能以訛傳訛)。手機版也有類似設計,在挑戰完三主線後,有些關聯發展,照推測應該也是有一個隱藏暗線(筆者實力有限,只能腦補推測)。 正如筆者於本文一開始所說,手機遊戲,大多沒有直正地考量手機的使用環境,而《歧路旅人:大陸的霸者》就好好地實現了這一點,這亦是筆者大力推薦這遊戲的第一個大原因。手機遊戲,主要在碎片化時間下遊玩,傳統的RPG劇情遊戲想搬到手機上,沒有自動Save的幫忙,根本玩不下去。而且這遊戲還是很忠實地呈現了跑圖機制,在跑圖的過程中,也有自動Save的幫忙,很適合筆者這種開遊戲2分鐘不夠又要走的人。而且戰鬥系統採用回合制,有足夠時間可以讓筆者重組策略,同時也保留了足夠的關卡難度,讓筆者感受到緊張刺激的決策效果。同時,跑圖、戰鬥選擇等操作,也有考慮好手機的方式,通關滑動去做自動化和強化。 第二個推薦這遊戲的大原因,就是遊戲中【名聲】主線的劇情,這主線絕不是普普通通的王道或復仇路線,rdquo;劇情反轉rdquo;已不能用來形容筆者所感到的震撼。大家即便不玩,也可以去各大影視平台看看錄播劇情。其他主線就顯得不太突出,但看看也無妨,因為以近年Square Enix的實力,能好好地講完一個故事,已經很不錯。這遊戲的大局觀沒有開得很大,不會像FF系列那種強行推劇情,不用怕看到一半悶到死、看完會後悔的感覺。 總括來說,如果你想在手機平台玩玩輕鬆的單人遊戲,《歧路旅人:大陸的霸者》是必玩的選擇。主線不用刷等級也能過關,遊戲操作也很切合手機平台,即使在碎片化時間下還能遊玩。 手機遊戲中文版 官方網頁 httpswww.boltrend.comzhtwot

Docker環境參數化 - Arg VS Env
科技新知
MacauYeah・2024-03-26

Docker Variable control 我們在Docker Image的打包時,最簡單當然就是每個步驟都使用最新版本。例如Docker Base Image,大家可能選用latest tag,安裝linux package (Linux包),也可能就apt install yum 安裝最新的穩定版本。但如果我們想要更好地做測試,就要使用指定版本,方便追蹤問題。而Docker在打包和運行時,都有不同的方式讓大家定義或覆寫指定參數。 Docker build arg 我們先從打包Image開始。 例如我們需要使用一個Base image為 ubuntu,版本預設為22.04,但有需要時可以經build指令覆寫,可以這樣寫 ARG ubuntu_version=22.04 FROM ubuntu$ubuntu_version # default ubuntu_version=22.04 docker image build t test2204 . # or overwrite by buildarg docker image build t test2404 buildarg=quot;ubuntu_version=24.04quot; 雖然Dockerfile的RUN指令都是使用linux shell,但在Dockerfile中想表達條件控制(if else statment)就不太易看。在外部加入script做控制,是另一個可行的後備選擇,它更可以連image名字也進行參數化。 # in bash script, you also can if $beta == true then ubuntu_version=24.04 else ubuntu_version=22.04 fi docker image build t test$ubuntu_version buildarg ubuntu_version=$ubuntu_version Docker Container Run and Docker Compose 一般來講,Linux Container 在執行時,就等於進入Linux Shell。也就是,我們可以使用Shell中的環境變數。 我們在打包Image前,已經可以在Dockerfile中定義自己的ENV數參(也就是環境變數)。與前面的Build Arg有所不同的是,ENV是定義在Dockerfile中,在Container運行時以環境變數的形式存在,它也可以在運行中被改變。而Arg,則只在打包Image時存在,運行期間就不存在了。(當然,你在打包時,用Arg傳入Env,以運到這個目的。) 另一個更特別的性質是,那怕ENV沒有定義在Dockerfile中,我們運行時也可以加入更多的環境變數,大家就當成是一般Linux操作,隨時在自己的shell中加入變數。 # e, env for inline variable # envfile for file docker container run e MYVAR1 env MYVAR2=foo envfile .env.list ubuntu bash 同樣地Docker compose,也支援環境變數。筆者建議environment可以使用Array格式,日後可以更方便地直接改為env_file。 # dockercompose.yaml services ubuntu image ubuntu22.04 environment RACK_ENV=development SHOW=true USER_INPUT 上述的寫法沒有任何問題,不過如果你的dockercompose.yaml是放在git等版本控制中,你更新環境變數就有可能會影響到其他人,這時你就會想轉成env_file。 dockercompose.yaml預設就會讀當前資料夾的.env,就算不存在,也可以正常運行。(當然,大家的ImageContainer應該要有預設值) # dockercompose.yaml services ubuntu image ubuntu22.04 # if env_file is not defined, it will load .env. # or you can load the specific file. # env_file # .a.env env_file內,每一行就是一個變數 # .env or a.env RACK_ENV=development SHOW=true USER_INPUT 使用預設的.env還有一個好處,就是我們可以把dockercompose.yaml也變成受環境變數控制。 # dockercompose.yaml with variable control, only works in default .env services ubuntu image ubuntu$ubuntu_version # .env ubuntu_version=22.04

死亡島2- 心得分享
手機‧電玩
MacauYeah・2023-07-07

系統篇 死亡之島2 玩法與第一代類似,遊戲多出技能卡牌選擇,相關選擇會影響角色主要攻擊及防禦手段,包括使用格檔還是使用閃避作防禦手段。而攻擊技能都有三種選擇,所有技能都有相應卡片強化效果。 角色相互的差異到中後期已經無太大差別,故無需煩惱使用哪個角色,因為對劇情結局都無影響。如有朋友一起遊玩,還可以分工合作,使得遊玩多樣化。 而喪屍種類就有十數種,包括屬性不同的喪屍,角色可以利用不同環境屬性攻擊,例如可以先用水炸彈弄濕,再用電攻擊可加速中電擊屬性累積,所以活用屬性關係攻擊可以事半攻倍。 裝備系統強化則看稀有度以及級數,除橙色裝備無法掉落得到外,其他稀有度都可以從喪屍以及裝備箱得到。屬性強化則可以選擇火、雷、出血、切割、腐蝕等強化,而稀有度就影響強化數量,即越稀有,可強化數量越高。 而升級裝備所需要的金錢並不是小數,需要做取捨。但以筆者經驗來看,升級裝備並不是必要的,因為隨角色升級更換裝備效果會更佳,而且3級以內裝備差別不大,再上才有一定差別。 劇情篇 遊戲劇情可以說是今集敗筆之作,劇性相當荷里活,而角色毫無特點,直接可以用三無來形容無感動、無高潮、令人無記憶點,總括來講不及第一代劇情好。 而遊戲性就可以說是中規中矩,如有朋友一起遊玩,則可以更好。 總結 還是等等等吧 劇情評分2分滿分五分,遊戲性3分,建議打折再進行購買。