發表文章

[Python] Use an empty class to hold a temporary scope

def function_creator(): class FnScope: b = 5 c = 6 def inner_fn(): FnScope.b += 1 FnScope.c += FnScope.b print(FnScope.c) return inner_fn >>> f = function_creator() >>> f() 12 >>> f() 19 >>> f() 27 Reference: Python nested functions variable scoping

[翻譯] 10 個降低新冠肺炎焦慮的小秘方

10 個降低新冠肺炎焦慮的小秘方 10 Tips to Reduce COVID-19 Anxiety. 1. 專心在自己可以控制的想法和行為等事物。 Focus on things you can control, such as your thoughts and behaviors. 2. 心中保持宏觀,相信人類會渡過危機。 Keep the big picture in mind,. Humankind will survive this. 3. 記得新聞的數量不等於病毒威脅的嚴重性。 Remember that the size of news coverage may not equal the size of a threat. 4. 讓智慧與邏輯指引你行動。 Let wisdom and logic guide you. 5. 閱讀值得信賴的新聞媒體。 Turn to reputable sources for your news. 6. 節制查看最新消息的頻率。 Control how often you check the latest news. 7. 為身邊的人展現和平的舉止。 Model peaceful behavior for those around you. 8. 評估自己的健康習慣,為孩子與他人樹立典範。 Evaluate your own health behaviors and be a model for others, including children. 9. 若覺得太孤立,不妨與人們保持線上交流。 Feeling too isolated? Maintain digital connections with people. 10. 不要因為恐懼而囤積日用品。 Don’t let fear influence your decisions, such as hoarding supplies. 出處: Psychology Online

Art Of War: Legions - What are the Best Troops to Upgrade for Max Combat & Durability Rating? (Ranking included)

圖片
A) Preface While you're upgrading the troops in the mobile strategy game Art of War: Legions (AoW), you may notice there are extra gains on the Troop Count from some troops. The troop count acts as ability multiplier on properties like Health, Attach, ...etc. On the other hand, there are other types of troops having very high Attack or Health per unit, but they don't raise count while upgrading. So, based on the different behavior on upgrading, troops in AoW are analyzed here in multiple aspects like Battle Rating per Unit or with Count, or Durability Rating per Unit or with Count in this article. Each of them will be detailed in its paragraph below: B) The Growth of Troop Count Along with Upgrading As shown in the following figure, we divided the troops into two groups - one of them has a count gain with upgrading, while the other group doesn't benefit from upgrading. The Group One has 11 troops, and their unit reach the maximum value 9 at level 4. ...

[資工] Jenkins 篇:使用 python BDD 自動化測試網站 (Jenkins + behave + selenium)

圖片
Jenkins 這篇會記載如何從無到有安裝 Jenkins,並新增一個能夠閱讀 Junit 格式測試報告的自動測試專案。同時讓 Jenkins 與 github repo 掛勾,在有新的 commit 時能夠自動抓下來建置並執行測試。 1) Jenkins 端的配置與安裝 *裝在 mac 上所以會使用 brew 這個套件管理系統 1-1) 安裝 先安裝相依套件 JDK 8 brew cask install homebrew/cask-versions/adoptopenjdk8 再安裝 jenkins,這邊使用長期支援版本(LTS) brew install jenkins-lts 1-2) 啟動 brew services start jenkins-lts 打開瀏覽器輸入 localhost:8080 在安裝的設定選擇常用的「基本套件」即可 幾過一連串的設定就可以看到 Jenkins 首頁 1-3) 新增專案 在首頁左邊選擇「新增作業」,進到頁面之後輸入專案名稱「 Python -behave -testing 」並選擇「自由專案」,接著會進到配置頁面去輸入有關 github repo 與建置動作的設定 1-3-1) 配置 git repository a.選 Git b.填入 github URL(使用 SSH 格式) c.增加 Credential:點選 Add 按鈕開啟下拉選單並選擇  Jenkins ,在新頁面輸入 github 登入的帳號跟密碼 1-3-2) 設定 SCM 輪詢 如果 Jenkins 架在私人機器不對外公開或者不打算使用 git webhook 的推播功能,那我們可以啟用 SCM 輪詢,這邊的排程採用 crontab 的時間格式,範例中為每隔 5 分鐘檢查 repo 是否有新的 commit。 1-3-3) 設定建置的腳本 由於這是一個網頁測試專案,其實不用建置,所以這邊直接輸入 behave --junit,讓 behave 這個 python 的 BDD 框架能夠產生 JUnit 格式的報告,讓 Jenkins 能夠讀取與分析。 但是由於我們把 behave 跟 selenium-chr...

[英文] 用 confused 與 confusing 來形容事物在語意上的細微不同

一般來說,文法規則會教我們把一個形容詞用 V-ed 態表示人現在的狀態,用 V-ing 態表示事物給說話者自己的感受 舉例來說: I'm bored 我很無聊(我被弄無聊了) The ball game looks boring 這場球賽看起很無聊(球賽把我弄無聊了) 類推回來: Your essay is confusing [to me] = 你的文章讓我覺得困惑。 但劍橋字典裡面有一個句子卻用被動態用來修飾事物: Your essay gets confused by introducing too many ideas = 你的文章被你的許多觀點給混淆了 這裡用擬人的方式把文章作為一個主角來看待所以用 get confused 來描述。 * 我不知道為什麼這本字典要把 confused 拆開成兩類,明顯指出人[主動/無法清楚地思考或理解]與物[被動/不清楚因此難以理解]的不同,但是在第二個例句裡面卻又用擬人化的方式把物當成人來用。這也讓我困惑了。 我翻過網路上的其他字典[ Logman, Oxford, Lexico, macllian, Merriam-Webster ],其中絕大部分的字典都有把 confused 分成兩類,但是他們第二類的例句都沒有採用 get confused 的主動用法。應該是 Cambridge 這本的問題。 又或者它把 get 解釋為 become,按照例句的中文翻譯「你的文章因為你引入太多觀點而變得雜亂無章。」 Confused 與 confusing 還是有些細微的差異,用於事物的情況兩者不能直接互換 第一個情況用被動態 confused 表示事物自己的狀況: The situation remains confused as both sides claim success. 情況保持「混亂」因為雙方都宣告勝利。 直接修飾事物自身的狀況用 confused,通常在於說明一種客觀的狀態,跟說話人自己的感受或對說話人自己的影響無關。 第二個情況用主動態 confusing 修飾事物表示事物對說話人的影響: The situation is confusing. ...

[英文] those 與 they 的差別

例句: Most of the dishes are kept in the kichen, but ____ handpainted in yellow should be placed on the table. 這邊要填 those 還是 they? 這邊的 those 有其中那些的意思,對應前面的 Most of the dishes,表其中那些手繪的盤子會放在桌上。若用 they 則會表示全部的盤子,明顯與文意不符,故 they 在這裏不適用。 Those 與 they 在文意上有差異,因為他說大部分的盤子會放在廚房裡,「但是」其中那些手繪的盤子會被放在桌上。所以他用「但是」跟「那些 」,those, 來表示有一些盤子會有不一樣的擺放位置。才會有 but 出現。 但其實在文法上也不能直接換成 they,因為有一個被動的形容詞句子表示盤子是「被」手繪上黃色圖案的,至少也要加上 were,變成 but ___ were handpainted in yellow should be placed on the table. 這邊頂多填上 some of dishes which。一樣表示其中某些盤子,縮寫回來變成 those。這都不會直接用到 they。they 還是代表前面整個「大部分盤子」意思。

[英文] make you something else - 愛默生的名句如何解讀?

To be yourself in a world that is constantly trying to make you something else is the greatest accomplishment.  -  Ralph Waldo Emerson (b. 1803, d. 1882) 今天有網友在群內問這句的翻譯,我想了一下,可以翻譯成: "在這個不斷要你偏離本性的世界裡,能夠做自己是最棒的成就。" 或者考慮到美國文化強調個人成就,以及 something else 有 unusual, especially extremely good or extremely bad 的意思,也可以譯作: "在這個不斷要你出類拔萃的世界裡,能夠安於自性是最棒的成就。" 剛剛我想到這一環,所以補上這個翻譯,或許這樣翻譯 something else 可以緊扣結尾的 greatest accomplishment 吧。

[學測] 108年國英數自社個科級距對人數分佈圖

圖片
想知道分佈圖就來作圖研究一下,國文、社會都偏常態分佈,平均數在高標。 數學有點均勻分佈。英文呈現雙峰。自然低標有一個高峰QQ 誒!(學博恩)台灣真的是文科社會? 資料來源:大考中心

[英文] 用 even 強調比較級的語氣

例句:The study of mathematics today is even more complicated than ten years ago. 這裏 even 是甚至的意思,有加強語氣的概念,用於強化兩物之間對比的狀況。所以加上 even 修飾的整個句子會更加強調情況比過去十年複雜的程度。原句表示過去十年的數學研究已經很複雜了,現在甚至比以前更複雜了的意思。

[英文] will + be + Ving 用未來進行式表示持續一段時間的動作

題目:I ___arrangements from home, I am sick today. (1)will be made (2) will be making (3)will have made (4) will have been making 解答: make 是瞬間動態動詞,make an arrangement 安排一件事情這個動作做完即結束了。 原文想表達:我生病了,從現在開始我會在家裡安排事情。所以它用 will be Ving 來表示這個動作會一直持續一段時間,在這例子裡它用未來進行式來延長安排事情的時間,表示她會在家裡一直安排很多不同的事情。 所以我們把選項(B) 的片語 will be making 填入到句子裡頭如下: I will be making arrangements from home, I am sick today.原句表持續安排事情的意思。 A) 可以刪掉因為人不會以被動態去做事情。C) D) 也刪掉因為句意不通。 在與瞬間動詞搭配的情況之下,個人認為把 will be Ving 翻譯成「將正在」是一個比較簡單的說法,而使用「將一直在」或許會比較貼切一點。

[資工] Heap Sort 的特性與做法解說 (北捷資訊工程類 109年的考題)

圖片
1) 介紹 heap_sort 是一個使用二元樹結構來做排序的演算法,但其實實作上也可以使用一維陣列來儲存資料做 in-place sort (就地排序),只是實作時要抓好陣列 index 與樹結點的對應關係。 1-1) 元素編號 在一個以 1 為陣列第一個元素的編號所組成的樹中: 一個編號 \(i\) 的元素其左子節點的索引值(編號)定義為 $$2i$$ 其右子節點的編號定義為 $$2i+1$$ 但是若陣列的基底以 0 為第一個編號,則需要對公式稍微調整一下: 2) 差異 heap_sort 與 binary search tree (二元搜尋樹) 的差異在於,BST 需要遵守一樹結點的左子結點值要小於該節點值,而右子結點值則需要大於該結點值(aka 上層節點值)。 而 heap_sort 在使用二元樹上面的限制比較鬆散,在建立 min/max heap 時,只要遵守上層結點值必然小於(或大於)下層節點的值的規則,則可稱之為一個最小/最大堆積。 3) 步驟 這邊舉例是用最大堆積法: 1) 先建立一棵樹的最大堆積排序,做完上層 root 節點保證有整棵樹中最大的值,再把根節點的最大值與陣列最後一個元素交換,最後一個元素即排序好了! 2) 然後再把剩下的元素(n-1)為範圍所組成的樹,重新做一次最大堆積排序,此時根節點會有第二大的值,再把根節點的值與陣列倒數第二個元素交換,現在有兩個排序好了! 3) 把未排序的元素們繼續套用 3-2) 的規則,直到所有元素都排序好,即完成遞增的 heap sort。 4) 為什麼要叫做 heap sort? 啊災,可能一些東西隨便堆起來也會長得像二元樹吧(笑 圖片出處: heap of scrap metal,  Author:  Mohylek  ,這裏以創用 CC 3.0協議 分享圖片  5) 參考資料 5-1)  堆積排序(Heap Sort)演算法,利用完全二元樹來排序的演算法  - 裡頭有每個步驟的二元樹圖,我就是先看這篇看懂之後才寫本篇的~

「深耕」一詞在不同領域的英文翻譯

有網友在英文學習社團裡面在問三個題目 1&2. 長時間深耕某個領域(如:文學)的英文 3. 深耕市場 的英文翻譯,以下是我的解答,紀錄一下: 中文是一個比較模糊的語言,而且從不同領域拿來的借代修辭很多可以依照意思挪來挪去使用,所以從農業用詞借用過來的「深耕」這個詞,在翻譯成像英文這種力求精準的語言必須要先還原出語言使用者原先想表達的意思才好轉譯。如果直接翻譯成英文可能會找不到對應的詞彙,直接用 cultivate 這個字,最近似的解釋是從無到有培養一個(興趣...etc),但這都不太像是能夠翻譯出長時間或深度夠的意義。 深有兩種深法,第一種是時間長,第二種是深度夠。您的第一個例子比較像付出的時間長,所以我會覺得用 put a lot of efforts on...會比較好,網友說的 dedicate 也不錯。 所以 1&2 可以用 "Put a lot of work/efforts into (the field of) literature for years." 看下面這個新聞稿的翻譯:『EPA 頒給三星的第二項殊榮「金質獎 (Gold Tier Award)」,目的是為了表揚三星在美國電子廢棄物回收上的長期深耕。』 [1] 原文是 "The EPA awarded Samsung with the 2017 Cutting Edge Champion Award for its innovative Galaxy Upcycling programme, and honoured the company’s U.S. e-waste collection efforts with the Gold Tier Award for the fourth consecutive year." [2] 這邊在翻譯的時候把長時間且連續的付出翻譯成「深耕」。 第二種深法是深入理解的意思。在商業行銷如果我們能夠多了解我們消費者的需求,針對他提供量身訂做的服務就可以幫助你的行銷成功。所以這邊我會建議您用: 3. Going deep with your marketing =  focusing on your customers as individuals. [3] Refe...

翻譯的好壞決定了一本書的生命

前年上資料分析的課,被老師的熱血精神鼓舞了,課後去誠品買了一本讀起來有實際例子可以跑資料分析的統計學教科書,沒想到是災難的開始。讀了幾頁還留著英文句構的中文句子之後就把它丟到一邊去了。 今年要準備考試(大概不會上吧)痛定思痛把它拿起來看,有些句子實在是令人混淆然後也很生硬。好把,找來原文書來對一下。有些地方真的翻得蠻不好的:比方說 sample size 的意思是一個樣本中所包含的資料量,翻譯成「樣本量」很直觀,但放在句子中應該翻譯成「樣本大小」比較好,比方說:一個 n=5 的樣本量,這是在說有五個樣本嗎?但翻譯成 「一組樣本大小為 5 的資料 」就不會有這個問題。另一句「當樣本量 n 相當大時,\(\bar x\) 的抽樣分配在形態上會近似常態」,這是在說我們有很多樣本的時候,\(\bar x\) 的抽樣分配在形態上會近似常態嗎?不是。原文是在說「(固定樣本數量,如每種都取 500 組但有著不同大小樣本 n=5, 10, 20, 30時),當樣本的大小相當大時,\(\bar x\) 的抽樣分配在形態上會近似常態」所以會造成語意上的誤會。都是英文在直接翻譯成中文時產生的語境落差。 下面這個例子:「The simplest approach to estimating a population characteristic involves using sample data to compute a single number that can be regarded as a plausible value of the characteristic. For example, sample data might suggest that 1000 hours is a plausible value for \(\mu\), the true mean lifetime for lightbulbs of a particular brand. In a different setting, a sample survey of students at a particular university might lead to the statement that .41 is a plausible value for \(p\), ...

107 高考統計第一題詳解

題目: \(\) 1. 假設  \(F=\{u_1,u_2,u_3,u_4\}\)是一個僅僅包含四個元素的小規模有限母體(finite population),而  \(y_1 = 1, y_2 = 3, y_3 = 3, y_4 = 9\) 四個元素的研究變數(study variable)值分別為 。我們採 用不置回的簡單隨機抽樣(simple random sampling without replacement)從母體F 之中抽出 樣本大小(sample size)為 \(n = 2\) 的樣本組合,並以\(Y_1, Y_2\) 來表示此樣本組合中的兩個樣本數據(註:採用大寫英文字母Y,表示樣本數據皆為隨機變數)。試求\(Y_1\) 與\(Y_2\)的聯合機率分佈(joint probability distribution)以及\(Y_1\)與\(Y_2\)的共變異數(covariance)。(15分) 2. 假設前一小題之中抽出樣本大小為 \(n = 3\)的樣本組合,並以\(Y_1,Y_2, Y_3\)來表示此樣本組合中的 三個樣本數據。試求Y1與Y3的共變異數。(5 分) 解答: (公式推導法) 1. 因為選取機制是取出不放回,故第一個隨機變數有 N 個可能性,第二個隨機變數有 N - 1 個可能性。 聯合機率分配為 \(P(Y_1,Y_2) = 1 / {N(N-1)}\) 四個元素取出兩個元素 每種組合可能性發生的機率為 1/12 共變異數 \(Cov(Y_i, Y_j) \) $$= E[(Y_i - \mu_y)(Y_j - \mu_y)]$$ $$=\sum_{i,j \in (1,4), i \neq j} (y_i - \mu_y)(y_j - \mu_y)P(y_i, y_j) \, //離散型$$ $$=\sum_{i,j \in (1,4), i \neq j} \frac{(y_i - \mu_y)(y_j - \mu_y)}{N(N-1)}$$ $$=\frac{\sum_{i \in (1,4)} (y_i - \mu_y)\sum_{j \in (1,4)} (y_j - \mu_y)-\sum_{i=j}(y_i - \mu_y)(y_j - \m...

Art Of War: Legions - 合併場上兩個兵種來升級會喪失戰鬥力嗎?

圖片
會。 Art Of War 的兵種升級方式是把兩個同樣等級的兵種合併升級為下一等級的同樣兵種 e.g. 2個等級一的炸彈兵可以合成為一個等級二的炸彈兵 但是常常感覺升級之後總體場上的戰鬥力或持續力變弱了 所以我跑了數據分析來度量升級之後該等級的能力減掉上一等級能力乘以兩倍 所做出來的提升(Gain)幾乎都是負的 也就是等級越高合併兩個兵種所損失的戰鬥力或持續力越大 等級四之後的合併損失開始爆增 但是這又是唯一的升級方式? 怎辦 所以各位,別再把場上兩個兵合併了 請先確定好您的場上所需要的每個兵種要放幾隻 然後在滿場之後才把場下的與場上的兵做融合 這樣場上的兵的能力值只會有提升不會縮減

隨機變數定義的深度剖析

在學習的時候常常會混淆,認為隨機變數是一個觀察的結果,但其實隨機變數是一個測量函數,包括事件發生的空間(母體)以及對事件測量的結果。試著把隨機變數的敘述寫下來並拆解它,如下表: 隨機變數是一個測量函數 事件取樣空間(母體) 觀測結果空間 飛機每月飛行的時數 每個月某些飛機的飛行 飛行的時間 身高 某些人 當下的身高數據 台北十月份下雨的天數 在台北十月份的日子 每天下雨的有無 高速公路一天的死亡人數 在高速公裡觀測的日子 死亡的人數 擲兩枚骰子的點數和 丟擲兩枚骰子 兩枚骰子 出現的點數相加之和 就可以看的比較清楚它們之間的關係。 如維基百科的資料所說: 隨機變數是一個實質函數 \(X:S\to R\),通過一個測量把事件取樣空間對應到觀測結果的空間 a random variable is understood as a measurable function defined on a probability space whose outcomes are typically real numbers. 一個隨機變數通常被理解為定義在一個機率空間上的可測量函數,其結果通常是實數。 As a function, a random variable is required to be measurable, which allows for probabilities to be assigned to sets of its potential values. 作為一個函數,隨機變數需要可以被測量,這允許機率指派一組潛在的值給它。 我們常常都忽略母體而談觀測的結果,也就是抽樣出的樣本空間。雖然結果是最顯而易見的部分,但是中間經過的抽樣,也就是一種測量,或稱為一種隨機測驗的過程,是一個實驗,也是一個觀測函數,把母體經過一些動作而產生觀察結果。 的確在很多的例子以及練習題中,我們通常不去詳細描述母體,而只談觀測出來的結果跟機率,但是根究其數學符號上的意義若能釐清其意涵,在公式推導過程會能很輕鬆的理解。 例如 \(E[c] = c\) ,為什麼常數的期望值會是該常數? 若我們拆開來看 \(E[c] = E[X=c]\,\forall x_i \in N\) 則表...

Art Of War:Legions 兵種分析:升級哪個兵種能夠獲得最大的戰鬥力跟持續力

圖片
---- 更新:2020/04/22:新增等級八的資料 ---- 自從本文發表之後,官方調整過兵種的數據 大部分的調整著重在血量的提升,少部分兵種的攻擊力受到影響 截止至 04/20 有十六個兵種受到影響 幽靈刺客 這次在攻速跟血量遭到弱化 註:因為網友提醒 夜魔衛兵 具有死後再生的能力 故 HP 乘以 2 計算,以至於持續力大於 神盾兵 。 同時 馴獸師 的技能會多出一隻熊,故數量為二。 (ㄧ)前言 Art Of War: Legions 中有些兵種會隨著升級而提升數量,有些不會。有些兵種一個單位的攻擊力很高(如:惡魔),但是其數量卻不會隨著升級而提升。因此本分析報告會分開討論計入兵種數量的能力表現,與只計算一單位兵種的能力表現。 (二)等級對兵種數量的影響 如下圖所示,我們可以依照等級提升時會不會一併提升兵種數量而把兵種分為兩群,第一群共有十二個兵種其數量會隨著升級而提升(如表二所示),在等級四時達到最大單位(9)。另外一群兵種數量則維持為一個單位,不受等級提升而變化。 圖一:等級對兵種數量圖 表二:等級七時,各兵種的數量資料細節 (三)計入兵種數量的能力表現 實際在場上部署兵種時,兵種數量是ㄧ個能力的倍數放大器。即使每一單位能力值屬於普通的兵種,再升級後加上兵種數量的加成,也能夠超越單位能力頂尖的兵種。因此本分析報告會以計入兵種數量的能力值作為對玩家在選擇兵種上的建議。 建議升級的兵種: 持續力方面:(定義為生命力*(90+防禦力)/90*兵種數量) 在等級八時,得分高分群為:  夜魔衛兵  >  神盾兵  >>  鐵衛  >  聖教徒  >  巡禮者  >  步兵 & 獄卒  >  強盜  =  聖火法師   表三:在等級八時,各兵種計入兵種數量的持續力得分表 戰鬥力方面:(定義為攻擊力*攻擊速度*兵種數量) 在等級八時,得分高分群為:  強盜  >  幽靈刺客  =  ...