Blog.GC

重新搞起(三):从Octopress迁移到Hugo

Jan 3, 2021 12:10 AM | Comments

从Octopress迁移到Hugo并不是一件特别简单的事情。 首先这两个系统的模板代码完全不一样,需要重新改写。 其次是Hugo默认会删除Markdown中的所有HTML片段,当然也不支持Liquid Tags(即{% %})。 最后是Octopress里的一些功能已经陈旧,有些调用其他服务的API不能完全照搬,需要检查一下是否有更新。

在下文中,我记录了一些我在迁移过程中遇到的坑,以及值得注意的地方。

重新搞起(二):选择Hugo的原因

Jan 2, 2021 11:33 PM | Comments

书接上文,在配置完Caddy之后,我发现这个博客有很多地方还是链接了HTTP的内容(比如外部的CSS/JS库之类的),导致页面显示不完整。 想调整的时候,发现Octopress已经停更5年了1,所有的依赖都是陈旧的,这对我在新环境中安装产生了较大的麻烦,而且Octopress的最后版本也不是特别令人满意。

重新搞起(一):从Nginx迁移到Caddy

Jan 1, 2021 09:26 PM | Comments

懒是第一生产力,这话是非常有道理的。 Nginx作为老牌HTTP服务器,稳定快速,值得信赖,庞大的社区和用户使得任何问题,只要搜索一下就能得到解决办法。 我自从使用VPS以来,就一直选择Nginx作为HTTP服务器。 直到我想在全站开启HTTPS的时候……

ss-libev走IPv6的一些注意事项

May 25, 2018 04:56 PM | Comments

注:本文内容仅在文章发布时(2018-05-25)有效,可能以后会有变化

因为DO的VPS一直被谷歌学术屏蔽(总有SB干坏事),查了些资料,解决方案一般就是走IPv6。

于是就在DO上Enable IPv6,按照官方教程设置之后,ping6成功,连接正常。但是上网仍然显示We are sorry……

这里,网上给出的方法是设置hosts,但是实测失效,因为ss-libev并不走hosts。根据作者的回复,安装bind9(在Fedora27中,为bind99),并添加-d 127.0.0.1

如果像笔者一样使用systemctl管理的话,可以把额外的参数添加在/etc/sysconfig/shadowsocks-libev里的DAEMON_ARGS中。

虽然最后还是简单粗暴地用了`-6`参数,稳!

另,使用ss-libev如果需要同时走v4和v6,需要设置config.json为:

1
2
3
4
5
{
    ...,
    "server": ["::0","0.0.0.0"],
    ...
}

记一次失败的逆向之旅

Jan 15, 2018 02:15 PM | Comments

楔子

前段时间,实验室一哥发现了EA的一款手游挺不错,遂在实验室小范围传播了开来。你说这游戏吧,它又肝又氪,让人停不下来。这不,上上周出了个活动,这个活动和之前的不一样,它可以重复刷,而且体力消耗非常慢,你要是慢慢玩,一整天都不见得能把体力清完。一哥一看,哟,可以生财啊,便在电脑上装了模拟器,再用上按键精灵,美滋滋地当上了矿主。但是我这个iOS用户就苦了,电脑上没有模拟器,平时又紧跟潮流,升级系统,也没法越狱。但是看看他们安卓派的,上到一哥,下到小师弟,都开张赚得第一桶金。再看看对门二狗,不仅在电脑上开,还在平板上开,大刀阔斧搞建设。大家都是科技工作者,凭啥iOS的就得那旁边看着?!我也来搞呗……

一段调试Python代码的经历: gc, profiler & more

Apr 6, 2016 03:24 PM | Comments

最近在跑一段实验代码的时候发现跑了一阵子之后内存就超过了系统内存(单进程1G左右,共46个进程并行),导致性能骤降。然而刚开始运行的时候占用并不多(大概170M左右)。 好吧,下意识就想到了可能是内存泄露了。一顿爆改,手动清空各种dictlist,然而并没有什么卵用。于是请出了gc

Fedora22 无法通过 systemctl 开启nginx服务

Sep 29, 2015 12:10 AM | Comments

使用系统的库安装完nginx,配置完之后发现无法通过systemctl start nginx.service来开启nginx服务。 总是报如下错误:

1
nginx: [emerg] open() "/home/web/www/log/dev/nginx.access.log" failed (13: Permission denied)

乍一看应该是权限没有设置好,但是发现即使把所有者改成了nginx:nginx依旧没用。而且root用户下直接/usr/sbin/nginx是可以运行的。

问题的关键在于SELinux,它使得nginx服务(上下文是:httpd_t)无法访问/home下的文件夹。

于是只要给予权限即可:

1
2
3
dnf install selinux-policy-devel
cd /home/web/
semanage permissive -a httpd_t

之后就可以使用systemctl start nginx.service开启nginx服务了。

参考: Nginx doesn't start using systemctl

在本地安装使用electron-prebuilt时要注意的地方

May 10, 2015 01:57 PM | Comments

要构建基于 Electron 的项目的时候,除了按照官方文档中进入到Electron.app中来运行项目之外,还可以使用electron-prebuilt这个包。这个包推荐是使用本地安装,也就是

1
npm i electron-prebuilt --save-dev

然而这样安装之后,electron命令并不会自动加入到PATH中,而在.node_modules/.bin中,于是就要自己加到~/.bashrc中,在这里我使用alias而不是PATH,这样可以在不同的项目中使用,只要安装了electron-prebuilt就行了。

1
alias electron=./node_modules/.bin/electron

完了之后source一下就OK了。