發表文章

目前顯示的是 3月, 2020的文章

[資工] 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-chrome-

[英文] 用 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\), the propo

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 - \mu_y)}{N(N-1)}$$ $$=\fra