WordPress在中国为何不温不火?

这篇文章主要是梳理下我自己的想法,如果你有不同的看法欢迎留言交流~

我个人觉得有下面几个核心问题。

一、中国的大环境并没有为GPL的开源模式做好准备

这一问题是国情和大环境所致的,短期内没有改善的可能。

其具体产生的影响主要是以下两点:

1、本土生态资源匮乏

wordpress.org的应用市场强制只能上架GPL应用,这导致中国的开发者不得不构建自己的私域流量,对于没有流量积累的小开发则将举步维艰。

开发者的匮乏直接引发了恶性循环:没开发者->没生态资源->用户因此而排斥->没开发者。

幸好WordPress有丰富的全球生态为我[……]

继续阅读

论迹不论心,论心无完人

之前很多人说我做 litepress.cn 这个项目无非是为了流量,也有人说我如此大肆宣传,其心叵测。说的其实有道理,我确实是为了我自己为先,我完全可以承认这些。

但是仔细想想,你们会不会也对别人要求的太高了?我所能做的,仅仅是尽可能的探索与他人合作共赢的机会,以铺开我前进的路。我不会花大量时间做纯“利他”的事情,除非是我举手之劳。我是个连别人看起来很正常的“上班”都极度反感的人。除开小时候在工地打了几天暑假工外,我至今没坐过一天班。我绝不会把我的时间和精力放在任何无实际意义或追求短期利益的事情上。

我觉得我的人生只有头30年是有效的,过了30,若冲不开阶级壁垒,则此生便定格于此。[……]

继续阅读

我毕业了

作为一个极致的垃圾差生,我上了两遍中专,直到最近我周老师打电话问我毕业证还要不要了,我才意识到我正式成为社会人儿了。

回想起来这十几年读书的经历,我是真真的觉得学校不适合我。我甚至直到今天都不知道学校单在知识层面能带给我什么。所以,竞赛换来的省内春考本科免试的机会也放弃了,因为感觉去再念这四年除了浪费时间外对我就没啥实际影响了。

从初中开始,我就是要么在老师讲桌旁,要么在最后守着垃圾桶。这倒也惬意,尤其是坐在后面的时候,我可以随意翻弄我感兴趣的计算机相关的书籍。

我对学校的厌恶来自于教条的死板。为什么这么多科目每一样都要学?亦或是,为什么我只能学课本上出现的东西?更本质的讲—[……]

继续阅读

WordPress的市场很小,为什么值得投入精力

我想起来几个月前找开发人员的时候,听见最多的观点(或是叫嘲讽)就是:不要把WordPress说的很牛逼,这是很落后的东西了,大公司没人用的。随后就是类似大并发、微服务、SpringBoot等等的概念和名词。

他们说的其实是对的,WordPress的架构还是十多年前的,不谈什么分布式之类的,就单说单体架构中流行的MVC设计模式WordPress都不支持。模板引擎也没有,都要自己手工在HTML里面嵌入PHP代码。当然这里提到的MVC和模板引擎甚至于分布式架构在WordPress中都有相应的解决方案,只不过是第三方的。

WordPress的应用领域也确实是中小公司,大公司没有用它来做核心[……]

继续阅读

忽然有一天,”我还年轻“已不能再成为犯错的借口

回想我16岁那年,刚开始尝试做自己的一点小生意的时候,每当搞砸了事情,就会安慰自己:没关系,我才16,又是一个学生,往后日子还长,就当学习了。

从心理上来说,我始终觉得自己有退路,当前的错误不算什么。

再比如18岁那年刚尝试靠自己掌握的编程知识实现经济独立的时候,即便顿顿啃馒头甚至去挖野菜也不会感到困难或恐惧。因为我深知我的父母甚至老师会在我撑不下去的时候帮我兜底。我始终有退路,况且我的同学又都在吃家里的生活费,或是靠着做重复性劳作的兼职来换取一笔收入。而我只是在尝试、在挑战、在游戏,我的每一次尝试既不会对我造成灾难性后果又可让我领先周围人。

这种”我还年轻、我还有退路、还有[……]

继续阅读

WordPress文章数量10万以上时文章编辑器卡死的解决方案

这个问题来自对post_meta表的一个慢查询:

该查询由WordPress文章编辑器的Meta Box功能发起。

该问题的原因是MySql中普通索引的长度最长为767字节,如果使用的是utf8mb4编码的话,那么总的字符长度就是767/4,约为191,而WordPress的post_meta表的meta_key列的字符长度则是255。

所以此时因为meta_key的长度超范围,索引并未生效。解决方案可以选择把数据库编码更改为utf8或是将meta_key的长度更改为191,再或者是禁用掉Meta Box功能。

当然,提醒一句,这些更改都可能会破坏兼容性,所以更改前[……]

继续阅读

利用微软提供的安装盘制作工具快速制作Win10安装盘,免除到处找镜像的烦恼

微软官方下载地址:https://go.microsoft.com/fwlink/?LinkId=691209

跟着提示走即可,不再需要自己去下载ISO文件,该工具会自动为你下载最新的版本并烧写到U盘中。因为是微软官方出品的,所以下下来的系统也是最原汁原味的。

工具截图:

[……]

继续阅读

Jackson解析数据为空时字段类型产生变化的JSON字段

对于PHP、Python这类动态语言编写的API接口,其返回的JSON经常有这种情况:

1、字段有数据时:

2、字段无数据时:

可以发现,tags字段有数据时其类型是个集合,而当tags字段无数据时其类型则是个数组……

这就导致无法准确的编写用于映射数据的实体类。

为了应对这种情况,可以在注入Bean时为Jackson配置选项将为空的字符串、数组都映射为空对象(NULL)。

代码:

[……]

继续阅读

Kotlin使用Java反射Api操作KClass时遇到的变量作用域问题记录

Kotlin本身带的反射Api依据官方文档来看貌似是残缺的,想实现完整的反射支持只能调用Java的反射Api,类似下面这样:

这样就可以通过test对象调用Java的反射Api了,这样在操作Java Class的时候是没问题的,但是操作Kotlin的KClass就会出现变量作用域的问题……

问题的根源在于Kotlin代码在翻译成Java代码后无论你先前声明的成员变量的作用域是公有还是私有,都会被翻译成私有,并辅以一堆Get、Set方法用来操作该变量。这似乎是挺符合Java世界的标准的,在Kotlin下访问一个变量会自动调用其Get、Set方法。但在反射的这个应用场景下就会出问题[……]

继续阅读

WP中国本土化社区发展计划(2020年6月23日修订)

需要特别说明一下,这里的发展计划可能随时会变更,因为在事情成型前,谁也说不准具体会怎样发展。当前的发展路线并没有国内外的成功案例可供参考,我是在一边走一边修正方向的状态中。当然,我会在标题中标注变更日期,同时在文章开头注明每次变更的主要内容。

修订记录

  • 2020年6月3日,第一次公布方案。
  • 2020年6月22日,本次修订对细节进行了大量的完善说明。
  • 2020年6月23日,本次对有争议的部分增加了解释,附在文章末尾。

正文

承蒙各位朋友的帮助,WP-China-Yes项目在这近四个月来取得了不错的进展。目前有记录的共有115个网站为此写了推广文章;共14位个人和11个企业捐助[……]

继续阅读

Ubuntu 20.04安装MySQL 8.0.20记

很久没手工装过MySQL了,诸如AppNode这样的服务器面板很好的帮助开发人员屏蔽了琐碎的底层环境配置问题。不过AppNode支持的系统版本都很老了,其他面板又用不惯,于是打算手工安装一次环境尝鲜下新版本。

不夸张的说,我为了装一个MySQL昨天晚上从12点折腾到凌晨3点,今天早上11点起来又折腾到13点……于是今天打算把遇到的坑总结一下,免得后人再踩进来。

坑一

Ubuntu 20.04下安装mysql-server的过程中是不会要求输入root密码的,root密码被设置成了什么至今我也没弄明白。

看到网上教程以及官方文档都说安装过程中会生成一个默认密码,并被保存在[……]

继续阅读

关于wp-china-yes插件被官方仓库下架的公告

很悲伤,插件被下架了,理由是官方不允许从其他来源安装WordPress程序及插件主题。

应对策略

用以实现在脱离官方仓库的情况下推送插件版本更新的解决方案已上线,代码仓库(普通用户无需关注,我维护的仓库源已经都部署好了):

https://github.com/wp-china-yes/update-server

一些质疑

经过用户反馈,我发现貌似官方这次直接把带“china”关键字的插件全部毙掉了。这不禁让我怀疑,429问题还没解决,就先把解决问题的工具毙掉,还顺带把带“china”关键字的都干掉的操作是不是意味着官方在有意封杀来自中国用户?

一些承诺

[……]

继续阅读

如何关闭仪表盘上的赞助商名单列表

如上图所示,点击仪表盘右上方的“显示选项”,之后取消勾选“《WordPress中国区仓库源建设计划》赞助者”即可。

作者的话:

我非常不建议大家关闭该名单。仓库源的建设和维护需要消耗大量的人力、物力、财力,如果没有赞助商的支持,这个项目注定走不下去。

如果你觉得名单的展现方式特别碍眼,可以主动找我交流,咱们一起探索一个大家都能接受的方案^_^。

爱也许可以发电,责任感也可以驱使程序员拿出业余时间服务社会,但是爱和责任不能帮我交房租,也不能支付仓库源维系的固定费用支出>_<

目前赞助商们提供的服务器、CDN、云存储等资源折算为一年期的市价则已超过1万元,[……]

继续阅读