Monthly Archive: June 2022

修復 wordpress 中文繁簡轉換插件的問題

給網站添加了WP Chinese Conversion,可以進行簡體繁體轉換了。 目前這個WP Chinese Conversion插件的版本是1.1.16,已經5年沒更新了。PHP升級後有了些變化,於是這個插件就有了些error/warning。自己動手將就改了一下,修改都在wp-chinese-conversion.php,把error/warning fixed了。本文記錄一下。 each function被新版PHP給deprecated了 把這用到each的代碼,比如這個 改成 create_function也被PHP給deprecated了 把用到create_function的地方改成anonymous function,比如這段 改成 總結 修改這兩function用到的地方後,就正常工作了。

PHP隨手筆記 array和hashtable,列印,REPL,While Loop

自己運營wordpress網站,而wordpress是用PHP開發的,遇到問題就看看代碼,所以時不時也得學點PHP,記點筆記。 PHP的array也是hashtable array的index是從0開始的連續的數字,而hashtable的index是任意東西。邏輯上確實可以用hashtable實現array。但是物理上一般array內存空間是連續的,不知道PHP怎麼實現。以後可以看看。 列印 print_r($some_object)可以列印object,而echo $some_string只能列印string REPL 本地 online可以用replit.com。我的本地版本是8,需要用7,測試一個叫each的function,8已經淘汰掉這個function了。目前replit還是7,可以測試。 While Loop例子

怎樣備份部署在EC2上的WordPress站點

手動備份 備份網頁部分(html, php),這部分不需要經常備份,如果沒修改code或者更新plug,主題之類的 備份MySQL,這部分需要更頻繁,所有的內容都在database里 sudo mysqldump -u <db user> -p –databases <db1> [db2, db3…] > <db backup filename>.sql 然後可以sftp複製到本地或者上傳到s3之類的cloud storage里。 備份Script 編輯 backup_db.sh 文件如下 編輯 backup_html.sh 文件如下 以後需要backup的時候運行這兩文件即可

怎樣在WordPress里顯示數學公式?

寫數學和科學方面內容的博客,如果能直接寫出漂亮的公式就完美了。先上效果 一元二次方程的根 $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$ Logistic regression loss function $$ -(y\log(p) + (1-y)\log(1-p))$$ 這在我上學的年代可不是容易的,以前只能用公式編輯器或者Laxtex在別的地方生成好公式,然後貼圖。多虧了mathjax這個project,能讓我們直接在html裡面寫Latex,render出來效果如上,個人覺得非常不錯。 在wordpress寫作時,選擇添加html 然後在html的內容裡面寫入如下 <script type=”text/javascript” src=”http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML”> </script> 一元二次方程的根 $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$ Logistic regression loss function $$ -(y\log(p) + (1-y)\log(1-p))$$…
Read more

Homebrew (brew)筆記

Homebrew / brew是什麼? 類似Ubuntu的apt-get,Fedora的yum,brew是Mac OS用的命令行安裝,卸載軟體工具。 Brew 命令 查看已經安裝的軟體包(package) 這裡會有不少package是安裝某package和安裝的dependency。 查看top level packages 顯示每個package的description 列出已經安裝package的dependency tree 顯示需要更新的packages 查看Homebrew版本 Homebrew安裝的軟體都放在哪裡? 目前用的是Homebrew 3.6.12,軟體安裝在 參考 List of all packages installed using Homebrew 本文鏈接

演算法練習 Leetcode 力扣 1293 Shortest Path in a Grid with Obstacles Elimination 解法

問題 題目在這。 解題思路 格子題,從左上到右下需要的最小步數。難點在給了個預算k,最多可以穿牆k次。找距離需要用BFS,不走回頭路就可以,比較簡單。但是這題在空間上是有可能走回頭路的,因為除了空間以外,還多了個狀態是已經穿牆幾次。放到queue裡面的應該是(坐標,穿牆次數)的tuple。所以關鍵在於不要把相同(坐標,穿牆次數)放queue里,不然會無法停止。 Python解法

Mac OS 本地運行用native和docker運行MediaWiki對比

MediaWiki是我用來寫文檔的重要工具。我一般都會在Mac上跑一個作為私人wiki來使用。之前因為把系統升級為Monterey後,Mac OS去掉了自帶的PHP,而自帶apache不能用brew安裝的PHP了,所以改用docker來跑MySQL和apache + PHP。雖然跑起來了,不過還是有些小問題,本文列一下用docker的好處和壞處。 好處 喜歡docker在Mac OS上的UI,可以很方便的用圖形界面啟動和停止MySQL, Apache的服務 不用操心Monterey版本Mac OS上Apache和PHP不兼容 更像一個production deployment的環境,可以方便deploy到cloud上,如果需要的話 每個service有自己的環境,可以單獨看log,debug,都可以用docker的UI 壞處 慢!wiki的loading, search和autocomplete速度明顯比native的慢很多 visual editor不能用了,好像和docker的image用的是SELinux有關。找了很久沒找到解決方法,只能湊合用source edit,影響編輯效率。 Docker還是要佔用不少系統資源的,關掉後電腦會快點。 這兩天終於花時間修好了Monterey上的Apache+PHP。於是把數據從docker的MySQL轉到native的MySQL,就可以停用docker了。

關於Mac OS Monterey上的Apache/httpd的筆記

路徑,可以用which httpd確定 版本 重啟httpd, 加-k會有更多信息。比如PHP需要code sign,不加就不告訴你 在Monterey里,載入PHP需要code sign。可以參考這篇文章。 如果PHP版本更新了,比如用了brew update,那麼需要對新版本的libphp 進行 code sign。 如果Mac電腦重啟了,也需要codesign,比如 需要根據php安裝改變上面libphp.so的路徑。有時Mac上面用brew安裝的php升級了,也需要修改上面的<php version>。 查找apache2 config 裡面用的libphp.so地址 在Mac OS里,apache2 conf的可能路徑是/etc/apache2/httpd.conf,可以用sudo許可權編輯 Document root路徑 Config file (配置文件)路徑 log (日誌)路徑 本文鏈接