<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Bindiry's Blog</title>
	
	<link>http://junnan.org/blog</link>
	<description>又回到了Wordpress</description>
	<lastBuildDate>Thu, 16 Feb 2012 05:58:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/bindiry" /><feedburner:info uri="bindiry" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Ubuntu Server下安装Nginx + PHP5 + MySQL</title>
		<link>http://feedproxy.google.com/~r/bindiry/~3/tywSb7cBxCc/1487</link>
		<comments>http://junnan.org/blog/1487#comments</comments>
		<pubDate>Thu, 16 Feb 2012 04:59:26 +0000</pubDate>
		<dc:creator>Bindiry</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://junnan.org/blog/?p=1487</guid>
		<description>版本说明： Ubuntu Server版本：11.10 Nginx版本：1.0.5 PHP版本：5.3.6 MySQL版本：5.1.58 安装： # 安装过程中会要求输入mysql的root密码 $ apt-get install unzip nginx mysql-server php5-fpm php5-cli php5-mysql \ php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache \ php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite \ php5-tidy php5-xmlrpc php5-xsl php-gettext 配置nginx: &amp;#8230; &lt;a href="http://junnan.org/blog/1487"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pf3Wkkd1bibRpu7A1o4hhBfDvkE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pf3Wkkd1bibRpu7A1o4hhBfDvkE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pf3Wkkd1bibRpu7A1o4hhBfDvkE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pf3Wkkd1bibRpu7A1o4hhBfDvkE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/bindiry/~4/tywSb7cBxCc" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://junnan.org/blog/1487/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://junnan.org/blog/1487</feedburner:origLink></item>
		<item>
		<title>KiTTY常用设置</title>
		<link>http://feedproxy.google.com/~r/bindiry/~3/spz_Cfl14BE/1460</link>
		<comments>http://junnan.org/blog/1460#comments</comments>
		<pubDate>Fri, 20 Jan 2012 14:07:08 +0000</pubDate>
		<dc:creator>Bindiry</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Share]]></category>
		<category><![CDATA[KiTTY]]></category>

		<guid isPermaLink="false">http://junnan.org/blog/?p=1460</guid>
		<description>KiTTY是基于Putty的改进版，加入了一些实用特性，比如记住密码自动连接等，下面是几个常用的设置，记录一下： 编码设置: Window -&gt; Translation -&gt; Remote character set : UTF-8 自动登录设置: Connetcion -&gt; Data -&gt; Auto-login username : root Connetcion -&gt; Data -&gt; Auto-login password : password 在vim中使用小键盘输入数字的问题解决: Terminal -&gt; Features 里，找到 Disable application keypad mode ，选上即可。 保持连接状态: Connection &amp;#8230; &lt;a href="http://junnan.org/blog/1460"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/r0Hxy8T2RcnEX-lJ7x47imizofk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r0Hxy8T2RcnEX-lJ7x47imizofk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/r0Hxy8T2RcnEX-lJ7x47imizofk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r0Hxy8T2RcnEX-lJ7x47imizofk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/bindiry/~4/spz_Cfl14BE" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://junnan.org/blog/1460/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://junnan.org/blog/1460</feedburner:origLink></item>
		<item>
		<title>Windows下用VirtualBox搭建Ubuntu环境做Ruby on Rails开发</title>
		<link>http://feedproxy.google.com/~r/bindiry/~3/O-TTdMlN6Tk/1456</link>
		<comments>http://junnan.org/blog/1456#comments</comments>
		<pubDate>Fri, 20 Jan 2012 13:57:22 +0000</pubDate>
		<dc:creator>Bindiry</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[KiTTY]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VirtualBox]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://junnan.org/blog/?p=1456</guid>
		<description>本文目的是实现在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 Server 11.10 (x86) Oracle VM VirtualBox for Windows KiTTY VirtualBox使用桥接连接方式: 在用Virtual创建Ubuntu Server系统时， 设置 -&gt; 网络 中的连接方式应改为 Bridged Adapter (桥接连接方式) ，这样才能使Ubuntu系统与Windows系统处于同一网段，便于使用SSH连接。 设置Ubuntu Server安装包: &amp;#8230; &lt;a href="http://junnan.org/blog/1456"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/l1Wevbg7-ov1f5xGkdnF5tic0aM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/l1Wevbg7-ov1f5xGkdnF5tic0aM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/l1Wevbg7-ov1f5xGkdnF5tic0aM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/l1Wevbg7-ov1f5xGkdnF5tic0aM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/bindiry/~4/O-TTdMlN6Tk" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://junnan.org/blog/1456/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://junnan.org/blog/1456</feedburner:origLink></item>
		<item>
		<title>Ubuntu下搭建Ruby on Rails+MongoDB+Redis环境</title>
		<link>http://feedproxy.google.com/~r/bindiry/~3/wXmWzDhNV_4/1454</link>
		<comments>http://junnan.org/blog/1454#comments</comments>
		<pubDate>Fri, 20 Jan 2012 13:28:38 +0000</pubDate>
		<dc:creator>Bindiry</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mongodb]]></category>
		<category><![CDATA[Redis]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://junnan.org/blog/?p=1454</guid>
		<description>安装说明: 本文是以root用户为例进行安装，如用普通用户，某些命令前需加sudo。 安装过程特别是用RubyGems和Git安装时，下载很慢，可以参考 《Ubuntu下使用proxychains为程序做全局代理》来加快下载速度。 环境: Ubuntu Server版本：11.10 Ruby版本：1.9.2 RubyGems版本: 1.8.11 Rails版本: 3.1.3 Node.js版本: 0.6.9 MongoDB版本：2.0.1 Redis版本：2.4.2 系统基本设置及常用软件安装: # 建立应用程序目录、工作目录及下载目录 $ cd ~ $ mkdir -p apps workspace downloads # 更新包管理器 $ apt-get update # 安装常用库及软件 $ apt-get install git git-core &amp;#8230; &lt;a href="http://junnan.org/blog/1454"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3at1m3EzA-rLIvL488IV1XRSZQQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3at1m3EzA-rLIvL488IV1XRSZQQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3at1m3EzA-rLIvL488IV1XRSZQQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3at1m3EzA-rLIvL488IV1XRSZQQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/bindiry/~4/wXmWzDhNV_4" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://junnan.org/blog/1454/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://junnan.org/blog/1454</feedburner:origLink></item>
		<item>
		<title>Rails3下Carrierwave+Gridfs强制下载</title>
		<link>http://feedproxy.google.com/~r/bindiry/~3/X3dCECRi3tY/1450</link>
		<comments>http://junnan.org/blog/1450#comments</comments>
		<pubDate>Fri, 20 Jan 2012 13:09:01 +0000</pubDate>
		<dc:creator>Bindiry</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Carrierwave]]></category>
		<category><![CDATA[GridFS]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://junnan.org/blog/?p=1450</guid>
		<description>当用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中的媒体文件。 ApplicationController: def download_file(path) gridfs_path = path.gsub("/uploads/", "uploads/") begin # 处理文件名 options = {:filename =&gt; File.basename(path)} send_file_headers! options gridfs_file = Mongo::GridFileSystem.new(Mongoid.database).open(gridfs_path, 'r') self.response_body = gridfs_file.read self.content_type = gridfs_file.content_type rescue Exception =&gt; e self.status = :file_not_found Rails.logger.debug { &amp;#8230; &lt;a href="http://junnan.org/blog/1450"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OK4gT68C9jUoevjj7NR3pjXEx6E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OK4gT68C9jUoevjj7NR3pjXEx6E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OK4gT68C9jUoevjj7NR3pjXEx6E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OK4gT68C9jUoevjj7NR3pjXEx6E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/bindiry/~4/X3dCECRi3tY" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://junnan.org/blog/1450/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://junnan.org/blog/1450</feedburner:origLink></item>
		<item>
		<title>Box2D静态刚体旋转</title>
		<link>http://feedproxy.google.com/~r/bindiry/~3/HAAh5f-SqKI/1446</link>
		<comments>http://junnan.org/blog/1446#comments</comments>
		<pubDate>Mon, 09 Jan 2012 03:38:39 +0000</pubDate>
		<dc:creator>Bindiry</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Box2D]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://junnan.org/blog/?p=1446</guid>
		<description>这是2010年4月15号在茶馆儿发的一篇日志，现在被找回来了，在博客里存档一下。 如标题，在没遇到这个问题之前通常是用转轴把刚体固定在某一点，然后利用扭矩来实现刚体旋转，但使用转轴的问题在于，如果一个动态刚体掉落过程中撞到这个利用转轴转动的刚体时，这个刚体会发生微小的转动，虽然这属于正常的物理特性，但对于某些游戏来说对体验的影响还是不小的，Google了N多资料，试过N多种方法，最终给Box2d的源文件加入了个自定义方法，但总算是把问题解决了。 实现步骤： 在Box2D/Dynamics/b2Body.as中加入如下函数，静态刚体依靠该函数旋转。 public function rotateAroundExternalPoint(ox:Number, oy:Number, angle:Number) : void { var f:b2Fixture; if (m_world.IsLocked() == true) return; // begin var newPos:b2Vec2 = new b2Vec2(); newPos.x = m_xf.position.x - ox; newPos.y = m_xf.position.y - oy; var s:Number = Math.sin(angle); &amp;#8230; &lt;a href="http://junnan.org/blog/1446"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GeGbgDipLglwCyPvr5uzRBo3Mo4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GeGbgDipLglwCyPvr5uzRBo3Mo4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GeGbgDipLglwCyPvr5uzRBo3Mo4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GeGbgDipLglwCyPvr5uzRBo3Mo4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/bindiry/~4/HAAh5f-SqKI" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://junnan.org/blog/1446/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://junnan.org/blog/1446</feedburner:origLink></item>
		<item>
		<title>用Rake脚本实现将MySQL数据导入MongoDB及GridFS</title>
		<link>http://feedproxy.google.com/~r/bindiry/~3/_qDeIMJAd7s/1429</link>
		<comments>http://junnan.org/blog/1429#comments</comments>
		<pubDate>Wed, 21 Dec 2011 12:03:13 +0000</pubDate>
		<dc:creator>Bindiry</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[GridFS]]></category>
		<category><![CDATA[Mongodb]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://junnan.org/blog/?p=1429</guid>
		<description>接上回《Rails3下使用MongoDB做为数据库并使用GridFS保存文件》，这次需要将MySQL表中的数据导入MongoDB中，并将其中一个字段的内容写入文件并将文件保存到GridFS中，使用Rake脚本来实现会方便很多，下面是一个简单的MySQL表的结构(数据库和表名都是demo)： &amp;#124; id &amp;#124; filename &amp;#124; content &amp;#124; 1 &amp;#124; level1.txt &amp;#124; eNqtk8tOwzAQRX/Fmj3NjB9pkOKu2 需要将表内容导入MongoDB的Blog表中，字段在导入时的对应关系： demo.filename -&gt; blog.name demo.content -&gt; blog.content 然后将demo.content字段内容保存成以demo.filename字段内容命令的文件中，文件保存在levels目录下，然后将文件写入GridFS中。 代码如下： # 此脚本需要 mysql2 和 mongo 这两个Gems require 'mongo' include Mongo namespace :movetomongo do task :move =&gt; :environment do &amp;#8230; &lt;a href="http://junnan.org/blog/1429"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iOx3RICQjYx-wcxGodOSyZEZ6UM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iOx3RICQjYx-wcxGodOSyZEZ6UM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iOx3RICQjYx-wcxGodOSyZEZ6UM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iOx3RICQjYx-wcxGodOSyZEZ6UM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/bindiry/~4/_qDeIMJAd7s" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://junnan.org/blog/1429/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://junnan.org/blog/1429</feedburner:origLink></item>
		<item>
		<title>关于AS3域名锁定(sitelock)防止跨站引用的解决办法</title>
		<link>http://feedproxy.google.com/~r/bindiry/~3/BBABa9wfcb8/1420</link>
		<comments>http://junnan.org/blog/1420#comments</comments>
		<pubDate>Tue, 20 Dec 2011 10:20:30 +0000</pubDate>
		<dc:creator>Bindiry</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[游戏]]></category>

		<guid isPermaLink="false">http://junnan.org/blog/?p=1420</guid>
		<description>问题描述：以前在给游戏加sitelock时，都是使用 loaderInfo.loaderURL 或者 root.loaderInfo.url 的方式来获取swf的url，然后进行判断，虽然可以防止swf在别的域名下运行，但别的域名可以通过在页面中直接引用swf来在页面中进行显示。 解决方案：使用 ExternalInterface.call 来执行一段js代码，获取swf所在页面的url，如果swf的url和页面的url都处在同一个域，那么 ExternalInterface.call就可以正常获取页面的url，否则会返回空，从而结合之前的方法共同验证就可以保证swf文件既不会在别的域名下运行，也不会在别的域名下被引用运行。 代码如下： private function checkDomain():Boolean { var url:String = loaderInfo.loaderURL; var weburl:String; try { weburl = ExternalInterface.call("function getUrl(){return window.location.href;}"); } catch (e:Error) { weburl = ""; } // 允许运行的域名列表，使用&amp;#124;分隔 var allowedDomains:String = &amp;#8230; &lt;a href="http://junnan.org/blog/1420"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/J5r9IpdPdQ5wRtpJdw9Fvz-zWxM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J5r9IpdPdQ5wRtpJdw9Fvz-zWxM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/J5r9IpdPdQ5wRtpJdw9Fvz-zWxM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J5r9IpdPdQ5wRtpJdw9Fvz-zWxM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/bindiry/~4/BBABa9wfcb8" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://junnan.org/blog/1420/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://junnan.org/blog/1420</feedburner:origLink></item>
		<item>
		<title>给博客做了301重定向</title>
		<link>http://feedproxy.google.com/~r/bindiry/~3/0Y-tSpppD0A/1410</link>
		<comments>http://junnan.org/blog/1410#comments</comments>
		<pubDate>Sat, 17 Dec 2011 11:34:56 +0000</pubDate>
		<dc:creator>Bindiry</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://junnan.org/blog/?p=1410</guid>
		<description>回到wordpress后，决定把博客的Url中的扩展名去掉，只留下日志ID来表示，简单三条转向规则折腾了半个多小时才成功，实现的转向如下： 将 www.junnan.org/* 转向到 junnan.org/* 将 blog/*.htm 转向到 blog/* 将blog/目录下的.htaccess代码修改成如下内容： # BEGIN WordPress RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^.*junnan.org$ [NC] RewriteRule ^(.*)(\.htm).*$ http://junnan.org/blog/$1 [L,R=301] RewriteBase /blog/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php &amp;#8230; &lt;a href="http://junnan.org/blog/1410"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UzRWS_5hpU3HpqbdJ2RA_VaLB-k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UzRWS_5hpU3HpqbdJ2RA_VaLB-k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UzRWS_5hpU3HpqbdJ2RA_VaLB-k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UzRWS_5hpU3HpqbdJ2RA_VaLB-k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/bindiry/~4/0Y-tSpppD0A" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://junnan.org/blog/1410/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://junnan.org/blog/1410</feedburner:origLink></item>
		<item>
		<title>Rails3下使用MongoDB做为数据库并使用GridFS保存文件</title>
		<link>http://feedproxy.google.com/~r/bindiry/~3/T_-2yLLWsy8/1387</link>
		<comments>http://junnan.org/blog/1387#comments</comments>
		<pubDate>Fri, 16 Dec 2011 13:54:38 +0000</pubDate>
		<dc:creator>Bindiry</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Carrierwave]]></category>
		<category><![CDATA[GridFS]]></category>
		<category><![CDATA[Mongodb]]></category>
		<category><![CDATA[Mongoid]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://junnan.org/blog/?p=1387</guid>
		<description>最近抽空玩了一下Ruby on Rails，用MongoDB来做主数据库，各种Gem功能集合起来还真有些眼花缭乱，决定在博客中把其中较为麻烦的过程记录下来备忘并巩固一下，也为来访者提供一点可用信息。关于环境搭建，如果你用的ubuntu，可以参考我之前在wiki中记录的《Ubuntu下搭建Ruby on Rails+MongoDB+Redis环境》。 本文源码下载：demo.zip 1. 创建应用Demo: (确保mongodb服务已经启动) $ rails new demo $ cd demo 2. 修改Gemfile文件，加入如下Gems (gem后面的注释表示当前版本): gem 'mongoid' # 2.3.4 gem 'bson_ext' # 1.5.2 gem 'carrierwave' # 0.5.8, 实现文件上传功能 gem 'carrierwave-mongoid', :require =&gt; 'carrierwave/mongoid' # 0.1.3, 扩展功能，实现存储文件到GridFS &amp;#8230; &lt;a href="http://junnan.org/blog/1387"&gt;Continue reading &lt;span class="meta-nav"&gt;&amp;#8594;&lt;/span&gt;&lt;/a&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/y1wcuOlt4IdQIRlD4h-jyzFtCT0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/y1wcuOlt4IdQIRlD4h-jyzFtCT0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/y1wcuOlt4IdQIRlD4h-jyzFtCT0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/y1wcuOlt4IdQIRlD4h-jyzFtCT0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/bindiry/~4/T_-2yLLWsy8" height="1" width="1"/&gt;</description>
		<wfw:commentRss>http://junnan.org/blog/1387/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://junnan.org/blog/1387</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.363 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-02-23 09:02:43 -->

