<?xml version="1.0" encoding="UTF-8"?><rss version="0.92">
<channel>
	<title>里克的自习室</title>
	<link>http://railser.cn</link>
	<description>关注Ruby和Rails的学习与开发</description>
	<lastBuildDate>Tue, 20 Dec 2011 11:47:47 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	<!-- generator="WordPress/3.2.1" -->

	<item>
		<title>2012，云</title>
		<description><![CDATA[最近研究各种云平台，Amazon AWS，盛大云，阿里云。5月份设计的appflying.com，看来可以移到云平台上继续它的2012旅程了。在云上，还有好多想法可以去实施，而且价格也都不贵，看来，2012从云开始吧。]]></description>
		<link>http://railser.cn/blog/2012-cloud</link>
			</item>
	<item>
		<title>一个带BOM的utf-8文件引来的麻烦</title>
		<description><![CDATA[很多朋友应该碰到过这句话吧：“Cannot modify header information - headers already sent by...(php文件)”。 今天碰到了，起因是用ftp，在windows环境下，使用ftp的编辑功能，在线编辑了一个配置文件。然后就出现了这个提示。 不论是百度还是google，都会给出一堆解决办法，可是，那个最正中要害呢？毕竟我们不是在做学术研究，而且我们碰到的也都是一些常见问题。 好，找到了最关键的一句话： “如果使用utf-8编码，一定要去掉UTF-8中的BOM，这都是因为utf-8编码文件含有的bom原因，而php4,5都是不支持bom的。去掉bom，可以用Notepad++打开转换一下。” 问题解决了。在此笔记一下。 这里有一篇文章讲了一下原理：http://blog.sina.com.cn/s/blog_570f6d940100h3vk.html 简单的说，utf-8不需要BOM，utf-16才需要它。 &#160; &#160; &#160; &#160;]]></description>
		<link>http://railser.cn/blog/bom-in-utf8-file</link>
			</item>
	<item>
		<title>令人反感的discuz7.2论坛无提示音解决办法</title>
		<description><![CDATA[最近的一个网站单子里，需要给客户用discuz7.2实现一个会员功能，dz是大品牌，何况康盛又被腾讯收购，质量应该可靠。所以反复衡量，dz成为首选了。（跟DZ和康盛的系列产品源渊太多了。） 客户提出的问题还算顺利的一一解决，客户最后提出一个要求，要对最新的消息有一个提示。这个实现很简单，给客户讲解了如何设定声音，可是问题来了，我这里怎么都听不到声音，客户那里也是如此。 怎么会这样，开始我以为是我浏览器的问题，但是几个浏览器测试都无声，这个是绝对不应该的。代码是官网下载的discuz7.2 utf8。什么情况？怎么办？ 网上查了一下竟然很多人反馈了这个问题，可是没有几个提出解决办法的，有两篇的解决办法尝试了一下，没有解决问题。难道是我的特例？？ 外包方式开发最可怕的是耽误进度和过多的向客户解释，为客户选择的产品，如果质量不过关，影响的绝对就是制作方的信誉。 现在问题来了，如何解决。 解决办法： 1、先参考官方提供的一个解决办法，仅做参考，因为它也没解决问题。所以我真不知道官方的维护是干什么吃的。 http://www.discuz.net/forum.php?mod=viewthread&#038;tid=1523437&#038;page=7#pid12811924 2、因为mp3,wav等格式均无效，我让合作的美工把声音文件转成了swf，可以在这里下载。 下载论坛提示音swf格式 3、按照上面那篇提示文章，修改一下对应的文件，引用改成swf，并且简化swf的文件引用，因为那个player已经无用了，直接引用swf声音即可。下面是代码，希望能帮助一些朋友。 templates/default/memcp_profile.htm 499行 $('soundplayerlayer').innerHTML = AC_FL_RunContent('id', 'pmsoundplayer', 'name', 'pmsoundplayer', 'width', '0', 'height', '0', 'src', '{$boardurl}images/sound/pm_'+file+'.swf', 'menu', 'false',  'allowScriptAccess', 'sameDomain', 'swLiveConnect', 'true'); } templates/default/pm_checknew.htm 可以不改动，因为在我的方案里它已经没用了，如果有尝试的朋友，可以对应替换这段代码 &#60;script type="text/javascript" reload="1"&#62;$('pmsound').innerHTML = AC_FL_RunContent('id', 'pmsoundplayer', 'name', 'pmsoundplayer', 'width', '0', 'height', '0', 'src', '{$boardurl}images/sound/pm_$pmsound.swf',  'menu', 'false',  'allowScriptAccess', 'sameDomain', 'swLiveConnect', [...]]]></description>
		<link>http://railser.cn/blog/discuz72-pm_sound</link>
			</item>
	<item>
		<title>rails new 特定版本</title>
		<description><![CDATA[rails _3.0.7_ new railstest 说明：安装多个版本，尤其安装了3.1.0 pre 后，使用Rails 3.0.7这个最新稳定版开发项目。]]></description>
		<link>http://railser.cn/blog/rails-new-%e7%89%b9%e5%ae%9a%e7%89%88%e6%9c%ac</link>
			</item>
	<item>
		<title>crontab的写法误解</title>
		<description><![CDATA[crontab的标准写法参照这里，http://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-autotasks.html 那么，每阁特定小时运行命令如何写呢？ 每隔30分钟，运行一次命令，可以写 */30 * * * * /sbin/do_something 每隔4小时，可以写成 * */4 * * * /sbin/do 吗？不可以，这样会产生很严重的错误，导致我每分钟运行一次命令，直到某种情况下被中止。想到这我真心疼我的mysql和cpu。 这里正确的写法应该是 0 0,4,8,12,16,20 * * * /sbin/do (whenever 给出的写法) 或者 0 */4 * * * /sbin/do (我认为可行的写法，不过至今未确认，这个写法可以从保存时开始，每隔4小时执行一次) 两个写法，都要在第一个位置，指定执行开始的分钟数。 请各位指正，我也继续验证一下我的写法。 &#160;]]></description>
		<link>http://railser.cn/blog/crontab</link>
			</item>
	<item>
		<title>readline load error的解决办法</title>
		<description><![CDATA[服务器总算都调试完了，今天打算看一下一个app的具体信息，发现 rails c提示错误。 这是个常见的错误：`require': no such file to load -- readline (LoadError) 原因：缺少readline 解决办法：进入rvm ruby1.9.7的src，安装readline 具体： &#62;&#62; which ruby /usr/local/rvm/rubies/ruby-1.9.2-p180/bin/ruby &#62;&#62; cd /usr/local/rvm/src/ruby-1.9.2-p180/ext/readline &#62;&#62; ruby extconf.rb &#62;&#62; make &#62;&#62; make install 再次rails c，解决问题了。 笔记太有用了，都省去了回忆的时间。]]></description>
		<link>http://railser.cn/blog/readline-load-error-rails307</link>
			</item>
	<item>
		<title>在CentOS5上部署Rails3应用</title>
		<description><![CDATA[1、安装rvm 安装rvm前，要先安装git。因为rvm的安装教程就是一个git的小脚本。 &#62;&#62;wget http://kernel.org/pub/software/scm/git/git-1.7.5.3.tar.bz2 Oop！这里有个问题，我tar不常用，这里tar xvfz git-... 是会提出格式错误的，查了一下需要换一个命令：tar -xvjpf git-... 之后， make prefix=/usr/local all make prefix=/usr/local install 看到git 版本后，安装rvm git --version 剩下的，就是按照 https://rvm.beginrescueend.com/rvm/install/ 的讲解一步步安装吧，最后，阿？为什么 type rvm &#124; head -1 会提示错误呢？我也被搞糊涂了，按照提示，我重新打开一个终端窗口，这下正常了。所以再看看文档吧。 接着，安装1.8.7 2、安装ruby 1.8.7和gem rvm install 1.8.7 注：我又将用户切换回了root，而在进行到Load RVM into your shell sessions as a function的时候，我不得不切换回user。 rvm use 1.8.7 显示正常了。 安装gems http://rubygems.org/pages/download 3、安装rails gem install rails -v [...]]]></description>
		<link>http://railser.cn/blog/rails-on-centos-step-by-step</link>
			</item>
	<item>
		<title>hello, rails3.1 pre 第二部分</title>
		<description><![CDATA[接着上一篇，问题继续。 rake db:migrate &#62;&#62; rake aborted! &#62;&#62; undefined method `task' for #&#60;Rails31test::Application:0x00000100de6a60&#62; 好吧，继续找答案，此处还是省略一些细节，直接看这里吧。 &#62;&#62; bundle exec rake db:migrate 问题暂时解决。 至此，projects已经可以看到了，剩下的还在琢磨。 补充一些链接： CoffeeScript  http://jashkenas.github.com/coffee-script/ RVM(Ruby Version Manager)  https://rvm.beginrescueend.com/ SASS/SCSS  http://sass-lang.com/ Sprockets  http://getsprockets.org/ &#160; &#160; &#160;]]></description>
		<link>http://railser.cn/blog/hello-rails31-pre-part2</link>
			</item>
	<item>
		<title>Hello, Rails3.1 pre</title>
		<description><![CDATA[Rails3.1面世了，赶紧尝鲜吧。可是，第一个问题就出现了，更新失败。此处略过一堆字，直接笔记：安装rvm吧。 https://rvm.beginrescueend.com/rvm/install/ rvm简直是多版本ruby开发环境下的救世主。补充一下笔记： 在安装完rvm后，rails new rails31test 新建了一个测试项目，一切正常，可是bundle的时候出错，就连 gem list都出错。查了一下，原来我们要重新安装gem，也要重新装rails。 ps：各位是不是会觉得，我刚才安装了阿，为什么又要装一次？你是不是也看这个视频了？http://railscasts.com/episodes/265-rails-3-1-overview 一切都没错，只是rvm 1.9.2@railspre --create 是新建了一个gemsets，（此语法为简写）。这样我们还得安装一下bundler rails31test liwei$ gem install bundler rails31test liwei$ bundle rails31test liwei$ rails g scaffold project name:string ... ... /Users/apple/.rvm/gems/ruby-1.9.2-p180/gems/actionpack-3.1.0.beta1/lib/sprockets/railtie.rb:37:in `block (2 levels) in &#60;class:Railtie&#62;': undefined method `context' for #&#60;Sprockets::Environment:0x0000010312c420&#62; (NoMethodError) 查到这个问题的解决办法：https://github.com/rails/rails/issues/453 在Gemfile里写： gem 'sprockets', '2.0.0.beta.2' 原因：beta.2 is required by rails 3.1.0beta1 注意：安装的时候，使用的是 gem [...]]]></description>
		<link>http://railser.cn/blog/hello-rails31-pre</link>
			</item>
	<item>
		<title>redmine插件开发心得</title>
		<description><![CDATA[上上周经Q友介绍，接了一个redmine插件开发的小项目。我很感兴趣的是可以借此机会把redmine熟悉一下，所以没太考虑价钱就答应了下来。现在想想，这次开发学到的东西很多，也认识了专业的开发团队，很值得。下面把redmine插件开发的经验笔记一下。 先来截图： 地址：http://www.cocos2d-x.org/projects/cocos2d-x/apps 简单介绍下 cocos2d-x is a multi-platform, light weight &#38; developer-friendly C++ 2D mobile game engine, open source and released under MIT License. It is a child branch of the famous "cocos2d-iphone" project, and will keep the primary features sync with it. 更多细节请访问 http://www.cocos2d-x.org/projects/cocos2d-x/wiki 好了，说下这个插件实现的功能。 一是管理发布平台，比如iOS，Android，WoPhone，Windows，Other，未来它还会有其他的平台。 二是在这些平台分类里，上传app，比如时下最火的iOS app，android app等。当上传iOS app时，可自动采集该信息。 一、让我们开始 插件如何开发呢？下载其他插件的代码来研究是关键的第一步。因为之前对redmine插件开发一无所知，所以下面的笔记有点啰唆。 先看一下官方发布的插件开发文档，http://www.redmine.org/projects/redmine/wiki/Plugin_Tutorial，请大概的了解一下。然后，我们去redmine插件列表，下载两个很有代表性的插件，redmine_polls和redmine_bookmarks，把它们放到 vendor/plugins 里。选择这两个插件的原因是它们都是自主上传，填写内容的。 [...]]]></description>
		<link>http://railser.cn/blog/redmine-plugin-dev-note</link>
			</item>
</channel>
</rss>

