Dart如何實現工廠法
前情提要 所謂的工廠法,在前端設計模式上面算是行之有年,目的是為了達到元件低耦合,做出組件化好管理的Code,那讓我們來看一下Dart是怎麼做的。 模擬http請求情況 void getAnimalList() { const jsonArray = ''' [{"name": "happy", "type": "dog", "age": 18, "no": 4}, {"nam...
前情提要 所謂的工廠法,在前端設計模式上面算是行之有年,目的是為了達到元件低耦合,做出組件化好管理的Code,那讓我們來看一下Dart是怎麼做的。 模擬http請求情況 void getAnimalList() { const jsonArray = ''' [{"name": "happy", "type": "dog", "age": 18, "no": 4}, {"nam...
前情提要 當碰到跑大量的演算法,或是下載較大的檔案,都會碰到UI整個卡住的情形,那這到底是怎麼回是?這要從底層開始說起。 首先要知道,Dart是一種單執行緒語言,這意味著在運行時,都會依序處理完佇列中每個工作(Event Loop)。 打開Observatory debugger看一下,當我們在運行時(run main.dart),可以發現一定會有一個叫main的Isolate。 ...
使用dart:ffi與C語言進行溝通 前情提要 某次需求要在手機上開啟文件,而文件本身有經透過C/C++來做加密,這時候dart:ffi就派上用場了。 什麼是dart:ffi 首先要講一下FFI(Foreign Function Interface),作為編寫程式的人來說,它是一種通用術語,所表達的是開發者可以透過某種語言去呼叫或橋接另一種語言,而Dart也不例外,它可以在Dart Nat...
安裝本次使用的筆記套件 安裝時輸入 $ gem install jekyll bunlder 檢查是否正確安裝 $ jekyll -v Warning: $ bundle add webrick( 缺少部分gem,webrick 不再是 Ruby 3.0 中的捆綁 gem,要額外裝) 接下來按照步驟建立Jekyll專案 開始第一頁筆記 在_posts新...
安裝RubyInstaller 到網上下載RubyInstaller(以Windows為例)RubyInstaller for Windwos。DevKit會外加windows平臺下編譯和使用本地C/C++擴展包的工具 安裝途中會詢問是否加入PATH,如果搜尋不到($ which gem),請到環境變數確認。 安裝後執行 ridk instal...