TypeScript 學習之路─第二章:用TypeScript寫個猜數字程式吧! 2019 年 11 月 14 日 Magic Len 研究分享、JavaScript 在這個章節,我們將會直接使用TypeScript程式語言來建立出猜數字程式的專案,並逐步將它完成!並在撰寫程式的過程中,來練習TypeScript程式語言基礎的程式語法,以及針對Node.js和網頁瀏覽器這兩個不一樣的執行環境來撰寫程式。這支小程式在執行之後,將會先從1到100的整數中,隨機抽取一個數字作為答案,並且允許使用者輸入要猜的數字,如果答錯了,程式會回答使用者輸入的數字究竟是大於答案,還... 繼續閱讀
TypeScript 學習之路─第一章:認識TypeScript 2019 年 11 月 12 日 Magic Len 研究分享、JavaScript TypeScript是由微軟開發的一種能用來編譯出JavaScript程式碼的程式語言,因其比JavaScript程式語言還多了一道編譯手續,能夠在編譯階段找出程式碼語法上的問題,而且也添加了型別檢查機制,讓程式更容易閱讀與偵錯,使得TypeScript更適合用來開發大型專案。TypeScript相容於JavaScript,白話一點來說就是JavaScript程式碼也可以通過TypeScript編... 繼續閱讀
如何用Rust程式語言搭配zBar函式庫進行條碼掃描? 2019 年 11 月 7 日 Magic Len Rust 在生活中常常可以看到條碼(Barcode)的存在,無論是商品結帳時在收銀台使用的EAN條碼、書籍使用的ISBN條碼,還是在最近因行動裝置的流行也跟著帶動起來的QR Code,這些條碼都可以讓我們的生活更便利,傳遞資訊的速度更快,省下許多使用鍵盤打字的時間。zBar是一個使用C語言開發的函式庫,效率極佳,支援多種一維條碼和二維條碼的掃描,要如何在Rust上使用zBar函式庫進行條碼掃描呢? 繼續閱讀
如何將reCAPTCHA v3加進Rocket應用程式中? 2019 年 11 月 5 日 Magic Len Rust 網路上總會有人為了一己私利,透過機器人(robot)來快速填寫並送出網頁上的表單,導致該網站的帳號密碼被破解,或者販賣的商品立刻被有心人士一掃而空(倒買倒賣),又或是資料庫的資料在短時間內被全部爬出來。為了防範機器人來我們的網站上搗亂,最好將Google提供的reCAPTCHA真人驗證機制加入網站中。 繼續閱讀
用Rust程式語言製作作業系統核心(Kernel) 2019 年 10 月 24 日 Magic Len 作業系統、研究分享、Rust Rust程式語言雖然可以很方便地做各式高階應用,但它本質上還是屬於系統層級的程式語言,換句話說,要拿它來開發作業系統也是可以的!Rust程式語言嚴謹的編譯器可以幫助我們在開發作業系統的時候於編譯階段就避免掉許多記憶體相關的問題,讓我們更能專注在其它方面上。這篇文章將會初步介紹用Rust程式語言開發作業系統核心(Kernel)的方式。 繼續閱讀
用Rust的derive屬性實作如Copy、Clone、Debug等內建特性的替代方式 2019 年 10 月 17 日 Magic Len 研究分享、Rust Rust程式語言內建的derive屬性可以快速地替我們的型別加上內建的特性,不過會要求該型別內的欄位也都要先實作相同的特性,而且很多時候利用derive屬性實作出來的特性並不能達到我們期望的功能。 繼續閱讀
如何用Rust程式語言替我們自己的型別實作Debug特性? 2019 年 10 月 15 日 Magic Len Rust Rust程式語言內建的「Debug」特性非常方便,可以直接將任意型別的值以字串的方式顯示出來,而且還可以支援一定程度的格式化方式。在一般的情況下,要替我們自己的一個型別實作「Debug」特性,只需在其「derive」屬性加上「Debug」參數就好了,沒有什麼難度。但是在比較特別的情況下,我們就無法用「derive」屬性來實作「Debug」特性。 繼續閱讀
深度優先搜尋(DFS)和廣度優先搜尋(BFS)演算法,實用的節點搜尋法 2019 年 10 月 10 日 Magic Len 研究分享、Rust、演算法 圖(graph)是由節點(node)和邊(edge)組合而成的非線性結構,如果我們想要從其中的一個節點開始,走訪到其有直接或是間接連接的其它所有節點,可以依靠深度優先搜尋法(DFS, Depth-first Search)或是廣度優先搜尋法(BFS, Breadth-first Search)來達成。 繼續閱讀
如何在Android或是Java程式語言中使用Rust的函式庫? 2019 年 10 月 8 日 Magic Len 研究分享、Android、Java、Rust Java是一個需要運作在JVM上的程式語言,因此效能會比原生(native)程式還要來得差一些。不過對於一些比較需要花費硬體資源的運算(例如影像處理、聲音處理),我們還是可以透過Java提供的JNI(Java Native Interface)來連結並使用原生函式庫提供的功能來完成。Rust的函式庫也可以透過JNI來呼叫,在這篇文章中,會介紹如何把任意現有的Rust函式庫拿進Java程式語言中使用... 繼續閱讀
如何撰寫出無標準函式庫的Rust程式? 2019 年 10 月 3 日 Magic Len 研究分享、Rust 在預設的情況下,Rust程式都會與標準函式庫和C函式庫作連結,所以我們可以輕易地讓Rust程式能夠使用作業系統所提供的執行緒、檔案、網路等等的功能。但是這樣就會有個問題,那就是我們的程式會變得必需依賴於執行在某些特定的作業系統上,而無法獨立運作在無作業系統的環境中。 繼續閱讀