用 libtree 來看 library dependency

在「Libtree: Ldd as a tree saying why a library is found or not (github.com/haampie)」這邊看到的,本來看到名字以為是與樹狀資料結構有關的 library,結果實際看了發現這邊的 libtree 指的是將執行檔裡面使用到的 dependency (library) 展成樹狀:

比起 ldd 的輸出多了更多資訊,這個在想辦法解決 library 問題時比 ldd 好用不少。

jQuery 官方鼓勵大家記得使用新版的 jQuery...

的確是很多人掛完 jQuery 後就沒動過了:「Upgrading jQuery: Working Towards a Healthy Web」。

jQuery 官方提供的三個切入點都是安全性的問題,Security Vulnerabilities、Security Best Practices 以及 Compliance Requirements。

相容性是 jQuery 的強項,有些 deprecated 的功能,官方還是有提供 jQuery Migrate 讓這些功能先補回來繼續用。

目前 jQuery 3.x 支援的瀏覽器環境,以今天的角度來看其實還是很誇張:「Browser Support」,桌機上有 IE9+ (在 Windows Vista SP2 以及之後的版本),而行動裝置上 Android 是 4.0+ (2011 年),Safari 是 iOS 7+ (iPhone 4,CDMA 版 2011 年)。

即使是 jQuery 4 (目前是 beta,參考「jQuery 4.0.0 BETA!」) 也還是支援 IE11 (Windows 7 SP1),算是對於舊系統照顧的很好的 javascript library。

jQuery 4.0.0 Beta (啊,居然)

看到 jQuery 的公告「jQuery 4.0.0 BETA!」這篇,有種「啊,居然」的感覺冒出來...

要注意這個版本放掉了 IE10 以及更早的版本,但還是有支援 IE11,目前計畫到 jQuery 5.0 才會拔掉:

jQuery 4.0 drops support for IE 10 and older. Some may be asking why we didn’t remove support for IE 11. We plan to removes support in stages, and the next step will happen in jQuery 5.0.

另外一個頗大的改變是 source 端改成 ES module 了,這樣對 jQuery 團隊開發上應該會方便不少 (很多現代工具的引入):

jQuery source migrated to ES modules

It was a special day when the jQuery source on the main branch was migrated from AMD to ES modules. The jQuery source has always been published with jQuery releases on npm and GitHub, but could not be imported directly as modules without RequireJS, which was jQuery’s build tool of choice. We have since switched to Rollup for packaging jQuery. And we also run tests on the ES modules before packaging them.

這有種古蹟改建的味道啊...

Perl 中 local::lib 與 App::cpanminus 的搭配...

用過後才知道這兩個東西搭起來超方便 XD

首先是 App::cpanminus (一般會稱呼他可執行檔的檔名「cpanm」),可以很方便的將軟體裝在自己的目錄下,而不用動到 root 權限。預設的目錄是裝到 ~/perl5/ 下。

再來是 local::lib,預設的 use local::lib; 就會讓系統使用自己目錄 ~/perl5/ 的 module... (感謝 clkao 的推薦)

相當好用啊...