雖然這篇python空字串鄉民發文沒有被收入到精華區:在python空字串這個話題中,我們另外找到其它相關的精選爆讚文章
在 python空字串產品中有3篇Facebook貼文,粉絲數超過37萬的網紅中央社新聞粉絲團,也在其Facebook貼文中提到, #國際影音串流平台徵才 文化部補助、中央社承辦的國際影音串流平台誠徵以下職位專業人才,有志者請依以下徵才內容需求附上所需資料與我們聯繫。 請注意:來函應徵時,請在電郵主旨欄註明應徵類別,例如「應徵A1 採訪記者」、「應徵C1 動畫師」或「應徵E1 專案暨數據主管」 履歷請寄: personnel...
同時也有178部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,Python基礎程式語言應用證照班第3次上課 01_重點回顧與星號輸出三角形 02_星號輸出正向與反向三角形 03_字串輸出用雙重迴圈與加空白 04_直角三角形改為等腰三角形 05_等腰三角形的方法二與江For改為while迴圈 06_九九乘法表改為while迴圈 07_練習題質數判斷程式說明 0...
-
python空字串 在 吳老師教學部落格 Youtube 的精選貼文
2021-08-17 22:55:43Python基礎程式語言應用證照班第3次上課
01_重點回顧與星號輸出三角形
02_星號輸出正向與反向三角形
03_字串輸出用雙重迴圈與加空白
04_直角三角形改為等腰三角形
05_等腰三角形的方法二與江For改為while迴圈
06_九九乘法表改為while迴圈
07_練習題質數判斷程式說明
08_判斷質數程式優化與猜數字
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/g/tcfst_python_2021_2
證照基礎程式語言 (Python 3)證照
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elifPython 第3類:迴圈敘述
技能內容:while、for…inPython 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
上課用書:
Python 3.x 程式語言特訓教材(第二版)
作者: 蔡明志, 財團法人中華民國電腦技能基金會
出版社:全華
出版日期:2018/12/20
定價:490元
吳老師 110/8/17
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境 -
python空字串 在 吳老師教學部落格 Youtube 的最佳貼文
2021-08-17 22:55:21Python基礎程式語言應用證照班第3次上課
01_重點回顧與星號輸出三角形
02_星號輸出正向與反向三角形
03_字串輸出用雙重迴圈與加空白
04_直角三角形改為等腰三角形
05_等腰三角形的方法二與江For改為while迴圈
06_九九乘法表改為while迴圈
07_練習題質數判斷程式說明
08_判斷質數程式優化與猜數字
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/g/tcfst_python_2021_2
證照基礎程式語言 (Python 3)證照
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elifPython 第3類:迴圈敘述
技能內容:while、for…inPython 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
上課用書:
Python 3.x 程式語言特訓教材(第二版)
作者: 蔡明志, 財團法人中華民國電腦技能基金會
出版社:全華
出版日期:2018/12/20
定價:490元
吳老師 110/8/17
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境 -
python空字串 在 吳老師教學部落格 Youtube 的最佳貼文
2021-08-17 22:55:10Python基礎程式語言應用證照班第3次上課
01_重點回顧與星號輸出三角形
02_星號輸出正向與反向三角形
03_字串輸出用雙重迴圈與加空白
04_直角三角形改為等腰三角形
05_等腰三角形的方法二與江For改為while迴圈
06_九九乘法表改為while迴圈
07_練習題質數判斷程式說明
08_判斷質數程式優化與猜數字
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/g/tcfst_python_2021_2
證照基礎程式語言 (Python 3)證照
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elifPython 第3類:迴圈敘述
技能內容:while、for…inPython 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
上課用書:
Python 3.x 程式語言特訓教材(第二版)
作者: 蔡明志, 財團法人中華民國電腦技能基金會
出版社:全華
出版日期:2018/12/20
定價:490元
吳老師 110/8/17
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
python空字串 在 中央社新聞粉絲團 Facebook 的精選貼文
#國際影音串流平台徵才
文化部補助、中央社承辦的國際影音串流平台誠徵以下職位專業人才,有志者請依以下徵才內容需求附上所需資料與我們聯繫。
請注意:來函應徵時,請在電郵主旨欄註明應徵類別,例如「應徵A1 採訪記者」、「應徵C1 動畫師」或「應徵E1 專案暨數據主管」
履歷請寄: personnel-video@mail.cna.com.tw
薪資:4萬以上,面議
福利:均比照勞基法規定
【公司介紹】
Taiwan Plus (Taiwan+) 國際影音串流平台,是台灣第一個以全球為目標族群的全英語新聞、節目平台。
本平台希望在全球舞台上呈現台灣觀點與聲音,同時在國際社會中提升台灣的能見度與影響力。我們將提供與台灣相關,以及超越一般視野的新聞與節目。無論是與台灣相關議題或是區域情勢,以及台灣高舉的普世價值:民主、人權、開放、創新等等,我們都期待在該領域的全球對話中成為最具影響力媒體。
我們以全球為範圍尋覓專業人才,希望打造一支世界級水準的團隊。如果您是專長領域的頂尖人才,同時堅信台灣所代表的多重價值,希望促成改變,您將是Taiwan Plus需要的夥伴。
【徵才職位】
🔵 A1 採訪記者 Assignment / Feature reporters
工作內容:
1. 掌握每日新聞訊息,機動採訪重大新聞及專題
2. 獨立進行英文採訪、寫稿、下標、過音、基礎影音拍攝
3. 不定期出差採訪
4. 配合新聞工作輪值班
學歷要求:大學以上畢業,不限科系,大眾傳播相關科系尤佳。
工作經驗:具有英文(或英文影音)新聞工作至少3年經驗。
工作技能:Office文書軟體,精通文稿撰寫,熟悉新聞拍攝及影片剪輯工作流程尤佳。
語言能力:精通中、英文(相當於多益成績900以上)。請註明中文與英文聽說讀寫四項技能程度(評分1-5,1分代表最佳)。
其他條件:
1. 對於為外國受眾報導台灣、區域與國際重要新聞、敘述台灣各地及各種故事抱有熱忱。居住在台灣者優先考慮。
2. 請附上作品集(網址)與社群媒體帳號(包括Twitter等等) 。
🔵 A2 攝影記者 Videographers
工作內容:
1. 拍攝(含空拍)、剪接新聞影音
2. 現場直播採訪新聞
3. 單機作業
4. 不定期出差採訪
5. 配合新聞工作輪值班
學歷要求:大學以上畢業,不限科系,大眾傳播相關科系尤佳。
工作經驗:曾從事攝影工作至少3年。
工作技能:擅長新聞拍攝及影片剪輯流程,能精準掌握影片節奏與畫面敘事。
語言能力:精通中文,略通英文(相當於多益成績400以上)。請註明中文與英文聽說讀寫四項技能程度(評分1-5,1分代表最佳)。
其他條件:
1. 能配合拍攝工作需要加班或外出 。
2. 請附上作品集(網址)。
🔵 A3 編輯主管 Supervisors, Copy Editing Team
工作內容:
1. 了解、掌握平台所有單位翻譯、撰稿與核稿需求,同時協調各單位需求
2. 分配工作並擔任本組工作成果最後審核
3. 督導所有編輯之工作品質,確保文稿品質達到世界級媒體水準
學歷要求:大學以上畢業,不限科系,大眾傳播相關科系尤佳。
工作經驗:具有英文新聞工作至少5年經驗,具英文影音經驗者尤佳。
工作技能:精通Office文書軟體、新聞發稿及編輯系統,了解影片剪輯及後製作業流程。
語言能力:精通中、英文(相當於多益成績900以上)。請註明中文與英文聽說讀寫四項技能程度(評分1-5,1分代表最佳)。
其他條件:
1. 對於為外國受眾報導台灣、區域與國際重要新聞、敘述台灣各地及各種故事抱有熱忱。
2. 請附上作品集(網址)。
🔵 A4 核稿編輯 Copy Editor
工作內容:
1. 所有影片腳本之英文文稿校對和錯字與文法校正。
2. 文稿內文之事實查核。
3. 需要時協助重寫或改寫文稿。
4. 需要時進行中英翻譯。
5. 全職內勤工作。
學歷要求:大專以上學歷。
語言能力:以英文為母語者,通曉中文(特別是閱讀力)者尤佳。
工作經驗:具有英文核稿與新聞工作經驗者尤佳。
其他條件:熟悉台灣文化、政治與重要新聞時事者尤佳。具有重編影片與重寫故事經驗者優先考慮。
學歷要求:大學以上畢業,不限科系,大眾傳播相關科系尤佳。
工作經驗:具有英文(或英文影音)新聞工作至少1年經驗。
工作技能:Office文書軟體,了解影片剪輯及後製等工作流程。
語言能力:精通中、英文。
其他條件:對於為外國閱聽大眾報導台灣重要新聞、敘述台灣各地及各種故事抱有熱忱。以英語為母語或英文聽說讀寫能力接近母語的人士,通曉中文,居住在台灣者優先考慮。
🔵 C1 動畫師 Animators
工作內容:
1. 製作每日新聞、新聞專題、新聞節目之CG圖卡、3D動畫,各項後製效果
2. 虛擬攝影棚背景製作
3. 協助腳本分鏡繪製
4. 配合新聞工作輪值班
學歷要求:大專以上畢業,不限科系。
工作經驗:具影音節目製作1年以上工作經驗、具非線性剪輯1年以上經驗。
工作技能:
1. 關注時事議題。
2. 美感佳。
3. 須具備繪畫技能,注重畫面構圖及完整性,擅長將文字、時事以圖像說呈現。
4. 熟悉動態影像製作流程,擅長動態影音處理。
5. 具備多樣化設計風格,能因應不同型式的專案需求。
6. 具備平面設計能力。
7. 細心,重視細節,嚴謹管控時間流程。
8. 以2D動畫製作為主,如會3D軟體尤佳(C4D、Blender、3D Max 其中一項即可),且可獨立作業。
9. 精通或熟悉Adobe軟體,尤以After Effects、Photoshop為主,或擅長MAC Motion軟體,且可獨立作業為主,且可獨立作業。
語言能力:精通中文,通曉英文尤佳。請註明中文與英文聽說讀寫四項技能程度(評分1-5,1分代表最佳)。
其他條件:可製作Promo、具美術背景尤佳。
🔵 C2 平面設計師 Graphic Designers
工作內容:
1. 平面設計與美術編輯(曾發表於社群或網路影音者尤佳)。
2. 與新聞團隊密切合作將相關內容轉化為適合社群發佈之圖表等平面視覺。
3. 具備面對截稿壓力之經驗,且能夠在時間內完成具備時效性之設計內容物。
學歷要求:大專以上畢業,美術設計科系畢尤佳 。
工作經驗:具影音節目製作1年以上工作經驗、具非線性剪輯1年以上經驗。
工作技能:
1. 具備使用相關軟體工具之經驗:CADAM、Cinema 4D、Adobe Photoshop、CorelDraw、Illustrator、Paint Shop Pro等
2. 須附上過去相關作品
語言能力:精通中文,通曉英文尤佳。請註明中文與英文聽說讀寫四項技能程度(評分1-5,1分代表最佳)。
🔵 E1 專案暨數據主管
工作內容:
1. 以使用者體驗思考,協助產品管理師訂定影音平台產品規格,設計產品使用情境、流程(Web與App),並與開發團隊展開工作計劃、掌控開發時程與風險管控。
2. 依專案需求,主導或協助專案管理。包含直接或協助專案管理師管理技術專案,能有效解決專案技術相關問題,確保專案如期如質交付。
3. 帶領數據工程師,負責影音平台與社群營運等相關的數據收集、彙整與分析。規劃及推進數據平臺的建設與維護,其中包含數據分析相關工具之研究開發。
4. 其他主管交辦事項。
學歷要求:大學以上畢業,資訊或理工相關科系畢。
工作經驗:具備2年以上專案主管經驗,1年以上數據處理與分析經驗,具大型網路服務系統規劃與營運經驗。
工作技能:熟悉Python、SQL與任一BI工具,熟悉AWS、GCP等雲端平台佳。
語言能力:具備中等以上英文溝通能力。
其他條件:良好的溝通、團隊合作能力。
🔵 E2 專案工程師
工作內容:
1. 負計畫與執行專案。
2. 需求分析、系統分析。
3. 定義專案範疇、 拆解工作項目。
4. 進度管理、系統功能驗證測試、Issue 管理。
5. 撰寫規格文件、會議紀錄。
學歷要求:大學以上畢業,資訊或理工相關科系畢。
工作經驗:具備專案管理經驗,熟悉Agile軟體開發流程者佳。
工作技能:具備Web、App產品規劃或開發經驗,具備良好的邏輯組織能力。熟悉AWS、GCP等雲端平台應用者佳。
語言能力:具備基本英語溝通能力。
其他條件:良好的溝通協調能力,個性耐心且細心者為佳。
python空字串 在 葉郎:異聞筆記 / Dr. Strangenote Facebook 的最佳解答
#葉郎每日讀報 #一週大事版
──────────────
「只有瘋子、天才或是心臟很
強的賭徒才會投資連鎖電影院」
——Forbes
──────────────
在這種劇烈震盪的時節,每一週都可能是改寫電影史的歷史性時刻,比如本週:
第一次空窗期世界大戰導火線
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
過去一週發生在好萊塢的最大驚奇——好萊塢主流片廠第一部跳過電影院、直接以高單價上VOD隨選平台的電影《Trolls World Tour 魔髮精靈唱遊世界》,在上架三週後創造了1億美元的銷售紀錄。因為VOD平台如Amazon和Apple的抽成遠低於電影院的約50%,也就是說成本九千多萬的《魔髮精靈唱遊世界》很可能已經在這兩天回本。
直到一個月前,全好萊塢沒有人相信VOD市場還是一回事,更別提VOD可以取代電影院通路成為一部主流片廠電影回本的途徑。
Amazon和Apple的VOD銷售連年下滑,產業規模比起2006年已經縮水62%。所有人都認為VOD是已經過氣的通路,Amazon和Apple根本已經把他們的 VOD當成可有可無的會員服務,而非賺錢的途徑。但出身電信業的NBCUniversal的執行長Jeff Shell不這麼想,他覺得VOD是好萊塢的救命藥方。
NBCUniversal目前屬於電信集團Caomcast,過去在電信業的營運經驗和靈活彈性讓他們對於VOD網路零售向來獨具信心。事實上2011年NBCUniversal就企圖「探索」好萊塢空窗期的紅線,在導演Brett Ratner的電影《Tower Heist 神偷軍團》上映三週後打算以59.99元的高單價在VOD市場零售。但該計畫遭到電影院的激烈反對並揚言抵制,讓NBCUniversal隨即打消主意。
NBCUniversal認為被當成黃昏產業的VOD足以當成對抗Netflix的武器,因為消費者願意付更高的費用在家裡看和電影院同步上映的電影,而不願等待90天後Netflix上可能有也可能沒有的不確定因素。因此他們成為理所當然在這波疫情中對「空窗期」開第一槍的勇者。
讓《魔髮精靈唱遊世界》大膽跨過紅線的,不只是NBCUniversal對於VOD的堅貞信仰,另外一個理由是他們現在財務壓力極大,願意拿任何東西出來換錢。這幾天公佈的Comcast第一季財報顯示,該公司寬頻業務和NBC電視業務都受到疫情刺激而有所增長,但NBCUniversal 的電影和主題樂園業務都受到前所未久的重擊:電影業務下滑了23%,主題樂園業務下滑了32%,等於分別蒸發了13.7億和8.7億美元。Peacock原本要當成開台大戲的東京奧運轉播也已落空,剩下的節目是否足以應戰對手Disney+、Netflix或是HBO Max仍是未知數。華爾街日報消息昨天甚至報導NBCUniversal上週已經開始討論縮減支出的計畫,其中包含了大規模的裁員。
《魔髮精靈唱遊世界》1億美元的銷售紀錄證明了NBCUniversal長久以來對於VOD市場獨有的觀點,也代表這個曾被認為是昨日黃花的通路在疫情過後很可能有全新的機會。
嚐到甜頭的NBCUniversal隨即打鐵趁熱,再祭出兩招:
第一招是和NBCUniversal同屬Comcast的售票系統Fandango近日宣佈併購Walmart旗下的VOD服務Vudu。經營自己的VOD服務,可以讓NBCUniversal 省下被Apple或是Amazon抽成的20%,獨佔1億美元銷售的100%收益。
第二招是執行長Jeff Shell在接受訪問時透露他們將繼續尋找其他適合的電影,打算讓這個電影院、VOD同步上映的做法變成長期政策。這個作法等於明白宣示從此Universal眼中沒有「空窗期」這個字眼。
正是這第二招命中了電影院業者的要害。
已經因為全面停業而焦急得團團轉的電影院,此時此刻再被長年合作的片廠落井下石,幾乎是馬上翻臉。全球最大連鎖電影院品牌AMC火速發表口氣強硬的聲明說NBCUniversal逼他們出此下策——全球的AMC影城將開始抵制Universal的所有電影,而且強調他們絕對不只是說說,不但抵制會立刻生效,而且還會包含未來跨過空窗期這條界線的任何一家片廠。美國第二大品牌Regal也隨即跟進宣佈抵制。NATO美國電影院經營者協會也發表聲明表示他們很遺憾NBCUniversal老是不事先諮詢放映業的夥伴就做出影響他們深遠的決定。
引發這場戰火的NBCUniversal則以聲明回應,強調他們仍然信仰電影院的體驗,並且仍然期待未來可以在電影院通路優先發行電影。他們眼前的作法只是希望在這個特殊的難關中,繼續提供居家防疫中的民眾娛樂選項。基於這個作法引發的熱烈迴響,他們認為自己做的是正確的決定。
就像暗殺奧匈帝國王儲的塞爾維亞青年,不起眼的《魔髮精靈唱遊世界》正在引爆一場毀滅性的戰爭。這才只是交火的第一天。
電影院能否撐過這場持久戰
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
抵制是一場持久戰,比的是誰的氣長。問題是電影院的這一口氣真否能撐過這場終點還不知道在哪裡的疫情。
2012年中國(當時)首富王健林的房地產事業萬達集團收購美國連鎖電影院品牌AMC,隨後繼續收購美國Carmike院線、歐洲Odeon院線和Nordic Cinema Group,因而成為全世界最大連鎖電影院品牌。這是AMC敢跟擁有《Jurassic Park 侏羅紀公園》系列和《Fast & Furious 玩命關頭》系列的NBCUniversal對賭的理由。
有產業分析師認為AMC並不必然會贏,其一理由是它是最大但不是唯一,仍有其他電影院願意放映NBCUniversal電影(在此同時另外一個電影院品牌Ragel也宣佈跟進抵制),其二是AMC自己有太多體質上的麻煩,能否撐到抵制成功還很難說。佔AMC收入31%的餐飲收入近年在努力改進餐點後開始成長,但佔收入60%的電影票收入卻始終低迷,AMC怪罪景氣循環和電影本身不好,但觀眾正在離開電影院卻是事實。AMC近年為了吸引客人回流大量舉債投資改善設備,為了這波疫情AMC一方面債務重組一方面又發行了5億公司債,以便維持到11月之前的現金流。11月並不遙遠,而且就算疫情已緩仍有可能有第二波、第三波。一再傳出可能破產AMC的銀彈是否足夠讓他們打贏這場空窗期是個大問題。
Forbes的產業專家也說現在投資連鎖電影院的不是傻子就是瘋狂的天才:
Forbes的報導中推論即便夏天疫情消退之後電影院重新開門營業,也會面臨嚴重的票房下滑,因為觀眾不一定願意出門,而且電影院的座位安排仍然需要依照社交距離的規定減少可售張數。NATO美國電影院經營者協會執行長John Fithian 《Tenet 天能》如果能在7月如期上映的話,票房開低的機會不小(但會因為欠缺競爭對手而得以佔據電影院數個月繼續收成)。
按照過去流感會在10月重新開始流行的模式,COVID-19疫情很可能再度升溫,嚴重時可能導致電影院再度關門。專家認為全年下來電影票房應該會少到59%以上,如果以AMC電影院2019年的營業額54.7億美元來說,可能會驟減至23億。
中長期來說,美國人進電影院的頻率一直在下滑,電影院的收入偶見成長都是因為提高票價和爆米花價格所致。疫情只會加速這個方向,因此只有傻子才會投資電影院。作者用經典喜劇《Monty Python and the Holy Grail聖杯傳奇》中的橋段來比喻AMC抵制Universal的作法:亞瑟王砍掉擋路的敵人一隻手,對方堅稱只是一點小擦傷,直到四肢都被砍斷仍抵死不認輸,但亞瑟王早已揚長而去。那個亞瑟王叫做Netflix。另一方面,作者也一再鼓吹片廠應該利用這個時候買下電影院,以便確保票房收入,並取代長期欠缺資力的電影院老闆來下重本提升電影院體驗,藉以迎戰Netlfix。
AMC不是孤單的,全世界的電影院業者都在想盡辦法活下去:
英國連鎖電影院VUE請求房東100%減免房租以讓他們度過難關。VUE旗下全歐洲228家電影院都已經停業,唯一的例外是該公司在台灣經營的星橋國際影城。
好消息是歐洲的捷克和挪威都已經先後宣佈電影院重新開放的時程和條件。
另一個值得關注的電影院產業動向是強調用餐體驗的Alamo Drafthouse電影院執行長兼創辦人Tim League將改任執行主席,並延攬來自Starbucks星巴克Shelli Taylor擔任新執行長。許多人預測長期深耕體驗營造並擁有堅貞粉絲的Alamo Drafthouse會是電影院產業進化並生存下來的下一步,這也是他們會從餐飲品牌引入高級主管的理由。Shelli Taylor過去是星巴克在中國擴張的主將,一手將中國的星巴克版圖從500家擴展為她離職時的3000家。所以這是否還意味Alamo Drafthouse可能在疫情過後選擇更激進的擴張策略(比如併購在疫情中破產的電影院)?
另外一家跟電影院業緊密相關的企業是Imax。Imax第一季財報顯示業績嚴重下滑56%,但該公司強調他們有充裕的現金足以稱過這場世界級的災難。Imax執行長Rich Gelfond 認為美國正在上演的AMC大戰Univeral的戲碼,Imax認為這場仗的標的與他們無關,因為《Trolls World Tour 魔髮精靈唱遊世界》本來就不是Imax會演的電影。但他認為電影院和片廠的衝突並沒有那麼高,因為要吸引觀眾回來這兩方缺一不可,大家都在努力協調試圖達成這個不可能的任務。他特別提及導演Christopher Nolan正不眠不休地想辦法讓他的新片《天能》在電影院放映:「我不知道全美國還有誰比Christopher Nolan更努力要讓電影院開門並在電影院發行他的電影」
Imax之所以老神在在,是因為該品牌最重要的市場——中國的電影院應該很快就有機會重新開門營業,因為中國政府需要電影院替商場帶來人潮、刺激經濟回溫。
另一方面,早了三個月開打的中國版「空窗期」大戰,電影院業者似乎處於上風:
原定今年1月上映的《囧媽》開第一槍跳過電影院直接在多個西瓜視頻首映之後,隨後又有《肥龍過江》在愛奇藝首映。當時也引發中國電影院業者聯名寫信向國家電影局求援,並揚言抗議日後的出品電影。但這個亞洲戰場的戰局本週突然有了新的局勢——路透社報導中國官方近期告訴電影業者將收緊「空窗期」的管理,避免再有中國電影跳過電影院直接上網路平台。在此同時中國國家電影局長局長王曉輝也在電影系統應對疫情視訊會議上公開說出「要維護院線電影窗口期規則」以及「加強對院線電影網絡播出的通盤規劃等字眼」。中國各省開始推出對電影院的扶持政策,包含各種補貼、貸款、獎勵等項目。
不具名的愛奇藝高層喊冤的說詞和NBCUniversal也大同小異:「我們的出發點仍然相同,就是讓人們看到好電影」。中國政府的介入將使電影院業者得到遲來的保護(正義?),而發行商和網路影音平台則再失商機。至少中國市場的空窗期是回來了。
光環退去的美國眾神
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
過去一週的另一個個歷史性的時刻:2021年的奧斯卡獎將(暫時)接受他們長期視為無物的網路電影。
為了讓今年受疫情影響無法在電影院上映的電影也有報名參賽的機會,美國影藝學院宣佈明年的奧斯卡遊戲規則調整,將首度開放未經電影院放映的電影報名。即便堂堂美國影藝學院,在聲明稿的開頭仍須向電影院的基本教義派重申信他們的仰純度:「學院堅信沒有比電影院更偉大的方式體驗電影的魔法」,但疫情使他們不得不暫時破例。
不過影藝學院依舊劃清界線,要求必須原本訂有上映日期的電影才可以報名,同時排除本來就為了電視放映而拍攝的電視電影。對於尚未有發行商(因而沒有上映日期)的獨立製作來說要如何符合資格也是大問題。不過至少這個規定會讓許多還在猶豫要等明年或是今年就上串流的電影終於可以放心做決定。
對奧斯卡來說這個暫時的退讓是痛苦的,因為他們把自己定義為電影院體驗的最高聖殿,並且一直在重兵部署阻止Netflix進入這個聖殿。但這一年的「暫時」,很可能會開啟為時更長、更深遠的討論。討論那個他們現在連想都不敢想的問題:為什麼不?
為什麼不永遠接受網路電影?如果繼續排除網路電影,奧斯卡會不會越來越不相關?
這世界上有千百種頒獎典禮,奧斯卡偏偏成為典禮中的典禮,成為全世界最多人同時收看的直播電視有它的理由——在社群直播發明之前,奧斯卡是全世界的觀眾得以一窺這些背後有各自光環的明星,像我們一樣哭、一樣笑、一樣跌倒的唯一場合。奧斯卡讓這些神明更像人,更可以親近,也因此這個年度盛會活生生就像每年只會發生一次的神仙下凡。
這同時也是為什麼奧斯卡頒獎典禮收視率為什麼一去不回的理由。有了Facebook、Instagram、YouTube和Twitch等等直播平台,美國眾神們根本天天下凡了。
這波疫情成為全世界的神仙天天開直播開示信徒的。其中當然也有振奮人心的案例,比如在澳洲拍戲時確診的Tom Hanks夫婦一直在分享他們生病和復原的經驗,甚至還進一步捐出他們的血液來作為疫苗研究之用。
但這只是極少數正面案例。多的是像Elon Musk這樣言行乖張的名人被社群網路放大之後被看穿光環的案例。比如說我們的老朋友Madonna:
最近一直在IGTV上推播防疫日記的Madonna開始出現詭異的言行,比如宣佈她已經檢驗出COVID-19抗體,所以她打算明天開車出去玩,「呼吸一下COVID-19的新鮮空氣」。然而並沒有證據證明有抗體就足以對COVID-19免疫,請大家千萬不要學習Madonna同學。
衛報昨天刊出的分析就認為疫情正在將明星「去神格化」。社群媒介上如潮水般湧現的明星直播,原本應該要縮短我們跟明星之間的距離,最後卻達到相反的效果:我們看清楚了他們的奢豪生活跟我們完全不一樣,同時也看清楚了這種災難時刻過去獨攬注意力的他們根本派不上任何用場。這些神治不好我們的病。
同樣發生這個效應的是這幾年快速崛起的網紅們,本來每天賣臉蛋、賣話題、賣產品的網紅們最近這兩個月什麼注意力都分不到,預計將會是網紅經濟的一個轉折點。慢走~
|新聞出處|
4/26~5/2一週大事
AMC Theatres Refuses to Play Universal Films in Wake of 'Trolls: World Tour'(https://bit.ly/2VKvrCx)
‘Trolls World Tour’ Breaks Digital Records and Charts a New Path for Hollywood (https://on.wsj.com/)
Comcast’s Results Suffer as Coronavirus Hits Theme Parks, Movie Business(https://on.wsj.com/3cYBM39)
Only Fools, Mad Geniuses, And Daredevils Would Invest In A Theater Chain( https://bit.ly/3aRChdW)
Alamo Drafthouse Gets New CEO, Tim League to Become Executive Chairman(https://bit.ly/2KP4tU3)
China to tighten rules to stop movies from premiering online (https://reut.rs/2KJsVWU)
Oscars Rule to Allow Films to Skip a Theatrical Release This Year(https://nyti.ms/3d2FSXN)
Tom Hanks’ Blood Is Being Used to Develop Coronavirus Vaccine (https://bit.ly/2VKQHbz)
Madonna Says She Has Coronavirus Antibodies, Wants to ‘Breathe in the COVID-19 Air’(https://bit.ly/2YmXCt7)
‘There’s a sense that celebrities are irrelevant’: has coronavirus shattered our fame obsession?(https://bit.ly/2z0wO7d)
python空字串 在 Taipei Ethereum Meetup Facebook 的最佳解答
📜 [專欄新文章] 類 Python 的合約語言 Vyper 開發入門:與 Solidity 差異、用 Truffle 部署、ERC20 賣幣合約實做
✍️ 田少谷 Shao
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
有鑒於個人近期關注的 Uniswap 及 Curve 皆用 Vyper 實作,索性瀏覽了官方文件並嘗試一些開發工具,希望此文能減少一些讀者初嘗 Vyper 會遇到的麻煩!
Vyper and Solidity
Outline
一. Vyper 極簡介二. 與 Solidity 語法差異三. 開發、開發環境設置 1. 語法高亮 2. 本地 Vyper compiler 安裝 3. 使用 Truffle 操作 ERC20 - 安裝 Truffle - 發幣 - 寫個簡易賣幣合約四. 已知 Remix 問題 五. 結語
一. Vyper 極簡介
Vyper 是除 Solidity 外,以太坊上的另一智能合約 (Smart contract) 語言。其語法和 Python 相近,但畢竟也是寫合約的語言,邏輯差異不大,所以若熟悉 Solidity 應該不難理解用 Vyper 寫出的合約!
Vyper 主要被設計和 Solidity 的區別是安全性及可讀性,這部分會在下一段落及後方的實作中舉例說明。
二. 與 Solidity 語法差異
Vyper 與 Solidity 的差異有許多,在本段只就個人認為感受較深的三點進行說明,其他差異只進行翻譯,有興趣的讀者可以到官方文件詳細了解:https://vyper.readthedocs.io/en/latest/index.html
1. 沒有 modifier
Solidity 常見的 onlyOwner() modifier; 由於 gist 沒有 Solidity 的語法高亮,故截圖
在 Vyper 中單純用 assert 及 assert_modifiable 來進行條件檢查,兩者差別為若要檢查函數執行後的返還值,要用後者,如下圖:
Vyper 寫法
2. 沒有 Class inheritance 繼承
繼承是物件導向程式設計 (OOP) 的核心概念,但各種繼承關係有時候確實很複雜。Vyper 沒有繼承,這無疑大幅地增加了程式可讀性及安全性,以及降低審計程式碼的難度。在此提供一個例子供不熟悉 OOP 複雜之處的讀者有個概念:
source: https://consensys.github.io/smart-contract-best-practices/recommendations/#multiple-inheritance-caution
在上例中,contract A 的 fee 值 (因繼承自 contract B 和 C,故有 fee 一值) 是 5、a 值也是 5 (因繼承自 contract Final,故有 a 一值)。原因是 A 先繼承 B 再繼承 C,因此 contract A 中的 setFee() 是使用了 contract C 的 setFee(),而 a 值是由於 C(5),這代表 contract C 的 constructor (舊版本中即 function C(),函式名稱同 contract 名稱) 被傳入的值為 5。
稍微延伸一下以上概念,將 contract A 改成:contract A is C, B。如此一來,a 值還有 fee 值都會是 3,因為這次 A 先繼承 C 再繼承 B,因此最終吃到的值是 contract B 的。
以上就是 OOP 繼承的複雜之處的簡單範例說明,應該能稍微感受到爲什麼除去繼承後會大幅提高可讀性及安全性,畢竟即使是熟悉 OOP 的人有時頭腦一混亂也會開始懷疑自己寫的程式碼繼承結構是否正確 …
3. 沒有 dynamic array 動態陣列
這應該是目前 Vyper 設計中爭議最大的部分。沒有動態陣列代表在宣告陣列時需要宣告其長度,也就是說 Solidity 中的寫法 uint[], bool[] 等等,這些是不會出現在 Vyper 的。在 Vyper 中只能出現諸如:
# Vyper 的變數宣告方式為 變數名稱: 存取範圍(變數型態(若為陣列給長度))
values: uint256[10]participants: public(address[20])
可以看到上方的 uint256 及 address 兩陣列皆需要宣告長度,不能不宣告而使其動態地配置空間。
沒有動態陣列固然可以確保執行運算的範圍、次數,但一來動態陣列真的很方便、二來在 Solidity 有此功能而 Vyper 卻沒有的情況下可能會造成麻煩,詳見此一討論串:點我。
4. 沒有 inline assembly,程式碼中不會有組合語言
5. 沒有 function overloading,函式不會因傳入的參數數目不同而結果不同
6. 沒有 operator overloading,運算符號不會有不同於預設的自定義功能
7. 沒有無限迴圈,可免於 gas limit attack
8. 十進位定點數 decimal fixed point 而非二進位 (binary) 定點數,詳見:點我
三. 開發、開發環境設置
結論先講
開發 Vyper 的最佳姿勢目前個人認為是在本地裝上 Vyper compiler、用 Truffle 部署,並在撰寫時將檔名後加上 .py 就能有 Python 的語法高亮👌
1. 語法高亮 (syntax highlighting)
有語法高亮絕對是舒服地寫程式的第一步。
Remix 有 Vyper 的語法高亮,但一來個人目前不推薦使用 Remix 來撰寫 Vyper,原因詳見下方 4. 已知 Remix 問題;二來 Remix 的語法高亮其實也沒有很清楚,因此個人推薦:在本地開發,將檔名後加上 .py 就會有 Python 的語法高亮。
2. 本地 Vyper compiler 安裝
照官方說明使用 Python 的虛擬環境 virtualenv:
source: https://vyper.readthedocs.io/en/latest/installing-vyper.html#installing-vyper
簡單兩點提醒:
如果中間那行報錯但確實已經有 Python,則可能是版本問題。依照自己電腦上的版本改成相應的即可,ex: python3.6 改成 python3
進入虛擬環境後(檔案路徑前方應有 vyper-venv 的提示),使用此指令: vyper {檔案名稱}.vy,即可編譯 .vy 檔;使用完畢後輸入 deactivate 即可退出
3. 使用 Truffle 操作 ERC20
安裝 Truffle
Truffle 雖有冗餘的 migration 但也別無他法,畢竟 Remix 目前仍不完善 :(
下載流程可以照官方文件,使用 vyper-example:
source: https://github.com/truffle-box/vyper-example-box
由於我們會接上測試網 Ropsten,因此還要下載 truffle-hdwallet-provider:
source: https://github.com/trufflesuite/truffle-hdwallet-provider
接者就可以開始使用 Vyper 寫合約了!
發幣
由於 Vyper 的官方文件中已經有許多優質範例,因此本文希望來點不一樣但大家卻又很熟悉的…以 ERC20 為例(這千篇一律的主題xD):
用 Curve 的 ERC20 程式碼為範本,發一個幣(又要發…)
寫一個簡易賣幣合約
選擇這個主題一方面畢竟 ERC20 是以太坊的最大宗應用之一,二來有興趣的讀者可以透過讀 ERC20 的程式碼來熟悉 Vyper,並在看過本文的流程後對於用 Vyper+Truffle 來操作 ERC20 有完整的概念!
好的,首先複製一份 Curve 的 ERC20 程式碼(看到就順手拿來用),並複製到 Truffle 所在路徑的 contracts 資料夾中:https://github.com/curvefi/curve-contract/blob/pool_compound/vyper/ERC20.vy
由於第一點希望著重在跑一次流程,因此不改動合約的程式碼。
將 ERC20.vy 複製到 contracts 資料夾中後,到 migrations 資料夾開啟 2_deploy_contracts.js,首先將 require() 中的參數改為 ERC20.vy 的檔名 ERC20,再來依照自己喜好決定幣的名稱、代號、小數點位數及發行總量,輸入於 deployer.deploy() 中。
接著,為了和測試網 Ropsten 互動,需要將以下程式碼寫入 truffle-config.js。
第二行的 privateKeys 是帳號的私鑰。以下實作需要兩個帳號來操作,因此請從錢包匯入兩組私鑰(並非助憶詞)。
在第 13 行中 HDWalletProvider 此函式的第三個參數代表要用第幾個帳號最為預設帳號(部署合約等),第四個函數代表總共匯入幾組帳號。而第二個參數則是需要至 Infura 申請一個 project 來得到串接 Ropsten 的連結。這兩步驟並非本文重點,因此不詳細解說步驟,Google 搜尋關鍵字應該就會找到方法!
接著,就可以輸入以下指令來將代幣發佈到 Ropsten:
truffle deploy --network ropsten
有進入虛擬環境才可以編譯 .vy 檔,若忘記就會收到如下的錯誤訊息:
記得打開虛擬環境才能編譯 .vy 檔
成功後就可以在 contract address 中看到代幣發佈的位置,加入到 Metamask 中就可以看到。本文的例子是維尼代幣 Winnie the Coin, WTC ;)
contract address 便是 ERC20 的所在
Winnie the Coin, WTC
好了,到此測試網上又多了一個測試用的垃圾廢幣。
寫個簡易賣幣合約
賣幣合約中我想要簡單有兩個功能就好:付錢買幣 、結束銷售,以下就是程式碼。買幣的部分就不寫太詳細,固定價格為 0.01 Ether 可以買 500 代幣。
簡單說明幾點:
Solidity 的 constructor() 在 Vyper 中為 Python 風的 __init__():
函式的屬性(public, private, payable 等等)放在函式上方,與 Python 的修飾器位置相同
總之寫法跟 Python 很像,次方也一樣是用兩次乘法代表:**
變數前加上 self 代表是當前合約的變數/全域變數,因此非常容易與函式中的變數/區域變數做區隔
由於已經在第一行匯入了 ERC20 那份合約,因此透過將地址傳入合約當參數,就可以呼叫在該地址的合約:ERC20(self.tokenAddress) 。並且,可以將部署的合約存成一個變數 erc20 較方便
寫完合約後一樣要更改 migrations 資料夾中的 2_deploy_contracts.js 如下,將代幣所在的地址作為參數輸入。
由於先前已經部署過一次了,因此要重置才能再部署第二次,輸入以下指令:
truffle deploy --reset --network ropsten
部署成功之後就要來試著買幣啦!輸入以下來進入 console:
truffle console --network ropsten
成功進入後應該會看到 truffle(ropsten)> 的字樣。接著,首先取得部署的兩合約,並查看是否有返回合約資訊:
# ERC20 及 SellToken 是先前在 2_deploy_contracts.js 中的變數名稱,代表被部署的合約
let instance1 = await ERC20.deployed()instance1 # 印出 instance1 的資訊
let instance2 = await SellToken.deployed()instance2 # 印出 instance2 的資訊
再來,為了讓 SellToken 可以賣幣,要先用 ERC20 的合約匯幣到 SellToken 的合約。因此,輸入以下指令:
instance1.transfer(instance2.address, 10000)
# 這裡數字只要設為 > 500 就可以
接著,我們要利用第二個帳號去買幣(第一個帳號為預設帳號,因此就是代幣擁有者)。將帳號的資訊存入變數 accounts 中,再指定送出交易的帳號是第二個帳號。由於我個人匯入私鑰的順序是將第一個帳號存在 truffle-config.js 的 privateKeys[0]、第二個帳號存在 privateKeys[1],因此第二個帳號的地址就會在 accounts[1] 的位置:
let accounts = await web3.eth.getAccounts()
instance2.buyToken({from: accounts[1], value: 10000000000000000})
# value 為 10^16 是因為在 SellToken 的 buyToken 函式中買一次要 0.01 Ether, 即為 10^16 wei
然後應該就會在自己的第二個帳號中看到匯入的幣了~
最後,由於合約中結束銷售就是一個自殺 selfdestruct 函式,因此可以呼叫看看,第一個帳戶錢包中的錢應該會增加,因為第二個帳戶有付款買幣;並且,可以到 Ropsten 上瀏覽,應該能看到相關提示:
中間 contract 的右上角有 Self Destruct 的樣式
四. 已知 Remix 問題
Remix 目前有兩個版本,只有新版有 Vyper 的編譯器。在此整理目前遇到的問題,如果有人也遇到可以對照一下本處,可以省去很多自我懷疑xD
不會報錯
Remix 的編譯結果有時會是錯的、和本地端編譯出來的結果不同
舉上方的 SellToken 合約為例,將其複製到 Remix 中使用左邊的 Remote Compiler 有錯,但又不報錯 q_q (ERC20 的合約有在同檔案目錄)
左方有紅色三角形,代表編譯失敗,但沒有報錯訊息可以看…
getter function 竟然要花錢
用 Solidity 寫的合約,查詢 public 變數的值應該是不用消耗 gas 的,但不知何故查詢 Vyper 寫的合約的 public 變數卻要消耗 gas,如下圖…
可以看到中下方有 22026 gas 的消耗
Local compiler 無法使用
圖中的 Local Compiler 此選項,個人雖照官方文件執行 vyper-serve 但卻失敗,因此若有讀者成功希望能留個言不吝分享!
五. 結語
Vyper 作為一個比 Solidity 更新的合約語言,在寫程式碼的方面沒什麼問題,但相關的開發工具、學習資源等都遠不及 Solidity。
Vyper 主打的兩個特色:可讀性的部分相信看完上面的讀者應該已經有些感覺;安全性…小白如作者我倒是沒有感受到顯著的不同。況且 Solidity 已經發展許久,很多錯誤的寫法、知名的安全漏洞大家應該也很熟悉了,還有 Openzeppelin 提供安全合約寫法的範本,因此有待以後高人解說安全性是否真的是 Vyper 較好。
有興趣者可以查看 Vyper 的安全報告:點我,大意是目前 Vyper 的編譯器仍有許多問題待改進! (感謝 Chih-Cheng Liang 的提供)
本文對 Vyper 的介紹及其與 Solidity 的差異只講了個大概,欲知更詳細的介紹還是要麻煩讀者前往官方文件了:https://vyper.readthedocs.io/en/latest/index.html
最後,如果本文有任何錯誤,請不吝提出,我會盡快做修正;而如果我的文章有幫助到你,可以看看我的其他文章,歡迎一起交流 :)
田少谷 Shao - Medium
類 Python 的合約語言 Vyper 開發入門:與 Solidity 差異、用 Truffle 部署、ERC20 賣幣合約實做 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌