作者归档:白宦成

关于白宦成

独立开发者, 自由职业者, 写作者

person making latte art

[探店]河源 - SoWhat 收获咖啡

来参加朋友婚礼,因为下午没有事情,就找了咖啡厅干活,顺便写个咖啡厅探店。

位置

河源市大同路东金碧花园A13号

需要注意,这个咖啡厅是在小区里的别墅,所以可能需要进小区,然后右转。

lan5e

网速

So What 的网速也不错,很快了

ipl8z

环境

因为咖啡馆在小区里,所以环境是比较安静的。不过店里放的音乐可能比较大声,会稍微有点吵,但还好。

此外,因为空间比较大,所以环境是比较舒适的。

卫生间

卫生间在店里的中央,你可以很方便的找到卫生间,同时,也不需要担心去趟洗手间东西会丢。锁屏就好了。

消费

消费水平应该属于比较常规的,冰美式 18 ,卡布奇诺 22 。在这里呆着应该不会太贵。

插座

这家店的插座时比较多的,插起来也比较畅快,不会容易掉。不过,需要注意的是。他家因为是把别墅改成了咖啡馆,桌子又是白字中央的,可能你会需要一个比较长的线。或者可以考虑自己带一个排插,方便你插插座。

照片

ennu1

3iwr0
43vy3
text

对 Discuz 进行手动搬迁

由于服务器托管方的维护,需要对托管在机房的 Linux.cn 服务器进行搬迁,因此,多年不碰 Discuz 的我又要进行一次搬迁。

刚好,记录下来,方便后续查用。

流程图

下方流程图中,绿色为原服务器操作,黄色为新的备份服务器操作

d9uas

具体流程介绍

1. 导出数据库

想要搬迁,首先要处理的是数据库的导出,你可以选择你的站点流量最小的时候,使用 MySQL dump 命令来完成 SQL 文件的导出,导出的命令也非常简单。

mysqldump -uroot -p database >/tmp/db.sql
Code language: JavaScript (javascript)

你可以将上方的 root 调整为合适的用户名;将 database 调整为合适的数据库名,以及将 /tmp/db/sql 调整为合适的文件名

执行命令后,会要求你输入 MySQL 对应用户的密码,输入密码, 稍等片刻,数据库就完成导出,你就可以在 /tmp/db.sql 找到数据库文件。

2. 压缩数据库文件

在进行数据库文件后续的传输时,如果文件太大,可能会导致传输速度较慢,这个时候你可以选择使用 gzip、zip、7zip 之类的进行传递。

我一般习惯用 gzip 进行压缩,并使用 tar 进行打包。

tar -zcvf db.sql.tar.gz /tmp/db.sql

打包后,会获得一个 db.sql.tar.gz 文件,这个文件基于导出的 SQL 进行了一定的压缩,可以确保传输的时候,不需要传输那么大的文件。在实际测试时,可以将 1.1G 的数据库压缩到 188M,效果还是十分明显的。

3. 压缩网站文件

需要传递到新的服务器中的,除了 MySQL 数据库,还需要传递网站的代码文件到新的服务器中,因此,为了方便传输,同样需要进行压缩。

tar -zcvf website.tar.gz /data/website/website.com

命令执行完成后,你就会获得一个 website.tar.gz ,这个文件就可以在后续传递到你的新服务器中。

4. 配置新的网站运行环境

在你备份的同时,你可以在新的服务器上进行环境配置。

一般而言,在搬迁的同时,不会采用新的版本的软件,以避免出现问题。

你可以通过 php -vmysql --version 来查看 PHP 和 MySQL 的版本。

Nginx 的版本倒是不需要太过介怀,他只是一个反向代理,问题不大。

MySQL 的版本则在进行迁移的时候,不建议做版本升级,尽量保持同版本升级;如果跨版本,则需要考虑相应的回滚措施。

5. 进行文件传输

在新的服务器中配置旧服务器的公钥,从而可以直接通过 scp,在两个服务器之间传递文件,简单方便。

scp source root@host:/data/xxx 
Code language: JavaScript (javascript)

执行上面的命令就可以直接在两个服务器之间传输文件,简单方便快捷。

6. 进行文件恢复

完成文件搬迁后,就可以在新的服务器上配置环境,这时可以根据你的配置,将文件迁移至对应的目录中。

涉及到压缩包,可以进行一下解压操作。

7. 配置应用服务器

在我们的系统运行时,会依赖很多应用服务器,比如数据库 MySQL 、反向代理 Nginx 等等。在迁移时,比较稳妥的方案是在当前版本的基础之上进行配置。

这时你需要在新的服务器上配置和旧服务器完全一致的运行环境,从而确保迁移后业务不会出问题。

8. 导入数据库和站点文件

在完成了数据文件的迁移和,就可以进行数据库的导入,并迁移网站文件。

你可以使用 mysql 命令行中的 source 命令,来加载 mysql 的dump 文件。

对于网站文件,只需要根据你的配置进行调整即可。

9. 修复权限

在文件进行迁移的时候,可能会由于迁移前后的用户等问题出现权限问题。因此,如果你发现出现了项目的权限有问题,则需要根据实际情况,调整项目的文件和目录的权限。

10. 修改配置

Discuz 的配置文件会在多个地方重复使用,因此,在实际的使用时,如果你调整了数据库信息,则需要修改以下几个文件中的配置项目。

  • config/config_global.php
  • config/config_ucenter.php
  • uc_server/data/config.inc.php

修改其中的数据库名,从而确保系统中的各模块都可以正常工作。

person holding fire cracker shallow focus photography

2021 年新年规划

时光萦然,一年又从匆匆忙忙过去,年初的疫情,让每个人都度日如年。但时光总是在流逝,我们却又无能为力,能做的只不过是看着时间一点点走下去。

又到了一年一度立新的 Flag 的时候了。对比去年立的 Flag,有不少都没有完成。今年痛定思痛,要立一些可以看得到成效的 Flag

接下来是新的一年的规划,和 Flag

职业发展

新的一年里,继续延续 FreeLancer 的工作状态,但应该让自己的工作和生活更加稳定和持续,也需要开始接触一些海外的企业。地理套利,赚取海外的收益。

KeyResult:

2021 年,年度海外收入达到 $1000

此外,还要坚持当前在做的事情

Key Result:

2021 年,要把 Linux 中国的两个改造完成,释放生产力,优化流程。

休闲娱乐

2021 年,生活更加趋于稳定,同时,一些已经规划好的也已经在路上。对于明年的追求的话,应该比较简单。

2021 年,开始还房贷。

恋爱家庭

如果可以,我希望明年我的终身大事可以初步敲定

2021 年,订个婚吧(也可能结婚)!

个人健康

我需要认真减肥

2021 年,必须瘦到 170 斤

此外借助于健身环,希望可以实现每周一次运动吧

自我实现

2021 年,我有更多的时间来创作,做一些自己要做和想做的事情,那么就要有一些压力,引导自己的工作。

2021 年,应当有优质产出 50 篇文章。

此外,做为一个程序员,应当有一些技术上的追求,和去年一样,继续完成去年的目标

2021 年,孵化一个 1W stars 的项目

以及一个独立开发者的目标

2021 年,有一个年收入 5000 元的项目

理财投资

收入难免是一个要讨论的问题,也是一个最实际的问题。去年做了收入预算。但很不幸的是,我并没有达成我的目的,不过,我想了一下,单纯的收入其实并没有意义,应该追求的是收入和结余共同的增长。不然长期来看,还是很一般。

2021 年,收入继续延续去年的目标,目标为 31*1.2 = 37万

2021 年,结余达到 25 万元

为了达到结余目标,我给自己做了个简单的支出预算,希望明年可以好好坚持自己的预算

总结

经过去年的年计划,我发现订立太多的目标,会让我没有办法完成,既然如此,那就不妨精简目标,2021年,让自己的每一个目标都可以完成。

person holding fire cracker shallow focus photography

2020 年年终总结

一年过去,是时候对自己做一个 Review ,来看看自己的过去这一年里,过的怎么样。

今年算是我写年度总结的第三年,前两年的年度总结可以参考下方的链接:

定性总结

学习成长

2020 年在学习一途上,毫无进展,原定的学习内容,几乎没有学习什么,唯一学习的一些,也是一些相对更加生活化的技能(比如上了做饭的大师课,学着做了几道菜)。

恋爱家庭

2020 年的感情之路平稳发展;家庭关系还算和睦,虽然和母亲偶尔有吵架,但总体还算平稳。

职业发展

从工作的角度来说,这一年可以说对于我来说是 Breaking Changes 了。我从腾讯离开,成为 Freelancer ,开始追求一种更加 WLB(work life balance) 的生活。

生活从过去的 995 变成了现在的9127,工作的事情越来越多,但说实话,更开心,因为有更多选择的空间,而不会因为自己拿了薪水,就一定要去做某些事情。

理财投资

2020 年的理财并没有做的太好,年收入和年支出同样很高,甚至超越了一些年轻的家庭。这是我在今年没有做好的。

不过,为了解决这个问题,我做了一组详细的预算,希望明年可以借助于预算,更好的控制自己的财务状态。

不过,有一点值得欣慰的是,今年我的总体收入/支出还是正向的,不至于负债。

休闲放松

2020 年的休闲和放松层面是有不错的突破的(毕竟今年有了随心飞,飞了很多地方)。

2021 年,我应该还会继续旅行,飞翔,走遍中国大地。我目前还想要去,但是没去的地方还有很多,至少目前省会打卡都没有打完,明年先把卡打完吧!

w9lym

社交人际

今年有了新的朋友,也在新的朋友身上花费了不少的时间和精力,不过发现回顾过去,一些老的朋友交流也越来越少了。这些是我这一年里没有做好的。

自我实现

今年其实算是在自我实现这条路上有很大的突破。9月份的离职,便是勇敢的向自我实现这条路大跨了一步。

在腾讯云的一年里,我发现自己将大量的时间和精力放在工作中,以至于没有时间和精力去自我提升、自我实现,而我留下来,能获得的不过是一个所谓的平台,和工资罢了。但钱对于我来说不是最难获得的(感谢工程师这个身份,让我可以享受到了行业带来的溢价)。因此,我在今年的9 月选择了离开,成为一个 Freelancer,做自己想要做的事情,提升自己的存在价值。

定量总结

今年写了多少文章?

今年在博客上写了一共 157 篇(含本月发布的月度总结、年度总结、年度规划)。

此外,在公众号上还断断续续写了一些(不过好多都被我删除了)。

今年赚了多少钱?

今年,总收入 311K,没有达到去年的希望,所以这个希望延续到明年,希望明年可以实现增长;

今年收入不少,花销也不少,今年花了280K,最后还是只留了 30K,和去年相差无几。

这个事情让我思考,我是存不下来钱,还是不想存钱?回顾这一年,我花了不少钱,有很多是不需要花的。看起来,我更多是自己在主动花钱。这就需要我重新回顾过去这一年,哪些钱是该花的,哪些钱是不该花的。厘清自己的开支,才能在新的一年里,获得更好的财务数据 。

总结

2020 无论喜,无论哀,都依然过去,距离 2021 年,也只有不过 1 个半小时了。年终,也到此了。明年,我们再见。

summary

2020 年 12 月月度总结

2020 年的 12 月,我把过去这一年里没有体会到的,都补上了

TL;DR

12月对我来说,是一个不一样的日子。要做各种总结,要结束一个财年,准备进行下一个财年的规划和计算。要对过去的一年进行 Review,看一看自己哪些没做好,哪些做好了。而且,这个 12 月,我体会到了不一样的 12 月。

月度总结

工作

本月的工作没有什么别的变化。毕竟是工作嘛,难免回归平淡。不过自己还是有点拖延症过头了。还是要想办法与拖延症作斗争。

我拖延症的原因主要是:

  1. 不知道这个事情要花多久,就干脆拖着不去做,但真的去做,可能也还好。

生活

2020 年的 12 月,我的办公室整理好了。不过,在整理办公室的过程中,我也不行的中招了。

搬桌子的时候,把脚砸了一下,一开始以为没啥事,就没去医院,后来,脚上发出臭味,才意识到问题,赶忙前往医院,原来是砸这一下,把脚趾甲内部砸出了伤口,又由于一直拖着没处理,加上脚本身就是真菌、细菌的聚集地,伤口化脓了。只好做了拔甲处理。好在是现在还年轻,身体的恢复速度还不错,拔甲一周后,医生就告知我不再需要前往医院换药了。目前的状态只需要自己在家涂一下碘伏就好。

过去这一两年,因为我的身体不错,所以一直都没有什么感觉,结果来这一下,就让我难受了好几天, 还是应当保留对于健康的敏感度。不应当忽视!

不过,办公室还是很不错呀!

ok0cp
我的办公室

一个办公室该有的都有了,双显示器、屏幕挂灯、摄像头、打印机~

此外,12 月我还体验了一下核酸检测,主要是因为 12 月份因为 openEuler Summit 的原因,去了趟北京,恰逢这几天北京的疫情开始零星爆发,我作为北京返深人员,也被要求去做核酸检测。这一年没做过核酸检测,在最后几天做了个核酸检测,也算是我的 2020 指的纪念的事情了。

Side Project

这个月的 Side Project 有一个,不过和代码无关,是一个内容层面的:

  • 播客入门:应该是中文社区第一套完整的博客制作视频教程。

我用 WordPress 简单的建了一个站点,后续还有一些需要做的视频课程,继续加油做内容吧!

写作

  • 本月的公众号写作还是没开始,主要可能还是 1. 没构建好选题库 2. 没有固定好写作的周期。这些都准备好了就可以开始更新了,不过我想逼自己一下,从明天开始就要好好更新!今天加油囤稿。
  • 本月的博客写作还不错:博客因为没有什么太多的目的,所以可以写的很随性,很开心。

财务状况

财务状况本来这个月是正向流水,奈何南航随心飞 2.0 出来了,本月再次超支。。再加上临近春节,要购买春节机票啥的,就还是花了不少。

3qf4e

娱乐

本月的娱乐没啥,就 12 月初的时候,去了趟北京,帮粒粒过了个生日,感受了一下“海底捞式”生日。其他时候的出行都是工作出行,就不在这里说明了。

其中我最大的感受是,海底捞的服务,很适合目前的大城市这种单身社会,你可以在海底捞感受到朋友般的对待,甚至可能比朋友还要好。

阅读

本月月初的时候,对余罪上了瘾,一口气把余罪给读完了(也造成了一部分工作的拖延),要控制一下自己的上瘾问题。

  • 《杏仁》
  • 《Nutanix 超融合基础架构权威指南》
  • 《无人生还》
  • 《余罪》
  • 《余罪2》
  • 《余罪3》
  • 《余罪4》
  • 《余罪5》
  • 《余罪6》
  • 《余罪7》
  • 《余罪8》
  • 《余罪9》
  • 《余罪10》
  • 《余罪11》
  • 《永不放弃》
  • 《高级零工》:推荐独立开发者、自由职业的人看
  • 《知识付费》
  • 《这才是我要的工作》
  • 《掌控:开启不疲惫、不焦虑的人生》

课程学习

  • 知乎《男性健康必修课:解决你的「男」言之瘾》:倒不是有病,纯粹是觉得自己可以了解一下。看了以后,一部分章节还是很有价值的。
  • 知乎《女性健康私享课:给身体的关爱情话》:理由同上
  • 知乎《只有男科医生知道:解决关于男「性」的全部问题》:理由同上
  • MasterClass《Wolfgang Puck Teaches Cooking》:又一个教做饭的课程

年度计划对标

课程学习

一年学习 54 门课程,本月进度 4 门;全年进度 7/54;

图书阅读

一年读书 54 本,本月进度 19 本;全年进度 43/54

电影观看

一年观看 54 部电影,本月进度0 部;全年进度 9/54

green and black digital device

如何隐藏 oh-my-zsh 的 Last Login?

oh-my-zsh 是我目前配置新的 Mac 必然会装的。不过,oh-my-zsh 一直有一个我不喜欢的就是它会自动一个 Last Login 的 Hello Message。

jb2ia

这个 Hello Message 倒是不占位置,但是我觉得它让我的命令行不那么极简

因此,我希望将这个提醒删除掉。

删除的方法不复杂,只需要在用户的根目录创建一个空白的~/.hushlogin 文件即可

touch ~/.hushlogin
fountain pen on black lined paper

无压写作的艺术

博客写多了,难免会有一些时候遇到一些选题写了一半,临时有事,放下选题,先去干活。但久而久之,就累计了不少选题,一直放在草稿箱中。

长期以来,我的草稿箱中都有不少的文章,今天发现,我的草稿箱中有15篇文章,而其中最为古老的一篇,可以追溯到三年前,2017年。

毫无疑问,三年后,我的心境已与当时大相径庭。当年的心绪波动,如今已毫无感受。这些文章也很难再继续写下去。

既然如此,倒不妨放弃掉这些草稿,放这些草稿一条生路,也放自己一条生路,草稿箱中只留那些我短时间可以写完的文章(我觉得一个月的时间是一个不错的时间限制,毕竟一个月,已经是30天,720 小时,43200分钟)。如果我无法在这个时间段内写完这篇文章,想来当时的 Context 已然消失不见,那就直接删除草稿,把时间留给下一篇文章吧!

15bd774f997dc7fae5f8faae791cca7d

几个可以简化 rails 开发命令的函数

在 rails 的 bin 目录下,有一些可执行文件,你在开发过程中使用这些可执行文件来操作,从而使用项目自带的可执行文件

但是默认的 rails 命令使用的是全局的 rails ,如果我希望使用项目中的可执行文件,就需要执行 bin/rails, 略微繁琐,所以有没有一种可以更加简单的方式呢?答案是肯定的。你可以通过在你的命令行中添加一个新的命令来实现这个效果。

具体代码如下:

funciton rx(){
	if test -f "bin/rails"
	then
	  bin/rails $*
	  exit
	else
	  rails $*
	fi
}
funciton yx(){
	if test -f "bin/yarn"
	then
	  bin/yarn $*
	  exit
	else
	  yarn  $*
	fi
}
function bx(){
if test -f "bin/bundle"
	then
	  bin/bundle $*
	  exit
	else
	  bundle  $*
	fi
}
Code language: PHP (php)

你可以将这段代码粘贴在你的 .bashrc.zshrc  文件中,从而使其在命令行启动时可用。

这段代码很简单, 定义了三个新的函数,后续我们在命令行输入 rxyxbx 的时候,会自动调用当前目录或全局的 railsyarnbundle 目录。这样你可以在任何一个目录下使用 rx 命令来操作。

三个函数的结构都是一样的,首先检测当前目录下的子目录是否存在 rails 可执行文件,如果存在,就调用本地的函数,并将参数传递。如果不存在,就调用全局的函数,将参数传递。

总结

我们可以通过定义简单的一些命令,简化项目的开发。而这样的思路,你可以应用在任何一个项目中,而不仅仅是 rails 项目中。

yellow Volkswagen van on road

2020 年旅行总结

2020 年是特别的一年,这一年我们遭遇了 COVID-19,我们见证了武汉数月的封城,也见证了下半年航司的大促销。这一年是独特的一年,我也想单开一篇,来记录我的 2020 年。

上半年

2020 年的上半年,是肃穆的。

一月初时,我还在鹅厂搬砖,随着团队的安排,从深圳前往广州,参与了广州的「微信公开课」活动。到了一月末,我就在春节回家的高铁上,见证了武汉的封城。

下半年

2020 年的下半年,是愉悦的。

到了 2020 年的下半年,疫情开始逐渐肃清,武汉也开始解封。各航司开始进行疫情之时的自救,各家纷纷推出了自己的随心飞套餐。

恰逢我原计划要在 9 月份离开鹅厂,所以就购买了南航的随心飞(又在随后的双十一过程中,购买了海航的随心飞)。

在九月份离开鹅厂后,就开始了我的随心飞之旅。

  • 9 月份从深圳飞往西安、北京;从深圳飞上海;
  • 10 月份国庆结束还用随心飞从河南飞回了广东;
  • 10 月份从深圳飞海口,来了个当日往返,闪现一波;
  • 11 月份从深圳飞往沈阳,并从沈阳一路向北,途径长春,前往哈尔滨。
  • 12 月份,又再次从深圳飞往北京。

上半年的欠下的旅行,似乎在下半年都一水的飞回来了。

回顾这半年,随心飞我亏本了么?没有,随心飞让我做了很多过去我不敢想,也没有钱去做的事情(比如一周连续飞行)

这半年里,我看过了太多过去我不会看,以后也可能不会再看的东西。过去的生活,很美好。

2021 年

2020 年虽然我去了很多地方,但迫于种种原因,并没有完成我的打卡中国之旅。好在我之前也买了海南航空的随心飞,明年依然可以继续随心飞。而且,最近南方航空的随心飞又出了 2.0,我想我依然会购买吧。

毕竟,中国这么大,我想去看看。

group of fresh graduates students throwing their academic hat in the air

你的大学应该如何生活?

大学是目前这个时代,不少人会走上的一条路。

但,大学对于每一个走这条路的人意义不一而同。有的人目标明确,有的人浑浑噩噩。这条路怎么走,大部分人都说不清。

而说不清的核心因素,是从未想清楚目的地是何处,没有了目的地,也就没有了指引方向的灯塔,不过是随波逐流。

在这种情况下,只能跟着别人走,随大流。

今天我在看别人的博客的时候,发现了上海交通大学的生存指南,写的很现实,也很真实。我觉得有必要推荐给看我博客的大学生、准大学生们。

或许你没有想清楚自己的目的地是何处?或许你还没有理解大学生活中的某一些细节为何是这样。这本电子书结构化的将你在大学会遇见的事情都告诉你,让你通过了解别人的世界,引导自己的学习和生活。

上海交通大学生存指南:https://survivesjtu.gitbook.io/survivesjtumanual/li-zhi-pian/huan-ying-lai-dao-shang-hai-jiao-tong-da-xue

此外,还有一本书要推荐给你,来自黄灯的《我的二本学生》,实际上,如果你是更高的学府,你可能不会面临书中所提的问题,但不意味着你不会遇见类似的问题。我倒是建议,你可以读一读这本书,了解别人的生活现状,以明晰自己的生活定位。

此外,关于学历这个问题,我一直都觉得,学历只是你曾经获得某个技能的标志,但对于你的未来,并非完全由学历定位,而且,在绝大多数的企业中,学历是一个门槛,但这个门槛并非完全无法逾越,有很多的方式可以绕过门槛,从窗户爬进面试现场。所以,与其说「我就是二本学生,我只能这样」,不如想想如何才能做到「我要突破二本给我的限制,让自己变得更好」。