雖然這篇javascript學習網站鄉民發文沒有被收入到精華區:在javascript學習網站這個話題中,我們另外找到其它相關的精選爆讚文章
在 javascript學習網站產品中有6篇Facebook貼文,粉絲數超過3,460的網紅Taipei Ethereum Meetup,也在其Facebook貼文中提到, 📜 [專欄新文章] 2021 區塊鏈開發入門 ✍️ Johnson Chen 📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium 在我大學的時候,除了學習網頁前端之外,因為課程報告的需要接觸到以太...
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
javascript學習網站 在 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.
👏 歡迎轉載分享鼓掌
javascript學習網站 在 鄰家野原 Facebook 的最讚貼文
【免費的程式學習國外平臺:code.org介紹】
之前有提到均一平臺上有放程式設計的教學
但內容沒有很完全
還沒看過的可以往這裡去
👉https://reurl.cc/qdjYag
臺灣現在實在太多補習班安親班,打著程式設計的名號有點過度收費了
#學習不是貴族式教育
#程式設計加入新課綱也不恐怖
其實就像我們以前學電腦科
要上一點電腦概論
還有用BASIC語言寫出簡易的小遊戲
當時我對於寫程式有一點點興趣
用BASIC語言寫遊戲,寫到老師推去校際比賽
但還是比不過資訊科的,沒有得名,但又如何
#有趣的事情有了開端之後再度遇到就不會怕
#這就是課綱中要加入程式設計的用意
以前求學時要考打字
我爸給我一個沒接線的鍵盤就這樣練打字了
因為父母症頭都一樣,會焦慮
怕我打字速度比賽不過就慘了
但,那學期也這樣安全過關了
我到現在還是只會注音打字
其他甚麼倉頡 無蝦米打字法還是不會
現在工作打字夠快就夠了啊
#不要小看孩子的學習能力
現在我們的孩子都是有電腦手機的科技時代
不求每位孩子都會成為矽谷工程師
比爾蓋茲也只會有一位
程式的概念就是邏輯的延伸
基本邏輯先搞懂了
再往下學才不會學習不扎實
相關文章:【圖形規律&程式設計初階 的關係】
👉https://reurl.cc/lVzv4Y
很多孩子學了所謂的程式設計
但那都是人為已經先設計過的程式
程式的產生,原本是解決問題的工具
沒有思考,沒有解決問題的能力
就無法再自行創作
跳一下回到今天要介紹的網站:code.org
👉https://code.org/
✅須申請帳號登入
✅可選語言
✅免費
✅課程分齡設計完整
以臺灣的學程來看✅適合國小階段
Code.org 是一個非盈利性組織由Hadi Partovi兄弟建立的與該組織同名的網站,其宗旨在於支援美國的學生學習電腦科學以促進和提高其學校的電腦科學課程的目的,免費提供編程經驗
看到非營利,就知道這網站一定是免費
其實我去年就看過這平臺
但當時還在觀望臺灣的線上程式學習狀況
但臺灣的速度不及國外的完全
Code.org是我目前看過
免費且課程分齡完整的學習網站
網站英文的不用怕,一開始網站會先讓你選語言
1️⃣下拉到最底有個繁體中文點下去
網站的介面就換成中文了
2️⃣帳號可以用FB或是google帳號連動登入
登入後
3️⃣點課程目錄
第一次學
4️⃣請先把網頁網下拉,看到計算機科學基礎
🔸『計算機科學基礎』
這裡的內容就有分齡的合適課程
第一次不要被適合年齡逼到了
都先從課程4-6的課程先開始
按部就班,一課課學,就能完成
課程設計都有穿插 『不插電學習』
🔸『不插電學習』
有影片和學習單,看到密密麻麻英文會頭痛的,記得按右鍵,翻譯成中文,就可以了解大概的意思
🔸『速成課程』有合併不插電學習+線上學習
這網站偶而會出現適合兒童的速學課程(但目前沒有)
🔸『一小時玩程式』
適合已經有程式基礎的創作學習
再往下
🔸『為國高中準備的工具(英文版)』
不過這裡的課程不太適合臺灣
臺灣近期國中以上都是教Python
但想透過App Lab 還有 Game Lab 學習怎麼用 javascript 創件應用程式,可以在這裡學習。
線上學習有個好處是
忘記了,不會了,還能再回去看
順便練練英文耳的聽力,
年紀還小或低年級也想嘗試的,要家長在旁邊輔助喔
希望孩子們在這裡都能學習愉快
喜歡這篇文可以分享出去,並給我一個大拇指鼓勵喔!
#線上學習資源 #程式設計 #小學 #國中
#初階程式設計
========近期新文章=========
【小學生的短篇科學故事 】 👉https://reurl.cc/D95b1N
【認識昆蟲一定要認識的法布爾老爺爺】👉https://reurl.cc/1xNL8p
【學程英文輔助學習免費資源】👉https://reurl.cc/vDNm4j
【 臺北、新北市圖_網路借閱證辦理】👉https://reurl.cc/QdQVpb
【 聊聊暴力性侵 成為重要他人】👉https://reurl.cc/3DVb2j
javascript學習網站 在 紀老師程式教學網 Facebook 的最佳貼文
[免費學習資源] HTML & CSS 優雅嚴謹的學習網站
入門: http://goo.gl/b1YV6
進階: http://goo.gl/lsOoh
#HTML #CSS
FB連結: https://goo.gl/Uv9Jc2
今天跟各位介紹一個學習 HTML 與 CSS 的網站,叫做「Learn to Code HTML & CSS」。我很少看到可以把學習網站的外觀,排版得如此乾淨優雅、又結構嚴謹的!光看首頁,我的印象分數就 Up Up!
實際點進去看了一圈,更是覺得它的教學內容每則都短短的,不會超過 3 個 Page Down。但都能把握某一主題,言簡意賅。所以就趕緊推薦給大家!
想學網頁程式設計,我會推薦由「HTML --> CSS --> JavaScript」這樣的路線來學。如果學完 JavaScript,能再學 jQuery 這個 UI (User Interface, 使用者介面)的專門語言,那更是如虎添翼!這個網站難得的是,它有一個「進階課程」(連結附上本篇上面,標示為「進階」的那個),不但把 jQuery 這段知識補上,而且還很佛心地...免費!(耶~~)
但這個網站也不是沒有缺點!它把 JavaScript 這個重要語言講得不多!這點真的是美中不足!這兩天我再找找有什麼好的 JavaScript 教學網站,提供給大家,補足這一部份!
希望今天介紹的這個網站,能夠幫助到想要學 HTML 與 CSS 的朋友!如果您覺得這篇文章寫得不錯,還請您不吝按讚鼓勵一下。或者轉發到您自己的 Facebook,加一點您的心得,分享給您的朋友。久而久之,您也會成為朋友中,程式設計方面的意見領袖喔!祝 學習順利!
PS: 看了本篇後有任何疑問,歡迎在底下留言,我會盡快為您解答的!