有了基本檔案架構後,開始動工指令的部分。RISC-V將指令分成數個子集,其中包括RV32I、RV32E、RV64I、RV128I四套整數指令集,以及約14套擴充...
這次要來談的是Rust的測試框架,並且重新調整目錄架構。 撰寫測試 Rust本身就自帶測試框架,無須安裝額外library,這邊直接把上次所寫的main改寫成t...
這次要實作的是 RISC-V 的核心基本架構。RISC-V提供了32個integer register用作基本的算術邏輯運算,如下圖: 以 Rust 的stru...
基本的安裝以及相關資源已經整理在上篇文章: RISC-V on Rust 從零開始(1) - 安裝 Rust 環境 材料已經備齊,該是動工的時候,Rust許多語...
工作之餘興起開發side project的念頭,幾經思考後決定以Rust語言撰寫一個基本的RISC-V模擬器,這兩項技術之前都從未接觸,是個學習新知的好機會。...
新場景股份有限公司為台灣第一家以網路垂直領域意見領袖(a.k.a 網紅)作為標籤的快銷品公司,公司成立於 2019 年,為新媒體網紅解決方案提供方 PressP...
最近在寫一些 side project 時碰到了一些 bug ,這個時候除了用 println! 大法外,如果有好好的寫 log 或許也會比較容易知道發生了什麼...
寫在前面 雖然C/C++非常相近,但如果要在兩者中間拉一條線 那中間一定可以放下golang跟rust 這兩個經常被互相比較的語言其實各自走了C跟C++的道路...
這篇要來介紹一個很強大的系統呼叫 ptrace 它可以用來中斷別的程式,讀取與寫入別的程式的資料,它的用途基本上就是拿來實作除錯器,當然除錯器並不是只要能暫停程...
這篇來談談執行緒 (thread) 與 thread local storage (TLS) ,雖說是這樣,但事實上主要是想來看看 TLS 是怎麼運作的,不過在...
今天是鐵人賽的最後一天了。老實說每天要四個語言實在是有點太高估自己的時間狀況,加上 Context Switch 的成本,導致過程之中許多時候都只能先寫部分再慢...
各位好~雖然今天是挑戰的最後一天但是筆者還是會把這個系列介紹完,下面是目前的進度。 Struct Managing Growing Projects with...
今天要來看看一個大家應該不會太陌生,但對我來說每次只要一久不用就會忘掉的正規表示式 (Regular expression)。正規表示式在處理複雜規則的字串很有...
還記得上一篇我們寫到一半的 Modules 介紹嗎?今天要來把剩下的部分給補完。 那麼就開始吧! Exposing Paths with the pub Key...
先前寫了那麼多程式,是時候來談談測試了。這裡的測試指的是 Unit test,大部分的時間是以一個 Function、Class 等等為單位去測試,看輸入幾組設...
各位好,連假結束了不知道各位禮拜一的心情如何呢? 那麼今天的主題是 Modules 應該也是還蠻輕鬆的,下面是這個說明&補充系列的進度條,希望趕快結束他,感覺...
老實說今天 Hackerrank 的主題讓我有點不想浪費一天的篇幅去講,因為是在講 Nested Logic,說穿了就只是要你練習兩層以上的 If Else 之...
各位好,今天要延續專案的說明以及補充,以下是預計會說明的主題。 Struct Managing Growing Projects with Package...
今天 Hackerrank 的主題是探討時間複雜度,透過的題目是給定一個整數,看看這個整數是不是質數。假設這個質數是 n 的話,希望解法的時間複雜度是 O(根號...
各位好,今天要把前幾天倉促完成之下的專案有些不太懂的觀念整理出來並且再重新介紹一下,那麼以下是整理出來我不熟悉的主題。 Struct Managing Gro...
今天在 Hackerrank 的主題是,延續我們之前研究的 Linked list,為這個 Linked list 去增加一個 Function 來把 Link...
今天的主題是延續昨天的 Binary Search Tree,我們要來看其中一種 Traversal 的方法,所謂 Traversal 就是用某種順序來走訪 B...
各位好這個系列到目前為止我們用 Rust + Actix + Diesel 的架構已經做了下面的事情, 透過 cli 呼叫 python 的深度學習程式把中文...
前面三篇我們透過 actix 搭建了我們的第一個 Rust web service 並且把 diesel 的教學給完成了,今天我們就要把上一篇做完的 CRUD...
今天我們要來看的是 Binary Search Tree (BSTs)。Tree 是由有限節點組成具有層次關係的集合。以下圖為例,最上面的節點稱作根節點 (Ro...
今天要來談談 Generic。由於靜態語言對於宣告的類型有嚴格的規定,Generic 的出現則是讓這件事情變得更加彈性,可以將一套程式碼複用在不同類型的資料上。...
這個系列到目前為止我們完成了透過 command cli 呼叫 python 並且用 actix 的 web framework 實作了 restful 的 a...
今天我們要來談談 Sorting,也就是排序。排序看似不起眼,但其實在電腦的世界扮演了許多關鍵的角色,例如當我們要更有效率地搜尋出某個東西的時候,又例如我們要按...
動態連結是讓程式能載入動態函式庫,這些函式庫在 Linux 下一般都是以 .so 的副檔名做結尾,這些檔案能在程式執行起來後才由動態連結器載入程式的記憶體空間供...
大家好,今天要來優化我們之前做的專案,並且替他加上和 DB 連線的功能,那麼首先我們先來調整一下原本的 main 這支程式還有我們的專案架構, 添加 Log 對...