神秘而优秀的游戏:Limbo

2014-09-9 21:29  |  分类:简单生活
limbo

很早在一篇介绍《时空幻境》(Braid)游戏的文章中提到了Limbo,这次在iPad排行榜再看到这个游戏,果断购买,并在七月份的某个周六通关,期间有好几个地方"卡壳"了很久:经常被困在一个小小的地方,探索了所有可以探索的东东,但是还是找不到出去玄机,反复如此,又不想查攻略认输,心里那个憋屈,玩过类似解谜游戏的人大多能够明白这种心理。侥幸,一次次当我耐心耗费接近极限的时候,总能绝处逢生,找到反复查看仍然被遗忘的线索。也偶尔有几个需要极限操作的地方,retry过若干次后,概率总能帮我挑战成功。

我眼里的Limbo故事

在较为顺利的通关后,开始想想这个游戏到底是在讲述一个什么故事:

故事开始,主人公在深林中醒来,这里充满腐烂、飞虫、和黑暗,就这样,开始我们的探险。在这个世界里,到处都充满了危险,突然袭来的电锯、从天而降的巨石、硕大的怪物蜘蛛、反常的地心引力、还有能够夺走自由行走能力的小虫,通过无数次的挣扎,最后,终于冲破“水面”,逃出了这个世界。[......]

Read more

使用VPN翻墙访问互联网

2014-06-9 22:51  |  分类:简单生活

在可见的未来预计GFW还会发威很多次,比如每年都有六月四日,还可能有艾未未这样较真的人,社会发展的车轮会不断的羞辱GFW,恼羞成怒之后就会发威。即使除了这些,GFW还会误伤很多网站和基础服务,比如Google Docs、Gmail等等。所以一个稳定的VPN服务就很有必要了。

翻墙有多方法,如ssh tunnel/goagent/VPN等,各有优缺点,本文*概述*使用VPN自由的访问互联网服务。[......]

Read more

朋友,不要再打听彼此薪水

2014-04-28 15:50  |  分类:简单生活

不想糊里糊涂,所以整理了一下思路。因为财年关系,最近很多朋友私下在讨论薪水、年终奖、加薪、option。窃以为这是一件很让人沮丧、且没必要的事情。

1. 了解薪水待遇的大趋势是有必要的

对于很多人,工资通常是家庭收入的主要甚至是唯一来源,高低直接影响着家庭的生活品质。所以对各个公司的薪水体系有个大致的了解,知道怎样的努力会获得怎样的回报,是很有必要的。

到网上稍加搜索,几家大公司(例如BAT)各个主要层级的薪水待遇都能查到大概的区间,和商品价格一样,薪水高低通常是“个人价值”和“供求关系”的综合反映,通过了解薪水的概要信息,可以让你知道,什么类型的人才、技术是公司比较需要的。[......]

Read more

使用mysqladmin ext了解MySQL运行状态

2014-03-13 10:56  |  分类:MySQL

mysqladmin是MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态、进程信息、进程杀死等。本文介绍一下如何使用mysqladmin extended-status(因为没有"歧义",所以可以使用ext代替)了解MySQL的运行状态。

1. 使用-r/-i参数

使用mysqladmin extended-status命令可以获得所有MySQL性能指标,即show global status的输出,不过,因为多数这些指标都是累计值,如果想了解当前的状态,则需要进行一次差值计算,这就是mysqladmin extended-status的一个额外功能,非常实用。默认的,使用extended-status,看到也是累计值,但是,加上参数-r(--relative),就可以看到各个指标的差值,配合参数-i(--sleep)就可以指定刷新的频率,那么就有如下命令:[......]

Read more

使用MySQL自身复制来恢复binlog

2013-11-25 22:47  |  分类:MySQL

如果需要恢复的二进制日志较多,较复杂,强烈建议使用MySQL自身复制来恢复binlog,而不要使用mysqlbinlog。

在MySQL手册中一直是推荐使用mysqlbinlog工具来实现指定时间点的数据恢复,事实上,这是一个经常"让人郁闷"的办法。更好的办法是,使用MySQL内部复制线程中的SQL Thread来做恢复。

这个idea来自Lazydba同学;在Google稍作搜索,在Xaprb上Baron Schwartz也很早提到了使用类似的方法来恢复binlog,在那篇讨论中,还可以看到Jeremy Cole也提到:使用MySQL手册中推荐的方法是困难重重的,而且mysqlbinlog这个办法从逻辑上来说也是一个错误--因为这样MySQL不得不在两个不同的地方实现一套相同的逻辑,最终难免会出错。使用mysqlbinlog来恢复,你可能会需要以下“让人郁闷”的问题:

(*) Max_allowed_packet问题 (*) 恼人的Blob/Binary/text字段问题 (*) 特殊字符的转义问题 (*) 没有"断点恢复":执行出错后,没有足够的报错,也很难从失败的地方继续恢复

1. 如何操作

本文不打算写一个step by step的文档,只介绍主要的思路和粗略的操作步骤。

1.1 将binlog作为relay log来执行

优点:实施简单;缺点:需要关闭一次数据库(不确定不关闭数据库行不行);

思路:直接将要恢复的binlog拷贝到relay log目录,并修改slave-info相关的文件,让MySQL把binlog当做relay log来执行

简单的操作步骤:[......]

Read more

使用Autoconf检测MySQL相关的软件包

2013-11-18 22:34  |  分类:Linux,MySQL

在你的程序(或者工程)中,如果编译阶段需要检测当前环境中是否存在MySQL客户端相关的库文件时,你可以使用Autoconf来帮你完成这个工作,轻盈、优雅、无痛。阅读本文需要了解简单GNU Autoconf使用。

1. 本文的目标

目的:编译时,根据configure参数(如果有--with-mysql),选择性编译对应的MySQL相关的功能。

实现:使用已经写好的m4脚本:ax_lib_mysql.m4

2. 如何利用Autoconf实现

大部分你想到的事情都已经有人做过尝试了。这件事情也不例外,Autoconf中有很多脚本和指令帮你做事情。这里,需要使用ax_lib_mysql.m4来帮助我们。先把该文件放到程序/工程目录中,并在configure.ac中新增如下指令来检测MySQL库文件和版本:

m4_include(ax_lib_mysql.m4)
AX_LIB_MYSQL()
AM_CONDITIONAL(BUILD_MYSQL_SUPPORT, test x$MYSQL_VERSION != x)

说明:AX_LIB_MYSQL()设置了三个变量,可以在Makefile.am中直接使用,分别是MYSQL_CFLAGS、MYSQL_LDFLAGS、MYSQL_VERSION,另外还会在config.h中预定义宏HAVE_MYSQL;AM_CONDITIONAL(...)则会根据是否需要开启MySQL支持,来设置变量BUILD_MYSQL_SUPPORT,这个变量可以在Makefile.am中使用。

在程序源代码中一般有两种方式可以获取HAVE_MYSQL宏的方式:一个是直接包含config.h;另一个是在你程序的CFLAGS中新增-DHAVE_MYSQL。(注意:有的变量是可以在Makefile.am中使用,有的则是可以在C源代码中使用)[......]

Read more

Pages: 1 2 3 4 5 6 7 8 ... 27 28 29 Next