搜尋

搜尋結果

Coding | Test Case 值得寫嗎?
科技新知
MacauYeah・2023-11-02

很多做軟件開發的朋友,其實都會聽過Testdriven的開發模式。就像Scrum一樣,名氣很高,但試過的人很少。為何會這樣呢?筆者認為,並非開發者懶,而是編寫Test Case的難度真的高。對比開發程式本身的成本,寫Test Case的時間學習成本一樣高。 造成這些高成本的原因很多。一來是因為開發者並不像過往一樣,慢慢從零寫程式,一般都應用Framework去預構建一些東西,例如打包Database connection pool,Dependency injection。Framework是好用的,但就令你要模擬Mock up特定資源,變得越來越複雜。所以一般中、小型開發,都鮮有人懂得做Test Case除了大神獨立開發者外。筆者對於Spring boot等Framework,都摸索了很久,才能模擬一些特定資源。但Framework一更新,就很多部份都要重寫。所以筆者沒有很強調要做Test Case,因為成本認真大。 最近,在摸清一些test case 基本concept後,筆者又重新開始嘗試編寫test case。以下假設用的是object oriented programming 在開發自己的class,為每個public function,都寫test case。很多IDE, 都有提供相關自動生成test case function signature的功能(就是為你的目標function,起一個只有外框的test function。)vscode雖然不是原生支援java,但只安裝基本的java test package,就可以達到同樣效果。 在不依靠framework的情況下,自己class要『引用』的其他class object,不要經過自己使用new來生成object。全部經set function來傳入你要引用的class object。除非你的class是作為Factory Pattern(工商模式)生產某些object,不然你就不會再有new字眼。 在為自己class編寫test case時,就會可以模擬被『引用』Object的行為。這個object在傳統上可以使用oop中的interface類型來達到模擬又不會影響到原結構的做法。實在不想做interface,java還可以用mackito 這個libraray來硬改Object的行為。 同理,自己class要『引用』一些外部資源,那些設定資源的config,都應該要set function傳入。這樣你在test case中才能起一個臨時的模擬外部資源。 在不使用framework的情況,要全數去自行模擬,當然很痛苦,但至少你可以做一些很簡單的測試。 在使用framework的情況下,還有些教學都是教你mockito繼續模疑。但這會是很痛苦的,因為這樣叫做unit test,單元測試,你要模擬所有東西。在折衷的情況下,應該底層元件做unit test,但上層的元件就做integration test,整合測試。 在做integration test時,就差不多等同使用framework行起部份或必要的資源。而那些必要資源,可能指是的database service, network service。我們可以在test case中設立不同的config,從而把framework指向一些備用資源。 Database好貴,腦細不會付錢set up多一套,自己電腦不夠強,也不能跑起多個開發用Database。好在還有h2 database可以幫你,它是memory可以操作的。只要你的framework支緩就好。在初次使用Framework時,你總會覺得為何Database層要設得這些抽像,其實為的就是讓你可以隨時換Database。不論做測試還是做移植,都會少很多問題。 模擬Network service還是沒有銀彈,要麼就mockito硬改行為,要麼就是提供一套測試用service。筆者曾經為模擬別人的Network Http API,也花了相當時間自己建立dummy server,提供模擬效果。無論dummy的效果有多假,有多局限,例如if id == 1,always return true,也是有一定價值。當你做source code refactoring (重構),又或是做framework升級時,還是讓你可以安心一點。

Design Pattern: Observer / Subscribers - Push vs Pull
手機‧電玩
MacauYeah・2023-09-29

相信一般入行IT不久的朋友,都會知道IT系統更新時,有推和拉push、pull兩種方式。特別是Programer,對於觀察者模式又或者是訂閱者模式Observer Subscriber 會有更多的使用經驗,例如OS programing要處理event bus,Mobile App要做的推送通知Push Notification。 但一般來說,很少人討論推和拉push、pull的問題,筆者就著一些踩過的坑來說說差異。 首先,在一個通訊相對穩定的系統中,Push、Pull都很好用。例如同一個OS內,它的socket或pipe可以看作很穩定,可以假設那些要廣播的消息可以正常傳遞出好。但好用歸好用,這個模式對於越來越複雜的交互系統都有一個無法明確處理的問題:怎樣去處理觀察者訂閱者自己的操作失敗問題。 對於非IT行業的讀者來說,只要你接觸過手機即時聊天程式IM,如whatsapp, wechat, facebook messenger應該都會遇到一個問題就是:你收到OS提示通知,但打開聊天程式卻看不到新的對話內容;又者是你連續收到多個同一個內容的提示通知,那怕你已經讀過了。這些都代表了,手機端當初時沒有好好即時回應是否已經操作成功,不需要重複通知的問題。有可能是手機當時掛了,也有可能是網絡不太好。 上述的例子,對一般人來說,可能影響不太。因為重複收到訊息,又或是漏了訊息,也不會怎樣。但對於業務系統,例如定期收費,多收一次又或是少收一次,都會引起某部份關係者的不滿,即使事後有退費機制,但有些匯率問題,始終會有差異。在傳統架構上,有規模的公司系統都可能會使用內部的中央資料庫等做交易transaction管理,整個過程,都要嚴謹地記錄廣擴是否成功、觀察者自己的操作是否成功。 在近代,分散式系統又或是微服務的出現,令上述的中央資料庫無法實行。如何好好地重新定義好Transaction管理,就是一大挑戰。筆者最近亦實作了一個要在微服務的上廣播的觀察者模式,但雪上加霜的是,在互聯網的環境下,廣播的消息沒法保證可以正常傳遞出好。觀察者訂閱者可能已經正常收到消息,也做了相應的操作,只是來不及回應,網路就斷了。這令重複發送信號的可能增加了。 如果說,要以平民的方式去實作這類廣播,Pull會比較有大的容錯。廣播者只是通知觀察者訂閱者來拉資料,保證廣播當時的資料量可以盡量地少。廣播者開放盡量大的查閱權,觀察者訂閱者可以自由決定事後更新要取得的資料量。但這樣每個觀察者訂閱者都要重做一次同步機制,不過好處是,主動權在於他們自己手上。 相對地,Push的容錯就低一點,但要付出的成本也跟Pull差不多。因為網路環境,大家要重現一個基於TCPIP而有commitrollback的難度較大。當網路出現斷線,廣播者無法確定是否需要重做。在重複收到訊號時,最後還是需要觀察者訂閱者來決定怎樣處理重複記錄。但比Pull好的是,Push可以限制單次訊號的傳送量,也可以確保觀察者訂閱者一定收到特定的記錄。 上述就是筆者在這一年來遇過的坑,如有什麼不足,很歡迎大家一起來作更多討論。

Git Submodule
科技新知
MacauYeah・2023-09-15

Git Submodule 初次實務上使用submodule來同時管理幾個project的更新。如果有任何理解上的錯誤,請在github中提issue或pull request。 Why Submodule 假設你的團隊中有三個人,A君做A Project,B君做B Project,C君做Main Project。如果可以,A,B各提供已編譯的Binary或Library,給C君直接使用就最好。 但要做到好好管理,A,B都要有自己的發佈系統,即是把Binary上傳到某個分享Repo中,這樣C君就能有條理地通過IDE或Compile工具下載對應的版本。如果是javascript,Repo可能就是npm repo,如果是java,可能就是maven repo。這亦代表A,B君對程式編譯、打包、版本命名等都要很熟悉,不能一輩子都命名為v1.0.0。 如果團隊對這些都不熟悉,C君還有什麼方法呢其實靠著Submodule的功能,C君也可以硬把A,B的Source code取出,做最後打包。 這跟A、B君自己把source code壓縮然後Email寄給C君是有不同的。因為這樣C君並不清楚A,B的git脈絡:C君需要自己做好A、B的版本記錄。想要只回滾A,B的版本普不容易。但經過git Submodule後,C君可以清楚知道現在正使用的是A、B的那一個commit版本。假如有一天,A、B、C三個都更新了,但發現合起來時就跑不動。C君可以保持A、C的版本不變,單獨提取B的某個版本進行測試。當然,你可以說原本Email也可以這樣管理,但始終你不清楚B的版本記錄,Email的日期並不代表Source Code的進度。因為有時候,Bug Fix是針對舊版本的做更新,新功能的Email日期反而比Bug Fix要早 同理,如果大家要連結多個沒有發佈系統的文字資料,也可以利用Submodule。例如筆者正在編輯一本書,當中不同的主題,就是使用Submodule的功能串連起。 Command 馬上看來來Submodule可以怎樣做。 假設你已經知道git 怎樣用,也起了git repo。假設你是C君,進入你的本機repo資料夾內,使用submodule參數。 上面的效果,就是把C君當前repo的狀態,連結到B君submodule當時預設分枝default branch的最後一個commit 中。然後C君在自己的repo怎樣更新,它引用到B君的submodule版本都不會變。 直到某一刻,B君說他加了一個穩定的新功能,請C也連帶更新一下。C君也做好自己的準備後,使用submodule參數進行更新。 注意,如果C君有多於一個submodule,上述指令會全部一口氣更新。另外,如果你覺得B君的最新版本不能用,還是可以針對B君取得特定的版本。

手機也可以寫攻略
手機‧電玩
MacauYeah・2023-08-11

上期為大家簡介過筆者使用Github mdBook制作遊戲攻略。未看過上期介紹的朋友,可以在這個連結httpslifemag.cyberctm.comzh_TWblogmacauyeah13777 找到上期內容。今期就繼續為大家介紹一些工具讓手機也能協作。 筆者在開始前,先簡單總結為何會選擇Github mdBook。 Github是協作工具,追查因為歷史修改記錄會比其他工具更成熟 mdBook以純文字方式操作,適合上傳至Github。 mdBook有自動轉網頁方式,Github有寄存簡單網頁功能。 現在剩下的就是如何做編輯。 電腦端 傳統上,如果要用網誌或Google Doc作為編輯媒介,若你有電腦的話,只要使用現代瀏覽器就可以使用,基本上都會有提供自動儲存草稿的功能。即使你在別台電腦中也可以繼續進度。Google Doc等也有提供離線模式,有時候真的網路不通,可以先修改線下版本再上傳回去雲端。網誌就未必有這些功能。 同樣地,Github也有提供瀏覽器直接修改的模式,不過想要離線操作,就需要使用Github客戶端或其他Git客戶端。重要的是,mdBook的原始文件其實只是純文字,可以用最簡單的記事簿程式就可以繼續創作。只是最後要經Github轉化為網頁發佈。 說到尾,有電腦在手,其實什麼方案也不算困難。有網路一切事情都可以解決到。 手機端 但在手機上,因為操作空間的限制,一切都變得很艱難。如果對技術不熟悉的朋友,可能用Google Doc已經是最好的方案。 Google Doc手機版已提供相對友善的排版編輯功能,但它真的不能取代電腦版。很多重要的縮排或插圖功能,還是開電腦使用吧。網誌就更不用考慮了,一般它們的編輯功能都不適合在手機上使用。 而Github的手機版,對於編輯純文字還是相對可以用的。而且mdBook對於一般文章排版也是夠用的。但是這個方案沒有暫存功能,對於長一點的文稿,需要離線慢慢創作就不太可能。 幾經辛苦,筆者終於找到一個Git的手機版,可以輕鬆地離線編輯。那就是PolyGit,它的免費版本雖然一天只能上傳Server 3次,但因為可以離線編輯,即使沒有付費,頂多隔天才一口氣上傳。更重要的是它的文字編輯器,可以看懂部份mdBook markdown格式。你在一邊創作時,就會看到基本的Highligh提示。不過最可惜的是,PolyGit只有iOS版本,Android版筆者未有找到很好的Github替代品。 這樣,你就可以隨時隨地,任何地方,都可以繼續創作了。以筆者的角度來講,扣除工作環境外,平時會碰電腦的機會真的少之又少。想好好找個時間、找一台電腦來創作,基本上很少可以實現。但手機就不一樣,午飯在餐廳休息時、晚上睡前坐在床邊,什至乎是大解的時候,拿著手機打打打,也是一個不錯的選擇。 PolyGit 官方連結 httpswww.polygitapp.com

Git Co-Work Flow
科技新知
MacauYeah・2023-06-23

Git CoWork Flow 雖然git面世已很久,但相當一部份澳門朋友都是solo man,很少合作寫code,對git branch始終都有些恐懼。所以這次來解召一個基本原則,至少你不會爛了code救不回來。 若然大家未熟悉git,初次利用git合作寫program,請盡量減少使用共同分支branch,可以極大地減少問題。 第一個大原則 建立一條自己分支 在一個repo中,為自己建立一條分支branch,可以減少Remote repo中有人比你先commit,而令你push失敗的情況。 Code block由於安全性問題,沒有獨立寫了LifeMag 網誌中,請移到github repo。 除非你的隊友故意你用的分支名先commit,又或者你自己有幾台電腦,幾台一起做改動。不然push 應該不會有問題。 第二個大原則 用fetch取代pull 很多人在取用Remote Repo的更新時,都會使用pull。但pull其實是fetch及merge的混合,而且merge還要考慮source branch是那條分支的問題,若然大家都有一條獨立branch,那麼這個無腦pull並不存於每人只有一台電腦下的多人協作中。 fetch的過程中,還可以加入參數prune,順便依照Remote Repo的指示,同步刪掉本機中一些不再存在的originbranch。 Code block由於安全性問題,沒有獨立寫了LifeMag 網誌中,請移到github repo。 第三個大原則 Merge前先Commit 經過前述fetch後,其實他人的改動並未加入自己的分支中,必需經過merge才會出現。但並不是沒有conflict就無腦merge。 假若自己有改動,未commit,應該老虎蟹都先commit。這是為了在merge後,還有機會可以無腦reset,回到之前那個commit。這就像是做任何更新前,先做backup。 Code block由於安全性問題,沒有獨立寫了LifeMag 網誌中,請移到github repo。 第四個大原則 由某個特定的人來管理master或main branch main branch以前叫master branch,是他人下載時的預設分支,也是Github、Gitlab的預設顯示分支。所以該分支存放著的source code,應該在代表信心度比較高。 在協作的環境中,每人都有自己分支,那就代表要有一位人員做管理,他負責checkout main, 然後合併其他已驗證的分支。 Code block由於安全性問題,沒有獨立寫了LifeMag 網誌中,請移到github repo。 在某些比較嚴僅的環境中例如Github、Gitlab,main分支可能會被系統機制鎖定,必需通過系統內鍵的Pull Request,才能通過審核,合併到main。另外,也有一些關於開發上的Git workflow,主要針對功能管理、版本發佈、錯誤修正等控制。有機會再為大家介紹。 希望以上的流程,可以有效且容易地讓大家協作。如果有任何command錯誤或更新,都可以經Github Pull Request通知筆者。

遊戲手柄Backbone 評測:使用心得及存在之問題
手機‧電玩
MacauYeah・2023-03-13

近年來,手機遊戲的盛行使得手機遊戲手柄的需求逐漸增加,其中一款較為知名的手機遊戲手柄為 backbone 遊戲手柄。筆者早在半年前就想入手,苦在澳門沒有進口,某寶網購亦只有代購一路,所以遲遲不敢購買。但最近,澳門各遊戲店都有入貨,筆者亦急不及代地買了一套iphone款。以下,就分享一下我的使用心得及存在之問題: 使用心得:最美的部份 沒有延遲、也沒有無線干擾:因為Backbone 遊戲手柄使用的是直接以Lightening直連手機,所以流暢度很高,按鈕也沒有網路上所謂的硬(頂多像是Switch Joycon)。也因為是直連手機,沒有舊款藍芽之間那些干擾問題,不會讓你的藍芽耳機斷斷續續。 設計合理:因為沒有使用藍芽,也沒有內置電池,所以跟手機配合起來也不重。能夠大大減少使用者手部的疲勞感,而且長期玩也不怎吃手機電量。也因為足夠輕,即使帶出戶外也不費力。 不夠完美的部份 安裝方便性:雖然是Lightening直連,但每次連接都要拆掉手機保護套。本體的安裝過程其實很方便,但拆套是件很費時、也怕手滑跌手機的事。折衷方法,就是長期手機跟手柄合體,它可以經外置的Lightening 電源,由手柄為手機充電。合體後手機也不算變大很多,還是可以放在公事包中一同出行。 價格偏高:Backbone 的價格有夠高,比常見的8BitDo系列、PS4、PS5系列,都要高。而且亦無其他可以使用的平台,這個價格下的所有功能,只能用在手機上,所以CP值對比其他手柄就差很大。 圖為合體後的大小,因為沒有手機殼,整體不重也不會太大 總體而言,如果你已經無法玩主機遊戲,想在手機上另找出路,你的手遊亦支援手柄的話,這款Backbone一定買得過。不過如果你本身有遊戲主機,又或者你的手遊共不支援手柄,就不用花錢買這個了。 註:如果你想用手機玩PS remote play,也請三思。因為有些遊戲要用Touch Pad和Motion Sensor,而PS Remote Play對這些功能並不友好。例如The Last of Us第一集,就有手搖電筒的問題,你在Remote Play下就是搖不出來。這不是Backbone的問題,這是PS remote play自己的問題。

在澳門,有一群熱心的師生們每週三都舉辦斷捨離活動
文化創意
陳康妮・2023-03-09

在澳門,有一群熱心的澳門師生,他們每週三都會走進澳門新口岸社區,舉辦澳門斷捨離活動,將自己不需要的物品捐贈給有需要的人。他們認為,這不僅是一種環保和節約的做法,也是一種關愛和分享的精神。 這個活動由澳門斷捨離Facebook群組主辦,已經持續了三年。每週參與的澳門師生接近過百人,他們每次都會提前收集和整理自己或其他人捐贈的衣物、書籍、玩具、家電等物品,然後借新口岸區的場地,設置攤位和展示架,讓來往的巿民免費挑選和領取。 澳門師生希望通過這個活動,讓大家體驗到斷捨離的好處。一方面可以減少自己家中不必要的東西,讓空間更寬敞、更整潔;另一方面可以幫助別人解決困難或增加快樂,讓物品得到更好地利用和延續。rdquo; 參與者之一的李同學則表示:ldquo;我覺得這個活動很有意義。每次看到那些拿到物品後開心地笑容或感謝的話語,我就覺得很暖心很開心。同時也讓我學會了珍惜和分享。rdquo; 活動受到了澳門社區居民和其他組織的歡迎和支持。許多人都表示感謝和讚賞。有些人甚至還主動加入了活動團隊,成爲了志願者。 澳門師生們計劃繼續堅持下去。也歡迎更多人加入。只要你有心、有愛、有行動力,你就可以成爲其中一員。rdquo;

運用ChatGPT編寫Multicharts及Amibroker 語言
創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2023-02-18

自OpenAI 推出ChatGPT後,編寫交易策略變得比以往更加容易。過去學習編寫運用Multicharts及Amibroker編寫策略時需要先熟背大量的語法,但現在ChatGPT可以替你在短時間內完成編寫策略,而且更可用中文給它指令,甚至可直接做回測。 雖目前ChatGPT的數據只到2021年,但相信不久的將來數據會更新,而且更可以有實時數據。 現在學習Multicharts及Amibroker重點只需學習語法的基本原理,然後策略由ChatGPT編寫,有了結果後可直接Copy到Multicharts及Amibroker使用,可以做回測及優化。 但當然,ChatGPT編寫的策略仍需要有基本語法知識去驗證是否有錯誤,但學習的過程相信會比以往變得更容易。我們會將大量的策略給大家示範,除了基本運用技術指標組合,還包括波浪理論、Pair Trade方法、又或看重磅股炒期指的策略等,而且包括了港股、美股、期指、美期、槓桿ETF等。 先看看ChatGPT寫出來的策略結果,再從大量練習中學習如何驗證ChatGPT寫的結果有否錯漏。過去可能需要半年或一年的時間才能有足夠的經驗去運用程式,但現在相信只需要一個月的時間便能熟習Multicharts及Amibroker,再透過我們給學員的Plugin便能連接SP Trader、富途牛牛、Webull微牛證券等進行全自動交易。 訂閱Patreon 可免費參加Daytrade教學特別班線上課堂上課日期 2月25日 星期六)330pm 430pm特別班教學內容包括1如何用ChatGPT編寫Multicharts 策略 2 Daytrade SQQQ及TQQQ 策略 3 如何觀察美股盤路階梯短炒4 FootPrint Chart 基本應用 新改版Patreonwww.patreon.comquantshk特別班會用zoom 上課,我們會在2月25日前給大家上課zoom link。

澳門社會創新教育:運用設計思維推動社會創新點子
文化創意
陳康妮・2023-02-09

設計思維是一個理想的過程,可以產生對人類問題的洞察力,從而創造出解決這些問題的創新方法。 傳統的科學解決問題的方法需要明確定義的問題來分析和解決,而設計思維鼓勵採用更具迭代性的方法,綜合洞察力以開發ldquo;目前足夠好rdquo;的解決方案,並且可以作為持續創新的起點。 設計思維的出發點是心中有一個目標(讓我們社區中的貧困者生活得更好)而不是要解決的問題(消除貧困),因為問題,尤其是ldquo;棘手的問題rdquo;,可能有許多可以解決的潛在原因和影響從各種不同的角度。 Design thinking is a process ideal for generating insights about human problems in order to create innovative approaches to address those issues. While a traditional scientific approach to problems requires a clearly defined problem to analyze and address, design thinking encourages a more iterative approach that synthesizes insights to develop solutions that are ldquo;good enough for nowrdquo; and that can be starting points for continued innovation. Design thinkers start with a goal in mind make life better for those in poverty in our community rather than a problem to solve eliminate poverty because problems, especially ldquo;wicked problems,rdquo; can have many potential causes and effects that can be approached from a variety of different angles. 【作者簡介】陳康妮 Miss Connie澳門科技大學講師澳洲墨爾本大學主修高等教育管理學畢業澳門資深教育管理學專家澳門教育作家(教育創新)澳門兒童文學作家澳門國際培訓師從事國際培訓師工作27年全球職涯發展師澳門斷捨離群組創辦人(群組合共26000人)

陳康妮:「人類學」是澳門教育學科建設的重中之重
文化創意
陳康妮・2023-01-02

認識澳門「教育人類學」 作為人類學與教育學交叉形成的新興前沿學科,澳門地區的教育人類學還不成熟,面臨著內部和外部的雙重挑戰。一方面,澳門地區的教育人類學雖然初步形成了一套本土化的理論和方法體系,但學科整體尚不夠成熟,學科基礎不夠堅實;另一方面,新文科的建設改變了教育人類學的學科發展環境,帶來了新的挑戰。如何化危為機,是澳門教育人類學學科建設的重中之重。 教育人類學應明確其在ldquo;教育研究rdquo;學科生態鏈中的地位。 從新文科建設的角度來看,ldquo;教育研究rdquo;可以被視為一個多學科、跨學科的學術ldquo;生態系統rdquo;,涵蓋極為廣泛的學科,每個學科情況不一,決定了一個學科與其他學科之間的功能依賴和交換關係,以及生存和發展的基本空間和內在邏輯。 在澳門的教育和文化背景下,教育人類學能夠以人文關懷的理念、獨特的人類學視角解釋特定情況下的教育事實。這種優勢是別的學科所不具備的。所以,我們要發揮這一優勢,既能突出學科的獨特價值,也能為其他學科的教育研究提供知識營養。 積極借助技術創新,擴大教育人類學的研究視野。 新科技革命對文科發展的啟示是新文科建設的重要前提之一。人工智慧、大數據和虛擬技術等科技創新不僅改變了教育的方式,也更換了教育研究的模式。技術不再是教育人類學研究的輔助工具,其主體性日益凸顯。在此背景下,澳門地區一方面要解決教育人類學研究需要借助新技術應用提出新的研究問題,構建新的文化理論。另一方面也需要積極參與科技與教育融合的新領域,扎實拓展學科視野,為掌握新文科建設的學科主動權而不斷努力。 【作者簡介】陳康妮 Miss Connie澳門科技大學講師澳洲墨爾本大學主修高等教育管理學畢業澳門資深教育管理學專家澳門教育作家(教育創新)澳門兒童文學作家澳門國際培訓師從事國際培訓師工作26年全球職涯發展師澳門斷捨離群組創辦人(群組合共26000人)

高質雲遊戲影片 | 最後生還者Part I
手機‧電玩
MacauYeah・2022-12-23

前幾期筆者為大家介紹了攻略收藏,本期就繼續為大家介紹優質的雲遊戲影片。 不知道什麼時候,討論區上開始多了【雲遊戲】這一個詞。那不是指的PS Now XBox Cloud Gaming,而是指你看直播主玩了某款遊戲,就當成自己玩了一遍所有遊戲謎題我都看過,都知道解法,劇情也看了,連操作體驗也知道直播主都做過。所以,遊戲也玩完了。 其實網上看別人玩遊戲這件事一點都不新鮮,但想好好地體驗遊戲的各個方面就很有難度,特別是單機劇情遊戲,要麼就是無腦剪接,要麼就是直播存檔。想真的讓你看一遍,就看到了整理好的東西,而且劇情不是硬生生地拼出來的,真的不多。因為要做到這些,制作方一定要先玩通遊戲一至兩遍,再重新理順所有事情,再錄影一次。 能做到這些的直播主、Up主、Youtuber不多,有做的也不能全遊戲都做,只能挑一下比較重點遊戲的來做。 筆者找了好久,才遇見一位比較有誠意,在這方面很持續產出的大神 那位名為【黑桐谷歌】的大神。 他最近在【最後生還者】的PS5重制版 PS5版改名為【最後生還者Part I】,以最高難度解說了一遍,也做了新舊版本的對比,真的並不是一般人可以做到。他勾起了筆者的回憶,也讓筆者體會到原來這個遊戲還有這麼多的機制是當初筆者漏掉的,這遊戲也絕對有二週目的可玩性。一週目看劇情,二週目做收集或難度挑戰。 完整Playlist httpswww.youtube.complaylistlist=PL7PA3hyhaHFIl8tIWkb9A_CbaLmxkOQ1E 黑桐其實也有在更新其他熱門遊戲,例如當時PS4魂系列中大賣的【血源詛咒】 ,不能說很強很強,但故事與攻略方向都頭頭是道。 完整Playlist httpswww.youtube.complaylistlist=PL7PA3hyhaHFKkIlYJl37Po0ck1IGkSc_h 【艾爾登法環】他也有做,但因為筆者未實際看,不敢現在推薦。畢竟不是所有攻略,都一定能講得透徹,而且艾爾登法環的體量也有大,以筆者查看其他紙本攻略來講,能在完整性上做好這遊戲的解說應該相當有難度。待筆者正式看過後,再為大家推薦。

陳康妮:致澳門不一樣的創新老師 我們如何從0到1
文化創意
陳康妮・2022-11-23

創新是一項複雜的治理工作,需要激情和偉大的領導力才能持續產生。然而,多數組織在成長過程中,不免會遭遇思維的慣性、文化的惰性等ldquo;創新殺手rdquo;的阻撓,真正實現傑出創新的組織少之又少。 澳門需要更多推動教育創新、社會創新、醫療創新。 醫療制度創新的人我們需要培養更多未來創新人材從0到1的創新 三年前。我在澳門建議過澳門某組織推動創新失敗了。再在大學推動創新。要找合適的對口才行。更要面皮厚不怕失敗。和堅持明年我會多放時間在你們身上我希望見到澳門有更多教育創新點子。做你們的顧問去陪伴你們走。 記得。我曾經在課堂課過現在是第四次工業革命。我們是大灣區老師。我們是創新教師要打杖。芬蘭推動教育創新40年。我們澳門是第三年。今日和三年前已經不一樣。我們的工作要有使命感 你願意成為不一樣的老師嗎? 歡迎找我談天盼望你的教育創新點子成功落地澳門。分享你的喜悅比我知在我眼中。你們未來位位都係澳門教育家2023年不再一樣! 【作者簡介】 陳康妮 Miss Connie 澳門科技大學講師 澳洲墨爾本大學主修高等教育管理學畢業 澳門資深教育管理學專家澳門教育作家(教育創新)澳門兒童文學作家 澳門國際培訓師從事國際培訓師工作26年全球職涯發展師澳門斷捨離群組創辦人(群組合共26000人)

藥物不同於食物,讓食物成為藥物
其他
皓芯・2022-07-01

在日常生活中,進食不僅意味着為身體補充營養,身為消費者的我們,進食行為還會對經濟、自然環境等產生重要的影響。 近年來,越來越多的人為了健康選擇植物性飲食,是因為有大量科學研究認證,植物性飲食更有利於健康。但同時人們對素食仍存在很多疑惑,如長期素食會否導致蛋白質、鈣等營養素的缺乏,會否因缺鐵而患上貧血症等。 本書作者徐嘉博士,美國責任醫師協會PCRM營養學專家,美國約翰․霍普金斯大學醫學院生理學博士。2012年起通過微博,開始了在中國傳播植物性飲食的好處,積極推廣「21天健康挑戰」;自2014年起,健康公益講座足跡遍及中國、香港、台灣、新加坡、馬來西亞、和美國等全球超過150個城市900多場,影響了數百萬人;2017年底,徐嘉博士在公眾號上開始健康飲食傳播之路。 本書將嚴謹的營養學理論,引用了各種科學圖表及研究數據,講結合大量真實案例,讓我們了解適合以食ldquo;蔬、果、豆、谷rdquo;為主的健康飲食(素食)基本原則,及各種常見疑問。純素Vegan植物性飲食者、孕婦、兒童、長者、運動員、環保及宗教人士等各類人群,都能從書中找到適合自己的飲食建議。 本書圖文並茂,分析植物性與動物性食物提供的營養,是一本受眾很廣、可以解答關於健康飲食90%的問題的科普書。作者在書末補充了參考文獻二維碼,掃描後可以看到書中部分文章的具體引文。 日益豐富的物質生活,也被日益增長的健康問題困擾。病從口入,控制飲食就是控制疾病,食物是我們每天要吃的。葷素搭配是大家的首選,書中介紹了健康素食與各種疾病的關係,素食雖不能治療任何疾病,素食只是停止了一切肉蛋奶我們的傷害。 大家在感嘆生活發生翻天覆地變化的同時,新冠肺炎疫情讓人們更深入認識到免疫力的重要作用。免疫力與健康關係密切,讓我們從自己做起,人人享有健康生活,希望大家都身體健康。 《非藥而愈:一場席捲全球的餐桌革命》簡體字書 作者: 徐嘉 著 出版社: 江西科学技术出版社 出版日期:20181201 ISBN 9787539065243 訂購地點 一書齋 圖片來源博客來