本篇文章是個經驗分享系列文,作者探討 Kubernetes 內 15 種不被建議的部署策略與模式。
作者之前曾經撰寫過 Contianer 架構底下的部署模式探討,而本系列文(三篇)則是著重於如何將這些 containers 透過 Kubernetes 給部署到生產環境,總共會探討十五種不推薦的模式,接下來的三篇文章將會介紹各五種不好的模式。
Using containers with the latest tag in Kubernetes deployments
任何 container 的 image 都不應該使用 latest,因為 latest 本身沒有任何意義,這會使得維運人員沒有辦法掌握到底當前部署的版本是什麼,更嚴重的情況適當 latest 搭配 PullPolicy:Always 時會產生更為嚴重的問題。因為 Always 的策略導致每次 Pod 部署時都會重新抓取 image,所以一個 deployment 中,多個使用 latest tag 的 Pod 但是其實使用的 image hash 是不同的。
作者認為比較好的做法有
1. 所有 container image 都是不可修改的,一旦建立就禁止覆蓋,有任何改動就進版
2. 部署用的 image tag 使用有意義的版本名稱
補充: 實際上 pull image 也可以使用 sha256,譬如 "docker pull hwchiu/kubectl-tools@sha256:acfb56059e6d60bf4a57946663d16dda89e12bfb1f8d7556f277e2818680e4c8"
Baking the configuration inside container images
任何 contaienr image 建置的時候應該都要往通用的方向去設計,而不是參雜各種設定在裡面。著名的 12-factor app 裡面也有提到類似個概念,建置好的 image 應該要可以 build once, run everywhere,動態的方式傳入不同的設定檔案,而不是把任何跟環境有關的資訊都寫死
舉例來說,如果 image 內包含了下列設定(舉例,包含不限於)
1. 任何 IP 地址
2. 任何帳號密碼
3. 任何寫死的 URL
作者認為比較好的做法有
1. 透過動態載入的方式來設定運行時的設定,譬如Kubernetes configmaps, Hashicorp Consul, Apache Zookeeper 等
2. 根據不同程式語言與框架甚至可以做到不需要重啟容器就可以載入新的設定
Coupling applications with Kubernetes features/services for no reason
作者認為除了很明確專門針對 Kubernetes 使用,或是用來控制 Kubernetes 的應用程式外,大部分的 應用程式包裝成 Container 時就不應該假設只能運行在 Kubernetes 內。作者列舉了幾個常見的使用範例,譬如
1. 從 K8s label/annotation 取得資訊
2. 查詢當前 Pod 運行的資訊
3. 呼叫其他 Kubernetes 服務(舉例,假設環境已經存在 Vault,因此直接呼叫 vault API 來取得資訊)
作者認為這類型的綁定都會使得該應用程式無法於沒有 Kubernetes 的環境運行,譬如就沒有辦法使用 Docker-compose 來進行本地開發與測試,這樣就沒有辦法滿足 12-factor 中的精神。
對於大部分的應用程式測試,除非其中有任何依賴性的服務是跟外部 Kubernetes 綁定,否則這些測試應該都要可以用 docker-compose 來叫起整個服務進行測試與處理。
服務需要使用的資訊應該是運行期間透過設定檔案,環境變數等塞入到 Container 內,這樣也呼應上述的不要將與環境有關的任何資訊都放入 image 內。
Mixing application deployment with infrastructure deployment (e.g. having
Terraform deploying apps with the Helm provider)
作者認為近年來伴隨者 IaC 概念的熱門,愈來愈多的團隊透過 Terraform/Pulumi 這類型的工具來部署架構,作者認為將部署架構與部署應用程式放到相同一個 Pipeline 則是一個非常不好的做法。
將基礎架構與應用程式同時放在相同 pipeline 可以降低彼此傳遞資訊的困難性,能夠一次部署就搞定全部,然而這種架構帶來的壞處有
1. 通常應用程式改動的頻率是遠大於基礎架構的改變,因此兩者綁在一起會浪費許多時間在架構上
假如部署基礎架構需要 25 分鐘而應用
https://codefresh.io/kubernete.../kubernetes-antipatterns-1/
同時也有7部Youtube影片,追蹤數超過52萬的網紅巴哈姆特電玩瘋,也在其Youtube影片中提到,※巴哈姆特電玩瘋因疫情升溫,近期將暫停主持人錄影,也請各位玩家盡量待在家防疫喔!※ 00:00 本週手機遊戲新聞 00:49《Froglike: The Frog Roguelike》 iOS 下載: https://apps.apple.com/tw/app/id1571357790 Andr...
「run in測試」的推薦目錄:
- 關於run in測試 在 矽谷牛的耕田筆記 Facebook 的最佳解答
- 關於run in測試 在 Taipei Ethereum Meetup Facebook 的最佳貼文
- 關於run in測試 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於run in測試 在 巴哈姆特電玩瘋 Youtube 的最佳貼文
- 關於run in測試 在 Susie Woo 戴舒萱 Youtube 的精選貼文
- 關於run in測試 在 陳寗 NingSelect Youtube 的最讚貼文
- 關於run in測試 在 【Brooks Run Signature 步履測試–... - Escapade Sports Hong ... 的評價
- 關於run in測試 在 在xephyr 上執行awesome - samwhelp 的評價
- 關於run in測試 在 test run - GitHub 文档 的評價
- 關於run in測試 在 【野團】換新電腦之壓力測試台【斯普拉遁3/Splatoon3 ... 的評價
- 關於run in測試 在 多階段折返跑測試multi-stage shuttle run test audio〈僅哨聲 ... 的評價
- 關於run in測試 在 Rails 專案搭配Github Actions 進行RSpec 自動化測試 的評價
run in測試 在 Taipei Ethereum Meetup Facebook 的最佳貼文
📜 [專欄新文章] 來聊聊MEV之亂
✍️ Anton Cheng
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
MEVA vs Fair Ordering.
Credit: MP頭條
前言
最近這幾個月來,以太坊上面的MEV(Miner Extractable Value)的話題越來越紅,對於該如何解決這之中的不公平性,社群中展開了很大的爭論。由於最近剛好看到一篇很棒的Tweet統整了這半年來的一些好文章,就試這整理一下這幾篇的主要論點。(如果對MEV已經有基本概念的人,也可以直接follow這個thread就好xD)
— @benjaminsimon97
由於主要辯論的雙方剛好是目前做Optimistic Rollup最有名的兩大團隊:Optimism 和 Arbitrum,因此我們也可以透過這次辯論看出兩個團隊未來的開發走向。
前情提要: 什麼是MEV (Miner Extractable Value)
在Ethereum現有設計中,Miner有著選擇交易收入區塊(Tx Inclusion),和決定交易先後順序(Tx Ordering)的權力。MEV指的就是礦工透過掌握這兩個權力所能提取的總價值。
雖然名詞定義上為礦工的可抽取價值,但是除了礦工之外,很多Front running 機器人在做的事情也是一樣的:透過觀察mempool裡面的交易,當發現front run機會的時候,透過付錢更高手續來讓自己的交易先被執行,這之中所抽取的價值,也是所謂的MEV,因此在後面會提到的很多文章中,大家直接用Front Run這個詞來代表了擷取MEV的行為。@danrobinson 在他經典的文章 Ethereum is a Dark Forest 中很好的闡述了如此的現況,也正式把這個問題帶進更多人的視野。
在那之後,一個名為FlashBots的組織現身,開始進行公開的MEV 相關研究與開發,旨在改善EVM帶來的負面影響,例如:front running 造成手續費提高、 MEV太高對以太坊安全性的影響。非常推薦大家Follow他們的進展。
接下來我們就來看看,一個重要的Proposal已經圍繞它而生的一些辯論。
MEVA (MEV Auction)
MEV Auction 是由 Karl Floersch 、Vitalik 、Philip Daian等人,於2020年一月共同提出的解決方法,字面上的翻譯就是透過一個拍賣(Auction)機制,讓MEV可以被更公平的分配。Karl 同時也是Optimism的CTO,也可能是因此設計出了這個能夠完美契合Layer2的架構。
更精準一點來說,這個拍賣要拍賣的是礦工的兩個權力中的「排序權」:它礦工未來只負責「選擇交易進入區塊」,而不再控制區塊內交易順序的排列,而把此權交給另外一個叫做Sequencer的角色來進行。至於Sequencer的選擇方式,就會是一個簡單的拍賣競標。在競標中獲勝的Sequencer將可以拿到未來一段時間的區塊排序權。至於整個協議競標中得來的錢,可以作為提供公共財的資金(fund public goods)。
為什麼說這個提案契合Layer2,是因為在L2原本的設計中,就是由一個Sequencer收取所有用戶的L2交易,在L2的鏈上執行,最後把執行結果以及所有交易資料Publish到L1上。換言之,這個排序者角色其實已經存在L2的架構中。若是L2層先實做看看這個拍賣機制,就可以在不改變以太核心協議的情況下,測試一下其可行性、參數等等。
對MEVA的質疑
在MEVA概念被提出之後,Ed Felton (Arbitrum 背後公司 Official Lab 的創辦人兼普林斯頓的教授),對此提出了諸多的質疑。
1. 用戶最終體驗是否變差
Ed Felton最先寫了一篇名為「MEV auctions considered harmful」的文章,其中質疑了這個設計會讓使用者體驗更糟:這個Ordering權力的競標,無異於將「Front Running」這個行為專業化,因為理論上最會front run的人,將能夠一直出最高價得標。這在使得「Tx Ordering」這個權力中心化的同時,更變向鼓勵了大家開發厲害的front running程式,最終的受害者仍是的以太坊一般用戶,因為所有的MEV其實都是從用戶的身上抽出來的。
MEV auctions considered harmful
Vitalik 對Ed的看法提出了反駁:他認為「MEV來自用戶」這件事是一個已知且不可避免的事實,這個機制主要的重點,在於分離MEV的收入與礦工的收入,藉由把這個金流轉給Sequencer這個非礦工的角色,可以去除礦工中心化等危及Layer1 安全的疑慮。一個簡單的例子就是:若是有一個MEV很高的區塊(假設礦工可以透過re-ordering拿到100個ETH),那麼礦工就有動機在這個區塊高度進行fork(希望最終自己的挖到區塊被網路接受)。這個例子讓我們看到,考慮MEV會使得礦工的行為比起「單純領block reward」更難預測,這將危及到Layer1的安全。
Vitalik也表示,專業化帶來的「中心化tx ordering」並不見得是件壞事,儘管它對於使用者體驗是有害的,但無論如何MEV是有個上限的,Sequencer並沒有權力從使用者口袋偷錢,而且用戶可以在任何時候決定不使用這種比較容易被Front-run的合約。
2. 沒有MEV Auction的話,L1真的會變得更中心化嗎
Ed 接著寫了一篇名為「Front Running as a service」的文章,簡單回應了中心化tx ordering的問題,也挑戰了另一個MEV Auction的假設:「MEV將使得L1 Mining power趨於中心化」。
這個假設背後的理由很簡單,假如有一個礦池特別會front run,它將能夠獲得比其他礦池更高的收入,這會吸引所有礦工轉到這個礦池。
Ed 提出的反駁理論也十分有趣:假設現在有兩個礦工:A與B,其中兩者都有一定的算力,但A有較好的MEV程式,因此能夠透過排列交易獲得更高的收益。在任何時間點,只要B還存在,A礦工就有動機把這個MEV程式「賣給」B,因為本來B也有機會挖到一些區塊,在這些區塊中A的收益為0。若是能夠達成一個互惠的條件:B將使用A的程式多賺的收入分一部分給A,那麼這筆交易對於礦工A與B而言都是有益的,因此這筆交易必定會發生。
Front-Running as a Service
其衍伸意義為:身為MEV專家的礦工,其實有動機提供「Front Running as a service」,所以最終這個Service會自然被分離出來,並且形成一個自己的市場,本質上跟MEVA是類似的,並不會導致L1算力中心化。
3. MEV Auction是否真的能分離Tx Inclusion 與 Tx Ordering
Ed 還寫了另外一篇「MEVA(What is it good for?)」的文章,用經濟學解釋為什麼這個Auction最終會失效。
MEVA (What is it good for?)
簡而言之,不管我們如何想要分離這兩個權力,最厲害的front-runner若是能夠同時掌握Tx Inclusion的權力,它必定能夠提高自己的收入。這也表示,最厲害的Sequencer會想要自己成立一個礦池,因為當他同時掌握Tx Inclusion和Tx Ordering 兩個權力時,他能夠提供最高的報酬。因此一個理性的Sequencer會願意透過提高給礦工們更高的獎勵,來壟斷Tx Inclusion + Tx Ordering的權力(這是一個在現實商業世界中非常常見的壟斷策略)。這會使得最後這個模式會變得跟現在一模一樣:由單一角色決定Tx Inclusion和Tx Ordering的權力。
Fair Sequencing
不難看出,Ed所有的論點都圍繞一個重點:MEV Auction最終並沒有辦法解決任何問題,而且這個拍賣還會為社群帶來更多問題:例如一次拍賣24小時的交易排序權力,會讓這個權力過度中心化。
那麼Ed所在的Official Lab有提出什麼解法嗎?其實有:他們認為真正解決這個問題的方法並不是在鼓勵專業化Front Run並且拍賣這個權力,而是從根本上消除Front Run的機會,也就是說,應該要設計一個機制「避免」任何人任意排列交易順序。也就是所謂的Fair Sequencing問題。
在Arbitrum目前的計畫中,在未來他們會在Arbitrum Layer2中引入一個這樣的「公平排序」。實際的細節還沒有太明朗,他們計劃在幾個月內上線的第一個Rollup 版本也不會包含這些功能,所以其實他們的Mainnet Launch會類似Optimism,由單一Sequencer決定所有交易排序。但還是很期待他們未來能不能夠真的實作出更好的方法。
Chainlink Labs: Fair Sequencing Service
另一位Chainlink Labs 研究員(身兼康乃爾的教授) Ari Juels,也因為最近在CoinDesk發表了一篇類似的文章質疑MEVA,讓這個問題加溫不少。在這篇文章中,用了一個非常極端的譬喻:把Front Run這種惡意行為比喻為犯罪,若是一個城市充滿了罪犯,一個政府該做的事情並不是拍賣大家入室盜竊的權力、再將這些拍賣所得拿來回饋人民。反之,政府應該想辦法阻止犯罪。
這篇文章透過這樣的比喻,來表達對於MEVA機制的不認同,同時譴責Flashbots這類的社群專案是在系統化的傷害使用者,並指出「如何解決MEV應該成為以太社群的研究重點」。
Opinion: Miners, Front-Running-as-a-Service Is Theft - CoinDesk
文末的結論跟Ed Felton 相同,都是認為Fair Sequencing 才是此問題真正的解決之道。這其實是呼應自己Chainlink Labs幾個月前發佈的一個 Fair Sequencing Service。簡而言之,就是透過Chainlink 最擅長的預言機(Oracle network)來投票、避免讓一個中心化Sequencer角色單獨掌握這個權力。
其實這個Fair Sequencing 問題是一個非常大的研究領域、除了Chainlink labs提出的Oracle解決方法以外,還有許多包括ZKP的其他解決方法。我會盡量多Follow一些,以後有機會再來做更多介紹。
社群中其他的聲音
對於這個MEVA vs Fair Ordering的爭論,除了理論派以外,也有不少其他的聲音讓我們可以更全面地看看的整個局勢。其中一則Tweet表示:MEV Auction在實作上比Fair Ordering單純許多、也不需要牽扯一些複雜的密碼學:
— @tarunchitra
最後一定要提一下的是另一個以太坊大佬 Hudson 對於Ari這篇文章的回應。他認為MEV問題在短期內將會持續困擾使用者,Flashbots這種公開透明的開發流程能夠吸引更多社群關注,並且能夠讓MEV更公平的分配給更多角色、而非只是少部分的玩家。同時他也指出,以太坊核心開發者目前有更重要的2.0開發工作要做,面對這個議題,大家應該更踴躍參與以太坊公開的研究流程,而不是把所有的責任丟到所謂的「Core Devs」身上。
— @hudsonjameson
個人覺得Hudson這一段回應其實很值得大家更多思考,除了在學術上的辯論以外,真正實質上的社群參與也是很重要的。
小結
整個MEV議題到目前為止還是一個ongoing debate,在接下來幾天會不會愈演愈烈、會不會有人提出新的觀點,都是非常值得大家關注的問題。就像文章開頭低一篇Tweet所說的,這是非常高學術性良性辯論,我這裡只簡單的收錄了一部分,由於是順著Official Lab的脈絡撰寫、難免有些偏頗,希望大家可以到Flashbots的Github了解更多,會對於目前Optimism + Flashbot那一派目前所在做的事情有更多的了解。
如果還沒有follow Philip Daian這個人,非常建議大家Follow他。他除了是Flashbots目前最主要的推手之一,更有趣的是,他現在還在Cornell 念PHD,並且是Ari的學生。這場師生大戰讓整個辯論更加戲劇性,但卻不失其高質量的本質。對於接下來還會有什麼發展,讓我們一起期待吧。
— @phildaian
來聊聊MEV之亂 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
run in測試 在 Taipei Ethereum Meetup Facebook 的最佳解答
📜 [專欄新文章] 2021 區塊鏈開發入門
✍️ Johnson Chen
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
在我大學的時候,除了學習網頁前端之外,因為課程報告的需要接觸到以太坊(Ethereum),於是開始學寫智能合約,包括它使用的程式語言 solidity。
工作以後鮮少再碰以太坊的相關技術,直到最近想重新把以太坊學起來,故而決定寫這篇文章,讓初次接觸區塊鏈與智能合約的人更好地進入開發者的世界。這篇文章不只面向開發者,同時也希望能夠給對區塊鏈有興趣的人,指引一條清晰的學習路線。
關於區塊鏈
區塊鏈會被廣為人知,無非是因為虛擬貨幣的出現,而虛擬貨幣的鼻祖就是比特幣。在比特幣出現以前,沒有一個能夠在全球網路上通用的數位貨幣;在比特幣出現之後,才真的實現了數位化的貨幣,能夠在全球網路上流通。
這樣的技術性突破,blockchain 的名字從比特幣白皮書中被萃取出來,而這項技術也被更多人拿去做研發以及創新。
區塊鏈這項技術的特性可以簡單概括為兩點:去中心化(decentralized)與不可竄改(immutable)。去中心化有程度上的差別,在公共網路上由世界各地的節點共同維護的區塊鏈,去中心化程度較高;相較之下,私人企業開發由特定節點來驗證交易的區塊鏈,去中心化程度較低。
為什麼是以太坊?
這年頭區塊鏈三個字大行其道,大部分都是為區塊鏈而區塊鏈的商業炒作。容許我獨斷地說,以太坊才是區塊鏈應用的大門。
以太坊由全球最大的區塊鏈社群組成,提供一個去中心化的虛擬機器(Ethereum Virtual Machine)來處理「智能合約」,它是一個公共的區塊鏈平台,逛逛以太坊的官網吧!
智能合約
在以太坊區塊鏈中有所謂的智能合約,智能合約能夠部屬到以太坊區塊鏈上,合約即程式碼,放到區塊鏈上就不能再更新,只能執行合約上的程式,持有以太幣的人能夠與合約進行交易。把智能合約想像成是一台自動販賣機,把錢(以太幣)投進去,飲料會掉出來(合約上的程式會被執行)。
在現實生活中,簽訂合約的雙方認為合約有效而且可以被信任,是因為有國家法律來保障,違反合約可能會受到法律制裁;而用以太幣與智能合約互動,認為智能合約可以被信任,是因為智能合約的不可竄改性 — 以太坊虛擬機會毫無偏袒、完全中立、冰冷不帶任何感情地執行智能合約上已經寫好的程式碼。
建立在智能合約之上的虛擬貨幣
事實上,以太坊擴大了區塊鏈這項技術的應用層面。回頭想想,比特幣來自區塊鏈技術,某個人若想打造一款同比特幣一樣的虛擬貨幣,就得模仿比特幣去建造一個自己的虛擬貨幣區塊鏈,一個區塊鏈網路要能夠有效運作並非易事,還需要節點、需要靠人挖礦去驗證交易。此時,若使用以太坊的智能合約,撰寫虛擬貨幣需要的程式碼,將合約部屬到以太坊區塊鏈上,叮咚!他就可以發行自己的虛擬貨幣,根本不必再去建造底層的區塊鏈,也不用想挖不挖礦了。
此時會發現以太坊就像是一個區塊鏈平台,你不需要親手打造區塊鏈網路,即可享有區塊鏈去中心化與不可竄改的特性。與其他智能合約的開發者共同使用以太坊虛擬機 EVM(Ethereum Virtual Machine),在 EVM 上部屬無上限個智能合約。
以太坊是一項基礎建設,底層區塊鏈幫你架設好,開發者便有更多時間去發想應用到網頁、手機、或物連網設備上,以下是一段簡單的智能合約,該合約創造了一個虛擬貨幣簡稱 MAT…
直接進入開發領域 — 線上編輯器 Remix
Remix 是開發智能合約的線上編輯器,進入Remix官網,點選 Create New File 以後,把上方程式碼複製貼上。在左側欄位中有 solidity compiler 的選項,確認一下左側欄第一列顯示的版本,調成 0.7.0 (上方程式碼使用的版本),就可以按下下方 compile 的按鈕,將智能合約「編譯」成 bytecode(給機器讀的語言)。
接著我們要部屬合約到區塊鏈上,首先到左側欄位點選 DEPLOY & RUN TRANSACTIONS 的選項,可以看到環境是 javascript VM,這是指現在要部屬到的測試用虛擬機。按下下方的按鈕 Deploy 即可將合約「部屬」到 javascript VM 上。成功部屬後,你會發現 ACCOUNT 所持有的以太幣,從 100 變成 99.9999…,我們得知部屬智能合約需要花費一點點以太幣。
左側下方會有 Deployed Contracts,點開來就會列出合約上可供呼叫的函式,點那些函式就能與剛剛部屬上去的智能合約進行互動了。
有些函式呼叫會引發交易,所以需要以太幣,有些則不用。在 ACCOUNT 的地方可以展開來,它提供許多的地址 (address),也就是錢包,每個錢包裡面預設給你 100 顆以太幣,試著用那些地址去操作智能合約,你就能慢慢體會什麼是建立在以太坊之上的虛擬貨幣了。
真正的開發者世界
實際上開發智能合約只能算是以太坊開發的其中一部分,其他包括以太坊區塊鏈擴容方案、節點驗證等等又是另一個開發領域了,那部份我就沒有研究太多。而智能合約的開發是比較接近應用層面的,透過網頁前端或手機應用程式,與智能合約進行互動,稱作 Dapp(Decentralized App) 的開發,也象徵著網際網路走向 web3.0 的時代。
學習 solidity 語言,除了看硬生生的官方文件之外,我推薦去玩cryptozombies,我本身就是從這款網頁遊戲中學習這門語言,聽說是連小孩子都能輕易學習的教材。
除了學 solidity 之外,網路上還有很多方便的開發工具,開發者主要是運用這些工具做測試、自動化部屬、串接前端等等。許多網路上的教學文章會使用 Truffle + Ganache + web3.js 來建置開發環境。但我在這裡推薦另一款開發環境的架構,如果是新手直接從 hardhat 開始也是非常適合的,hardhat 的教學文章寫得清楚完整,本篇文章使用的程式碼也是從 hardhat-hackathon-boilerplate 這個專案而來。hardhat 使用的開發環境是 Waffle + Hardhat + ethers,它幫你把開發環境處理的簡單又舒服,讓開發者可以專注在開發智能合約上。
OpenZeppelin 是很有名的智能合約套件庫,開發時可以引入它的智能合約。智能合約很講究安全性,稍微沒寫好就可能被駭客鑽漏洞,虛擬貨幣就被盜走了!OpenZeppelin 提供的 SafeMath 很常被引入到專案,對新手來說看 OpenZeppelin 的合約也是很好的學習管道。此外,官方也建了一個學習網站ethernaut,主要在教導如何寫出安全性夠強的智能合約,可惜網站在我寫這篇文章的時間一直處於維修不能用的狀態。
最後再介紹一款實際上線的智能合約專案:Argent。它是一款運用智能合約來做虛擬貨幣錢包的公司,除了使用他們的錢包之外,也可以看看他們的智能合約是怎麼寫的,感受一下專業的程式碼架構與寫法。
小結
這篇文章希望能幫助到想了解區塊鏈這項技術的人,同時也想呈現一個智能合約的開發生態系,你大可以不必花太多力氣去了解密碼學、挖礦、節點、共識機制等等五花八門的專有名詞;反之,你可以專注在智能合約的開發,或回到本質去思考去中心化的用意、以及為什麼不可竄改的特性那麼重要。
智能合約除了做虛擬貨幣之外,也能夠做投票系統,原本以貨幣為起始點的區塊鏈技術,是智能合約的出現擴大了區塊鏈更具彈性的用途,這圈子需要更多的開發者來探勘這片新大陸。
尤其鼓勵人文社會科學的人才,無論是哲學、政治、經濟、法律或社會等各方領域,試著撇開人工智慧將主導未來社會的發展路線,與之截然不同的另一種形式:人類社會能否依靠科技的力量,促成彼此之間的合作,創造更有效率的市場、更公平的治理方式?
延伸閱讀:激進市場(Radical Markets: Uprooting Capitalism and Democracy for a Just Society)
2021 區塊鏈開發入門 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
run in測試 在 巴哈姆特電玩瘋 Youtube 的最佳貼文
※巴哈姆特電玩瘋因疫情升溫,近期將暫停主持人錄影,也請各位玩家盡量待在家防疫喔!※
00:00 本週手機遊戲新聞
00:49《Froglike: The Frog Roguelike》
iOS 下載:
https://apps.apple.com/tw/app/id1571357790
Android 下載:
https://play.google.com/store/apps/details?id=com.Jimjum.Froglike
01:38《Componut》
iOS 下載:
https://apps.apple.com/tw/app/id1565756535
Android 下載:
https://play.google.com/store/apps/details?id=com.krusbaer.garbo
02:23《Leo's Fortune+ 里奧的財富》
Apple Arcade:
https://apps.apple.com/tw/app/leos-fortune/id1552952971
03:06《元祖菇菇栽培研究室》
iOS 下載:
https://apps.apple.com/tw/app/id1544911813
Android 下載:
https://play.google.com/store/apps/details?id=jp.co.beeworks.nameko.ganso
03:55《艾魯傳說 ELLRLAND TALES》
Android 下載:
https://play.google.com/store/apps/details?id=com.loongcheer.ellrlandtales.deckheroes
04:42《核芯:利希特》
Android 封測:
https://play.google.com/store/apps/details?id=com.tw99.no23.cbtan
官方粉絲團:
https://www.facebook.com/corelicht
05:25《夢魘之門 Gate of Nightmares》
※封閉測試
官方網站:
https://gate-of-nightmares.jp/
06:19《Deep Insanity ASYLUM》
※搶先體驗
官方網站:
https://www.jp.square-enix.com/deepinsanity/
07:15《仙境傳說:女武神之起義》(Ragnarok Online:Valkyrie Uprising)
※封閉測試
官方粉絲團:
https://www.facebook.com/ROValkyrieUprising
07:57《Junkworld》
Android 預先註冊:
https://play.google.com/store/apps/details?id=com.ironhidegames.android.junkworld
08:45 下週即將上架的手機遊戲
《Tzuki's Plan B: Planet Odyssey》
iOS:https://apps.apple.com/tw/app/id1536388106
Android:https://play.google.com/store/apps/details?id=com.cokoongames.tzukisplanb
《神仙大亂鬥》
iOS:https://apps.apple.com/tw/app/id1562984112
Android:https://play.google.com/store/apps/details?id=com.feiyou.bzsh
《風色幻想SP手機版》
iOS:https://apps.apple.com/tw/app/id1546033700
Android:https://play.google.com/store/apps/details?id=com.fy.spm
《聖劍傳說 3 TRIALS of MANA》
iOS:https://apps.apple.com/tw/app/id1552176109
Android:https://play.google.com/store/apps/details?id=com.square_enix.android_googleplay.tom
《Re:從零開始的異世界生活 Lost in Memories》
iOS:https://apps.apple.com/tw/app/id1558793538
Android:https://play.google.com/store/apps/details?id=com.komoe.re0gp
《暗黑幻想》(Dark Fantasy)
iOS:https://apps.apple.com/tw/app/id1562818061
Android:https://play.google.com/store/apps/details?id=com.gamepub.df
《烈火戰記》
iOS:https://apps.apple.com/tw/app/id1568433713
Android:https://play.google.com/store/apps/details?id=com.more2.lhzj.gp
《Angry Birds Reloaded》
iOS:https://apps.apple.com/tw/app/id1539172625
《Alto's Odyssey: The Lost City》
iOS:https://apps.apple.com/tw/app/id1538650027
《Doodle God Universe》
iOS:https://apps.apple.com/tw/app/id1539947531
-------------------------------------------------
《Puzzle Girls》(パズルガールズ)
※日本地區
iOS:https://apps.apple.com/jp/app/id1559886687
Android:https://play.google.com/store/apps/details?id=jp.spacegirl.fleet
《少女迴戰》(少女廻戦)
※日本地區
iOS:https://apps.apple.com/jp/app/id1550427034
Android:https://play.google.com/store/apps/details?id=com.onemt.and.shoujokaisen
《三國志君雄傳》(삼국지군웅전)
※韓國地區
iOS:https://apps.apple.com/kr/app/id1562968792
Android:https://play.google.com/store/apps/details?id=com.sgzjxz.gp
《Re:從零開始的異世界生活 禁書與迷之精靈》(Re:ゼロから始める異世界生活 禁書と謎の精霊)
※日本地區
官方網站:https://www.dmm.com/netgame/feature/re_zero_kinsho.html
《貓旅館物語》
※中國地區
iOS:https://apps.apple.com/cn/app/id1343693404
《Monmusu Gladiator》(モン娘ぐらでぃえーた)
※日本地區
iOS:https://apps.apple.com/jp/app/id1570020313
Android:https://play.google.com/store/apps/details?id=com.zephyrstudio.jp.GladiatorOfMonsterGirls
《HYDE RUN》
※日本地區
iOS:https://apps.apple.com/jp/app/id1561576635
Android:https://play.google.com/store/apps/details?id=jp.ne.phoenixx.hyderun
《異世界四重奏〜激戰!拼圖學園〜》(異世界かるてっと ~激突!ぱずるすくーる~)
※日本地區
iOS:https://apps.apple.com/jp/app/id1568456918
Android:https://play.google.com/store/apps/details?id=net.crestinc.isepuzz
《Livly Island》(リヴリーアイランド ペットと暮らす小さな島)
※日本地區
iOS:https://apps.apple.com/jp/app/id1553045339
Android:https://play.google.com/store/apps/details?id=jp.cocone.livly
run in測試 在 Susie Woo 戴舒萱 Youtube 的精選貼文
前一陣子,在梅根與哈利在歐普拉的採訪過後,英國知名主持人皮爾斯摩根(Piers Morgan)在自己的節目'早安英國'(Good Morning Britain)與節目搭檔貝雷斯福德(Alex Beresford)爭執有關梅根專訪的事件,最後皮爾斯憤而離席,並在當晚辭去主持人職務。
今天我要來分享他們兩位在節目中使用的用詞與說法,這也是一個聽力練習,大家可以來測試看看能理解多少影片的內容喔!
📌Useful vocabulary and phrases
- Covert 隱蔽的
- Overt 明顯的
- Cocoa 可可
- Cut and run 與生活中的某人做切割
- Negative press 負面的報導
- To trash 摧毀(同 destroy)
- To brush it off 忽略
- To take a step back 退一步再考慮不立馬做決定
- To cut someone off 把某人從生活中刪除
- Diabolical 非常糟糕/惡魔般的
- To spout off 一直說話不停止
- Ruthless/Ruthlessly 無情的/無情地
- Social climber 利用他人提升自己的地位
- To live in cloud cuckoo land 比喻 有此看法的人'瘋了'
- Stratospheric 平流層
- To have your cake and eat it 魚與熊掌不可兼得
- To cash in on 用...來賺錢
- The beginning of the end 形容 一個事物開始結束
- Ostracised 被排擠的
英國人對哈里和梅根的採訪有什麼看法?
https://www.susiewoo.com/blog/what-do-people-in-the-uk-think-about-harry-and-meghans-interview
了解我的線上課程:https://www.susiewoo.com
- - - - - - - - - - - - - - - - - - - - - - - -
加入 Susie Woo 戴舒萱 的 YouTube頻道會員:
https://www.youtube.com/channel/UC-IQGcGol7OOCH2B2Z8dUag/join
與我一起用英語討論不同議題,讓我聽見你的聲音。
- - - - - - - - - - - - - - - - - - - - - - - -
關注我的IG
► https://www.instagram.com/susiewooenglish
支持我製作更好的內容
https://www.patreon.com/susiewoo
Clubhouse
► @susiewoo
Bilibili (B站)
► https://space.bilibili.com/696608344
#英國 #英語 #英語教學
run in測試 在 陳寗 NingSelect Youtube 的最讚貼文
陳寗嚴選兩聲道入門組:https://lihi1.cc/uGJlf
陳寗嚴選除濕機:https://lihi1.cc/iIdRI
陳寗嚴選空氣清淨機:https://lihi1.cc/uXuie
—
音響問題百百種,是永遠不可能回答完的。光是一個簡單的 Run in,就可以用好幾集的影片來回答,而我們卻還沒進入「音響選購」、「音響安裝」、「音響擺位」這些更深入的課題呢!不過沒關係,其實上述的這些內容雖然還沒專錄一支影片來講,但在許多音響介紹、評測影片中,我已經講過了不少類似觀念,如果你有認真看的話,一定都會有所收穫。很多人看我影片總喜歡嫌我囉唆,但如果學新事物不能用我影片這種追根究底的精神來學習,一心只想要趕快看到條列答案解決疑惑,那終其一生也不會學到真理,永遠都只是別人說什麼好就買什麼的小朋友而已。
玩音響是學無止境的,就好像以前我知道音響機箱蓋板擺放的方向會影響聲音,因此每次蓋上蓋板之前都要開著機一邊聽一邊測試。結果前陣子才又學到一招,居然直接靠敲擊蓋板聽聲音就能判斷出來...如何?是不是音響永遠學不透呢?不過我知道,看到這種東西又有人會要說是玄學了,但在批評玄學之前,何不自己玩玩看,體驗一下呢?玩音響除了看我說,最重要的還是要自己玩玩看,才能體會我說的是什麼意思。至於家裡沒音響?上面看到連結了嗎?點進去就有陳寗嚴選音響等著你。
好了,哥今天廢話不多說,直接來看今天討論的問題吧!今天要談以下幾個:
00:27 喇叭買了很久還能再 Run in?
3:34 動鐵耳機不用 Run?煲機碟有用嗎?
6:30 推薦的 Run in 曲目有哪些?
8:12 Run in 音量有要求嗎?
9:19 喇叭真的會被小朋友戳破嗎?
沒回答到你的問題也別急,我們來日方長,慢慢聊囉!也別忘記有問題趕快留言,之後再來回答你!
#音響煲機 #玩音響 #Runin
──────
喜歡這支影片嗎?
本影片採用 AI 字幕,目前已開啟社群字幕,邀請你一起來讓字幕更趨完美:
http://bit.ly/SubtitleNing
感謝你的協力!
──────
本頻道幾個原則跟你約定好:
1. 開箱零業配:
真實使用過後才發表心得,通常試用至少 1 個月,所以你通常不會看到我最早發表,但哥真性情的評論,保證值得你的等待。
2. 理性討論:
我有自己的偏好,你也有自己的好惡,我們互相尊重,時時用大腦,刻刻存善念,不謾罵,不矯情。可以辯論,不可以沒邏輯。
3. 我團購我驕傲:
我很愛買東西,也很愛比較產品,我自己使用過、多方比較過,還是覺得喜歡的東西,我才會辦團購。(簡單說就是挑品很嚴格,至今 80% 廠商找上門都被我打槍。)辦團購我一定有賺,但我跟廠商拿到提供給你的團購價,也會讓你一定有划算感。所以如果你品味跟我相近,或是剛好有需要,就跟我團購,我們互惠。如果你覺得跟我團購,你就是我乾爹,說話不懂得互相尊重,那就慢走不送,你可以去找一般店家買貴一點。
看了以上,覺得可以接受就請你訂閱,訂閱順便開鈴鐺。我們每天晚上 6:00 見。
我的網站連結在這:https://ningselect.com/
也別忘了幫我的 FB 粉絲專頁按讚:http://bit.ly/ningfb
如果有任何問題,包括團購等問題,都可以在影片下方留言問我,同一支影片下很多人都想知道的問題會優先用留言回答,如果是比較大的題目,則有機會拍成 QA 影片回答~如果你想問的是針對個人的音響選購、配置問題,可以直接傳 Line 問我:http://bit.ly/ningline
廠商合作請先了解相關原則:http://bit.ly/coopning
run in測試 在 在xephyr 上執行awesome - samwhelp 的推薦與評價
撰寫xephyr 測試腳本. 撰寫一個檔案「run-awesome-on-xephyr.sh」,內容如下. #!/usr/bin/env bash Xephyr :100 -ac -screen 1280x680 & XEPHYR_PID=$! sleep 0.5 ... ... <看更多>
run in測試 在 test run - GitHub 文档 的推薦與評價
针对QL 查询运行单元测试。 GitHub CodeQL 在安装后按用户授权。 根据许可证限制,只能将CodeQL 用于某些任务。 有关详细信息,请参阅“关于CodeQL CLI”。 ... <看更多>
run in測試 在 【Brooks Run Signature 步履測試–... - Escapade Sports Hong ... 的推薦與評價
Brooks Run Signature 步履測試– 跑迷必試】 跑開步都知道膝蓋係最易勞損、受傷既地方,#Brooksrunninghk 最新由美國既引入run signature... ... <看更多>