| Profilo di Fwolf温暖的耗子窝BlogElenchi | Guida |
|
25/06/2007 用模拟器玩游戏机游戏也不错
虽然游戏差不多都会玩,可对各类游戏机的区别、模拟器的使用还不是十分了解,只介绍一下个人的简单体验,供比我更没经验的菜鸟参考,达人就可以略过了。 测试环境:ubuntu 7.04, x86 Mame好东西啊,直接安装xmame就可以了(我选的sdl),然后下载rom,一般是zip文件,放到指定目录中就可以玩了。rom存放路径可以修改,是 似乎mame支持的游戏,名称和文件名是相对固定的,shell中开启游戏只要 mame的其他功能也十分丰富,包括控制键的调整,截图等等,使用zip格式存储rom,调用的时候自动解压,也节约了磁盘空间。 默认5是投币,1是开始P1,不过默认操作键不太适应,P1的方向键是以f为下的4个,按钮好像是以j为中心的4个,好在修改方便,我习惯用edsf作方向,jkl作按键。 Nds使用的模拟器是ubuntu中自带的desmume,不过体验非常糟糕。我找的是一个"大战略DS汉化版"游戏,打开以后,不仅画面不知道怎么放大,游戏本身的操作也是云里雾里,鼓捣半天终于开始游戏了,又是不知道该如何操作了。。。 对nds游戏真是太不熟悉啦,不过试了好几款都这样,怀疑播放器有问题,查了一下网站上的兼容性列表,似乎确实有很多游戏没有完全兼容,好像这个网站也有日子没有更新了? Gb/Gbc安装了源中的gnuboy-sdl,楞是不知道该用什么命令启动。。。不过似乎gb游戏都比较古老和原始了,我感兴趣的没几个。 FC安装fceu即可,rom扩展名为nes,打开倒是挺方便的, SFC安装zsnes,rom扩展名为smc,可以压缩为zip直接使用,也是直接 SAGA MD安装dgen,rom扩展名smd,也可以压缩为zip直接使用,打开倒是挺顺畅,还可以指定窗口大小,图像效果看起来不错,仍然是不知道按哪个键起作用。。。 自己的电脑配置有限,带宽也有限,没有再去尝试高级的主机比如PS什么的模拟器,都是挑一些老掉牙的游戏来试的。不过,从某种意义来说,这些游戏还真是"跨平台"呢,至于模拟器软件,截至目前个人感觉还是mame和zsnes要高出一筹来,这样正好,估计大家玩的最多的也就是超级任天堂和街机了吧? 对了,那个什么NEOGEO(出彩京等游戏的那个)没见到呢,找到了再补充过来。 参考18/06/2007 虚拟主机合租事宜-初步方案
现在国外虚拟主机十分流行,用来架设个人blog再合适不过了,和国内的虚拟主机相比优势很多,所以也想来组织一批合租,在合理的负担下大家分担费用,共同受益。 现在先把初步计划列在这里,看看有多少人报名,再决定下一步方案。 主机供应商的选择其实选择主机供应商是个非常难的事情,我最初知道的是DreamHost,不过google之后发现它更适合学习和把玩,而不是提供长期稳定的blog服务,只作为最后的备选方案; 然后看上了BlueHost,以稳定著称,不过合租用户只能有ftp权限;运气不好的话,还会碰上无法访问的主机;再说,它自己的主站现在都无法访问了。 具有独立ip的便宜主机,就是Site5了,虽然它自己网站上的报价方案有一点点乱,不过最便宜的$5/month方案听起来还是不错的;但是稳定性如何未知, 主机限制也比较严格。 最后就是王牌主机MediaTemple了,选择最便宜的gs方案,$20/month,对于架设blog来说足够了。 最终的优先顺序定为上面四个倒序排列,先从MediaTemple开始考虑。如果报名的人寥寥,就选择 Site5或BlueHost,如果人比较多,而且能够承担的费用也高一些,甚至可以考虑 MediaTemple的dv方案,就像v2ex组织的那样。 以上主机是我google了30多小时之后选择的,如果大家有更好的方案建议,欢迎提供。后续内容暂时按MediaTemple的 gs方案计算。 合租人选择条件
服务器环境及主机资源分配Linux操作系统,PHP 5(不提供PHP 4),Perl 5.8.4,Python v2.3.5(这两个应该没多少人用吧),Apache 2.0.54,MySQL 4.1.11(注意字符集的问题)。 服务器资源(参见官网说明): 由于blog不怎么耗费资源,暂时按20个人共享计算,每人:
额外说明一下,gs方案只有一个数据库用户,所以我想在给大家创建数据库的时候,名称用随机字符,这样大家互相不知道数据库名称,共用一个数据库用户应该不会有什么安全性问题。 费用分摊及支付说明按年付费,一年的费用为$200,合每人$10,人民币记为80元。只接受一次用一年的网站,因为我是打算长期用下去的,当然实在中途你要退出也可以:(,按实际使用时间退款。 支付方式待定,先定下方案再说。 如果你觉得自己的网站访问量会大一些,但仍然想参加的话,也可以报名占用2个人或更多人的名额,当然费用也随之增加。 报名须知有意向的同学请给我发email,并至少注明以下几项内容:
补充说明
参考另外附上一些我查到的资料,供大家参考: 从万网转出域名成功
网上一直流传着"万网域名转出基本是无望地"的说法,恰好,我续费5年的域名今年就要到期了,恰好又是2000年在万网注册的,出于对这条传闻的浑身不舒服,一机godaddy合适的价格与服务,我决定要把域名转出来,不管有多难。下面是我的大体经历,不见得适合所有人,当然更不是哪方的枪文,只是希望有和我同样困惑的朋友能从中受益。 我的域名大概9月到期,由于域名到期前一个月不允许转移,所以很早就开始准备了,按照万网国际域名转出的要求,在4月底就把《万网国际域名转移注册机构申请表》和身份证复印件邮寄过去了,五一过后,收到了万网的拒绝email:
在这里我不得不介绍一下这个 不管怎样,我对需要我出示护照的要求感到十分不合理,就回了封email,但此后再没收到过任何解释,不得不说不回复email是万网一个非常不好的习惯。 后来,我又想寻求一些非官方的渠道,从网上搜到了一个万网员工的邮箱,给他发邮件请求帮忙,他也答应了,大概一周多以后也果然收到了万网一位客户经理的邮件,询问我域名转出过程中的问题。我满怀希望的回信了,没有回音。。。10天后再回信咨询,依然没有回音,唉,哪怕是拒绝的回信,也能让我感觉舒服一点啊。 再后来坐不住了,开始尝试一些"非正常"的渠道,直接在godaddy进行域名转入操作,刚开始域名的联系人居然是万网的邮箱。。。天,原来当时注册万网时,除了域名所有人是我的资料之外,其他的管理联系人、技术联系人都是万网的联系方式。。。变更。。。居然无法提交,原因是,"公司"不能为空。不知道有没有其他人遇到过此类问题,这不是linux或者firefox的问题,我换过平台操作还是一样。我又不能通过过户来修改那个不能为空的"公司",不仅是费用的问题,还牵涉到域名可转移期限、过户手续繁琐的问题。不过幸好发现万网网站的一个小漏洞,轻松绕过此问题,修改了所有域名中的联系方式,统统改为我自己的。 再次在godaddy提交域名转入申请,成功收到了 一顿摸瞎中,我发现万网有一个域名DIY自助管理,是用域名和密码登录的,无独有偶,域名管理中有一项
看来行不通。无奈,眼看着域名到期日的临近,实在坐不住了,开始打电话向万网咨询。 刚开始还是老一套, 接下来就顺利多了,邮件发出二十分钟后就收到了 总结下来,除了电话里纠缠的那个 再提醒一下各位观众,域名注册商选择一定要慎重,要看服务质量,而不是价格,至于到底是在国内注还是在国外注,视具体情况而定吧,万一碰到一个外国流氓可能更麻烦一些呢,一定要选择口碑最最最好的。
Source: http://www.fwolf.com/blog/post/332
12/06/2007 数据库使用优化的一点心得
在生产系统中,数据库经常会成为瓶颈,给管理员带来无穷麻烦,所以dba才那么值钱啊。但对一些中小型的应用来说,也许没有好的dba来从数据库本身机制管理上来进行优化,或者现有系统特性不允许太大的改动,加上数据库不像web服务器那样可以简单的通过集群来扩容,这样就需要从应用程序的角度来进行优化了,尤其是应用程序使用数据库的方式:
从系统设计思路上来说:
从数据库自身设计来说:
最后一点教训:最好在设计初期就开始考虑性能的问题,贯穿整个开发进程,否则投入使用以后再进行修改,就要花费数倍的精力了;而设计时最不易发现问题的原因就是数据量小、访问量小,数据可以进行造假,访问量可以用ab等压力测试工具 来模拟,但这些都和真实环境有相当大的偏差,不要太相信就是了。 以上只是一点拙见,抛砖引玉,欢迎拍砖。 11/06/2007 查询并禁止apache中异常访问量的用户
Apache中的异常访问,通常指的是频繁、大量访问的用户,通过apache的log,结合linux下的几个命令,可以分析这些用户,并通过apache的配置文件来禁止他们访问。 首先,更改apache的log方式,不记录一些图像、css等文件,这样在log中每一行基本上都能对应一次访问,如果不去除图像等文件的记录,正常用户访问一个页面,同时也会下载页面上的图像、css等文件,会产生多条log记录,影响计数的结果。在apache的conf文件中增加如下配置:
这样就可以了,关于SetEnvIf的其他用法,可以参见Apache文档中SetEnvIf和 Environment Variables in Apache部分。 接下来,经过一段时间的运行,我们就可以分析log文件中访问量最大的用户了,只需要一条命令:
一点点的来看:
所以,我们得到的结果应该是这样的:
第一列就是访问次数,第二列是ip地址,再回去对照log文件中的详细内容,如果发现哪个访问量大户是某某机器人的话,就可以禁止掉了,还是修改apache的conf文件:
如此反复监测、设置,直到没有人捣乱为止。 同理,如果想查看反复刷新查看某一页面的用户,可以用如下命令:
04/06/2007 sshfs把远程主机的文件系统映射到本地的目录中
windows之外的世界比想像中要大得多呢,几乎天天都在用ssh,却到今天才知道有sshfs这个好东西,前几天还在为ZendStudio可以远程编辑文件欣喜,惭愧啊,终于有比 vi scp://hostname//path/to/file更方便的方式了。sshfs,就是可以把ssh连接到的主机资源,映射到本机的文件系统当中,然后用户可以像操作本地文件一样操作,而实际的文件改动将通过ssh传输到远程主机当中。类似于mount了一个windows共享目录,或者另外一台linux主机的samba共享,或者是nfs共享,只是"共享协议"变成了ssh通道罢了。 ubuntu源中已经包含了sshfs了,以及所需的fuse包,直接apt安装就可以了,一共是三个包:"fuse-utils libfuse2 sshfs",不大,加起来才179k。安装的时候会自动创建用户组
使用就简单的多了,一般来说,连接远程主机到本地用户:
需要输密码就输密码,当然配置成自动登录的ssh更方便了。用完之后要umount,可以:
都是在普通用户非sudo的环境下使用,非常方便的。如果想每次开机都自动挂载,可以在
这就要求必须先把ssh自动登录配置好了,另外 关于自动挂载,参考文章中andot用脚本实现的方式也不错,建议大家看看去。 参考: 02/06/2007 Fwd: [Linux]如果管道被接受方关闭
linux shell中的管道 |是非常方便的功能,可以将一个程序的输出作为另外一个程序的输入,这样我们可以将多个命令"拼"在一起,省去了临时文件的繁琐。windows中也有类似的用法,比如dir |more,学过dos命令的应该都知道吧。既然是管道,那么就有一个入口和一个出口,各自对应一个应用程序,正常的情况下,入口应用程序的输出应当被出口应用程序全部接受,但在一些特殊情况,出口应用程序会提前关闭管道,比如在查询svn的更新日志,只取前己行的时候:
由于head只需要用到输入的前10行(默认行数,也可由用户指定),再接收剩下的输出也是多余,便提前关闭了管道,管道入口的应用程序svn发现之后,便报错退出了。在这个例子中,错误信息非常清楚,但不是所有应用程序都这样的,比如下面这个:
错误信息似乎并不太好理解,实际上它的意思是:xargs发现它的子进程cat由于信号13被中止了。由于xargs本身属于循环操作,发现错误之后就停止了循环,这是其一;信号13是在cat试图向一个已关闭的pipe管道中写数据的时候,系统产生的,cat收到之后就停止了。类似于在cat输出的过程中,用户按下ctrl+c的效果。 如何避免这种问题呢?很简单,管道后面使用不会提前关闭管道的程序即可,尤其是结合xargs使用的时候,它发现出错就不继续了。比如要用到head可以这样:
虽然cat仍然会被signal 13关闭,但bash是不会报错的,所以也只能针对一个文件进行操作,即使是使用了通配符也只能head到第一个文件。如果要加上对文件的遍历,可以用到for:
cat依然会被关闭,但是for不会理会它,继续循环。head也可以直接指定文件名,这样我们就可以抛开cat了:
个人认为这是一种最完美的解决方式,即可以用到find强大的搜索指令,还不会涉及到管道的问题。不过如果文件名没有什么特殊要求,还有一种更简单的方式:
在head的参数中直接用通配符指定文件,呵呵。 参考: |
|
|