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万元,[……]

继续阅读

WordPress中国区仓库源建设计划

介绍

计划的目标是集合一批以WordPress开发及周边为主要业务的商业公司,由大家共同为广大用户提供WordPress中国区仓库源,我称之为“社区源”。最终彻底改善国内WordPress的用户使用体验,以求加速WordPress在中国的流行。

当然,用户也可以建立和使用自己的“自定义源”,在本篇文章中我将详细介绍仓库源的搭建方式。

仓库源所依赖的环境

  • 一台境外的服务器(推荐美国的,带宽大)
  • 国内的CDN(可选)
  • AppNode服务器管理面板
  • CentOS 7

AppNode面板介绍

可能有人好奇,我为什么不推荐宝塔面板?首先需要说明的是宝塔的功能是残缺的(此时的[……]

继续阅读

使用WP-China-Yes将WP站点与官方服务的通信切换到大陆节点

公告(2020年7月2日更新)

WP-China-Yes插件已于2020年4月15日被官方下架,请前往GitHub仓库下载安装,插件功能和本体的更新推送不会受此影响。

关于个别插件更新后还会重复要求更新的问题,目前已经部署了新的解决方案,彻底解决了这个问题,以后都不会再碰到了。

项目发展计划:https://www.ibadboy.net/archives/3864.html

有律师事务所,或法律工作者,有兴趣为社区提供法律援助的话请联系我。后面开始推本土商城后需要为开发者提供免费的法律援助,打击倒卖行为。WordPress主题和插件虽然基于WordPress,理应是开[……]

继续阅读

生而为人,意欲何为

午休时回想起童年的经历,一切都历历在目,就好像昨天才发生一样。这种感觉使我十分恐惧……

由此时回忆童年向外发散,可以预见:当我而立之年回忆起20岁的经历时也必然会感觉一切像是昨日才发生的,时间就好像不存在一样,一霎时就穿越了十年的光景。

在我垂暮之年回忆一生时也必然会感慨人生如此短暂,转瞬即逝,我才刚出生就走到了尽头。若那时我不能建功立业,不能在人类的历史上留下自己的名字,我恐怕会怀着遗恨衰老死去。

我所恐惧的就是死亡到来时我作为一个人、一个宇宙中渺小的人、一个在人类历史进程中平平凡凡的人随着时间的流逝化作物质组成的基本元素散落在宇宙间,而我的事迹、我的精神、我的一切都无人记[……]

继续阅读

QT发送HTTP请求的最小Demo

最近在筹划一个开源项目,为了尽可能压榨服务器性能,所以部分代码使用C++编写。程序涉及到对外的HTTP请求,正好发现QT自带这方面的库,那就直接引用吧!

下面给出一个最小的Demo,不做额外介绍,每个类的具体用法请查阅官方文档。

注意

跑Demo前需要在.pro文件中加上如下代码,以链接网络库。

Demo:

[……]

继续阅读

QT快速学习笔记——介绍窗体

QT中的窗体

在上一节中,我允诺会在本节介绍一个空白组件来作为窗体的“衬底”,也就是所有其他组件的父组件。

这个空白的组件的名字是QWidget,我不知道上一节中我贴出来的QT中类的结构简图你有没有仔细看。假如仔细看过应该会记得QPushButton以及其他所有的可视的窗体组件都是继承自QWidget的。

这应该很好理解,QWidget是所有可视组件的基类,拥有一个组件的基本属性——可以设置尺寸、设置标题、设置是否允许最大化及最小化等。

是不是被我说晕了?潜意识里认定明明只有窗体才拥有标题以及最大最小化这些按钮,为什么组件也可以?

这是因为在QT中其实并没有严格意[……]

继续阅读

QT快速学习笔记——在组件之上显示另一个组件

Parenting system介绍

这是我要介绍的QT程序的第一个重要的概念——Parenting system,原谅我不知道怎么翻译=_=。

这个机制的实现由QObject类提供,该类是QT中绝大部分组件的基类。QT中类的关系简图如下:

可以看到,我们在上一节中所使用的QPushButton组件也继承自QObject类,所以该组件也支持Parenting system机制。

代码演示

接下来我将通过一段代码来演示Parenting system机制的作用:

运行后显示是这样的:

我们将窗体拉大,变成如下:

解读

可以看[……]

继续阅读

QT快速学习笔记——编写第一个QT程序

刚新建完的QT项目包含五个文件,分别是:

  • main.cpp
  • mainwindow.cpp
  • mainwindow.h
  • mainwindow.ui
  • untitled.pro

尝试运行一下这个默认项目,运行的方法如下所示。

运行起来的程序:

是一个标题为MainWindow的空窗体,里面什么也没有。即便如此,这个窗体的代码对于初学者而言依然过于复杂,接下来我们删除掉窗体显示相关代码,只保留QT程序最基本的框架,随后再一点一点向里面填充内容。

删掉除了main.cpp和untitled.pro之外的其他文件。最后整个项目变成这样:

我们看main.cpp,这个文[……]

继续阅读

QT快速学习笔记——开发环境部署及项目创建

QT开发环境安装

在下面的地址中找到适合你的操作系统的最新的安装包,下载之。

http://download.qt.io/archive/qt/

安装步骤就是一路点击“下一步”,直到出现如下界面的时候需要手工勾选一下,只勾选我标记出来的选项即可。

随后继续下一步,直到安装完成。

创建一个新项目

QT自带的开发工具叫QT Creator,是一个C++ IDE,你也可以使用微软的VS来开发QT,这里只介绍QT Creator。

QT安装好后QT Creator的快捷方式并不会创建在系统桌面上,需要你去开始菜单里找。

QT Creator启动后[……]

继续阅读

QT快速学习笔记——导语

前言

为什么称之为“快速学习笔记”?是因为我本人学东西就是一个“莽”字,啥也不会的时候就横冲直撞观其大略习其思想,瞅的差不多了直接融入到项目里应用,再在开发过程中对细节问题随时查缺补漏。当然这种学习方法并不适合所有人,有的自律性强耐得住寂寞的人就比较喜欢稳扎稳打,从基础开始一点点学。

哦,对了——你可能想问学习QT是不是要精通C++才行?我必须告诉你并不是,因为我本人就是个C++白痴(约等于什么也不会的那种),按照我的学习思路,C++的语法是到用到的时候才会去查手册的,并不会在学习QT时提前去学。当然,这样做的前提是,你必须拥有其他至少一门OOP编程语言的使用经验,否则还是先简单学[……]

继续阅读

如何从YouTube上扒等效柱状投影的3D全景视频

导语

这段时间接了个项目,是给WordPress编写全景视频播放插件,客户的视频来源是YouTube。

但是我发现了一个很有意思的问题:

做过全景视频的同学应该一眼就看出来这种不是常见的视频格式。

事实上,这个是谷歌最新研发的 “等角度立方体贴图 (EAC) ”,这种格式目前只有YouTube可以正常解析。

当然,YouTube也提供了常见的“等效柱状投影”的全景视频,下面看获取方法。

YouTube上等效柱状投影全景视频的获取方法

核心思想就是改变浏览器的User Agent,让YouTube识别不出你所用的浏览器,这样他就不能确定你的浏览器[……]

继续阅读