服务器迁移计划
今天升级WordPress时遇到了阻力:PHP的版本不够高,不能升级WordPress。然而之前我的PHP是从源码编译而成的,我并不知道如何更新它。而且最近还想要尝试一下Docker。在这些因素的促使下,我决定迁移服务器。 以下是迁移的计划,每一项都会放入各自的docker中: nginx [✔] ftp [不要了,暂时不需要] php-fpm [✔] mysql [✔] gitblit [✔] […]
今天升级WordPress时遇到了阻力:PHP的版本不够高,不能升级WordPress。然而之前我的PHP是从源码编译而成的,我并不知道如何更新它。而且最近还想要尝试一下Docker。在这些因素的促使下,我决定迁移服务器。 以下是迁移的计划,每一项都会放入各自的docker中: nginx [✔] ftp [不要了,暂时不需要] php-fpm [✔] mysql [✔] gitblit [✔] […]
过年上班后的第一周,这个周末去了故宫。本想着过节之后会人少很多,然而网上买票的结果是8万张票全部卖完,所以人当然也不会少了。 在天安门西下地铁,前去天安门的路上,须排队安检,已经是人挤人了。幸而过了安检后,道路渐宽,不再拥挤。行不几步,就到了天安门前。毛主席的画像看着面前广场上的民众,背后则是明清两朝的皇宫,不得不让人感受到时代的无情变迁。 金水桥还是只有一个桥可以通过,经过天安门,端门,午门,进 […]
前言 最近突然起了兴趣,想要用RPG Maker做点什么。虽然用RPG Maker做基本的RPG很方便,但如果不修改脚本,能做的事情很有限。而如果想修改脚本,内置的脚本编辑器基本就不能好好使用——程序员本能的Ctrl+S无效,Esc无提示地不保存退出,没有语法提示。我想,内心不够强大的人是无法驾驭得了它的。我觉得我不算是内心强大的人,在最初就使用了Notepad++这样的文本编辑器来写脚本。但随着 […]
可以下载MSKLC(Microsoft Keyboard Layout Creator)来制作自己的键盘布局。 发现Windows 10下面做出来的布局似乎不能用,sigh。
在Python3里,可以直接用datetime对象的timestamp方法得到对应的时间戳。但是Python2又没有,为了兼容,还是要找到替代品,完成同样的事情。
1 2 3 |
from datetime import datetime t = datetime.now() timestamp = t.timestamp() # Python3才有 |
于是就Google一下“python 2 datetime timestamp”,第一个结果给出了这样的回答: [crayon-67676d3ab814f04842595 […]
有时候,会有人用爬虫来爬网站,而你并不想被他们爬,那就设置规则,禁止他们的IP地址吧! 在/etc/nginx/nginx.conf文件里的http段加入deny语句就可以禁止特定的IP地址访问:
1 2 3 4 5 6 |
http { # 其他设置 deny 1.2.3.4 # 阻止一个IP deny 1.3.4.0/24 # 阻止1.3.4.0-1.3.4.255的所有IP deny 1.4.0.0/16 # 阻止1.4.0.0-1.4.255.255的所有IP } |
然后爬虫就不能访问了,网站就清静了。但是访问数掉光了,看上去也没什么真人来访问我的网站😭。
从今年7月开始,Chrome会将所有HTTP网站标记为“不安全”。这对站长来说是件有点难过的事情,因为要费心去配置证书,不然在别人看来,你就是个不安全的网站(其实即使是HTTP明文也未必会不安全,网站还是能够做加密)。买证书是个肉疼的事情,又多了一笔开销。幸好还有免费的证书可以使,那就是Let’s Encrypt,真是良心。可惜这个站申请的证书只有3个月的期限,要是手动更新还不得麻烦死 […]
C#中的async/await/Task机制是个非常方便的功能,可以将异步的功能写成像同步一样易懂。在其背后,编译器做了一些脏活,比如将async方法从await的地方切开成多个方法,按顺序在线程池中运行。这其中也暗藏了一些坑,如果不是非常有经验的程序员可能就掉进去了。 比如如下的程序,会输出什么呢?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Task t = new Task(async () => { Console.WriteLine("Task t start"); await Task.Delay(1000); Console.WriteLine("Task t end"); }); t.Start(); Task.Run(async () => { Console.WriteLine("Anonymous task start"); await t; Console.WriteLine("Anonymous task end"); }); Thread.Sleep(1200); |
这个程序开了两个Task,第一 […]
前言 说到浏览器插件,喜欢研究的人一定不会陌生。一般来说,浏览器的插件都是会改一些网站的页面,做到类似去广告、增加功能的事情。在逛论坛的时候,我发现这样一个插件:TamperMonkey,也就是油猴。和其他插件不同,这个插件相当于是一个引擎,用户可以在其中安装或者开发想要的脚本,以完成自己想要的事情。另外一个好处是,这个插件已经支持了目前所有的主流浏览器(当然,没有国产的浏览器……),所以只要写一 […]
希望以后不要这样了。