<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d4684235500622716427\x26blogName\x3dCaiwangqin\x27s+blog\x26publishMode\x3dPUBLISH_MODE_HOSTED\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://blog.caiwangqin.com/search\x26blogLocale\x3dzh_CN\x26v\x3d2\x26homepageUrl\x3dhttp://blog.caiwangqin.com/\x26vt\x3d3393395200455623441', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Caiwangqin's blog

Focus on Cloud Service, Smart Hardware, Architecture, Technic and beyond…

再见了 - 杭州,约好了- 北京

2006年10月30日星期一

2006中文网志年会结束了,吕欣欣相约明年我们北京见老冒回顾说不如相忘于江湖Zola 代表湖南赶赴匆匆48小时的邂逅,可能还没有回到家中。见到了一大批朋友,心情非常高兴,同时心底也留有吕欣欣所讲出来的失落,看看这个真实的幻觉吧。


Mash up, or shut up! panel 之后,很高兴见到有 ruby on rails 的朋友从北京赶来参加年会,他们的协作项目工时管理产品也做得非常不错,另外还有杭州的八宝盒。同时北京还在2006中文网志年会的同时成立了ROR用户组,明年我们北京见。


杭州中文网志年会的照片:


http://www.uuzone.com/album/uu_1115110/98198/ (地图


http://www.flickr.com/photos/tags/cnbloggercon/


http://www.yupoo.com/photos/tags/?tag=cnbloggercon


标签:

posted by Jesse Cai, 上午9:53 | Permalink | 0 comments |

十分钟后出发去杭州

2006年10月27日星期五


我要去2006中文网志年会了,准备十分钟后出发去杭州,去见我想在年会上见到的Blogger ,拍照片,研讨问题,感受氛围。

我会实时将照片报到到FlickrYupoo上,还有答应帮Soopie用手机报道keso的现场。还会有GPS记录我的行程,这将会在我的优友相册上,你将可以在地图上查看我的拍摄位置。

Let’s go ~


标签:

posted by Jesse Cai, 上午6:58 | Permalink | 0 comments |

Example Note

This is an example of a normal text note


powered by performancing firefox


标签:

posted by Jesse Cai, 上午6:20 | Permalink | 0 comments |

“只向客户宣传,不向同行宣传。”

问了一位在广州投身Web 2.0创业的朋友,来不来杭州参加中文网志年会,结果得到了的答复是:“我们只向客户宣传,不向同行宣传。”


这句话可以由以几个理解:



  • 客户是上帝,是衣食父母,向客户宣传能够得到直接的回报

  • 同行是竞争对手,向他们宣传不但没有回报,而且有可能被复制商业模式


由此我们可以看到,广州的创业公司自己供血的务实精神,但也好像缺少了一个开放的心态。在这个互联网产业飞速发展的时代,技术的领先程度最多半年,同行之间的交流也可以得到互相的促进。


“只向客户宣传”也可以了解到他们已经清楚的知道自己的定位和方向,能够锁定客户群体进行营销。这样看来,没有到网志年会宣传自己公司的朋友也不要有遗憾,宣传对象应该是你们的客户。


标签:

posted by Jesse Cai, 上午2:08 | Permalink | 0 comments |

我想在年会上见到的Blogger

2006年10月25日星期三

北宋范仲淹在《岳阳楼记》中写道:居庙堂之高则忧其民;处江湖之远则忧其君。去参加中文网志年会的,大多是Web 2.0这个江湖里面的居庙堂之士, 当然想知道在这个圈子里面:“噫!微斯人,吾谁与归? ”


ZolaDaniel Chan都想知道我想在年会上见到的Blobber,首先想再见王建硕,把上次在南京捣浆糊图片)那次没有找到的那张合照给补回来。原因是我在2005年看了他的Blog才决定开始Blogging的,这个要记念一下。看来这次应该有机会,因为我荣幸的被老冒在他所主持的研讨会:混合、叠加与创新中列为嘉宾,建硕也是。另外是希望结识一些使用Ruby on Rails的朋友


还希望能见到一些闻名已久的Blogger:sayonlyherockZolaDaniel Chan叶子(向她说新婚愉快,幸福美满),毛向辉(和他交往会让你不断的得到启迪),方兴东(感受他的狂喜与痛楚)所有在优友地带写Blog的朋友,我希望面对面的倾听你们的意见,不断改善我们的产品。


两天的会议不能详尽所有想研讨的问题,比如Zola想讨论的OPENID,我想要向大家请教的SEO等。但见过面之后的朋友再在网上相见,感觉都不一样了。我相信出于共同的梦想聚在一起的Blogger们,一定会有倾盖如故的感觉,我为此期待着这次年会。


标签:

posted by Jesse Cai, 上午9:19 | Permalink | 0 comments |

Rails Application 引用外部路径的文件

2006年10月24日星期二

曹维远发Email给我提到这问题,可能其他人也会碰到这个问题,因此将我的回复发布在Blog中。


Caiwangqin, 你好,


我是曹维远,网名cvu,在uuzone上我们曾经互相加过好友。

初次交流,本来想说些仰慕的话,大家都忙,略过。

写信给你的直接目的是问一个rails的问题,我想让browser可以访问到我的一个硬盘目录里的图片,而这个目录不在public下面。

IIS管这个叫Virtual Directory, Apache叫Alias.

我查了rails的各类文档,routes.rb是最接近的,但是好像解决不了我的问题。

又有apache+mongrel的方案,我按照mongrel网站上的介绍,和冰狗的翻译,配置了httpd.conf如下


<VirtualHost *>
    ServerName typo
    ProxyPass / http://localhost:3002/
    ProxyPassReverse / http://localhost:3002
    ProxyPass /images !
    ProxyPass /stylesheets !
    ProxyPass /icons !
    #continue with other static files that should be served by apache

    Alias /images ${path}/rails_apps/typo-2.6.0/public/images
    Alias /stylesheets ${path}/rails_apps/typo-2.6.0/public/stylesheets
    Alias /icons ${path}/apache/icons
    #continue with aliases for static content

</VirtualHost>



但还是不行,不知道你有没有这方面经验。

谢谢!



我也曾想过同样的问题,好像通过Rails的routes.rb是不可以引用外部路径的,routes.rb是Rails内部的Rewrite规则。但可以通过将RoR应用配置成一个别名,然后将外部路径配置成另外的别名,即可在Rails Application中使用”/images/example.jpg”的方式引用外部路径了。提供参考(以下用Lighttpd示范,Apache配制类似):


server.document-root = “C:/lighttpd/htdocs/”

alias.url = (

“/images/” => “${path}/rails_apps/typo-2.6.0/public/images”,

“/stylesheets/” => “${path}/rails_apps/typo-2.6.0/public/stylesheets”,

“/icons/” => “${path}/apache/icons”

)

$HTTP[”url”] =~ “^/typo/” {

server.document-root = “e:/work/ror/typo/public”
server.error-handler-404 = “/dispatch.scgi”
server.indexfiles = ( “dispatch.fcgi” )
scgi.debug=0
scgi.server = ( “dispatch.scgi” => ((
“host” => “127.0.0.1″,
“port” => 9999,
“check-local” => “disable”,
“disable-time”=>0
)) )
}



希望能够有所帮助。


标签:

posted by Jesse Cai, 上午3:49 | Permalink | 0 comments |

杭州中文网志年会交通指引 ON UUZONE - GALLERY/GMAP MASHUP

2006年10月23日星期一

Zola的要求,将杭州中文网志年会的交通指引上传到了我的UUZONE相册杭州中文网志年会指引,希望可以给参加年会的朋友提供一点帮助。在相册中点击 Google Map 查看 即可在Google Map上看到年会的主要交通图。


标签:

posted by Jesse Cai, 上午2:23 | Permalink | 0 comments |

在UUZONE上看越狱

2006年10月20日星期五


越狱(PRISON BREAK)剧情介绍:


   迈克尔的哥哥林肯因被控杀害副总统卡罗林的弟弟入狱,并被判处死刑。在上诉失败林肯只有死路一条的情况下,迈克尔决定展开越狱计划。在进行了一系列精心的准备之后,他刻意制造了一起持枪抢劫银行事件,并顺利的被送入了福克斯河监狱。在那个时刻都充满了血腥和暴力的地方,迈克尔运用自己的聪明才智,成功结交了一帮三教九流分子。一场惊心动魄的越狱大行动由此拉开了帷幕。



网易学院制作了一个使用GoogleEarth看越狱教程,现在你可以使用优友相册看跃狱。

(在我的相册中点击Google Map查看,即可在Google Map中显示由照片组成的越狱路线图)


Have Fun!


标签:

posted by Jesse Cai, 上午2:59 | Permalink | 0 comments |

Yahoo Time capsule

2006年10月19日星期四

Yahoo!弄了一个时光宝箱的玩意儿,点击Yahoo!首页Logo就可以进入:



这个简单的只具有张贴功能,非常Cool, 也非常的好玩,还很有社会性。看我提交的the beautiful picture.


标签:

posted by Jesse Cai, 下午12:48 | Permalink | 0 comments |

IE7 - 微软再振雄风


今天早上打开Yahoo英文版首页,出现以下信息:


 


于是下载了Internet Explorer7,速度上快了不少,稳定性还不知道。可惜只能在正版 Windows 上安装,而且目前只有英文版本。

值得一提的是,IE7内置的Feeds浏览非常方便好用,那些寄居在IE之上的Tabbed Browser 可以光荣退役了。


标签:

posted by Jesse Cai, 上午4:26 | Permalink | 0 comments |

Try Windows Live Expo

Today i have an invitation from Windows Live Expo Team, so i try to post a recruitment information. it’s another chinese version Craigslist site, like kijiji.


if you wanna sone experience for it, just leave you email here, i’ll send an invatation to you.


标签:

posted by Jesse Cai, 上午1:47 | Permalink | 0 comments |

Google收购YouTube给中国Web2.0带来的影响

2006年10月16日星期一


土豆网alexa排名变化可以看到这一点,这是否宣布了Podcasting时代已经开始到来?


标签:

posted by Jesse Cai, 上午9:28 | Permalink | 0 comments |

Another Ruby on Rails IDE - RIDE-ME

posted by Jesse Cai, 上午4:19 | Permalink | 0 comments |

Ruby 代码 - 使用星号展开数组

2006年10月13日星期五

问题来自Ruby On Rails 中文社区论坛数组前加个星号表示什么,示例:


def test(a,b,c,d,e)
    print “#{a}, #{b}, #{c}, #{d}, #{e}”
end


array = [1,2,3,4,5]


test(*array)



标签:

posted by Jesse Cai, 上午1:56 | Permalink | 0 comments |

Windows平台上使用 capistrano 部署 ruby on rails 应用

2006年10月11日星期三

石锅拌饭写了一篇BLOG:尝试用capistrano部署ruby on rails应用,但新手在实际应用时还是会有不少麻烦,尤其是国内很多人都是在Windows平台上开发Rails Application, capistrano 是不可以从 Windows 平台上 rake deploy 到 Linux 上的。


这里我分享一下在 Windows 平台上开发,然后 cap 发布到 dailybuild 服务器(SVN是建立在内部网的,capistrano 完成 dailybuild), 然后再使用 linux 的 rsync 命令将 dailybuild 服务器上测试完成的应用发布到 Internet 上的过程。


完成这个演示至少需要三台计算机:


A (Windows) :一台Winsows开发计算机


B (Linux):一台SVN服务器,一台dailybuild服务器 (SVN和dailybuild在同一台计算机)


C (Linux):一台Internet上的服务器



一、安装 capistrano


在A和B上都需要安装 capistrano ,安装 gem 很简单:


gem install capistrano



二、应用 capistrano



  1.  在开发计算机上应用 capistrano :


    • cap –apply-to x:/path/to/my/app MyApplicationName


  2. 修改 config/deploy.rb 文件


set :application, “app”
set :repository, http://192.168.0.9/svn/repo1/#{application}


 


role :web, “localhost”
role :app, “localhost”


 


set :deploy_to, “/u/apps/#{application}”
set :user, “user”
set :password, “password”



#如果在dailybuild服务器上使用的数据库的environment不一样,则可以在deploy.rb文件末尾加上以下语句:


desc “link in production database&environment credentials”
task :after_update_code do
run <<-CMD
rm #{release_path}/config/environment.rb &&
ln -nfs #{deploy_to}/#{shared_dir}/config/environment.rb #{release_path}/config/environment.rb ;
rm #{release_path}/config/database.yml &&
ln -nfs #{deploy_to}/#{shared_dir}/config/database.yml #{release_path}/config/database.yml
CMD
end



三、从A计算机上将RoR App提交到SVN服务器上


四、在计算机B上得到SVN上的App(该动作只需进行一次,以后使用rake deploy时capistrano是直接从SVN获取最新代码的)



/root# svn co http://192.168.0.9/svn/repo1/app –username yourusername –password yourpassword



五、初始化服务



/root# cd app


/root/app# rake remote:exec ACTION=setup



六、部署



/root/app# rake deploy



七、要实现 dailybuild , 可以将第步骤六写一个sh脚本,并将脚本加入linux cron中,设置为每天早上00:00执行即可


八、由于SVN是安装在内部网上的,运行在Internet上的服务器不能访问,可以不可以直接使用 capistrano 将内部的更新deploy到外部,可以使用 linux rsync 将 dailybuild 上的最新代码同步到外部



# rsync -zrtopg –delete /u/apps/app/ root@xxx.xxx.xxx.xxx:/u/apps/app



注意:本篇文章重在介绍发布的过程步骤,这其中涉及到的细节知识点还需要查看相关帮助文档,如SVN的使用,怎样设置linux的计划任务,以及rsync命令的详细使用方法等。


标签:

posted by Jesse Cai, 上午7:46 | Permalink | 0 comments |

Exciting, got an invation to Wallop.

2006年10月10日星期二

You’ve been invited to join Wallop by coocend!

Wallop is the exclusive social experience where it’s easy to be you and connect with the friends you choose.

coocend sent a personal message: Coocend from V2ex has invited you to join Wallop!(^_^)

To join Wallop, please click here.



you can see my wallop page at : http://www.wallop.com/caiwangqin , if you need an invation to Wallop, just comment this post left you email here.


标签:

posted by Jesse Cai, 上午2:08 | Permalink | 0 comments |

长尾全译 PDF 下载

2006年10月9日星期一

长尾全译 PDF 下载


非常感谢“跳跳”朋友制作的长尾全译PDF版,方便您下载阅读、收藏和传播。也请访问她的网站:

http://www.forlens.com (这个域名不错嘛)


点击这里在线阅读


标签:

posted by Jesse Cai, 上午3:49 | Permalink | 0 comments |

Work environment

2006年10月8日星期日

Now we are working with ruby on rails, the development environment dependencies are:



  1. apache 2.2.3 - win


  2. lighttpd 1.4.11 - win


  3. ruby 1.8.4-19


    • 1.8.4-19 or later


  4. RubyGems 0.9.0


  5. rails 1.1.6


    • gem install rails –include-dependencies


  6. scgi 0.4.3


  7. ruby/dbi 0.1.1


  8. ruby/odbc 0.997 - win


  9. memcache-client 1.0.3 & cached_model 1.2.1


    • gem install memcache-client


  10. subversion 1.3.2


  11. RadRails IDE



标签:

posted by Jesse Cai, 上午1:26 | Permalink | 0 comments |