|從六部末世作品來看末世題材的SOP|(文長)
Feat.《日本沉沒2020》、《我是傳奇》、《學園默示錄》、《末世孤雄》、《末日之戰》、《屍速列車》
末日題材,或者說末世題材(這邊主要說喪屍類),一直以來都是熱門的創作類型,不管是在小說、電影、動畫、漫畫之中都被大量運用,然而為甚麼這種類型的作品能夠這麼受眾,大家到底想從這些故事與角色中尋找什麼?
我們在看末世題材時,心理渴望的是一種解放感,一個人在絕望的背景襯托之下,隱隱透露出的美好。我們不用付錢就可以在超商取得食物,我不用為了維持生活而疲於工作,我們看到路上一台車可以隨便開走,我們不用受到階級與金錢的束縛,誰的拳頭大誰就是道理。
除了一種解放的快感之外,把自己投射在主角身上也是一個原因,當主角拿著球棒在打喪屍,或者拿起隨處可見的鐵管一棒尻下去,相比科幻電影的火力交鋒是貼近現實的。喪屍像人但又不像人,對我們來說,殺死它跟殺死害蟲一樣,不會有任何道德拘束,更似於一種正常的宣洩。
在法律摧毀,無法可管的情況,人類最原始的狀態漸漸嶄露,守著道德底線對於生存是否有用,就成了末世題材的一大難題,而通常主角群會保有最低限度的道德觀,不會無條件的殺戮,因為這種毀三觀的描述,通常會引起觀眾的反感,所以作者加進了動機,加進了不可抗力,賦予了他們合理使用暴力的權利,同時也滿足了我們的道德感。
末世題材有所謂的公式,分為三個階段。接下來會用六個作品,分別是《日本沉沒2020》、《我是傳奇》、《學園默示錄》、《末世孤雄》、《末日之戰》、《屍速列車》來解釋這三個階段的應用。
雖然這樣對《日本沉沒2020》有點不公平,同為末世題材,但他是這裡面唯一一個災難類型而不是喪屍類型,不過沒辦法,誰叫我最近只有看了這部末世動畫。
|末世題材三階段|
第一階段:暴風雨前的寧靜
第二階段:混亂、衝突、惡的展現
第三階段:異變後的未來
第一階段:暴風雨前的寧靜
這一階段我認為是最不能崩的一個階段,往後階段你都可以找個理由搪塞過去,但是只要在第一階段沒處理好,觀眾只會馬上關掉電腦,不會買單。
這一階段著重於,我們不知道發生什麼事的徬徨感,一覺醒來發現世界變了樣,一走出家門發現好多喪屍徘徊,他要的是一種從日常轉換成非日常的瞬間感,往往這種瞬間感的襲來,會讓角色措手不及,促使他們慌亂接著思考然後鎮靜,觀眾所要體驗的就是心態上巨大轉變,並且隨之而來的未知神秘感。
《日本沉沒2020》、《我是傳奇》、《學園默示錄》、《末世孤雄》、《末日之戰》、《屍速列車》,這六部都把第一階段的特點發揮的十分出色,《日本沉沒2020》他在這點帶給觀眾的衝擊真得很棒,先把每個主要角色的日常透過不斷的轉場,一幕幕的呈現給觀眾看,導演非常清楚這種反差得比較越清楚,觀眾在接下來的投射感會更強烈,所以導演仔細的把那些角色對於未來的期許與接下來將要做些什麼事,這些瑣碎的事情完整的呈現出來。
前置作業完善後,畫風一轉,巨大的變革瞬間摧毀了主角們的日常,這時候會忠實呈現角色的心境,《學園默示錄》在這一點非常乾淨俐落,聽到喪屍的報導,學校的同學老師鳥獸散,踩死人或許還大於喪屍咬死人的數量,友誼的小船說翻就翻,在混亂的心境下是如此合情合理。
《屍速列車》則是把日常的侵蝕感描寫的最好,透過開場被撞死的鹿,透過股市不正常波動與各地異常新聞,這些不正常早已蠶食鯨吞了日常,一點一滴的不適感擴散,能夠在最後爆發之際達到最強烈的效果。
也就是說合理的日常鋪墊與事後爆發宣染度成正比,這也是為什麼在這個階段非常重要,不過就像穿越作品一樣,第一階段的篇幅只需要占整個作品中非常微小的部分,因為觀眾想看的是末世後的景象,末世前只是個引子,讓我們更好投入倒末世後的助燃劑,所以該如何把這個階段作的精緻而短小就非常重要。
第二階段:混亂、衝突、惡的展現
第二階段也是主要的劇情所在,世界變了樣,我們開始看著角色們如何活在這個亂世中,一開始我們對世界變化的狀態一無所知,因為國家癱瘓,通訊被封閉,能夠得到的資訊有限,許多資訊需要透過命來換,你只能在未知的情況下走一步算一步,一無所有的無知感是在第二階段初期最需要投入的主力,透過以命摸索,不斷實驗,慢慢地了解這個世界的規則。
《屍速列車》透過隧道發現喪屍只要看不到就不能行動,後來又知道聲音是它們行動的依據,實驗出來的資訊轉換成他們的工具,用來逃脫或是陷害。
《學園默示錄》裡面,也是靠著無數的生命取得了喪屍的特性,《末世孤雄》則屬於比較外掛的類型,因為主角不會被咬,他可以肆無忌憚的到處探索,相對起來代價較小,但由於該作品的喪屍會透過吃人進化,有智慧的喪屍仍然會造成威脅,所以第二階段就是各種作品開始分歧的時候,特別是人物與喪屍的設定。
在法律無用武之地的世界,人類沒有了法律這層束縛,開始作出平常不會做的事情,殺人、搶劫、脅迫等等。前面提到,主角群基本上保有道德底線,除非萬不得已,不會做出格之事,衝突也隨之而來。
那些道德淪喪者與主角群的衝突就是這個階段最能夠推進劇情與展現變化的餌料,一個變數引爆了另一個變數,能夠讓劇情更加撲朔迷離。此時也是我們最容易帶入角色感情的時候,我們會試著去同理角色的行為,一但這個情況發生,我們還會幫助別人嗎?一旦威脅靠近,我們還會死守道德嗎?
這也是最有意思的地方,每個人的想法都不同,同一個情況會有好幾種選擇,在那個世界下,很多時候都是被迫去做出自己不想做的選擇,人性的展現與掙扎,就像一面鏡子,能夠讓觀眾看到在最極端情況下卸掉面具的自己。
雖然身處於一個異變的世界,其中我們所為故事的反派不會變成是喪屍或是天災,仍然是人。《學園默示錄》裡的男老師是反派;《日本沉沒2020》的大麻邪教團也可以說是一種反派;《屍速列車》裡的自私老闆也是一個反派。
在這個階段主角群通常就會經過三種狀況,對於情報的混亂並逐漸掌握,開始確立目標(EX:找到解藥或收容所),與到來的衝突對抗,在對抗途中可能會經歷背叛欺騙,最後活下的人凝聚感情尋找目標,才會進入最後的階段,也就是收尾。
第三階段:異變後的未來
第三階段在很多作品中都不太會講死,從第二階段主角們確立目標之後,通常就是兩條路線,因為政府的資源充足,基本上都會有大量倖存者與資源,建立收容所重振人類文明,所以主角會選擇尋找僅存的安全地或者是尋找解藥,《我是傳奇》、《末世孤雄》與《末日之戰》都是對於喪屍有特別描述的作品,它們都花了許多篇幅來解釋喪屍的由來與對抗方法,這時候的主角們多半都會被派去或自發去當個人類救世主。
除了《學園默示錄》在作者過世後,並沒有結局,其它作品多半都是採用半開放式結局,我們知道主角找到了解藥或它們抵達了安全地,但在世界秩序重整的部分並沒有做出來的,通常也沒有這個必要,我們只要知道主角克服了許多困難,跟他的小伙伴成功完成目標就足夠了。或許是有別於喪屍類型的無解,災難類型的《日本沉沒2020》相對來說給出了一個完整結局,倖存的角色都給出了幾年後未來的模樣,只是最後一集的日本大外宣看得令人有點出戲。
基本上,末世題材作品幾乎都圍繞著這三階段SOP在打造,當然其中的細項有許多,有喪屍、核末、末日後的旅行、天災、災變後異化,這題材可以延伸出許多分支作品,但最後我們都統稱為末世題材,各個作品在大方向的設定是一致,其中的內容卻千變萬化可以無限操弄,進而誕生了無數有趣的末世作品,從而滿足了不斷想像末世後人類的慾望。
同時也有1部Youtube影片,追蹤數超過444的網紅幼而圓Queendergarten,也在其Youtube影片中提到,原曲為:⟪心願便利貼 / 元若藍、吳忠明⟫ 原曲影片網址: https://www.youtube.com/watch?v=aBbNkOIl59Y 歌詞改編 / 演唱:幼而圓圓長Queenie . 【壞壞評量卷why why I hate the exam】 (歌詞 : ) 一天一天 都讓我煩心 我...
「無條件進入法公式」的推薦目錄:
- 關於無條件進入法公式 在 緒語の雜食性影劇觀後感 Facebook 的精選貼文
- 關於無條件進入法公式 在 Taipei Ethereum Meetup Facebook 的最佳貼文
- 關於無條件進入法公式 在 換日線 Crossing Facebook 的最佳貼文
- 關於無條件進入法公式 在 幼而圓Queendergarten Youtube 的最佳解答
- 關於無條件進入法公式 在 無條件進位數學符號在PTT/Dcard完整相關資訊 的評價
- 關於無條件進入法公式 在 無條件進位數學符號在PTT/Dcard完整相關資訊 的評價
- 關於無條件進入法公式 在 無條件進入法的評價費用和推薦,EDU.TW、PTT.CC 的評價
無條件進入法公式 在 Taipei Ethereum Meetup Facebook 的最佳貼文
📜 [專欄新文章] Uniswap 解析:恆定乘積做市商模型 Constant Product Market Maker Model 的 Vyper 實作
✍️ 田少谷 Shao
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
在 🦄 Uniswap v2 到來之前徹底了解 v1 的設計與演算法!
Image source: https://uniswap.org/
Outline
一. 前言二. 恆定乘積做市商模型 Constant Product Market Maker Model 1. 計入手續費 2. 程式碼結構 3. 演算法核心與實作 4. 段落小結三. 流動性 Liquidity 1. 第一筆流動性注入、決定k值 2. 除了第一筆以外的情況四. 結語
一. 前言
暨上一篇開始接觸了 Vyper 後,我找了 Uniswap 的程式碼來更加熟悉 Vyper 的實作方法,順便研究了其演算法,然後就又寫了一篇 xD
類 Python 的合約語言 Vyper 開發入門:與 Solidity 差異、用 Truffle 部署、ERC20 賣幣合約實做
Uniswap 是以太坊上非常成功的自動做市商 Automated Market Maker (AMM)。本次我將用的 Uniswap 的程式碼搭配由 Runtime Verification 這家審計公司對 Uniswap 所做的形式化驗證結果來解釋恆定乘積做市商模型的 Vyper 實作 (2018 審計時 Uniswap 就已經是用 Vyper 而非 Solidity 了):
智能合約程式碼:https://github.com/Uniswap/uniswap-v1/blob/master/contracts/uniswap_exchange.vy
合約審計結果:https://github.com/runtimeverification/verified-smart-contracts/blob/master/uniswap/x-y-k.pdf
本文將以講解實作概念及數學推導為重點,程式碼的部分只是輔助。審計結果將恆定乘積做市商模型演算法的數學推導寫得非常清楚而有趣(?),建議有興趣者可以整份看過一遍,相信得到很多收穫!
至於更多 Uniswap 的介紹有興趣者可以參考 吳冠融 Roger Wu 所撰寫的簡介與使用流程:
解析 DeFi 項目《Uniswap》(一)Uniswap 是什麼?
解析 DeFi 項目《Uniswap》(二)Uniswap 如何使用?
在開始前的最後,先預告本文頗長,所以來播個被 Youtube 推薦的歌吧:
二. 恆定乘積做市商模型 Constant Product Market Maker Model
交易所如果要去中心化、也不使用掛單 order book,就需要靠演算法自動算出交易標的的數量與價格,而 Uniswap 使用名為恆定乘積的演算法,其來源可追溯自 Vitalik 的這篇文章:點我。
公式非常的簡單:x * y = k。令交易的兩虛擬貨幣為 X 和 Y,各自數量為 x 和 y,兩貨幣數量的乘積 x * y 恆等於 k,k 值是由第一筆注入的流動性所決定 (於 三. 流動性 Liquidity 解釋)。
因此,用 ∆x 數量的 X 幣來購買 Y 幣所能得到的數量 ∆y、或是為了購買 ∆y 需要付出的 ∆x 數量,依照此公式進行計算:(x+∆x)(y-∆y) = k,而交易的價格就是兩幣量 ∆x 和 ∆y 的比。
以下公式用 α = ∆x / x 和 β = ∆y / y 來表示 ∆x 和 ∆y 及 X Y 兩幣在交易發生後的新均衡數量:
圖一
1. 計入手續費
在 Uniswap 進行的每一筆交易都會被收取 ρ = 0.003 / 0.3% 的手續費回饋給流動性提供者 liquidity provider ,因此要將手續費納入公式的考量:
圖二
上圖的公式或許不太直覺,我建議不要從 x’ρ 及 y’ρ 開始理解,而是從 ∆x 和 ∆y 兩值開始:手續費 ρ = 0.3% 的意思是會從付款中扣掉 0.3 %,也就是從 ∆x 扣。在有手續費的情況下 ∆x 就變成了 (1-ρ)∆x ,若令 γ = 1-ρ 則為 γ∆x。因此,將圖一中的 ∆x 換成 γ∆x,就會得到以下式子:
source: https://www.codecogs.com/latex/eqneditor.php
將等號左方的 γ 移到右方後就得到了圖二中的 ∆x。同理,由於 ∆y 中的 α = ∆x / x ,用 γ∆x 代換 ∆x 就會得到圖二中的 ∆y (有 α 的地方乘上 γ )。而 x’ 還有 y’ 就可以由 ∆x 和 ∆y 推出來了!
然而,將圖二中得到的 x’ 和 y’ 相乘,會得到:
source: https://www.codecogs.com/latex/eqneditor.php
也就是說,當有手續費使得 γ != 1 /ρ != 0,x’ρ * y’ρ 的值其實會稍微和 xy = k 不同:在實作上 γ = 0.997 / ρ = 0.003,因此 1/γ-1 ≒ 0.003。β = ∆y / y 代表的是換得的 Y 幣佔總量的比例,即使最大值為 1,誤差也只有 1 * 0.003,故可知手續費 = 0.3% 對於 k 值的影響極小。
2. 程式碼結構
了解了基本的公式後,就可以開始研究程式碼是怎麼撰寫的。首先來看各個函式的功能:
addLiquidity() 及 removeLiquidity():轉入與轉出資金,留到 三. 流動性 Liquidity 中說明
getInputPrice() 及 getOutputPrice():最主要的函式,用以計算給 ∆x 所能換得的 ∆y 數量、以及為了得到 ∆y 所要支付 ∆x 的數量。此兩函式會被其他負責進行交易、匯幣的函式使用
三組 (eth->Token, Token->eth, Token->Token) 的 swap() 及 transfer():swap() 的收幣人就是付款人、transfer() 的收幣人不是付款人而是指定的對象。基本上這兩函式就是呼叫 getInputPrice() 或是 getOutputPrice() 後進行匯幣的動作,因此不再多做解釋
3. 演算法核心與實作
在研讀程式碼前,先回顧一下 ∆x 和 ∆y 的公式:
首先我們考慮用 ∆x 所能購買到的 ∆y 的 getInputPrice():
什麼…就這幾行程式碼?是的。
以上的程式碼和公式表達方式不同,因此先將 α = ∆x / x 和 β = ∆y / y 代換回來並將上下同乘 x:
source: https://www.codecogs.com/latex/eqneditor.php
由於 γ = 0.003,可以將上下同乘 1000 後得到:
source: https://www.codecogs.com/latex/eqneditor.php
接著就能來對照程式碼了:
(109行) numerator: input_amount 是欲支付的 X 幣數量 ∆x、output_reserve 是 Y 幣數量 y,再乘上 997 後就是等式右邊的上方 (= 997∆xy)
(110行) denominator: input_reserve 是 X 幣的數量,乘上 1000 再加上剛剛算過的 997∆x,就得到了等式右邊的下方 (= 1000x + 997∆x)
此處要注意的是 Vyper 的除法是無條件捨去,等同於 floor() 函式。這會不會造成嚴重的影響呢?如果熟悉 ERC20 的人應該記得,在發幣時輸入的四個參數中有一個參數代表小數點的位數,如同下方程式碼中的 2 代表最後兩位在小數點後。舉例來說,當 getInputPrice() 收到 1234567 為這個幣的 input_amount 時,代表使用者擁有的幣的數目實際上是 12345.67。因此,即使將結果捨去 0.67 後的數字,影響真的不大,況且如果不捨去而選擇無條件進位,那代表交易所反而要虧損一點點啦,太佛心了吧 xD 有興趣者可以看看審計報告的內容,有更詳細地去定義這些誤差所影響的範圍!
再來我們看若要購買 ∆y 需要付出多少 ∆x 的 getOutputPrice()。
一樣先將 α = ∆x / x 、β = ∆y / y 和 γ = 0.003 代換並上下同乘 1000y 得到:
source: https://www.codecogs.com/latex/eqneditor.php
我們已經看過 getInputPrice() 一次了,所以應該能發現第 122–124 行得出的結果和上式相同。要注意的是這邊的結果反而是無條件捨去後直接 +1,因為這是在計算使用者要付多少 ∆x 才能購買到 ∆y,為了不讓交易所虧只能選擇請使用者多付一點點。
4. 段落小結
以上就是撇除匯幣等函示,恆定乘積做市商的 Vyper 實作,沒錯就這樣而已!Uniswap 之所以可以做到低 gas 消耗就是因為這個演算法本身就非常簡單,所需的運算也就是兩三次乘除法而已!
不過我們還沒結束,接下來要談談如何投入資金/注入流動性,而這部分也包含了決定 k 值的精妙機制!
三. 流動性 Liquidity
流動性指的是交易市場中能夠交易的資金/標的物的量。使用自動做市商 (AMM) 而非掛單的最大好處就是市場一定會有流動性,而缺點就是如果交易量越大就會造成越大的滑點 Slippage,意思就是交易價格變動會越大、得到的價格越差 。
source: https://ethresear.ch/t/improving-front-running-resistance-of-x-y-k-market-makers/1281
我們可以用上面提到的 V 文章中的圖片來迅速帶過,畢竟有關注 Uniswap 的讀者大概都已經看過這圖很多次了。
當要兌換的幣的數量越大/占比越重,例如:20% Y 幣的流動性,就會造成要付出比兌換少量時極為不對稱的高額 X 幣。
接著我們要來探討注入流動性的原則,依照市場是否已經有流動性而區分為兩種情形:
1. 第一筆流動性注入、決定 k 值
以下程式碼是 addLiquidity() 函式中 46-48, 51, 及 64-74 行。當市場上還沒有任何流動性時,不會滿足第 51 行而是進入 64 行的 else。
在第 65 行我們可以看到 msg.value ≥ 10¹⁰,以及在 67 行 token_amount 就是其中一個輸入值 max_tokens。這邊代表的是第一個注入流動性的使用者可以自行決定要注入多少 Ether (≥ 10¹⁰) (= x) 以及相應的幣的數量 (= y),也就是上方提到的 k 值 (= x* y),在本例的 X 幣就是 Ether。(本處先不解釋剩餘的程式碼,留到 2. 除了第一筆以外的情況)
那麼問題來了:第一個注入流動性的人要怎麼決定提供各自多少的兩種幣呢?最好的辦法是依照當時兩幣的市價比,讓兩者的價值 (數量 * 價格) 相同,例如:當 1 Ether 的價格為 100 Dai,注入 1 Ether 以及 100 Dai 是最好的,因為兩種幣的總價值是一樣的,以下舉例說明原因。
當 1 Ether 市價為 100 Dai 時,假設第一人決定注入 1 Ether 和 50 Dai (k = 50),總價值為 150 Dai,我們考慮兩種兌換方法:
Ether -> Dai:用 0.1 Ether 來購買 Dai,依照上方公式 (1+0.1)(50-y) = 50 可得 y ≒ 4.55,也就是說得到的價格是 0.1 Ether = 4.55 Dai,遠低於市價 0.1 Ether = 10 Dai,相信沒有人這麼傻~
Dai -> Ether:用 2 Dai 來購買 Ether,依照上方公式 (1-x)(50+2) = 50 可得 x ≒ 0.038,也就是說得到的價格是 2 Dai = 0.038 Ether,高於市價 2 Dai = 0.02 Ether,那麼眼尖的人就會立刻衝來套利了xD
那麼即使如此,第一人有所損失嗎?當然有!假設路人 A 手上有 30 Dai (= 0.3 Ether),A 看到機會後就把 30 Dai 全換成 Ether:(1-x)(50+30) = 50 可得 x = 0.375,大於原本持有的 Dai 的價值 0.3 Ether。此時,第一人即使立刻抽出現存的全部資金 Ether = 0.625 及 Dai = 80,總價值也只剩下 142.5 Dai,比起原本的 150 Dai 還少。以上的計算還有手續費沒有納入考量,但也只有 30 Dai 的 0.3% = 0.09 Dai。
由上例可知,第一位提供流動性的人為了避免自己的損失,確實得依照當時兩幣的市價比去提供相應的數量。傑克,這真是太神奇了0…0
2. 除了第一筆以外的情況
如果市場已經有流動性,使用 addLiquidity() 來注入流動性就會進入第 51 行的 if。
source: https://github.com/Uniswap/uniswap-v1/blob/master/contracts/uniswap_exchange.vy
(53行) eth_reserve: 由於使用者已經透過函式 addLiquidity() 將錢匯入了合約,因此將合約所擁有的 Ether 數量 self.balance (= x + ∆x) 減去使用者匯入的錢 msg.value (= ∆x),得到使用者匯錢之前合約內所擁有的 Ether 數量 (= x)
(54行) token_reserve: self.token 是一個餵入幣地址的 ERC20 instance;透過呼叫 ERC20 的函式 balanceOf() 即可查出合約所擁有的 Y 幣的數量 (= y)
(55行) token_amount: 透過將合約所擁有的 Y 幣的數量 token_reserve (= y) 乘上使用者匯入的錢 msg.value (= ∆x) 對合約原本擁有的Ether 數量 eth_reserve (= x) 的比例,代表使用者應該相應地注入多少 Y 幣 (∆y = y * ∆x / x)。除法一樣是無條件捨去
(56行) liquidity_minted: 將原本交易所中的總流動性 total_liquidity 乘上增加的比率 msg.value / eth_reserve (= ∆x / x) ,代表增加的流動性,隨後會在第 58 行記錄下來
(60行) transferFrom() 函式將使用者應付的 Y 幣數量 token_amount (= ∆y) 匯入當前合約,就完成了流動性的注入。小提示:智能合約中的 assert() 會確保函式內的條件如果失敗就整筆交易 transaction 直接取消,因此只要傳入的參數已經被計算好,於 60 行再進行 transferFrom() 其實與放在前面並沒有太大的差別
以上就是注入流動性的大致實作內容。取出資金 removeLiquidity() 其實與 addLiquidity() 的做法大同小異,因此就不再贅述。
四. 結語
呼,真的累。恆定乘積做市商模型的概念雖然簡單,但解釋起來還是挺複雜的!其實本文並未著墨於審計報告中的主要議題:評估因為整數除法 (不使用浮點數) 而造成的誤差範圍,因為講起來非常複雜、也不是真的這麼需要知道。不過,恰巧就是這些程式碼的細節有可能讓程式產生預期之外的結果!因此,對於有興趣了解該如何去分析智能合約整數除法的讀者,可以研究一下;而 Uniswap 的程式碼因為是用 Vyper 實作,可讀性非常高、同時也不難,因此也非常值得打開來看看、甚至動手實作自己的版本!
最後,如果本文有任何錯誤,請不吝提出,我會盡快做修正;而如果我的文章有幫助到你,可以看看我的其他文章,歡迎一起交流 :)
田少谷 Shao - Medium
Uniswap 解析:恆定乘積做市商模型 Constant Product Market Maker Model 的 Vyper 實作 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
無條件進入法公式 在 換日線 Crossing Facebook 的最佳貼文
【回台後,我還是主流社會的「剩女」】#為自己而做
迎向 35 歲的單身輕熟小資女,辭了大公司的管理職跑去溫哥華讀英文?是為哪樁?不為什麼,不是為了找一份更漂亮的工作,而是因為我能用另個語言更了解這個世界,這是我想做的。
在國外,總是能從老師們的身上看到年齡與身份的跨界,對他們來說,年齡並非分界,什麼樣的年齡去做自己喜歡的事情都不遲,所以他們隨時準備開啟斜槓人生。
我們太習慣套用年紀的標準公式換算幾歲該做什麼,而夢想更是屬於年少時代的產物,過了幾歲就該拋棄,人人無條件進入現實廻圈裡無限纏繞著,直至忘了曾有的夢。
回望那時,日子硬生生又過了幾年。照世俗的標準我是魯蛇和剩女啊。那砸了錢幾年後也不過如此,不後悔嗎?不會,因為這是自己想做的事啊 →
▍新期季刊《倫敦:後脫歐時代》→ bit.ly/2Ut1oPB
▍追蹤換日線 IG 帶你看遍世界→ bit.ly/2q2IeiX
▍2 月徵稿:科系大調查!學長姐現身說法 → bit.ly/39kVggw
▍讀者投書必讀攻略→ bit.ly/2JyY5PM
▍主題徵稿:世界職人故事→ bit.ly/2ObiUTH
無條件進入法公式 在 幼而圓Queendergarten Youtube 的最佳解答
原曲為:⟪心願便利貼 / 元若藍、吳忠明⟫
原曲影片網址: https://www.youtube.com/watch?v=aBbNkOIl59Y
歌詞改編 / 演唱:幼而圓圓長Queenie
.
【壞壞評量卷why why I hate the exam】
(歌詞 : )
一天一天 都讓我煩心 我粗心 不細心
一點一滴 我都不在意 你是我煩惱的東西
/
想不到 取概數 要進入 還是捨去
先使用 四捨五入法 代替
最困難 不一定 要許多 數學國語
看著史地 有好多的烏雲
/
把我的 討厭 評量卷 送到天邊
簡單的公式 用了心 還是不會
疊滿滿的考卷 評量卷 多到無限
就是我們 最痛苦的深淵
/
把我的 單字 和句型 通通忘記
聽力的時間 我的天 倒地不起
/
祢給我 的預言 好準確 趕快擲筊
如果猜對 給老天納稅
/
想不到 取概數 要進入 還是捨去
先使用 四捨五入法 代替
最困難 不一定 要許多 數學國語
看著史地 有好多的烏雲
/
把我的 討厭 評量卷 送到天邊
簡單的公式 用了心 還是不會
疊滿滿的考卷 評量卷 多到無限
就是我們 最痛苦的深淵
/
把我的 喜歡 男演員 重播兩遍
考試的那天 我的天 只有白卷
你和我 的差別 考試卷 有寫沒寫
家長訂簽 給老師批閱
/
(啦啦啦)
把我的 喜歡 男演員 重播兩遍
考試的那天 我的天 只有白卷
你和我 的差別 考試卷 有寫沒寫
家長訂簽 給老師批閱
/
一天一天 都讓我煩心
一點一滴 我都不在意
你是煩惱的~東~西~
/
/
🎁小故事:
改編這首歌的靈感是在大約兩週前
小學生期末考前夕
我的兩個學生
一邊痛苦的寫著數學考卷
一邊哼哼唱唱這首歌的原曲「心願便利貼」
.
一時興起好玩的念頭
其中一位小朋友小學四年級
數學剛好教到「概數」
無條件進入、無條件捨去、四捨五入
也把部分歌詞改成和考試相關的內容~
.
✏️請關注並追蹤我們❤️
臉書: https://www.facebook.com/Queendergarten/
instagram : @queendergarten
蝦皮:queendergarten
Pinkoi:幼而圓
Line官方帳號:@vro8827q
無條件進入法公式 在 無條件進位數學符號在PTT/Dcard完整相關資訊 的推薦與評價
[ROUND函數]四捨五入、無條件進位、無條件捨去於計算公式中設定ROUND函數,可將數值的指定位數四捨五入。 此外,還能設定ROUNDDOWN函數以及ROUNDUP函數,可進行無條件捨去 ... ... <看更多>
無條件進入法公式 在 無條件進位數學符號在PTT/Dcard完整相關資訊 的推薦與評價
[ROUND函數]四捨五入、無條件進位、無條件捨去於計算公式中設定ROUND函數,可將數值的指定位數四捨五入。 此外,還能設定ROUNDDOWN函數以及ROUNDUP函數,可進行無條件捨去 ... ... <看更多>