📜 [專欄新文章] [zkp 讀書會] Cairo 語言介紹
✍️ NIC Lin
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
Cairo 是 STARK 證明系統的其中一個編程語言,讓開發者能透過 Cairo 來使用 STARK,撰寫效能更高的 Dapp
Photo by Simon Berger on Unsplash
Warning:本篇會保持在 high level 的介紹,實際深入的部分請見文內附上的文檔或是官方開發者文件
背景介紹
建構於密碼學的零知識證明能提供計算的隱私性,但同時在區塊鏈生態系也被用來提升 Scalability — 我可以用 10 秒的運算資源來驗證原本耗費 1000 秒運算資源的計算過程
如同更多人熟悉的 SNARK,STARK 也是一個零知識證明的證明系統,但當前的 STARK 著重的是在 Scalability ,而非大家比較習以為常零知識證明提供的隱私性特質
其實目前基於 SNARK 的 Rollup 項目,例如 zkSync、Loopring、Aztec、zkopru,除了 Aztec 外,其他都是利用 SNARK 來增加 Scalability — 這些 Rollup 上資料都還是公開、沒有隱私性的
StarkWare 是目前唯一基於 STARK 的開發團隊
STARK 要加上隱私保護不會太難,只是 StarkWare 還沒有把這項功能放在未來規劃中
Cairo 簡介
標榜為圖靈完備的零知識證明系統語言,Cairo 對原本熟悉 Solidity 的開發者來說還是會感到比較難上手和陌生的。再加上套件庫還不夠充足,目前支援的雜湊函式是 Pedersen,數位簽章演算法是 ECDSA(相對於 SNARK,EdDSA 的效能反而比較差所以沒有支援)。
但 Cairo 還在早期開發的階段,相信開發體驗會越來越好的。
另外需要注意的是作為一個證明系統,會有 Prover 和 Verifier 的角色。而 STARK 的 Verifier 是公開的,但 Prover 軟體預計會有 License 保護。Prover 一般情況下不得用於商業用途,除非將 proof 上傳至官方的 Verifier。
最後要提及的是,第一版的 Cairo 是設計來方便開發者將 Dapp 的運算遷移至鏈下。不同於 Rollup,這個鏈下只會有它自己一個 Dapp。這個 Dapp 的項目方自己維護自己 Dapp 的 state。( Rollup 則是 operator 維護所有 Dapp 的 state,Dapp 開發者不需自己操煩)
這可能有點難懂。如果你有在寫 Solidity,想像一下今天你在合約要用到合約裡宣告的 storage 變數時,你要自己提供 merkle proof 上來,證明這個storage 變數真的是這個值。這個就是開發者要自己維護 state 的意思。
而第二版的 Cairo 則是 StarkNet 裡使用的 Cairo(第一和第二版是不同編譯器),這版的 Cairo 就是作為 Dapp 在 Rollup 開發所使用 — 開發者可以在合約裡宣告變數,變數的值不需開發者維護,可以直接假設存在。
註1:StarkWare 不喜歡 Rollup 這個詞,他們覺得 Data Availability 的需求是一段光譜:不一定得要把 data 全都送上 L1,中間有其他方式可以做不同層級的 Data Availability。
註2:第一版和第二版實際上在官方版本裡是 0.0.1 及 0.0.2,在撰文當前最新版即是 0.0.2
官方網站:https://www.cairo-lang.org
開發者文件:https://www.cairo-lang.org/docs/
開發環境
Cairo 有提供像是 Remix 的瀏覽器 IDE:playground。裡面提供各種範例練習和挑戰,除了可以編譯,還可以直接生成並上傳 proof。
註:但有些功能還是沒辦法在 playground 裡使用,例如要給你的程式 custom input 時。這時候只能在本地端開發才能使用這個功能。
開發 Cairo 要先安裝python,我將開發者文件整理出來的資料統整在這個 hackmd 文檔裡:https://hackmd.io/w690dpAQTsKeKZv3oikzTQ
裡面包含簡介、設置本地開發環境以及 Cairo 基礎(因為篇幅原因,所以不將內容複製到這裡)
註:我把開發者文件裡的代碼整理到這裡:https://github.com/NIC619/cairo_practice/tree/master/practices
如果不想在研究開發者文件過程中,還要自己手動拼湊裡面例子的話,可以直接用整理好的代碼來執行。同時 repo 裡還有包含一些額外自己測試 Cairo 功能的範例。
深入 Cairo
在那份 hackmd 文檔裡的開頭,可以連結到第二部分 — 深入 Cairo 的部分。裡面也是從開發者文件裡擷取出來我覺得比較重要的部分。如果你要讀開發者文件的話,我建議從 Hello Cairo 開始,它會從例子切入,會比較好知道 Cairo 怎麼使用。接著如果要更深入了解,再去讀 How Cairo Works。
StarkNet Cairo
第二版的 Cairo 其實功能和第一版的 Cairo 是差不多的,所以不必擔心在開發者文件裡學到的 Cairo 在 StarkNet 版本會不能用或差很多。在讀完 Hello Cairo/How Cairo works 後,就可以接著看 Hello StarkNet。會很順利的切換到 StarkNet 版本的 Cairo。
註1:我整理的文檔裡是按照第一版 Cairo 所寫的
註2:如果你從開發者文件一路看下來,體驗過非 StarkNet 版的 Cairo,那你在體驗 StarkNet 版的 Cairo 時一定會發現這更像一般智能合約的使用方式 — 你可以用 view 函式查詢 storage 變數,可以用 external 函式去執行合約(非 StarkNet 版本不是這樣操作 Dapp 的,這邊因為篇幅原因沒有詳細介紹)。
非常建議嘗試兩種版本的 Cairo,你會知道 1. 操作一個單獨在 L2 的 Dapp 和2. 操作與其他 Dapp 共存在 Rollup 上的 Dapp 的不同。這對了解 L2 怎麼運行、需要哪些資料、為什麼需要這些資料非常有幫助。
0.0.2 版的 StarkNet Cairo 目前還缺少一些功能:
函式還沒辦法宣告陣列或 struct 型態的參數
合約和合約之間還沒辦法互動
L1 沒有辦法讀取到 L2 的資料,L2 也沒辦法讀取到 L1 的資料。如果要建立跨 L2 Bridge,這個功能非常重要。
補充及個人心得
STARK 的 proof size 相比於 SNARK 系列的 proof size 大很多,又其證明所包含的交易數量對 proof size 和驗證時間的影響不大,所以把很多筆交易一併做一個 proof 會是對 STARK 非常有利、節省成本的方式(SNARK、STARK 比較表)。但這同時也是一個缺點,如果你的 Dapp 或 Rollup 的 TPS 不高,那就只能等更久時間搜集多一點的交易,要不然就只能提高成本來維持驗證 proof 的頻率。
StarkWare和 zkSync 一樣都有 Rollup 宇宙的概念( Rollup 宇宙的用詞並不精確,因為在他們的宇宙中不會所有子鏈都是 Rollup,而是會有依照 Data Availability 程度不同所區分的子鏈,像是 Validium、zk Porter 的設計),個人覺得能夠有(針對 Data Availability 程度的)選擇是會比只有一個選擇(完全 Data Available) 還好的方式,但實際上的可行性就要等其團隊釋出更多的資訊。
在 Rollup 越趨成熟的情況下,能夠提供快速跨 Rollup 服務的流動性提供者的角色會越來越重要。zk Rollup(StarkNet、zkSync、etc…)比 Optimistic Rollup (Optimism、Arbitrum、etc…)有著短上許多的 finalize 時間,這對降低流動性提供者的風險有很大的幫助,但目前 zk Rollup 支援合約功能甚至 L1 <-> L2 互動的完成度都比 Optimistic Rollup 還低上許多。短期內快速跨 Rollup 的服務應該還是侷限在 Optimitic Rollup 之間。
abbrev
[zkp 讀書會] Cairo 語言介紹 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
同時也有1512部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,從EXCEL VBA到Python開發第2次上課 01_重點回顧與BMI計算 02_計算BMI與格式化到小數點第二位 03_邏輯判斷BMI的評語 04_用format格式化資料 05_用for迴圈加總1到99 06_奇數偶數分別加總 07_用step與兩個for迴圈 08_九九乘法表單列輸出 09...
「測試文件範例」的推薦目錄:
- 關於測試文件範例 在 Taipei Ethereum Meetup Facebook 的最佳貼文
- 關於測試文件範例 在 軟體開發學習資訊分享 Facebook 的精選貼文
- 關於測試文件範例 在 Facebook 的精選貼文
- 關於測試文件範例 在 吳老師教學部落格 Youtube 的最佳解答
- 關於測試文件範例 在 吳老師教學部落格 Youtube 的最讚貼文
- 關於測試文件範例 在 吳老師教學部落格 Youtube 的最讚貼文
- 關於測試文件範例 在 網路上關於產品測試報告範本-在PTT/MOBILE01/Dcard上的 ... 的評價
- 關於測試文件範例 在 網路上關於產品測試報告範本-在PTT/MOBILE01/Dcard上的 ... 的評價
- 關於測試文件範例 在 網路上關於產品測試報告範本-在PTT/MOBILE01/Dcard上的 ... 的評價
- 關於測試文件範例 在 GitHub Copilot 開發者訓練營筆記 - 黑暗執行緒 的評價
- 關於測試文件範例 在 Google Pixel 7a測試|延續旗艦好料、從內至外全面升級! 的評價
- 關於測試文件範例 在 建立與執行單元測試範例 - YouTube 的評價
測試文件範例 在 軟體開發學習資訊分享 Facebook 的精選貼文
NT470 特價中
了解如何使用 Node.js 建 構 GraphQL 應用程式。包括 Prisma、身份驗證、Apollo 客戶端等等!
從這 23.5 小時的課程,你會學到
✅ 通過建構實戰的 Node 應用程式來學習和掌握 GraphQL
✅ 使用 Prisma 從生產資料庫儲存和存取資料
✅ 使用 Apollo 客戶端從你的網路應用程式中與 GraphQL 溝通
✅ 瞭解如何佈署和測試你的 GraphQL 應用程式
✅ 通過完成 80 多個程式設計挑戰來測試你的技能並獲得自信
✅ 獲得免費的 110 頁 PDF 指南,包括演講筆記、程式碼範例和文件連結
https://softnshare.com/graphql-bootcamp/
測試文件範例 在 Facebook 的精選貼文
最近台灣因為疫情關係,許多學校開始遠端教學,也造成許多老師與家長的崩潰~所以今天就來聊聊比較專業點的話題,個人如何在家建立遠端線上教學?
平常個人不像學校有平台帳號,以及軟體系統支援,對於體制外的人想開個遠端示範教學分享,該如何運用現有的網路資源來做遠程?
規劃遠端線上課程,要考慮的東西很多,例如軟體平台、硬體配備、網路頻寬等等….但首先要了解你課程的需求,這樣才有辦法針對需求,挑選適合的方式進行,其實遠端教學我在幾年前就有嘗試過,去年也有跟幾所學校試著用遠端作講座,所以有些小心得,今天就以漫畫課程轉成線上教學做一個很簡單的經驗分享。
在講遠端教學前,先來了解一下,我在 角川国際動漫教育 的實體上課模式:
上課老師或助教點名,公告今天課程的內容與時段安排,接著檢查上一堂課交代的作業,逐一做檢討示範,這個階段開始都會用螢幕分享廣播的方式,讓所有人看的到操作修改過程,檢討完畢才開始正式課程,因為學生總是會有晚到的,一開始做作業檢討,可以先檢討先來的同學作品,也不會浪費等待時間。
正式課程我習慣用簡報影片,講解課程概念與實際範例,如果學生沒問題,就開始實際的操作與示範,這時會使用軟體做繪圖示範,示範剛剛講解的簡報內容與繪製要領,並當場出一個練習給學生實地操作。
學生操作過程中,我會逐一過去看看並詢問問題,這時學生若有疑問就會提問,畢竟有些學生不好意思公開提問,往往都是等老師走到身邊詢問時,才會把問題講出來,我便依據問題做解答示範,如此反覆循環。
直到下課前,讓學生完成此堂課練習,最後再出個回家練習作業,讓學生回去練習,下堂課做講解。
大致上的實體課程規劃是這樣。
但如果把實體教學方式改成遠端線上,就會有許多操作上的問題,尤其是互動部分,必須先思考軟硬體可以提供到甚麼樣的地步,我們又可以藉由甚麼樣的轉換,把實體示範改成線上也可以很清楚呈現的模式。
遠端教學有很多種方式,不管是直播還是預先錄影,都必須先有個平台,才方便管理整個課程進行、至於平台種類有很多,不管是google meet、Microsoft Teams、Zoom、甚至網路社群的直播,都可看你的使用習慣跟需求來挑選,有關這些平台的操作,不是今天我要討論的重點,有興趣的人可以網路搜尋一下,就會出現很多相關的教學,我蠻推薦 台灣線上同步教學社群 這個FB社團,裡面有很多熱心老師會提供技術上的支援與解答。
針對漫畫課程的平台挑選考量,大部分介面使用上不是那麼困難,主要是要挑選適合你課程內容的呈現與操作模式比較重要,上課是件很單純的事,不管是實體或是遠端,千萬不要被線上平台上,一大堆超炫的功能給迷惑,在開始遠端教學前,要先以最簡單直接的方式思考,我該如何運用平台來教課才對,而不是想把平台上的所有功能全部都學會精通,不是所有功能都適合你的教學,這是我給想作遠端教學老師們的一個建議。
在開始遠端教學時我會思考幾個點,我分幾個塊面分享:
登錄管理:
這邊要思考整個遠端教學,漫畫課程會需要甚麼樣的功能,我個人的需求傾向,如果不是公開課程,是否可以控管登陸進來的人員,人數上的限制到多少,方便班上學生的點名?
要不開了一堂課,結果無法設限,來了一堆走錯教室或路人甲乙,原本是要上課的房間,就變成聊天凸槽大會,也挺困擾的,雖然可以關掉重開房間就是,不過一開始就找到可以控管登陸人員的平台,也省下很多麻煩。
再來就是登陸的方式夠不夠簡單,線上教學最怕遇到登陸方式很複雜,要不然就是要填一堆個資之類的,這就跟時下很多漫畫連載網站,每次想點進去看漫畫,卻發現登錄方式限制多多,甚至點選功能很不直覺,這對要推廣漫畫的平台來說,真的是很不友善。
如果說可以一個按鍵就直接進入教室,操作介面很直覺,那就會大大提高學生進來聽課的意願,現行很多平台都有這樣的功能,只要老師設定好房間,給學生連結,學生就可以直接進入,相當簡單便利。
平台介面:
對於平台介面我的需求只有好操作,不複雜,介面簡單,容易上手,哈哈..誰不想這樣。當然越多的功能,就可能會要收費才會打開服務。
上課講師可以控制那些介面或權限,如果上課老師無法控制房間秩序,學生無法控管,不但會打斷講課節奏,甚至還會偏離整堂課主題,所以我會思考平台是否有禁止發言或踢除房間功能,甚至示範畫面時可以點選指定視窗。
因為漫畫教學最重要的就是分享螢幕,但有時螢幕很多參考資料視窗,全螢幕分享,很容易讓學生找不到注視焦點,如果可以指定分享視窗,其他視窗不顯現,當我示範操作或繪圖時,就算家裡開視窗多螢幕,只要指定線上顯示的視窗,畫面就容易聚焦,而且隨時可以做簡報或影片切換,這樣在漫畫課程上的呈現就很足夠了,還有檔案的傳送是否有限制等等,都是我在挑選軟體平台時的介面考量。
至於要不要錄影功能,這個我倒覺得看每位老師需求,其實就算平台沒錄影功能,網路很多側錄軟體都可以做輔助,也可以請助教或學生在過程中另外側錄,都是可以考慮的方式。
我目前都是用google meet來做教學,因為上述我需要的功能都有,簡單的漫畫課程使用也夠用。
硬體設施:
對自己課程需求有想法後,也選定好撥放平台,接下來就是硬體設施,如何把你的影像聲音傳輸出去,學校一定有專門的設備提供,但普通個人在家是無法有那麼多專業設備可用,畢竟我是要用來教漫畫,基本上像是電腦,平板之類的配備都行,一般繪圖者家裡的主機都可以應付,既然要畫圖,數位手繪板一定必備,示範直接用分享螢幕的方式即可,很方便。
常有學生問我遠端上課家裡沒攝影機怎麼辦?
其實攝影機對基礎漫畫課程來說,我覺得挺多餘的,攝影機主要是要看到連線的人,但漫畫課主要以圖像示範為主,我不用看到你,你也不用看到我,一般畫圖的人都很不習慣露臉,大家嬌羞習慣了,所以遠端線上蠻適合漫畫課的,不管是老師或者是學生都不用露臉,直接分享螢幕看技巧比較重要,真有心學習的人,就是會在位置上,一切都是管不住的。
既然攝影機不重要,那燈光甚麼的一起省下來了,上線前的梳理打扮,甚至上課時的濾鏡與背景也一併省去,真是太好了。
除了螢幕分享外,有個配備我倒覺得很重要,那就是老師的輸出設備,麥克風!
常看到很多線上教學,老師的聲音斷斷續續,甚至聽的不是很清楚,或是回音很大,這都會影響電腦另一端學生上課的意願,所以我在做線上教學時,最要求的就是音質問題,是否夠穩定,看不到老師沒關係,但老師上課的聲音一定要準確清楚地傳達給學生,買一支好的收音設備真的很重要。
尤其我做了那麼多集的YOUTUBE影片跟PODCAST廣播後,深切感受到好音質的重要性,很幸運的,當初買了這些配備,剛好用在這個時機點上,錢沒白花。
除了麥克風外,課程過程中也要準備接聽的裝備,可能會有學生語音提問,這時就會需要撥放裝置,例如喇叭或耳機,在這邊我會比較建議老師準備耳機接聽比較好,如果用喇叭,遇到音質不好的聲音,很容易聽不清楚學生在講甚麼?甚至老師喇叭撥放聲音,同時使用麥克風時,常會產生共鳴或回音,學生端的接收就會受影響,所以還是一邊麥克風,一邊用耳機接聽來的清楚。
大致硬體要注意的就這些,其實還有一個東西是大家常忽略的,就是家裡的網路夠不夠力,一般網路都是下載的頻寬大,但如果你是要做遠端教學,就必須思考家中的網路上傳頻寬夠不夠用,因為漫畫課大部分都是圖像傳遞,如果你上傳頻寬不夠力,那接收的學生端,就算有超大下載頻寬,也搭不了妳的上傳速度,反而他們在接收時會有延遲,這都是要去考慮的地方。
主機設備,網路頻寬這個東西,對於遠端教學就是一個關卡,不管是接收或是上傳,遇到網路不順的區域,不管你設備準備多齊全,課程設計再怎麼豐富,直播教學就是效果不好,這時就又要回到是否要錄製過程的考量,畢竟直播連線不順,只好課後慢慢下載完整影音檔,自己在電腦溫習了。
課程呈現:
軟硬體都準備好了,接著就是整個線上課程的重點,就是課程內容如何呈現的問題。
漫畫遠端教學與實體課最大不同就在於,老師學生不處於同一空間,在互動上就會有些不同,如果單純以講課來說,就比較簡單,只要備好簡報,示範教材,甚至影片,就可以開始上線上課。
上課過程要善用螢幕分享,這是遠端教學最重要的技巧,你可以把螢幕當作你的黑板來想,所有講課資訊都是透過螢幕傳達給學生的概念,這樣未來你在備課時就比較會有想法。
一般我上課前會想好這堂課要的主題,然後配置時間段落,準備課程簡報,由於是遠端使用的簡報,除了標題外,可以稍微增加一些重點標註文字,學生看螢幕時比較可以抓住老師講的重點,當然還是不建議那種寫得密密麻麻的文件方式,如果能以圖像作解說更好,畢竟是漫畫課,有圖像會比文字來得吸引學生注意。
當然課程中可以穿插小短片作輔助,帶動整堂課的一個節奏,也是一個很重要的安排。
除了簡報影片,漫畫課最重要的就是實例演練,就是老師會親自畫一輪,搭配講解讓學生知道整個操作過程,這個階段每位老師習慣不一樣,有的老師可以邊畫邊講解,但有的老師可能畫圖時需要專注在圖像上,無法分心講解。
為了讓整個課程節奏不要間斷,我會建議事先用錄影的模式,把繪畫操作過程先錄起來,分享影片時,老師再從旁針對影片作講解,這樣就可以很專注在講解上面,甚至有同學提問,也可以按暫停鍵,回答問題後繼續影片示範,這個方式對於遠端教學來說是很方便的做法。
老師示範完,就可以請同學開始分享他們自己的螢幕,做線上練習,老師可以透過螢幕檢視所有同學操作問題,再一一提出修正建議,其他同學也可以透過螢幕看到,完全不會浪費練習時間。
說到時間,我剛有說我在安排課時,我會作時間配置,整堂課有多少時間,每個時間波段做甚麼事,如果一開始就配置好,你就比較好掌握整個進度與講課節奏。
一般線上學習的專注力不像實體課程,學生會專心坐在座位上聽課,能有一個鐘頭就已經很極限了,所以我會建議老師講課時間最好在50-60分鐘內講完,把剩的時間留給學生演練,在從演練的過程中提出學生問題作線上討論,這樣的操作就比較有效果,因為畫圖時大家會比較專注,一定比坐在位置上聽老師講好幾個小時來的有效率。
以上講的幾種分享方式,足以應付漫畫課程在遠端的示範,當然漫畫課不同於插畫課,除了軟體操作以及圖像外,有些示範或講解部分,端靠目前遠端的方式,還是無法解說的很詳盡,必須用另一種方式來呈現,這不是今天要討論的重點,改天有機會我們再來聊。
互動習作:
實體課與遠端線上課程,除前面講的幾個考量外,還有個比較大的關卡,就是互動問題。
如何與學生互動?這時就要思考要與學生互動到甚麼程度,實體課的互動很直接,線上課程也可以互動,但就少了那麼一點直接的感覺,實體課程,老師在講台上可以全觀所有學生,一眼就可以感受學生的學習狀況。
線上開攝影機的感覺就是不一樣,如果真想要完全達到實體課程那種直接感,實在有困難,目前在漫畫課程上,面對冷冷的設備,最多的就是學生提問,老師解答,完全沒有溫度,這就是我說的,漫畫課程無法全部藉由線上學習的門檻,有些東西還是得面對面才可以體會老師講的,這又是另一個教學話題了。
當然實體與線上都有利有弊,練習的部分可以藉由螢幕分享掌握學生學習狀況,及時提出修改建議,課後的練習可以把習作放在雲端,供學生下載後在家自我練習,練習後的作業一樣可以上傳雲端,老師直接雲端作紅線批改,問題比較大的,或是大家共通的問題,就可以在下一堂課一開始作一個講解示範,這樣整個學習程序就會完整。
在正式上課前,我會先貼公告,請學生進來後,先關掉攝影機跟麥克風,除非點名提問再開麥可風,以免干擾上課收音品質,還有一件很重要的,就是開播上線前一定要先測試,不管是平台或是設備,有時前一天還好好的,隔天就發生完全不行的狀況,所以我習慣上線前幾個小時簡單測試一下所有軟硬體,或找個學生或助教對接一下,確認無誤才安心接下來的線上課程。
其實線上教學除了老師端的問題外,真正要面對的是學生端問題,學生家裡的設備是否足夠應付教學,不是每個家中每個人都有電腦,如果同時間都要上課,一家人搶資源的現象就會發生,老師就要體諒這種狀況,或許錄影正是解決分流的一種作法,不一定大家都要線上直播。
學校也要考慮家中沒設備的學生,是否有可以外借裝置的規劃,畢竟這波疫情影響的是未來教學體系的改變,要回到以往實體課的模式,可能還會有些時日,資源不足的學區如何趕上這波教學變化,希望政府跟學校也要去正視這個問題,畢竟這是學生受教的權利。
希望今天的主題,對準備構思線上課程的老師有幫助,其實我隨時都在思考跟嘗試,漫畫有哪些課程是可以線上呈現的,雖然我還是覺得實體課程比較有人的溫度就是。
如果大家有想聽的課程或想法,歡迎留言給我建議,先從一個簡單無料的方式試試,後續再來調整教學架構,等一切成型,或許哪天我們也都會在線上見了。
我是曾建華,漫漫話畫,我們下次見!!
#遠端教學
#漫漫話畫
#線上課程
#備課超辛苦
#不小心就打了這麼多
#原本是要用來講PODCAST的稿
測試文件範例 在 吳老師教學部落格 Youtube 的最佳解答
從EXCEL VBA到Python開發第2次上課
01_重點回顧與BMI計算
02_計算BMI與格式化到小數點第二位
03_邏輯判斷BMI的評語
04_用format格式化資料
05_用for迴圈加總1到99
06_奇數偶數分別加總
07_用step與兩個for迴圈
08_九九乘法表單列輸出
09_九九乘法表多列輸出
完整教學
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/g/_vbapython117
吳老師教學論壇
http://www.tqc.idv.tw/
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著
出版社:碁峰 出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 110/9/27
EXCEL,VBA,Python,東吳推廣部,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
測試文件範例 在 吳老師教學部落格 Youtube 的最讚貼文
從EXCEL VBA到Python開發第2次上課
01_重點回顧與BMI計算
02_計算BMI與格式化到小數點第二位
03_邏輯判斷BMI的評語
04_用format格式化資料
05_用for迴圈加總1到99
06_奇數偶數分別加總
07_用step與兩個for迴圈
08_九九乘法表單列輸出
09_九九乘法表多列輸出
完整教學
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/g/_vbapython117
吳老師教學論壇
http://www.tqc.idv.tw/
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著
出版社:碁峰 出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 110/9/27
EXCEL,VBA,Python,東吳推廣部,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
測試文件範例 在 吳老師教學部落格 Youtube 的最讚貼文
從EXCEL VBA到Python開發第2次上課
01_重點回顧與BMI計算
02_計算BMI與格式化到小數點第二位
03_邏輯判斷BMI的評語
04_用format格式化資料
05_用for迴圈加總1到99
06_奇數偶數分別加總
07_用step與兩個for迴圈
08_九九乘法表單列輸出
09_九九乘法表多列輸出
完整教學
http://goo.gl/aQTMFS
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/g/_vbapython117
吳老師教學論壇
http://www.tqc.idv.tw/
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著
出版社:碁峰 出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 110/9/27
EXCEL,VBA,Python,東吳推廣部,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
測試文件範例 在 網路上關於產品測試報告範本-在PTT/MOBILE01/Dcard上的 ... 的推薦與評價
這些工具會偵測與報告,某項動作總是造成記憶體漏失(memory leak)的... ,20150806XX产品测试报告范本- 上海嘉亨日用化学品有限公司产品测试报告产品代码客户产品名称 ... ... <看更多>
測試文件範例 在 網路上關於產品測試報告範本-在PTT/MOBILE01/Dcard上的 ... 的推薦與評價
這些工具會偵測與報告,某項動作總是造成記憶體漏失(memory leak)的... ,20150806XX产品测试报告范本- 上海嘉亨日用化学品有限公司产品测试报告产品代码客户产品名称 ... ... <看更多>
測試文件範例 在 網路上關於產品測試報告範本-在PTT/MOBILE01/Dcard上的 ... 的推薦與評價
這些工具會偵測與報告,某項動作總是造成記憶體漏失(memory leak)的... ,20150806XX产品测试报告范本- 上海嘉亨日用化学品有限公司产品测试报告产品代码客户产品名称 ... ... <看更多>