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 (日志)路径 本文链接