KiTTY常用设置

KiTTY是基于Putty的改进版,加入了一些实用特性,比如记住密码自动连接等,下面是几个常用的设置,记录一下:

  • 编码设置: Window -> Translation -> Remote character set : UTF-8
  • 自动登录设置: Connetcion -> Data -> Auto-login username : root
    Connetcion -> Data -> Auto-login password : password
  • 在vim中使用小键盘输入数字的问题解决: Terminal -> Features 里,找到 Disable application keypad mode ,选上即可。
  • 保持连接状态: Connection -> Seconds Between keepalives (0 to turn off) ,设置为 60
    同时勾选以下三项:

    • Enable TCP keepalives(SO_KEEPALIVE option)
    • Attempt to reconnect on system wakeup
    • Attempt to reconnect on connection failure

Windows下用VirtualBox搭建Ubuntu环境做Ruby on Rails开发

本文目的是实现在VirtualBox中运行Ubuntu Server来做为Ruby on Rails的环境,然后通过Samba来共享Ubuntu下的文件供Windows编辑,用KiTTY通过SSH来连接Ubuntu Server进行系统常规操作。另外,关于如何在Ubuntu中搭建Ruby On Rails环境,请参考《在Ubuntu Server下搭建Ruby on Rails + MongoDB + Redis环境》,软件的安装过程就不再详细说明,请自行Google(如:Ubuntu Server 安装、VirtualBox安装)。
阅读全文

Ubuntu下搭建Ruby on Rails+MongoDB+Redis环境

安装说明:

  • 本文是以root用户为例进行安装,如用普通用户,某些命令前需加sudo。
  • 安装过程特别是用RubyGems和Git安装时,下载很慢,可以参考 《Ubuntu下使用proxychains为程序做全局代理》来加快下载速度。

环境:

  • Ubuntu Server版本:11.10
  • Ruby版本:1.9.2
  • RubyGems版本: 1.8.11
  • Rails版本: 3.1.3
  • MongoDB版本:2.0.1
  • Redis版本:2.4.2

阅读全文

Rails3下Carrierwave+Gridfs强制下载

当用Carrierwave+GridFS存储媒体文件并只提供下载时,如果只是用@model.file_url的方式显示下载连接,像图片、视频、PDF文件会默认被浏览器直接打开浏览。
如果文件是直接存储到硬盘上时,可以使用send_file方法,悲剧的是,我的媒体文件存储在GridFS里,用send_file方法试了半天也没成功。(我在ruby-china的求助帖),总是ActionController::MissingFile。

通过对GridfsController的调试,发现用send_file方法时并没有调用serve方法,(关于我的环境搭建见《Rails3下使用MongoDB做为数据库并使用GridFS保存文件》),知道的同学麻烦请告之。

于是就在ApplicationController里写了一个download_file方法,实现原理和GridfsController中的serve方法一样,用来供前后台调用,强制下载Gridfs中的媒体文件。
阅读全文

Box2D静态刚体旋转

这是2010年4月15号在茶馆儿发的一篇日志,现在被找回来了,在博客里存档一下。
如标题,在没遇到这个问题之前通常是用转轴把刚体固定在某一点,然后利用扭矩来实现刚体旋转,但使用转轴的问题在于,如果一个动态刚体掉落过程中撞到这个利用转轴转动的刚体时,这个刚体会发生微小的转动,虽然这属于正常的物理特性,但对于某些游戏来说对体验的影响还是不小的,Google了N多资料,试过N多种方法,硬是没搞定这个问题,最终logos试着给Box2d的源文件加入了个自定义方法,但总算是把问题解决了。
阅读全文

用Rake脚本实现将MySQL数据导入MongoDB及GridFS

接上回《Rails3下使用MongoDB做为数据库并使用GridFS保存文件》,这次需要将MySQL表中的数据导入MongoDB中,并将其中一个字段的内容写入文件并将文件保存到GridFS中,使用Rake脚本来实现会方便很多,下面是一个简单的MySQL表的结构(数据库和表名都是demo):
阅读全文

关于AS3域名锁定(sitelock)防止跨站引用的解决办法

问题描述:以前在给游戏加sitelock时,都是使用 loaderInfo.loaderURL 或者 root.loaderInfo.url 的方式来获取swf的url,然后进行判断,虽然可以防止swf在别的域名下运行,但别的域名可以通过在页面中直接引用swf来在页面中进行显示。

解决方案:使用 ExternalInterface.call 来执行一段js代码,获取swf所在页面的url,如果swf的url和页面的url都处在同一个域,那么 ExternalInterface.call就可以正常获取页面的url,否则会返回空,从而结合之前的方法共同验证就可以保证swf文件既不会在别的域名下运行,也不会在别的域名下被引用运行。
阅读全文