2018-02-24

tcl-archive: A Tcl wrapper for LibArchive

tcl-archive


LibArchive project develops a portable, efficient C library that can read and write streaming archives in a variety of formats.

目前 tag 為 v0.1 版。這是在 Tcl 實作使用 libarchive 的 command,用來壓縮和解壓縮一些常見的壓縮檔案格式(主要是解壓縮)。

我只有寫簡單的 tcltest cases 和簡單的解壓縮測試,看起來沒問題,所以就先 tag 一個版本號。

2018-02-22

Extended Tcl (TclX)

Extended Tcl (TclX)


這是 flightaware 修改的版本(for Tcl 8.6),更新了 build system,並且移除了 TkX extension。我在 ./configure 完以後順利編譯,但是使用的時候有點問題,會有 symbol 找不到。經過檢查以後,發現是 configure 需要正確加入新的檔案才行(如果一開始就先執行 autoconf 則不會有此問題)。我看了一下說明以後,發現沒有指定使用 autoconf,送出一個修正的 pull request,flightaware 也接受了這個小修正。

那麼為什麼我會需要 TclX 呢?因為我最近在試著簡化我自己的 Golang 環境(* 雖然我很少寫 Go,但是我需要測試某些東西的時候可能會需要,所以放一份),如果使用 openSUSE build service 提供的新版本,會一次安裝預料之外的版本數目,但是如果是使用穩定版本則沒有這個問題,只是要嘗試新版本就比較不方便(有可能是因為要使用 Go 來編譯 Go 本身所造成的影響)。

後來我想到,我可以寫一個 script 從官網下載以後解壓縮到指定目錄,如果檢查 .profile 不存在或者是沒有相關的環境變數,就建立檔案或者是寫入相關的環境變數,最後設定 .profile 的 owner 和 group。為了使用 chown,所以需要 TclX 才行。

2018-02-10

tdbchikaricp

tdbchikaricp: Tcl DataBase Connectivity Driver for HikariCP library


HikariCP is a solid high-performance JDBC connection pool.

不過這裡比較像使用 HikariCP 提供的連線方式之一(讀取設定檔案)來連線,並沒有使用 JDBC connection pool 的能力。大多數的 code 來自 TDBCJDBC,因為連上資料庫以後的行為就跟 JDBC 很類似了。


2018/02/12 更新
後來我才想到,其實可以在外面生成 HikariDataSource 物件再傳進來,所以有做一點小更新。

2018/02/12 更新
然後我又想到,既然 tdbchikaricp 實作在外面生成 HikariDataSource 物件再傳進來的功能,如果我小改寫以後,也許只要有支援 DataSource interface 的 library 就可以套用這個方式。晚上我會使用 Alibaba Druid 來測試,然後在 Github README.md 上寫如何使用的說明。

2018-02-04

TickleSharp

TickleSharp


這是我嘗試使用 .NET core 2.0 和 Tcl/TK 8.6 去編譯 TickleSharp v0.1 的結果。這是 C#  使用 P/Invoke 呼叫 Tcl/Tk functions 的套件,我發現…… 使用 .NET core 2.0 和 Tcl/TK 8.6 去編譯以後還是可以用。

只有在 openSUSE LEAP 42.3 上測試。