使用 Clojure 擷取台灣銀行牌告匯率

最近開始在看理財相關的資訊,畢竟錢一直存著也只是存著,剛好看到了 台灣銀行牌告匯率 的訊息,就讓我們用 Clojure 來寫一個 parser 將這個 HTML 網頁轉換成 Clojure 常用的 edn 格式吧。 本文將簡述如何透過 clj-http 取得 台灣銀行牌告匯率 資訊後,再使用 hickory 對取得網頁的資料進行處理,最後回傳 edn 格式好方便我們未來的 Clojure 程式可以對這些訊息進行處理。

閱讀全文 »

淺談 emacs25 的 dynamic modules 功能

emacs 預計在 emacs 25 加入 的功能,透過這個功能我們可以使用 C/C++ 等語言將你的 emacs-lisp 函式變成改寫成如同 builtin 的模組,來提升 emacs-lisp 執行速度或是讓 emacs-lisp 可以與外部函式庫互動。 在本篇文章中,我將稍微講解自己測試 dynamic modules 的心得。

閱讀全文 »

在 emacs 下使用 mu4e 收發郵件

最近又重新改寫了我的 emacs 設定,捨棄掉了 spacemacs 並重新使用 org-mode 撰寫,你可以在 這裡 看到我目前的設定。 既然剛好重寫,就順便紀錄一下如何在 emacs 下進行郵件的收發,在 emacs 下我們有很多種收發電子郵件的選擇,比如 gnus 、wanderlust ,本文要說的是另外一個很多人在用並且比較好設定的 mu4e。

閱讀全文 »

在 clojure 下使用 JLine 2.x 實現互動式命令

GNU Readline Library 在 Linux 下是一個很常用的函式庫,在許多需要互動的指令程式上 很常見到其蹤影,最經典的莫過於 shell 了。我們在 shell 輸入資訊、使用上下鍵切換歷 史紀錄、按 進行自動補全等功能,實際上都是使用到了 readline 函式庫, 在 Clojure 中,若我們想要製作類似 GNU Readline 那樣的功能,我們可以透過 JNA/JNI 等方式來讀取 readline 函式庫,或者是找其他實現。 在本篇文章中,我選用了 JLine 2.x 來作為 readline 函式庫的替代。JLine 2.x 是一個 開源並使用 Modified BSD License 授權的純 Java 實現的函式庫,他提供了許多與 GNU Readline 類似的功能,是用來實現互動式命令很方便的工具。

閱讀全文 »

使用 clojure 和 JavaFX WebView 來打造桌面程式

在 使用 clojurescript 和 electron 來打造桌面程式 一文中我們說到了如何使用 electron 搭配 clojurescript 達到在 Node.js 平台使用 HTML 5 來打造桌面程式的方法, 這一次則是來談談如何使用 Clojure 搭配 JavaFX WebView 辦到類似的事情。 JavaFX 是目前 Java 發展的重點項目,自 Java 8 後已經整合進 JRE 裡面,在其中最吸引 我的就是 WebView 組件了,該組件實際上就是一個 WebKit 瀏覽器,既然 Java 8 已經塞 入了 Webkit 支援,也就是說我們可以用寫網頁的方式來建立我...

閱讀全文 »