月份:2015年9月

Minecraft1.8 Python编程整合包

前些天,一本书的发布轰动了Minecraft游戏圈——《零基础学MineCraft编程》。这本面向11~15岁青少年的游戏编程教程,一下子成了MC信众们心中的宝贝,众多人纷纷表示,为了信仰,一定要把书里的内容学完。

可惜的是,我已经不是11~15岁的少年了(虽然是实话,但是说出来还是显得有些臭不要脸)。其次,我根本算不上信仰,只是对这么值钱的一款游戏感到好奇(微软花了25亿美金把它给收购了)。而我就是在游戏世界里用手撸树、盖“火柴盒”的那种毫无存在感的小绿人。

去年底,一名知乎上的建筑大神在出版的新书里也推荐过这款游戏,他认为这是跟建筑有关的游戏里很神奇的存在。另外,这是一款开源游戏,有着丰富的mod和插件,甚至还有官方的API接口。Minecraft已经不是一款游戏了,而是以游戏形式存在的3d设计软件和一个程序开发包。

所以,我觉得这个游戏还是值得体验一下。买书当然是一时冲动,书里的编程内容太过基础,没有太大参考价值。当然,如果你是刚入门也无伤大雅,边学边玩就是了。

闲话完毕,进入正文。书中所用的craftbukkit服务器版本为1.6.4,太悠久了好么,到官网上去看了一眼,竟然没有下载链接了,新旧版本都没有,是因为一个什么声明,懒得研究了。好在有镜像并且作者一直在更新。树莓派插件也在更新,没什么问题。其他的mcpi,anyio好像没有变化。把几个东西整合了一下,按照书中给出的方法做了1.8版本的安装包,懒得重新做包的同学们拿走就是了。

下载《零基础学MineCraft编程》配套编程包1.8版本

WordPress网站从服务器转移到本地调试

update 2018.7.17:这样太麻烦,还容易出问题。看无痛方法


update 2016-07-25:第5项更改两个关键值实现本地访问并不是最好的方法。比较完美的方法是:使用apache的虚拟主机功能,绑定域名后,在本地hosts文件中解析域名至127.0.0.1来实现本地带域名调试。具体请点击我的另一篇介绍


很多wordpress爱好者可能都遇到过这样的情况:刚接触wp的时候,直接在虚拟主机(或者云服务器)上安装并运行了wordpress。并且,在很长一段时间内,都在网路上直接进行维护,甚至是编辑主题。但是,当你的网站需要进行大范围的改版,或者你想根据自己的内容重新进行设计工作的时候,麻烦就来了。要在本地重新建设一个环境,并把网路上的网站和数据原封不动的搬运过来,这并不是一件简单的“复制/粘贴”工作,还是有一些需要注意的问题的。非学派在这里详细列出几个步骤和注意事项,希望对正在计划进行类似操作的coder和设计师们有所帮助。

1. 建立本地调试环境

我自己在很多年的时间里,都在用一个叫做PHPnow的“环境包”(故且这么叫),这是一个很方便的东西,每当要更换电脑的时候,只要把整个文件夹拷贝/粘贴到新设备上,然后激活一下就可以了。正常情况下只要80端口没有被占用,一切都可以正常使用。但是,这个东西貌似2012年以后就没有更新了,考虑到php环境的版本等原因,我还是建议换一个先进一些的。记得以前在Linux环境下用过一个超级好用的环境包叫做LAMP——一个开源的Aphache,Mysql,Php开发环境,这么好用的东西当然要适配到windows上咯。于是,就有了这个东西WAMP

在网站上下载安装以后,持续“下一步”安装即可。安装完了以后就可以访问http://localhost访问本地页面了。

2. 官网下载WordPress安装包,并安装到本地环境

这一步其实是可以省掉的,但是我还是建议这样做,这样可以尽可能的搭建一个全新的wp环境,避免干扰和一些奇怪的问题。

在这里还是罗嗦一下,在安装wp之前,需要在phpmyadmin下新建设数据库和用户,这一步很重要。用惯了虚拟主机的站长习惯于主机商提供商数据库、用户名、密码等数据,但是在本地环境下需要自己完成这件事情。

具体步骤是:进入http://localhost/phpmyadmin页面>>右侧“数据库”选项卡>>填写新建数据库名称>>点“创建”,创建完成后,左侧点击新建的数据库>>点击右侧“权限”选项卡>>点击“添加用户”>>由上至下分别输入用户名,“localhost”,密码>>页面下方,点击“创建”,就完成了。

把你填写的这些内容,按要求再填写到由wordpress的wp_config.php文件中,就可以了。

安装WORDPRESS其他具体过程就不赘述了。

3.复制必要的文件

这一步完成以后,就开始搬运了。从你目前的主机上,下载./wp_content/themes/、./wp_content/plugins/这两个文件夹,粘贴并覆盖到本地文件相应位置。另外,还要拷贝跟你自己有关的上传文件夹。例如,我的是./upload,这个文件夹的位置与每个站长的使用设置有关。最后检查自己私人定制的文件夹,看看还有没有遗漏的。

4. 备份/恢复数据库

备份数据库比较简单的有两种方法,第一种是进入你的虚拟主机管理系统,备份整个网站或者仅备份数据库,用得到的sql文件从本地phpmyadmin中导入到相应数据库。

另一种是在虚拟主机的phpmyadmin中导出sql文件,再通过本地phpmyadmin导入到本地相应数据库中。

两种方法效果一样,且只要会操作phpmyadmin就行了。

至于其他的wordpress备份插件,我没有用过,也不想用,觉得是多此一举。

5. 修改数据库的两个关键值

倒入数据库以后,还有一项必须要做的工作,就是在数据库里改掉网站的域名和home网址,不改掉这个,网站在本地是无法正常访问的。

第一步,在你之前创建的数据库中,找到并点击wp_options表>>siteurl项>>在option_value输入框中,将域名改为http://localhost/XX。(“/XX”是你的wp项目文件夹名,如果wp安装在“/www”根目录,就不用写这部分)>>点击“执行”。

第二部,在你之前创建的数据库中,找到并点击wp_options表>>home项>>在option_value输入框中,将域名改为http://localhost/XX。(“/XX”是你的wp项目文件夹名,如果wp安装在“/www”根目录,就不用写这部分)>>点击“执行”。

改完上面这两项,浏览器输入http://localhost/XX,(“/XX”是你的wp项目文件夹名,如果wp安装在“/www”根目录,就不用写这部分)就可以正常访问网站了。当然,点击文章页面是不能访问的,因为没有启用服务器rewrite功能,启用方法请继续往下看。

6.启用本地Aphache服务器的rewrite功能

WAMP的Aphache默认是不开启rewrite功能的,这会导致WP的固定链接功能无法使用。开启的方法很简单:

修改C:\wamp\bin\apache\apache2.4.9\conf目录下httpd.conf文件,第154行行首的“#”去掉,保存。

就是下面这一行:

#LoadModule rewrite_module modules/mod_rewrite.so

重启服务器以后,进入WP的后台>>固定链接选项页面>>点击一次确定,就可以正常使用固定链接功能了。

总结

我这里没有放图片,单纯就是因为我懒。当然,文字写的也不是非常详细,只是一个原则性的过程。每个人在操作过程中多多少少都会遇到些问题。尤其是用了很长时间的网站,转移起来就更加麻烦了。不过为了更加方便的编辑和改版,这些辛苦都是值得的。

 

WordPress加载速度缓慢的两个原因及解决办法

前阵子恢复博客的更新,但是,不论前台还是后台,打开都很缓慢。一开始以为是换了海外主机的原因,然而检查发现并不是。度娘上搜了一下发现没有比较完整的文章。于是责任心爆棚的我就想到在这里汇总一下,让遇到这个问题的人有更加清晰的解决方案。

辣么,究竟是什么问题呢?其实主要原因就是“伟大的墙”。在这堵“伟大的墙”的强力“保护”下,Wordpress产生了两大问题——字体问题和头像问题,这两项内容无法加载,造成了网站访问缓慢,让人心烦。

字体问题

wordpress使用了非常流行的google fonts,什么是google fonts?可以点击下面页面GoogleFonts,当然,不翻墙是看不到的。简单来说,就是google准备了很多开放字体(Open Fonts),用户可以在网站页面免费使用这些字体,还不用下载到本地。好处当然是很多了,例如不用担心客户端缺字体影响显示效果,也不用担心网页加载字体有速度和流量的问题(墙内除外)等。缺点当然也很明显,如果你所在的区域无法访问google,那就悲剧了。是的,我没说别人,就说你呐?看这篇文章的人,别东张西望了,仔细看下面。

wordpress主题是怎么使用google字体的呢?基本上从官方主题的twenty twelve(2012)开始,就有类似这样的一个函数function twentytwelve_get_font_url() {},函数代码我就不贴了,太占地方,它的主要作用就是根据自己主题需要获取一段google fonts代码,其中这一句很重要

$font_url = add_query_arg( $query_args, 'https://fonts.googleapis.com/css' );

是的,问题很明了了,就是这里面的url国内访问不了。怎么办?换掉它就行了!360公司学雷锋做好事一样的做了一个公共库,作用和google那个类似,只要把url换成

http://fonts.useso.com/css

就行了。注意,这更换过的传输协议是http,可不是https,后者是无法加载字体的,会导致页面加载更加缓慢。

后台访问缓慢,与页面访问缓慢基本是一个道理,但是修改起来有点麻烦。怎么办?用插件呗!太机智了,已经有小盆友@苏阳写好了插件等你安:open fonts替换插件。可惜的是,经过测试,这个插件也有点问题,就是行代码:

return str_replace('//fonts.googleapis.com/','//fonts.useso.com/',$text);

应该改为:

return str_replace('https://fonts.googleapis.com/','http://fonts.useso.com/',$text);

原因上面已经说了。

当然,还有更加决绝的办法,如果你根本不需要Theme、后台使用开放字体(并不推荐),那么你也可以使用另一个插件:Disable Google Fonts。安装启用以后,就跟开放字体说拜拜了,访问速度当然也上去了。

头像问题

与字体类似,wordpress默认使用的头像服务是Gravatar,当然,不翻墙也是访问不了的,这导致需要加载头像的页面显示缓慢。当然,解决这个问题的第一个方法就是后台“设置>讨论”页面里把“显示头像”的选项勾掉就行了,不显示头像,就没有这个烦恼了。但是,我就是矫情得要用这个头像怎么办?除了可以选择第三方的各种插件之外,我更推荐在主题的functions.php里加代码的方法,利用国内的留言服务“多说”的系统头像替换掉Gravatar的头像:

function mytheme_get_avatar($avatar) {
    $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"gravatar.duoshuo.com",$avatar);
    return $avatar;
}
add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 3 );

这样,就解决了头像无法加载进而拖慢页面显示速度的问题了。

经过以上简单的折腾,wordpress的网站速度可以说有了飞跃性的提升。当然这里要说的是,如果你的主题本身就不支持google fonts,那就根本不存在第一个问题,不过还是建议安装Disable Google Fonts插件或者open fonts替换插件,把后台速度优化一下,毕竟写文章的时候还是需要重视工作效率的。

随便写一些近况并贴几张照片吧

随便写一些近况并贴几张照片吧

虽然挺忙但是还是抽出时间来做喜欢的事情。写Theme这码事当然在做(鬼知道),但是还需要时间。另外,还在重温C语言和JS,不断的在丰富自己的知识,虽然只是觉得好玩。

在前阵子西部数码搞那个域名抢注的时候,抱着试一下的心态注册了三个域名:
1.proto.one
2.charmer.one
3.seji.one
当然,有很多更好的域名我也试了,已经都被抢完了(别人又不傻)。这三个留着备用吧,说不定能有什么好玩的事情发生。

小宝宝依然在放肆的生长,只是我经常出差,没办法用很多时间陪他们,依旧感到内疚。我父母十一的时候会到帝都来团聚,我很想念他们。还有就是我的过敏性鼻炎,现在成了一年四季,全国各地,我都会犯,相当无奈。

好了,碎碎念结束。放几张最近利用出差的机会,(自费的,不要举报)去汉中玩耍时拍到的照片吧。

R0000312

这里大概是汉中安康市附近的,一个叫做瀛湖的地方。

R0000360

这是安康市的夜景,手持拍的,效果不好。

R0000371

还是瀛湖,这里的游艇包下来只要几百块,可以坐十几个人,而且不限时间。

R0000376

爬上高处,景色还是挺美的。照片颜色有点奇怪,是因为开了负片效果吧。

R0000380

摆渡的人。

相机就是随身带的理光GR,当然是1代的,听说二代啥都没变,无感。