iT邦幫忙

鐵人檔案

2018 iT 邦幫忙鐵人賽
回列表
Modern Web

謙虛,踏實的Web Assembly練習 系列

又到了一年一度的密集學習時期,據說Web Assembly已經可以在各家瀏覽器的最新版本執行了,就來練習看看吧。因為工作也頗忙,只能做簡單的練習...所以就謙虛,踏實地前進了。

參賽天數 20 天 | 共 20 篇文章 | 26 人訂閱 訂閱系列文 RSS系列文
DAY 11

[練習 10] 對於區塊理解的錯誤以及br_table的寫法

原來區塊可以返回值 昨天測試中,以為區塊是使用新的堆疊,所以無法返回值。不過後來發現不是這麼回事Orz 區塊跟函數一樣,都可以指定返回值,只是預設不返回,所以需...

2017-12-30 ‧ 由 fillano 分享
DAY 12

[練習 11] 嘗試應用看看...影像轉灰階

為什麼選灰階 其實是因為計算簡單XD 如果知道RGB,可以透過這樣的公式快速轉成灰階值: Gray = (R*38 + G*75 + B*15) >&gt...

2017-12-31 ‧ 由 fillano 分享
DAY 13

[練習 12] 怎麼除錯

原來開發者工具也趕上了 昨天寫轉灰階程式時,發現會有一個錯誤,就是...跟預期不一樣,給他的記憶體不夠用,出現了Out of bound錯誤。但是...在開發者...

2018-01-01 ‧ 由 fillano 分享
DAY 14

[練習 13] 在Web Worker跑WebAssembly

透過Worker載入WebAssembly 概念很簡單,就是網頁端只把ImageData取出的資料,放進SharedArrayBuffer丟給Worker,Wo...

2018-01-02 ‧ 由 fillano 分享
DAY 15

[練習 14] global與start區段

global區段 顧名思義,global區段就是讓你定義global變數用的。 語法很簡單: (global $var_name|index (mut type...

2018-01-03 ‧ 由 fillano 分享
DAY 16

[練習 15] 整理一下關於WebAssembly指令的文件

堆疊機 WebAssembly基本上是設計成一個基於堆疊的虛擬機,所以跟指令息息相關的就是堆疊的操作。這通常並不是直接用程式操作堆疊,而使每個指令的輸入與輸出,...

2018-01-04 ‧ 由 fillano 分享
DAY 17

[練習 16] 繼續整理WebAssembly指令的文件

型別轉換 轉換成32位元整數 指令 參數 返回 說明 i32.wrap/i64 (參數1) 轉換結果 將64位元整數轉換成32位元整數 i32...

2018-01-05 ‧ 由 fillano 分享
DAY 18

[練習 17] 目前版本的狀況以及未來展望

MVP (minimum viable product) 如果看過官網的文件,會發現目前釋出的WebAssembly版本,被稱作MVP版本,也就是「最小可實行」...

2018-01-06 ‧ 由 fillano 分享
DAY 19

[練習 18] 在node.js環境中執行WebAssembly

node.js對WebAssembly的支援 相關支援其實在目前的LTS版本已經沒問題了(寫這篇文章時,是8.9.4 LTS),所以只要從nodejs.org網...

2018-01-07 ‧ 由 fillano 分享
DAY 20

[練習 19] 總之,就來個結語吧,我沒梗了

話說回來,就是事先沒準備,也沒有規劃三十天題目,每天寫的時候才想隔日要做什麼的話,要撐到三十天果然不容易XD 不過即使只花了二十天,也大致上掌握了WebAsse...

2018-01-08 ‧ 由 fillano 分享