hello wpToGo!
2008年11月13日 星期四
ChinaonRails free ruby/rails books contributed by bd7lx
2008年10月22日 星期三
上周bd7lx决定将自己撰写《Web开发大全-ROR版》的稿费换成RUBY/RAILS新书赠送,我今天已经收到了电子工业出版社送来的41本书,详细书单请查阅上面的文档。促成这件事的人有在武汉的博文视点,电子工业出版社,非常感谢这些为Ruby/Rails在中国做出无私奉献的人。
现在书已经在我这里了,准备在以后的Ruby/Rails中文社区里的各项活动中赠送给Topic分享者和有贡献的朋友们,如果有什么分书的建议,欢迎与我取得联系。
标签: Technologies
vim for ruby on rails
2008年10月16日 星期四
plugins:
rails.vim
fuzzyfinder.vim
fuzzyfinder_textmate.vim
minibufexpl.vim
NERD_tree.vim
colorscheme vibrantink
http://www.vim.org/scripts/script.php?script_id=1794
mkdir ~/.vim/plugin
touch ~/.vim/plugin/mcfg.vim
vim ~/.vim/plugin/mcfg.vim
content for mcfg.vim
http://docs.google.com/Doc?id=dd76mrkf_184g3rp7gg6
标签: Technologies
收到博文视点给我寄的《Web开发大全-ROR版》
2008年9月19日 星期五
今年6月的时候书就已经完稿,今天我收到博文视点给我寄的书了。很高兴,就是书名看起来有点不专业,封面设计得也不专业,我还是比较喜欢Pragmatic的封面设计。看起来大方,成体系。不过本书的内容还是值得推荐的,因为确实是Rury on Rails实践者写的。
标签: Technologies
[P1.cn] 欢迎 Hui Zheng 加入 P1.cn 团队
2008年9月1日 星期一
Hui Zheng:
http://workingwithrails.com/person/6912-hui-zheng
从今天起,P1.CN 开发团队增加了1名Ruby on Rails Developer。从我们推行 Scrum 项目管理方法到现在,已经过了4个 Sprint , Scrum 真是个很好的项目管理过程,它不但帮助团队提升了生产效率,而且在团队成员工作交替过程中发挥了很大作用。
标签: Technologies
Facebook 开放平台源码
2008年7月18日 星期五
开放平台源码了, 虽然不是全部, 但已经相当多了. 在这里可以下载 Facebook 平台.
这个周末开始学习研究.
BTW:
Is this open social or open platform? I don’t know.
Is NCP2.0 open platform? No, it isn’t.
标签: Technologies
We do scrum
2008年7月14日 星期一
使用RubyonRails建设积木式网站架构与部署
2008年7月2日 星期三
如图所示,在中间的 Application 层,在不同的时间段,我们使用了不同版本的 Rails 开发了不同的功能模块。虽然 best practices 是将 Rails 版本 update to date , 但实际工作中可能由于具体业务使用了特定的部件使 update to date 变得不太容易。当新的Rails版本出来后,开发新的一个功能时,我们也不希望继续在旧的Rails版本上开发,于是我们采用了如图所示的积木式网站架构。
附 Nginx 的部署方式如下,以下示例中 app1,app2 使用 Rails1.2.3, app3 使用 Rails2.1, 启动 app3 的 mongrel 需要使用 prefix 选项:
mongrel_rails mongrel::start --prefix /app3 -p 5001
mongrel_rails mongrel::start –prefix /app3 -p 5002
nginx.conf:
user www;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
upstream mongrel_cluster1 {
server 127.0.0.1:3001;
server 127.0.0.1:3002;
}
upstream mongrel_cluster2 {
server 127.0.0.1:4001;
server 127.0.0.1:4002;
}
upstream mongrel_cluster3 {
server 127.0.0.1:5001;
server 127.0.0.1:5002;
}
server {
listen 127.0.0.1:80 default deferred;
location /app1/ {
proxy_pass http://mongrel_cluster1/;
}
location /app2/ {
proxy_pass http://mongrel_cluster2/;
}
location /app3/ {
proxy_pass http://mongrel_cluster3/app3/;
}
}
}
标签: Technologies
Ruby on Rails 2.1更新了什么?
2008年6月20日 星期五

这是的来自ChinaonRails.com社区对Ruby on Rails 2.1, What’s New?的中文翻译版本。点击这里下载.
译序:
Rails2.1发布已经有段时间了,我们都是零零碎碎的看到一些新功能介绍文章,且基本上都是英文的,中
文资料不多,仅有一些比较零碎的片段,看到 《Ruby On Raisl 2.1,what’s new》(Second Edition),大
致的翻了一遍,发现其介绍的比较全面和具体,邀请一些Railser一起翻译成中文版本,望此文档能带给大
家有用的信息,如果您发现 有不妥的地方,欢迎指出,同时也希望有时间、愿意贡献的朋友一起加入,后续会再翻译其他的书籍!
英文PDF:
http://www.nomedojogo.com/livro/carlosbrando-rubyonrails21_en.pdf
发起地址:
http://chinaonrails.com/topic/view/1713.html
标签: Technologies
Hello Ruby on Rails 2.1
2008年6月12日 星期四

we start to use Ruby on Rails 2.1 for new features of P1.cn, Eg. P1 Groups.
here is one book about what’s new in rails 2.1 in Portuguese, the English translation from the Brazilian community united, Click here to download.
标签: Technologies
Talk.org, a better, lightly, google account integration Twitter.
2008年6月11日 星期三
《程序员》06期:2008开源在中国 - 敏捷与性能的博弈
2008年6月6日 星期五

应程序员杂志技术编辑 zhaojp 的约稿,从敏捷和性能两方面,结合这一年时间以来 P1.cn 网站建设实践,和大家做了一下ROR开发经验分享。
文章发布在《程序员》2008年06期技术专栏,标题为《敏捷与性能的博弈–Ruby on Rails Web developement》。
标签: Technologies
从 svn 到 git
2008年6月5日 星期四
安装 git:
Linux:
sudo apt-get install git-svn
Windows:
http://code.google.com/p/msysgit/
创建Git Repository
1.在本地创建
mkdir new_repository
cd new_repository
git init-db
2.从已存在的Repository获取
git clone /path/to/exist/repository
3.在远程服务器上创建bare repository
$ ssh myserver.com
Welcome to myserver.com!
$ mkdir /var/git/myapp.git && cd /var/git/myapp.git
$ git –bare init
Initialized empty Git repository in /var/git/myapp.git
$ exit
Bye!
4.在本地添加远程repository并push
$ cd ~/Sites/myapp
$ git remote add origin ssh://myserver.com/var/git/myapp.git
$ git push origin master
5.使用ssh从远程服务器上获取文件
git clone ssh://user@myserver.com/var/git/myapp.git
添加文件
git add /path/to/filename # 添加单个文件
git add filename [filename] # 添加多个文件
git add /path/to/directory # 添加文件夹
git add ./ # 添加当前文件夹
提交文件
1.提交本地更新
git commit -m “commit message is here”
OR
git commit -a -m “commit message is here”
2.提交更新至远端
git push /path/to/repository
更新文件
1.更新本地工作目录文件
git checkout -f
2.更新远端文件
git pull /path/to/repository
创建分支
创建自己的工作分支,以避免对Master Branch 的影响
git branch raecoo # 成功创建了名为raecoo的分支
git checkout raecoo # 将当前工作切换至raecoo分支
删除分支
git-branch -D branch-name
合并分支
git checkout master # 切换当前分支到master
git merge “merge message is here” HEAD raecoo # 将raecoo分支与master分支合并
OR
git checkout master #效果与上相同
git pull . raecoo
参考:
http://www.robinlu.com/blog/archives/191
http://www.robinlu.com/blog/archives/194
http://toolmantim.com/article/2007/12/5/setting_up_a_new_remote_git_repository
标签: Technologies
[P1.cn] 欢迎 Raecoo 加入 P1.cn 团队
2008年6月2日 星期一
Raecoo:
http://actsasmessages.googlecod
e.com
从今天起,P1.CN 开发团队又增加了1名Ruby on Rails Developer。P1 Groups 即将推出,敬请期待更精彩的P1, 更稳定的服务。
标签: Technologies
来自 HiPiHi 和 Novoking 的糟糕虚拟世界体验
2008年5月31日 星期六
又看到Tangos写了一篇关于Virtual World的Blog,于是心血来潮试用了一下虚拟世界Hipihi和Novoking. 体验不是一般的差。
下载安装了HiPiHi_world_50021,进入后不能容忍粗劣的画面和慢动作。找了一圈只发现有17个人在线(周六下午),根本找不到人交流。于是退出并卸载了程序。
Novoking 0.94 beta 版的画面和行走体验都要HiPiHi好多了,登录后,穿着短库在里面跑了5分钟,终于找到了时装店,由于操作的不灵便,花了15分钟才晕晕的买到一身服装。里面也就没人可以交流。
而我之前体验过网络游戏,几乎任何一款网游都比Hipihi和Novoking做得要好,不管是人物的移动和画面的美观。
与其说 Hipihi 和 Novoking 是Web 2.0的社区,不如说是只有粗糙场景的3D游戏雏形。我本人非常看好这一类的社区产品,希望他们哪家能做好了,于是我到虚拟世界里去开个烤鸭店,或在Virtual World里卖麦当劳,然后送到现实人的手中,岂不是很好玩?
然而现在显然不行,还是要先做好产品。产品不好,再多的软文行销也是没用的。
标签: Technologies
Looking for UI web-graphics Designer
2008年5月22日 星期四
UI web-graphics Designer
P1.CN is looking for an experienced UI web-graphics designer to work in a key position of the product design. You are required to design pages from function specifications and prototypes. The position is full-time in our main office at the 28th floor of Chaowai SOHO Tower, Beijing.
Responsibilities
* Design webpages from function specification and/or prototypes/sketches
* Develop, implement and extend style guidelines
* Keep pages on pixel perfection
* Facilitate the user experience
Requirements
* 3+ years experience working in a related field
* Understand the product and its goals
* Understand the users thoughts & needs on a design level
* Sketch drawing
* Expertise in Photoshop
* Expertise in any webeditor available (such as Dreamweaver, Namo, etc.)
* Deep understanding of the social networking space
* Good understanding of written and spoken english
* Ability to handle the pressure and fluidity of a start-up environment
* Extremely detail oriented down to pixel-perfect implementation
Bonus points
* Active in the design community
* Experience with Illustrator, InDesign
* Knowledge of web-programming is welcome (RubyOnRails, PHP, etc.)
* Knowledge in XHTML, CSS
Contact
Email a@p1.cn
Skype: alexander.frederiksen
标签: Technologies
Good by Jianwai SOHO, Hello Shaowai SOHO.
2008年5月16日 星期五
Our company has been moved to Shaowai SOHO from Jianwai SOHO yesterday.

We have stayed in Jianwai SOHO for 16 months.

We are in Shaowai SOHO from now on.
New Office, New P1.cn !
标签: Technologies
Try FiveRuns Manage 2.0
2008年5月14日 星期三
Server stat:
Linux p1 2.6.24-1-amd64
Nginx 0.5.35
ruby 1.8.6 (2008-03-03 patchlevel 114)
rails 1.2.3
mongrel (1.1.4)
Try progress:
- Sign up an account for FiveRuns Manage
- Install fiveruns_manage client on Deban sarge
$ wget http://manage.fiveruns.com/system/downloads/client/manage-installer-linux-ubuntu-64bit-intel.sh
$ sudo sh manage-install-linux-distro-xbit-intel.sh - click “I’ve Finished the Installation” in FiveRuns Manage dashboard, pick up which Subsystems & Applications should be monited.
- get report
- wow, the Interactive Metric Graphs is really cool!

标签: Technologies
使用 hdparm 测试硬盘速度
2008年4月29日 星期二
使用 hdparm 测试硬盘速度:
hdparm 是linux 测试硬盘及改变硬盘设定的指令
#hdparm -t /dev/hda < - - - 测试硬盘/dev/hda 的速度
如果是scsi 的话/dev/sda , /dev/sdb
#hdparm -c 1 /dev/hda < - - - 开启ide 硬盘的32bit
#hdparm -d 1 /dev/hda < - - - 开启dma mode
这样再次的测试你的硬盘就可以发现你的硬盘便快了
以下是我对三台安装 Debian 操作系统的计算机所做的测试结果:
1×250Gb STAT PC
# hdparm -t /dev/sda2
/dev/sda2:
Timing buffered disk reads: 264 MB in 3.01 seconds = 87.60 MB/sec
2×140Gb SCSI RAID1
# hdparm -t /dev/md0
/dev/md0:
Timing buffered disk reads: 226 MB in 3.02 seconds = 74.83 MB/sec
# hdparm -t /dev/md2/dev/md2:
Timing buffered disk reads: 208 MB in 3.02 seconds = 68.97 MB/sec
| 4×1Tb STAT ES.2 RAID5 |
# hdparm -t /dev/sda1
/dev/sda1:
Timing buffered disk reads: 226 MB in 3.01 seconds = 75.00 MB/sec
# hdparm -t /dev/sdb1/dev/sdb1:
Timing buffered disk reads: 344 MB in 3.03 seconds = 113.71 MB/sec
# hdparm -t /dev/sdb2/dev/sdb2:
Timing buffered disk reads: 318 MB in 3.02 seconds = 105.32 MB/sec
标签: Technologies
Switch Rails cache files from file_store to ramfs_store
2008年4月25日 星期五
we found the problem of my last post, like this post, Innodb Locks cause something else spend long time in transaction.
It is expire_action from disk in our case. we used action_cache plugin in rails application, we have multiple languange versions of zh and en, so we write expire_reg_action to expire both cache when content after_save, this will spent long time when delete cache from huge files.
so we switch Rails cache files from file_store to ramfs_store temporary, it works perfect right now.
mount -t ramfs ramfs /home/yay/rails_app/current/tmp/cache
reference :
标签: Technologies
Try Phusion Passenger/mod_rails
在 chinaonrails.com上看到 bd7lx 发布的 简化部署插件 乘客搭上阿帕奇Phusion Passenger (a.k.a. mod_rails for Apache), 对其部署的简单和性能都欣喜不已,但官方的文章不一定真实可靠,特自行测试一番,Let’s go.
测试环境如下:
Linux p1 2.6.24-1-amd64 #1 SMP Mon Feb 11 13:47:43 UTC 2008 x86_64 GNU/Linux
apt-get install apache2
apt-get install apache2-prefork-dev
apt-get install libapr1-dev
apt-get install apache2-mpm-prefork
gem install passenger
passenger-install-apache2-module
我的 httpd.conf 文件
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-1.0.1/ext/apache2/mod_passenger.so
RailsSpawnServer /var/lib/gems/1.8/gems/passenger-1.0.1/bin/passenger-spawn-server
RailsRuby /usr/bin/ruby1.8<VirtualHost *:80>
ServerName dailybuild.p1.cn
DocumentRoot /home/yay/delta/project1/current/public<Directory “/home/yay/delta/project1/current/public”>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
问题:
- mod_rails 还不支持所有的plugin , 如: file_column.
- 对 public/ 目录下的静态文件,需要多一点配制,不要把思维停止在好看的视频上。
- 要用于 production 环境,需要做更多的测试,如: httperf。更多测试数据稍后分享。
标签: Technologies
Change MySQL table engine from InnoDB to MyISAM
2008年4月24日 星期四
there is something wrong with Innodb transactions, i found it from rails production log below:
ActiveRecord::StatementInvalid (Mysql::Error: Lock wait timeout exceeded; try restarting transaction: UPDATE articles SET `created_at` = ‘2008-04-23 17:22:42′, `rating_count` = 0, `votes` = 0, `title` = ‘P1派对衣着榜4月第2周’, `content_text` = ‘’, `award_id` = NULL, `status` = 0, `category_id` = 1, `image` = NULL, `user_id` = 18098, `score` = 0.0, `description` = ‘’, `layout_id` = NULL, `imagethumb` = NULL, `sequence` = 100, `attachment_id` = NULL, `counts` = 0, `city_id` = 1, `counts_24h` = 0 WHERE id = 910):
i have tried to resolve this problem for many hours, but can not found any directions, someone suggest me change InnoDB to MyISAM, so i changed MySQL table engine from InnoDB to MyISAM. do more testing…
alter table articles engine=MyISAM;
I have done this progress for resolve this problem:
- check mysql slow log , lot’s of sql go into mysql slow log, cause we used many derived tables in query, it seems derived tables can not use index(Derived Tables and Views Performance). but the query time is fast, almost all query execute in 0.0x sec.
long_query_time = 2
log_slow_queries = ON
- stop batch update sql statement, like update online
- improve Update code and create progress
if you already fixed this problem, please let me know. thanks.
标签: Technologies
Improve rails performance for P1.cn
2008年4月2日 星期三
最近由于 P1.cn 业务的推广,我们的 rails application 在以下几个方面遇到考验,分享一下我们处理这个问题的方法。
1. rails performance
这方面的问题我们以从以下几个方面处理:
- rails 的相关 plugin 性能及差,如 acts_commentable ,去掉这类的 plugin
- 改变数据库结构,使部分数据冗余,如 nickname, 使数据库关联查询变少
- memcached: cache db query in memcached, use acts_as_cached, cached_model, QueryCache (like javaeye)
- action cache: action cache 所有show action
- fragment cache: 少部分 privacy 页面使用
2. db cluster
master/slave mysql database, 现在是 one master, one slave, 计划结合 MySQL Proxy 做 one master , multiple slave
3. distributed file storage
用户图片增长速度非常快,我们感觉到了 storage 的压力,这是个即将到来的问题,但我不确定使用哪种方式来分布文件存储,我了解以下几种方式,但没有应用经验:
- NFS (大部分人不建议使用)
- DRBD - raid 1, 没有使用经验
- mogile fs - 文档几乎没有
- SAN
4. Nginx + mongrel cluster or something else
我们现在使用的是 Nginx + mongrel cluster , 发现 mongrel 在处理时,如果发生了一次异常,后续的请求都会被阻塞。以下是我们的处理方式:
- Swiftiply event mongrel instead of mongrel
- more mongrel running on different servers
希望得到你更多的建议,谢谢。
标签: Technologies
Don’t ThinkPad T60(2007B45) OSX86
2008年3月14日 星期五
My colleadgue showed me his DELL laptop is running OSX 10.5.1, I’m interesting with it, so i try to installed OSX 10.5.1 on my ThinkPad T60, i have done it.if you want to try it, here is something you shoud know:
- iATKOS v1.0i
- Don’t use speedstep patch with custom setup, only chooise EFI, Broadcom
- important: After installation, BEFORE REBOOTING, launch Terminal and delete IOPCCardFamily.kext
rm -R /Volumes//System/Library/Extensions/IOPCCardFamily.kext
- Good luck
Reference:
http://forum.thinkpads.com/viewtopic.php?t=37624
http://www.youtube.com/watch?v=S9V1CiX0yQM
标签: Technologies
Try ScrumWorks
2008年3月8日 星期六

上周四晚和 He jia 一起吃晚饭,他来自一个让人尊敬的团队-Opera,他提及 Opera 开发团队在尝试使用 Scrum 来管理开发过程,今天试用了一下,想感受 Scrum 与 basecamp 这两个 Agile development management tool 之间有何差异。

Scrum 更重视跟踪工作过程中每个项目的完成情况,而 basecamp 更重视工作过程中的交流。
标签: Technologies
Mongrel cluster rolling restart,Never stop web service.
2008年2月28日 星期四
本篇 Blog 介绍 Mongrel cluster 滚动重启,重启时不停止服务的方法。
更新正在运行的服务时,如果要重启 Mongrel cluster, 默认状态下 Mongrel cluster 会先 stop 然后 start, 这样网站在 stop 后会有一段时间停止服务,如果滚动重启(one-by-one)Mongrel process, 则 Nginx (或 Apache) Proxy 总会得到 upstream 的 mongrel 反馈,就不会停止服务。
这里是 rolling-restart.patch, 修改以下文件
/usr/local/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.5/lib/mongrel_cluster/init.rb
中的
class Restart < GemPlugin::Plugin “/commands”
方法如下:
class Restart < GemPlugin::Plugin “/commands”
include ExecBasedef configure
options [
[’-C’, ‘–config PATH’, “Path to cluster configuration file”,
:@config_file, “config/mongrel_cluster.yml”],
[’-f’, ‘–force’, “Force the shutdown.”, :@force, false],
[’-v’, ‘–verbose’, “Print all called commands and output.”, :@verbose, false],
['’, ‘–clean’, “Call stop and start with –clean”, :@clean, false],
['’, ‘–only PORT’, “Port number of cluster member”, :@only, nil]
]
end
def run
#stop
#start
read_options
@force, @clean = [false, true]
@ports.each do |port|
@only = port
stop
check_wait
start
end
end
private
def check_wait(wait_time = 2)
wait_time.times do
return unless check_process(@only)
sleep 1
end
log ” * Slept #{wait_time} seconds, but still not dead, force killing in 10 more.”
sleep 10
@force = true
stop
@force = false
end
end
标签: Technologies
Behind P1.cn
2008年2月3日 星期日
I have worked for http://p1.cn for 11 months, we used main technologies behind P1.cn below:
- rubyonrails, ruby
- mysql
- nginx
- mongrel, mongrel_cluster
- memcached
- mogilefs
- debian
- capstranio
- 3 people
I’m going to home for chinese new year holiday tomorrow morning at 2:14, Happy new year to everyone!
标签: Technologies
我在北京的这一年
2008年1月30日 星期三
去年南京,今年北京。没有多少差异,只是城市的名字不同罢了。
技术研究:
1. Ruby on Rails
2. MogileFS
主要作品:
1. http://p1.cn
2. http://uiparty.com
难忘的经历:
1. 3rd cnbloggercon
2. 1st china on rails open course
3. 箭扣长城
4. Skiing travel
生活状况:
1. Jianwai SOHO
走过的城市:
1. 北京
2. 合肥
3. 南京
4. 上海
游过的景点:
1. 玉渊潭公园
2. 长城(箭扣段)
3. 香山
4. 十三陵
5. 朝阳公园
6. 通州樱桃采摘园
7. 中央电视塔
记忆深刻的人:
1. Oscar - 大胡子瑞典人
2. 吕欣欣 - 大家都知道的胖子
3. Webleon - 知名Blogger
4. Stan Chu - Bot
5. Joichi Ito (伊藤穰一)
6. Livid - ChinaonRails.Com Powered by Project Babel and Project Midgard
7. 张涛 - 独立思考
8. LIUMANG珍 - 一起走长城
9. lizyg - 女博士
读过的书:
1. All new books about ruby and ruby on rails from bd7lx through pownce.
2. 《品三国》、《汉代风云人物》、《古金兵器谱》、《夜色》、《47楼207》、《金庸小说集》…
最爱的音乐:
1. 青花瓷 - 周杰伦
2. 黄玫瑰 - 李敏
印象深刻的影视:
1. 集结号(Assembly)
2. 士兵突击
使用的手机:
1. Dopod 585
2. Treo 650
标签: Technologies
搬迁的谣言有了结果,浠水将建核电站。
2008年1月18日 星期五
我出生于湖北浠水巴河,今天又有一位朋友发来消息说罗田,英山,浠水三县大移民? 早在半年前和母亲通电话时,听她说过一次。当时我的回复是,没听说有比三峡大坝还大的工程要在我们那里建啊?一定是谣言。以下资料转自黄冈网谈:搬迁的谣言有了结果,浠水将建核电站。希望在外的老乡看到后安心工作,好好生活,遥言止于智者。
中广核电集团拟将浠水列为核电建设项目选址方案
初步确定兰溪竹马山、清泉胡家湾、绿杨丁家山三个选址方案
1月8日,浠水县委、县政府召开专题会议研究部署配合中国广东核电集团搞好核电项目环境评估的调查勘测工作,为核电项目选址和规划设计提供服务和后勤保障。拟在浠水开发建设核电项目的中国广东核电集团,是国家长特型企业集团。该集团已先后开发建设了广东大亚湾核电站、岭澳核电站和辽宁红沿河核电站、阳江核电站及福建宁德核电站,其核电技术处于世界领先水平,现拥有总资产607亿元。
去年10月,在中央和省市有关方面的大力支持下,中广核电集团与浠水签订了合作开发建设湖北浠水核电项目框架协议书,预计项目总投资将达500亿元。此前,已完成了浠水地质勘测工作。
目前,中广核电集团在浠水已初步确定了兰溪镇竹马山、清泉镇三台胡家湾和绿杨乡丁家山三个选址方案。同时正在组织专家和技术人员实地进一步调查勘测,计划在今年9月份前完成初可研报告。
中国的核电站安全技术和保护措施已在世界得到认可,对周边不会造成核辐射。据了解,如果浠水核电项目开发建设选址一经确定,当地不会出现大范围的搬迁,只是周围1-2公里范围内的居民搬迁。浠水县委常委、常务副县长洪汉宽说,中广核电项目将为浠水发展带来前所未有的发展机遇,同时将推动县域经济的快速增长,是一项造福于人民的工程。(鄂东晚报)
相关新闻
湖北10年核电梦中国内陆第一座核电站落户之迷
新华网(2003-06-24 13:27:11)来源:21世纪经济报道
咸宁市核电领导小组
6月19日下午2时至6时,湖北省咸宁市政府一直在开会,议题只有一个:如何配合湖北省积极准备中的核电站项目,并争取成为最后的核电站选址。
会议最后决定,成立咸宁市核电项目领导小组,由市委书记担任总顾问,市长任小组组长。同时成立咸宁市核电项目办公室(以下简称”核电办”),由该市计委主任出任核电办主任。
”我们的具体工作就是负责文字材料、接待等所有前期事宜。”咸宁市政府办公室经济科一位官员说。
据其介绍,领导小组成员几乎囊括了咸宁市计委、经委、供电、国土等相关部门的负责人,其主要工作就是对该项目最后落实的争取,并全面协调该项目的前期准备事宜。而核电办更像一个临时的执行机构。
据《楚天都市报》6月中旬的消息,今年六月,中国电力投资集团(以下简称”中电投”)副总经理张小鲁前往湖北,与湖北省常务副省长周坚卫签署了湖北核电项目合作开发协议。6月13日、14日,张小鲁一行前往实地进行两天的考察以后,将咸宁市通山县高坑乡被初步定为”优先候选厂址”之一。
报道称,”中电投”副总经理张小鲁一行实地考察后认为:高坑乡地质构造简单,受地震影响较小;水文地质条件简单;取水距离近,具备建厂水源条件;临近长江、京珠高速公路、京广铁路,交通方便……符合核电站选址要求。
14日,张小鲁表示,将积极争取使湖北核电项目早日纳入国家规划。同日,湖北省常务副省长周坚卫要求保护好初选厂址。
由于目前中国已经建设成功的秦山核电站和大亚湾核电站分别位于浙江省和广东省,均为经济发达的沿海省份。如果此次湖北方面的努力获得成功,将成为内陆首家核电站。
但是,湖北省有关方面对相关情况三缄其口。18日,记者致电湖北省计委电力处,该处一位”专门对此发言”的女性官员拒绝发布任何公开消息。
10年核电梦
至今,湖北的核电梦已经整整做了十年。
”目前的优选地址高坑乡就是上次的优选厂址之一。”湖北省电力公司一位知情人士说。
1993年2月,《湖北电力报》披露说,1989年,湖北省就成立了一个核电站前期工作委员会,由当时的副省长徐鹏航挂帅。同年,省有关部门下达开展湖北省核电站前期预可行性研究的任务,由省电力开发公司拨款21万元作为研究经费。中南电力设计院和核工业总公司105所等方面承担研究任务并组建踏勘选厂工作组。
1989年末到1990年初,工作组风尘仆仆地踏勘了9个县市的20个点,最后确定了通山县高坑乡以及位于浠水、英山、罗田三县交界处的白莲河、阳新县黄峡口、薪春县高家湾、嘉鱼县邻工山等五个优选厂址。
1991年6月,《湖北省核电站工程初步可行性研究中间报告》(以下简称”《报告》”)及5个专题报告完成,正式报送省政府和有关部门。
《报告》提出,根据湖北省用电负荷增长情况,核电站规划容量初步可按240-360万千瓦考虑。一期工程先按2×60万千瓦国产设备考虑,并争取在2005年前投产。
但是这个《报告》在报送有关部门以后,没了下文。”具体原因不详。”那位知情人士说。
湖北的核电梦并未因此停止。预选厂址所在地区的态度积极而明确,黄冈、咸宁地区行政公署于1990年和1991年相继致函省有关部门,请求将湖北核电站定址本区。
1993年,湖北电机工程学会在东湖梨园举办学术报告会,报告的专题就是”湖北核电工程初步可行性研究”。
当时的电力专家们认为,从该省的国民经济发展状况和全省远景能源结构等方面来看,湖北核电站不是要不要建的问题,而是什么时候着手建,也不是建一座的问题,而是如何加强规划,有计划地逐步扩大规模,最终形成湖北省的核电站群。
湖北省的核电梦与该省的实际情况有关。湖北省电力公司一位专家对记者分析说:”首先湖北没有煤,三峡工程一上,水电的比重就非常大了,如果没有火电或核电,就会缺乏常规电源的平衡,特别是在峰枯期,电力供应有很大的压力。”
”如果火电多了铁路的压力又会很大。”这位专家说,”考虑到这些具体情况,湖北想搞核电是符合逻辑的”。
湖北电力部门的统计显示,2002年,湖北省全社会用电量为562亿千瓦时,其中1~9月用电量增速6.17%,10~12月份增速为12%,今年1~3月增速达到了17.54%,预计今年内夏季湖北主网用电量最大负荷将突破1000万千瓦。
由于全省火电比例的不均衡和可调峰水电机组的缺乏,湖北省经贸委电力处副主任刘文忠此前接受采访时说,”我们的问题是调峰调值的问题:丰水期缺高峰电力,枯水期缺电量。”
单相思?
6月18日,湖北省电力公司一位专家对记者说:”社会和民间的反响会对这个工程产生很多微妙的影响。”
据这位专家所了解的情况,核电工程目前也只是一种想法,能不能列入国家计划,”我看难度是非常大的”。
”中下游其他地区是否同意?协调难度应该非常大。”这位专家说。
6月19日,中科院核设备安全与可靠性中心副主任刘振林对记者分析说,从安全角度来说,目前要在内陆搞核电站已经不是问题。因为,在海边主要是考虑到利用海水冷却的问题,而在内地,有许多大江或者大河,也可以达到这个目的。而在沿海建立核电站的另一个原因,是因为沿海经济比较发达,能源需求量比较大,不仅是从安全角度考虑。
刘振林介绍,在美国,核电占了全国电量的20%,而法国更高,达到50%,在比利时占到70%。”很多核电站都建在内河的沿岸。”他认为,在中国西部地区,拥有丰富的大江大河,湖北在这方面也有优势。
但刘认为,湖北要搞核电,应该考虑更多因素。”核电站是一个投资大、周期较长的项目,是一个系统工程。”刘说。
今年1月,中国核工业集团公司副总经理孙勤曾透露,自十八年前开工建设秦山核电站至今,中国境内已建成和在建的核电站已达六座共十一台机组,总装机容量为八百七十万千瓦,其全年发电量已占全国发电总量的百分之二以上。
这六座核电站分别为浙江省的秦山(一期)核电站、秦山核电二期工程和秦山核电三期工程,广东省的大亚湾核电站和岭澳核电站,以及江苏省的田湾核电站,其中有四座共八台机组是于”九五”期间开工建设的。
核电站投资大,建设周期长,但核电成本比火电低20%~40%。据专家分析,核电与煤电的投资比大体为1∶1.5或1∶1.6。但是核原料价格便宜,仅占发电成本的20%左右。煤电燃料则占发电成本的80%。
而从燃料运输的角度来看,核电的诱惑力更为突出。一座100万千瓦的燃煤电厂,每年消耗300万吨原煤。平均每天要卸一艘万吨轮,或是120节运煤车皮。同等容量的核电厂,每年只需要补充约30吨核燃料,运输费用微不足道。
”而且因为核电站建设周期长,是一个涉及到很多行业的工程,”周振林分析说,”如果湖北搞核电站,可以拉动当地的经济,比如像武汉锅炉厂等肯定都将从中获益。”
20日,记者致电国家发展和改革委员会,得到的回答是:”对于项目我们拒绝透露。”而记者当日从中电投公司一位发言人处得到消息,项目合作的另一方,中国电力投资公司目前并未向有关部门递交相关立项报告。
这位发言人表示:”此前中电投与湖北省签定的只是一个意向性协议,做不做现在还完全不知道,获得国家批准是一个前提。”
标签: Technologies
收到了魔派寄来的新年贺卡
2008年1月10日 星期四
收到了魔派寄来的新年贺卡,行书不错,很潇洒。第一次对魔派有印象时我还在广州,那是2005年中期,看到了他洋洋洒洒的对UUZone的评论,然后终于在2006年杭州中文网志年会上见了面。有”与君初相识,犹如故人归”的感觉,只是他的Blog两年多来每一篇都是洋洋洒洒,我没办法全部看完,放心吧,新的一年我仍是你的忠实订阅者,用GR.
谢谢这个老男人,祝你新的一年好运!
标签: Technologies
Install MogileFS on Debian Sarge (Complete version)
2008年1月7日 星期一
先转一篇网上的指引,我的安装过程是在这篇文章下进行的。由于这篇唯一的在Debian平台上安装MogielFS的文档被GFW了,全文转发一下(如果你也需要在Debian上安装MogileFS,建议看完本篇BLOG再进行,后面有补充):
Another How to Install MogileFS - Debian Sarge
This is created from a bunch of sources. You may notice that some of it comes from the other How To. I have tested this many times and it works great!
Doug Kersten
INSTALLING MOGILEFS
If you haven’t already done so add user mogilefsd:adduser mogilefsd
mkdir /etc/mogilefs
cd /etc/mogilefs
Apt-get install subversion
svn checkout http://code.sixapart.com/svn/mogilefs/trunk/
now you have the code.apt-get install liblinux-aio-perl
apt-get install libbsd-resource-perl
apt-get install libcompress-zlib-perl
apt-get install libnet-netmask-perl
apt-get install libio-stringy-perl
apt-get install libwww-perlperl -MCPAN -e shell;
Answer default to all questions until you get to the location information and then choose your country and then your default ftp site.
at the > prompt do this:
install X::Y
Do this with the following:
install Danga::Socket
install DBI
Where X::Y is the name of the missing module. You may have to do this several
times.
exit
Install PerlBal
Mkdir /etc/perlbal
cd /etc/perlbal
svn checkout http://code.sixapart.com/svn/perlbal/trunk
cd /etc/perlbal/trunk
perl Makefile.PL
make
make testmake install
Install MogileFS (mogilefsd and mogstored)
cd /etc/mogilefs/trunk/server
perl Makefile.PL
make
make install
now as root
mkdir /var/mogdata/dev1
As you add more devices add more of these directoriesNow for the interesting part.
Install Mogadm (Mogile Utilities):
cd /etc/mogilefs/trunk/utils
perl Makefile.PL
make
make install
CREATE MYSQL DATABASE
You should have mysql installed. I’m going to assume you do.
Using phpadmin create a mog user (mog_user)
create a password for mog user (mogpass)
OR
Grant access to remote user by doing:
$> mysql -u root -prootpassword$> GRANT usage ON . to mog_user@www.domainname.com (put the correct user/domain(source) here)
$> IDENTIFIED BY ‘mogpassword’;$> GRANT ALL PRIVILEGES
$> ON . TO mog_uer@www.domainname.com WITH GRANT OPTION;
exit
/etc/init.d/mysql restart
Automatically create a database for the mogilefs:
cd etc/mogilefs/trunk/server
vi mogdbsetup
edit the following:
dbhost => “localhost”,
dbname => “mogilefs”,
dbrootuser => “root”,
dbrootpass => “root_password”,
dbuser => “mog_user”,
dbpass => “mogpass”,
save and run /etc/mogilefs/trunk/server/mogdbsetup
you will be asked a series of questions. Answer yes to them all.
The mogilefs database should be created. Check in phpmyadmin to verify.
Remove the id and password information when you are finished from mogdbsetup.
YOU MUST DO THIS it solves errors about lib path when running mogadm are solved by the following:
Do this - to set up MogileFS.pm go to the /etc/mogilefs/trunk/api/perl directory and do
perl Makefile.PL
make
make test
make install (assuming all goes well).
You may have to cpan install something based on the errors from perl Makefile.PL.
Install Mogilefs utils:
cd /etc/mogilefs/trunk/utils
perl Makefile.PL
make
make test
make install
Configure Mogstored:
On each storage server, create a configuration file at /etc/mogilefs/mogstored.conf with the following:
httplisten=0.0.0.0:7500
mgmtlisten=0.0.0.0:7501
docroot=/var/mogdata
Startup Mogstored:
open a putty session as root and type mogstored. Mogstored should start.
Configure MogileFS:
edit the bold areas of the mogilefsd.conf file:
cp /etc/mogilefs/trunk/server/conf/mogilefsd.conf
/etc/mogilefs/mogilefsd.conf#daemonize = 1
db_dsn = DBI:mysql:mogilefs:host=127.0.0.1
db_user = mog_user
db_pass = dbpass
conf_port = 7001
listener_jobs = 10
delete_jobs = 1
replicate_jobs = 5
mog_root = var/mogdata
reaper_jobs = 1
launch new putty session ( I use putty: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
for my ssh sessions to the server.).
login as mogilefsd
at the command prompt run mogilefsd
Use ‘mogadm’ to add each storage server to the database.
The following example would add the host mogilestorage.yourdomain.com as a storage server, assuming that mogilestorage.yourdomain.com had an IP address of 192.168.42.3 (listening on port 7500) and your tracker had an IP address of 192.168.42.1 (listening on port 6001):# mogadm –lib=/usr/local/share/perl/5.8.4 –trackers=192.168.42.1:6001 host add mogilestorage –ip=192.168.42.3 –port=7500 –status=alive
You can confirm that your host(s) were added with the following command;
# mogadm –lib=/usr/local/share/perl/5.8.4 –trackers=192.168.42.1:6001 host list
You also need to add devices for each storage host. If you don’t provide a device id mogadm is supposed to do it for you… in practice I find it dies with an error, so you will need to manually add a unique device id after the host:
# mogadm –lib=/usr/local/share/perl/5.8.4 –trackers=192.168.42.1:6001 device add mogilestorage 1Finally, add the correctly-name device (folder) to each storage host. I have been unable to get the tools to handle this well, so I am probably doing something wrong. As a workaround, I used the modadm device list command to see what device names were assigned and then I added the folders to my storage hosts. Run the following command:
# mogadm –lib=/usr/local/share/perl/5.8.4 –trackers=192.168.42.1:6001 device list
It will list each host and the device name followed by its status and storage available. Here is example output:
mogilestorage 1: alive
used(G) free(G) total(G)
dev1: alive 0.892 67.772 68.664
This means “mogilestorage” has a host id of “1″ and it has one device named “dev1″ on it and that device is in the “alive” state (your other statistics will probably be zeros). Using the example output above, you would simply create the directory on mogilestorage.yourdomain.com:
You can also test using mogadm:mogadm –trackers=127.0.0.1:7001 check
use mogadm to add the host:
mogadm –trackers=127.0.0.1:7001 host add host1
domain:
mogadm –trackers=127.0.0.1:7001 domain add storage
and class:
mogadm –trackers=127.0.0.1:7001 class add storage files.Go into phpmyadmin, open the hosts table and change the host status to alive and add a device with device id 1, host id 1 and status = alive in the device table.
OR
mogadm –trackers=127.0.0.1:7001 device add device1 1
and mark the device alive
mogadm –trackers=127.0.0.1:7001 device mark host1,cin 1 alive
check your devices:
mogadm –trackers=127.0.0.1:7001 device list
Check it out:
mogadm –trackers=127.0.0.1:7001 check
If everything checks out ok you will see the following:
Checking trackers…
127.0.0.1:7001 … OK
Checking hosts…
Checking devices…
host device size(G) used(G) free(G) use%
1 dev1 138.236 0.143 138.094 0.10%
total: 138.236 0.143 138.094 0.10%Once everything is working you can daemonize mogilefsd:
edit the mogilefsd.conf file and remove the # in front of daemonize:
vi /etc/mogilefs/mogilefsd.conf
daemonize = 1
db_dsn = DBI:mysql:mogilefs:host=127.0.0.1
db_user = mog_user
db_pass = dbpass
conf_port = 7001
listener_jobs = 10
delete_jobs = 1
replicate_jobs = 5
mog_root = var/mogdata
reaper_jobs = 1
To start mogstored as a daemon type:
mogstored -d
To test and see if it’s mogstored that’s messed up or something along
the way, try telnetting to your mogstored (port 7500 by default) and
doing this:
PUT /dev1/test HTTP/1.0
Content-length: 4
test
See if that creates the ‘test’ file in your /var/mogdata/dev1 directory.
If it works, good, if it doesn’t, you should get back a 404/something with
a more detailed error message.
Now put a file onto mogstored via mogilefsd (tracker):
cd /etc
mogtool –trackers=127.0.0.1:7001 –domain=domainname –class=classname inject motd motd
check /var/mogdata/dev1/0/000/000 for a file named xxxxxxxxxx.fid . If the file exists everything is successful.
Now delete the file:
mogtool –trackers=127.0.0.1:7001 –domain=domainname –class=classname delete motd
check /var/mogdata/dev1/0/000/000 and the file should be gone.
It’s all good!
在以上安装过程需要补充以下几点:
- 使用cpan安装 String::CRC32 库,这是依赖项(感谢Yupoo的Zola Zhou):
> cpan String::CRC32
- 在docroot目录下手动建立device目录,如:
# mkdir -p /vag/mogdata/dev1
- 使用mogadm管理host, device时,先要设置host alive, 才能设置该host下的device为alive:
mogadm –trackers=127.0.0.1:7001 device mark host1,cin 1 alive
标签: Technologies
Apache+Mongrel cluster vs Nginx+Mongrel cluster
2007年12月31日 星期一
以下是相同服务器(PC)下,相同配置的Mongrel cluster测试后的结果。
Apache:
debian:~# httperf –port 80 –server 192.168.1.7 –num-conns 30 –uri /
httperf –client=0/1 –server=192.168.1.7 –port=80 –uri=/ –send-buffer=4096
–recv-buffer=16384 –num-conns=30 –num-calls=1
Maximum connect burst length: 1
Total: connections 30 requests 30 replies 30 test-duration 2.085 s
Connection rate: 14.4 conn/s (69.5 ms/conn, <=1 concurrent connections)
Connection time [ms]: min 42.9 avg 69.5 max 189.5 median 45.5 stddev 47.5
Connection time [ms]: connect 0.1
Connection length [replies/conn]: 1.000
Request rate: 14.4 req/s (69.5 ms/req)
Request size [B]: 64.0
Reply rate [replies/s]: min 0.0 avg 0.0 max 0.0 stddev 0.0 (0 samples)
Reply time [ms]: response 69.2 transfer 0.2
Reply size [B]: header 284.0 content 16728.0 footer 0.0 (total 17012.0)
Reply status: 1xx=0 2xx=30 3xx=0 4xx=0 5xx=0
CPU time [s]: user 0.19 system 1.75 (user 9.2% system 84.0% total 93.2%)
Net I/O: 239.9 KB/s (2.0*10^6 bps)
Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0
Nginx:
debian:~# httperf –port 81 –server 192.168.1.7 –num-conns 30 –uri /
httperf –client=0/1 –server=192.168.1.7 –port=81 –uri=/ –send-buffer=4096
–recv-buffer=16384 –num-conns=30 –num-calls=1
Maximum connect burst length: 1
Total: connections 30 requests 30 replies 30 test-duration 2.030 s
Connection rate: 14.8 conn/s (67.7 ms/conn, <=1 concurrent connections)
Connection time [ms]: min 42.4 avg 67.7 max 160.1 median 44.5 stddev 45.2
Connection time [ms]: connect 0.1
Connection length [replies/conn]: 1.000
Request rate: 14.8 req/s (67.7 ms/req)
Request size [B]: 64.0
Reply rate [replies/s]: min 0.0 avg 0.0 max 0.0 stddev 0.0 (0 samples)
Reply time [ms]: response 67.5 transfer 0.1
Reply size [B]: header 282.0 content 16728.0 footer 0.0 (total 17010.0)
Reply status: 1xx=0 2xx=30 3xx=0 4xx=0 5xx=0
CPU time [s]: user 0.21 system 1.77 (user 10.2% system 87.3% total 97.5%)
Net I/O: 246.4 KB/s (2.0*10^6 bps)
Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0
可以看到 Nginx 比 Apache 快 0.4 req/s , 感觉这个可以忽略不计,但从浏览器上打开看,一个有较多图片的页面,明显感觉Nginx要比Apache, 可能在静态文件的处理上,Nginx比Apache要快。
标签: Technologies
[P1.cn] 欢迎 Geoffrey Dou 加入 P1.cn 团队
2007年12月20日 星期四
Geoffrey Dou:
1st ChinaonRails open course 学员, 课程项目是:http://rbookmarks.cn/ .
BLOG:http://www.coffeeworks.cn/
从今天起,P1.CN 发团队已经有了4名成员。下一个 Rlease 即将完成,服务器硬件也正在扩容,敬请期待更精彩的P1, 更稳定的服务。
标签: Technologies
Rails 2.0
2007年12月18日 星期二

bd7lx 使用 pownce 分享给我 peepcode-rails2,该书从 ActiveRecord, ActionController &ActionView,Miscellaneous(Environment File/Rake/Debugging), Deprecated Features, Changelogs 五个方面讲述了Rails 2 的特性,很吸引人。但我目前的项目还是基于Rails 1.2.3的,在短期内不会升级至Rails 2. 要把一个项目从1.2.3改写到Rails 2, 不是很爽的过程,考虑到Rails 2达到稳定还需要一段时间,更重要的是还有一些我使用到的 Plugins 不能支持 Rails 2, 可能至少要在三个月后再做这件事,但新项目会基于 Rails 2 来开发。
建议初学者不要被媒体报道迷惑,各种资料和插件资源还是Rails 1.2.x丰富,从这个入手学习更轻松。
标签: Technologies
难道慢性胃炎是不治之症?
2007年12月10日 星期一

病历上写着:左腰部不适5年。
我左腰部有段时间不适了,不是疼痛,感觉有点涨得不舒服,好长时间以前就有这种情况,中间又没有,今天决定到医院看看。计程车司机说离国贸近的医院是垂杨柳医院,于是去到医院填单,买IC卡,挂号,系统比较先进,但服务流程不好,看病的人还是比较混乱。
好像男人一旦腰部不适,就被人怀疑是肾有问题。在咨询台告诉值班医生我不适的部位,询问挂什么号,她建议我到秘尿科。经过半小时的等待,医生询问我不适的部位后,说这是肠,跟肾没关系。验尿后没有发现异常,于是建议我到消化科。于是我又重新挂消化科的号,经过了一个半小时的排队等待后,老医生给我看了,让我躺在床上拍了几下肚子,说里面有气,慢性胃炎。回家注意饮食,不要吃凉的和辣的食物,不用吃药。
经过一个下午的折腾,我左腰部依然不适。站着、走路都没问题,坐下和躺下后就感觉有东西顶着一样。
难道慢性胃炎是不治之症?
标签: Technologies
北京又下雪了


这是我在北京经历的第二次下雪,上次是在2007年3月4号,似乎那次天气比这次要好,看得要清楚多了。
想起家乡的一首描写雪景的打油诗:
天地一笼统,井上黑窟窿。黄狗身上白,白狗身上肿。
标签: Technologies
ChinaonRails Career Certifications
2007年12月8日 星期六
1st ChinaonRails Open Course 总结报告里的作品是由上面这些人完成的。请记住这些人和作品,同样欢迎大家加入他们的团队:
到此1st ChinaonRails Open Course完满结束。
标签: Technologies
编程的革命
2007年12月7日 星期五
刚收到了到 Heroku 的邀请,上图是创建一个新的 Rails application 后的在线编辑窗口,虽然还不可以和Textmate媲美,但配色已经相当好看了。各项操作也很流畅。
Heroku 可以让 Rails application 实时的展示,也可以导入导出。Collaborators 应该是邀请别人共同编辑这个项目,这是团队协作的功能。我觉得还不能取代 SVN 之类的 Coding 协作工具。希望体验的朋友可以到 Heroku 上留个 Email , 4天后就可以收到注册邀请了。
Heroku 相当酷,但它还只是个玩具。
标签: Technologies
1st ChinaonRails Open Course 总结报告
2007年12月6日 星期四
以下是对第一期 ChinaonRails Open Course 的总结,供所有对 Ruby on Rails 和敏捷开发感兴趣的朋友更好地了解本次培训活动。
一、起因
随着敏捷开发和 Ruby on Rails 的渐渐流行,越来越多的技术开发人员投身其中。ChinaonRails 作为一个 Ruby on Rails 专业论坛,也很乐意举办一些的培训活动,在中国做些事有助于 Ruby on Rails 传播的事。经过一定的活动策划和组织 ,第一期培训2007-11-10正式开始,应该是目前国内唯一的针对 Ruby on Rails 的系统免费培训活动。
二、组织形式
ChinaonRails Open Course 是由 Caiwangqin 组织并实施的 Ruby on Rails 系统培训,有条件的招收一定数量的学员(本期学员大多是有1-2年 Java 编程经验),进行连续4周的学习。该 Open Course 贯彻系统、免费、公开的原则,以项目实践推动学习进程。每周末一次讲解、答疑以及学员团队之间的交流。使用论坛 ChinaonRails.Com 和 MSN Group 进行沟通,使用 Basecamp 和 Trikr 进行项目管理。
三、过程
经过了(一)第一次亲密接触、(二)初试牛刀、(三)高级战略、(四)开源实践连续四周的培训,1st ChinaonRails Open Course 胜利结束。bd7lx 说向能坚持始终的学员们和组织者们致敬,Robert Mao 也从GTalk上发来消息支持 Open Course,感谢各位朋友的关注和支持,感谢在这期活动中出席的嘉宾 Eric Sun (来自趣客)和 Bin Dong (来自NibiruTech),感谢 P1.cn 提供场地支持,感谢学员们保持的积极学习态度。
四、成果展示
Open Course 从开课之日起,将学员随机的分为三个小组,以下分别展示三个小组的开源项目。
Team 1:
Google Code: http://code.google.com/p/cor-43things/
Group: http://groups.google.com/group/cor_43things
项目演示: http://whereq.chinaonrails.com
Screenshot:
Team 2:
Google Code: http://code.google.com/p/financing-rails2/
Group: http://chinaonrails.com/go/ask
项目演示: http://petools.chinaonrails.com
Screenshot:
Team 3:
Google Code: http://code.google.com/p/share-bookmarks/
Group: http://groups.google.com/group/chinaonrails-team3
项目演示: http://rbookmarks.chinaonrails.com
Screenshot:
五、缺陷不足
- 线上交流不足,ChinaonRails 有问有答 区问题不够多
- 学员还不习惯 Basecamp 对项目过程的管理
- 没有录制课程视频
六、活动照片
七、媒体关注
- 《程序员》 2007年12月刊
八、后期计划
- 各小组持续完善各自的开源项目
Caiwangqin
2007.12.06
标签: Technologies
服务器故障
2007年11月30日 星期五
ChinaonRails open course 初试牛刀后记
2007年11月19日 星期一
这次我们请到了trikr.com的Eric Sun给大家讲了他的学习曲线,以及和trikr.com相关的一些话题。
然后是常用Plugins的安装使用:
三个Team项目进展顺利,只有刘海涛1个人没有任何通知的情况下离队,其他学员的进展不错,并加入了一个新学员李双双。
项目方面在第一周进展比较好是的Team 1, 这是他们最始的ER图:
并且他们还建立了网上学习小组:cor_43things
在此提出表扬,他们是:李明,张大治,宁洪源,郭健,蔡波斯,王志明
更多照片:
http://www.yupoo.com/albums/view?id=ff8080811640b40a011650b251377fd0
相关PPT:
http://www.slideshare.net/Caiwangqin/1st-chinaonrails-open-course-168594
http://www.slideshare.net/Caiwangqin/collaboration-on-rails
标签: Technologies
chinaonrails open course 第一次亲密接触后记
2007年11月12日 星期一
2007年11月10日,ChinaonRails open course 正式开课,第一期课题为《第一次亲密接触》。该主题的意思是学员和Ruby on Rails之间的亲密接触,同时也是学员与学员之间的亲密接触。
办公室场地,稍显拥挤,够亲密。
Team 1
Team 2
Team 3
分组报告中…
Team 1
Team 2
Team 3
分组沟通完毕,开始亲密接触 Ruby, Rails:
本次活动将学员随机分为3个Team, 分别是:
Team 1:
Team leader:张大治
Team project:http://code.google.com/p/cor-43things/
Team 口号:一切皆有可能,Nothing impossible.
Team 成员:郭健、宁洪源、陈明、蔡波斯、张大治、王志明
Team 2:
Team Leader:靳岩
Team project:http://code.google.com/p/financing-rails/
Team 口号:你不理财,财不理你。
Team 成员: 李巍、王俊强、贾秋然、靳岩、刘海涛、单纯
Team 3:
Team leader:毛大军
Team project:http://code.google.com/p/share-bookmarks/
Team 口号:知识分享你我他。
Team 成员:窦国辉、毛大军、胡博、马艳艳、孙永乐
1st chinaonrails open course 正式成员合影
场地:
亚艺网媒,P1.cn 提供
PPT:
http://www.slideshare.net/Caiwangqin/1st-chinaonrails-open-course
http://www.slideshare.net/Caiwangqin/apachecon-rails
照片:
1st chinaonrails open course 第一次亲密接触
标签: Technologies
InfoQ 报道 ChinaonRails open course
2007年11月8日 星期四
本文转自: http://www.infoq.com/cn/news/2007/11/rails-workshop
从Workshop起步:谈Rails专业培训
作者 高昂 发布于 2007年11月8日 上午12时12分
如何在短期内将新的知识变为实际生产力,无疑是开发者在接触新技术时首要考虑的问题。尽管以Ruby on Rails为代表的敏捷Web开发技术大大降低了开发者的学习成本,但是从技术新手到熟练开发者的演进过程,并非是简单的一蹴而就,仍然需要付出大量的时间和精力将新的知识消化吸收,以致为己所用。随着Rails开发技术不断趋向成熟以及众多开发者的参与,从Workshop起步发展的Rails专业培训也应运而生,将随着开发技术的成熟完善逐步发展壮大。
ChinaonRails组织的公开课就是专为Rails开发者提供的短期培训项目。公开课计划发布之后,在Rails开发者之中引起了广泛的讨论和关注。在ChinaonRails公开课程”认真做事不做秀”的理念之下,学员和组织者们在创建于BaseCamp的公开课项目中一直保持沟通,共同推进课程的发展与创新。除此之外,ChinaonRails公开课程创建了facebook2项目,计划在课程进展的同时开发类似于著名SNS站点Facebook的实例应用。组织者蔡望勤这样描述关于公开课程的设想:
尽管Rails降低了Web开发的门槛,但在开发者单独自学的情况下,花费的时间和精力要远超过在一个高效沟通、相互促进的环境中进行学习。Rails公开课程的初衷是利用业余时间将有共同兴趣的开发者组织起来,请具有Rails开发经验的高手授课,进行专门学习来达到速成的目的,同时也可以认识很多志同道合的朋友,促进Rails在国内的传播与发展。Rails公开课程的预期是帮助学员把Idea变成Rails代码,并创建3到4个独立运行的Rails开源项目。
然而,类似的Workshop在实践中仍然面临特定的具体问题,如找授课者不易确定,组织授课的时间和形式等。更为关键的是授课对象和课程的定位。显然,基础入门性质的培训对于呼唤敏捷的市场,以及具备一定基础的开发者是没有吸引力的,ChinaonRails公开课程的组织者同样也注意到这一点。在ChinaonRails公开课之前,北京的RoR兴趣小组RoR-Party也曾举办过Rails培训,RoR-Party的培训获得部分学员良好的反馈,但同时也暴露了组织零散,计划性缺乏的弱点,整体效果并不容乐观。关于如何在ChinaonRails公开课中避免类似情况的出现,ChinaonRails公开课程组织者谈道:
ChinaonRails公开课对学员的招收有一定的条件限制,学习并非从基础授课开始,学员需要有一定的相关知识积累,并且需要完成为期五周的系统培训,因为在培训过程中,需要以小组为单位完成项目。同时,学员和讲师之间、学员与学员之间也会进行良性的互动,通过创造一个良好的交流沟通环境来促进互相学习。保持互动的两个前提是,在公开课开始就分组确定项目,并且参加课程的学员要保持固定。课余结合线上论坛、MSN Group,为使用Rails完成项目而努力。
为参与者提供更多实践环节的ChinaonRails公开课目前对学员是免费的,免费并不是代表课程质量离专业培训有较大的差距,就Rails专业培训的市场发展前景来看,组织者有着更深入的考虑:
我们坚持不收费,为了不分散精力,因为ChinaonRails公开课是以学员兴趣为驱动的,目的是希望在国内建立一个有活力的Ruby on Rails社区,通过虚拟团队协作的方式来完成项目,这也是推动Ruby on Rails在国内发展的一种有效途径。目前国内的Rails专业培训市场还不成熟,要等到Rails被更多企业应用接受的时候,培训市场才会出现大规模发展的契机。目前ChinaonRails公开课与Rails专业培训之间的主要差异是,公开课是针对有一定开发经验,并具备自主学习能力的开发者设立,为其创造好的沟通环境来帮助其提高,而非一切从零开始。
随着国内软件企业和国外的大型企业合作日益深入,越来越多的欧美软件项目涌入中国。使用Rails进行Web开发方面也不例外,市场呼唤越来越多具备Ruby on Rails技能的开发者出现。可以预见,一旦Rails更多的进入到逻辑更为复杂,对于分析和重构能力要求较高的企业开发领域,必然会有专业的Rails专业培训机构出现,从Workshop起步的Rails专业培训,将会迎来一个新的蓬勃发展时期。
标签: Technologies
ChinaonRails open course 宣言:认真做事不做秀
2007年11月6日 星期二
07中文网志年会结束了,这是中文 Blogger 一年一次的盛会,算了一下,总算是喜悦多于遗憾。
1st China on Rails open course 定于11.10号开始,这篇 Blog 的标题也是我给这次活动所定的基调(其中包含对cnbloggercon上某些演讲者的回应)。
感谢积极推动这次活动的人,如 bd7lx 建立了网上学员沟通项目,先后有 Robbin , 源谷 为 open course 联系培训场地。曲元周说他们能提供场地,但要申请,审批什么的,而且不能连续使用几周。在年会现场,alex.mou 建议培训收费,说这样能聚到努力想学的人。我还是坚持不收费,为了不分散精力,最终决定培训场地在我的办公室举行,这个地方我能够决定连续使用。
报名名单(只列出了北京的并按要求给我反馈了的报名者,如果你不在名单中,请及时给我发email: jesse.cai@gmail.com 或给我电话):
胡博
郭健
王志明
毛大军
刘海涛
陈明
宁洪源
李巍
马艳艳
窦国辉
张大治
常军昌
王俊强
贾秋然
陶惠良
靳岩
场地预览:

重要说明:
本次是一次持续的培训活动,报名时请确认自己有坚持学习Ruby on Rails的热情,拥有把想法变成代码的冲动,希望和国内Ruby on Rails社区保持一个良好的交流沟通环境。如果你只是有一个问题,请直接在chinaonrails.com提问即可。
标签: Technologies
07中文网志年会归来的喜悦与遗憾
喜悦
- 老朋友会面
- Jiwai.de大屏幕让人印象深刻,帮我在会场找到了人,也让别人找到了我
- 5日凌晨在柏拉图”杀人”结束后的20分钟时间对年会的讨论
- 伊藤穰一(Joichi Ito) 的演讲不错
- hidecloud 让我印象深刻,他才21岁
- 欣欣 做的片头不错,能让人在北京的冬天想起那些旧事
遗憾
- 大多演讲者都是在做宣传,根本与 Blogger 无关
- Jiwai.de 大屏幕,竟然也会”和谐”一些信息,这非常让我失望
- 完全没有与 Blogger 的互动,在中间坐前排的参会者就是在听两天讲
- 对下一届年会的期待,没有06年杭州结束时强烈
标签: Technologies
07中文网志年会现场照片(2天)
2007年11月5日 星期一
照片正在上传到Yupoo, 我的07中文网志年会相册中。为了保留现场感,没有对这200多张照片进行任何删除和修改,根据现场环境,可以看到这个相册中有以下几个会场:
- 年会报到大厅
- 会议厅
- “教育即对话”分会场
- Wikipedia 分会场
- “杀人”现场
现成已经上传了275张中的60张,要看全部的继续等会儿。这两天有点累了,现在需要休息一会,有关年会感受的文章明天发出。
标签: Technologies
Ruby/Rails/Mongrel 需要版本匹配
2007年11月2日 星期五
请不要随意更新 Ruby 或 mongrel , 在ruby 1.8.5 + mongrel 1.0.4 时会出现以下错误:
NoMemoryError (negative allocation size (or too big)):
/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:86:in `sprintf’
改正方法如下:
yay1# ruby -v
ruby 1.8.6 (2007-09-23 patchlevel 110) [x86_64-linux]
yay1# gem list rails*** LOCAL GEMS ***
rails (1.2.5, 1.2.2)
Web-application framework with template engine, control-flow layer,
and ORM.
yay1# gem list mongrel*** LOCAL GEMS ***
mongrel (1.0.4)
A small fast HTTP library and server that runs Rails, Camping, Nitro
and Iowa apps.
注:在 Debian 安装 ruby 1.8.6 (2007-09-23 patchlevel 110) 时,在 Console 下运行 Rails 需要 readline :
sudo apt-get install libncurses5-dev libreadline5-dev
sudo updatedb
slocate ext/ |grep ext/readline
cd ext/readline
sudo ruby extconf.rb
sudo make
sudo make install
标签: Technologies
ChinaonRails Open Course 扎记(三)
2007年10月31日 星期三
1. ChinaonRails open course 定于2007-11-10日开课。 2. 截止2007-10-31日, Open Course 报名人数为 15人,我会在11-10日前和报名学员确定正式学员,能完整的和学员一起学完课程的才会被录取,如果到2007-11-10日学员人数不能达到20人,照常开课。 3. 希望有学员主动承担照像、摄影工作。 4. Open course 不仅会开放课程内容,还会开放课程过程。 5. 建立同步在线学习小组。
标签: Technologies
我与中文网志年会
2007年10月26日 星期五
- 第三届中文网志年会将于2007年11月3、4两天在北京举行。
- 我想在年会上见到的Blogger去年在杭州时几乎都见到了。今年重点和老朋友叙叙旧,再结识几个新朋友。
- 去年年会时我从南京去杭州,今年只需要从北京国贸到清华科技园。
- 去年我在年会散的名片上写的是UUZone, 今年是 P1.cn.
- 没有变化的是去年我使用Ruby on Rails开发,今年还是。接下来1-2年内可能也不会变化。
- 年会一年一次,参会的公司与人年年不同。而我们这一群生活被Blog改变的人,与年会有隔不断的情结。
标签: Technologies
试用 Feedsky 话题营销
两个理由激活话题营销:
- 看到一起来谈谈中文网志年会,为年会预热,准备写一篇。
- 三月份见欣欣时,就提过要通过话题营销为宣传 P1.cn ,当时话题营销还在准备公测,P1.cn 还在准备开发。现在话题营销公测完成了,P1.cn 也上线了。是时候了。
验证码: fb2db583
标签: Technologies
Shanghaionrails活动报道
2007年10月23日 星期二
本次活动上海及周边地区rails爱好者及从业人员的一次聚会。与会人数超过40人,人员来自上海以及杭州,常州等地,包括不少外籍人士。场地得到了HOUDS公司的支持,位于上海南京路步行街东端的宏伊国际大厦23层,从窗外可一览黄浦江美景。
本次活动的有四个嘉宾的演讲
Shellshadow总裁 Jon 的ruby debugger
Zhangyuanyi的Testing with mock object
Ekohe Maxime的HAML and SAAS
Recity martin xus 的Rails Cache
来宾听的很认真
Maxime的mac pro引来了很多人的口水
老外老外,总是出门在外
免费提供的食物,饮料
会议众生象(貌似有遗漏,未能一网打尽,抱歉)
活动对英语的要求相对较高,因为有好几个演讲都是外籍人士直接用英语来讲,虽然我们也有phd的翻译,但如果要全部领会,还是要有好的英语基础。这个故事告诉我们,学好英语很重要啊!!
Our big boss ,Jon
Jon为我们联系了场地,与Maxime一起赞助了本次活动,花了大量的时间推动活动。做人要厚道,让我们一起感谢他。
Recity Vibram 的超酷装备,他为我们拍了大量图片,甚至为我们的会议录了音。他让我明白了21世纪最贵的是什么!!
就来的人群来讲,大概是初学者占1/3,应用rails的公司开发人员以及高层技术经理人士又占1/3,外籍人士,嘉宾,还有从事其他开发(如python)等人士为剩下的1/3.从现场的报到表来看,很多人都是通过朋友介绍来的,其他大部是通过国内各个 rails社区。
现场的气氛刚开始有点点紧,后来就好多了,讨论还算热烈。Jon的演讲很有气势,maxime给大家很多启发,zhanyuanyi的演讲ppt准备的很好,但可能讲的有点快,听众反映有点听不懂,会后他说下次一定会更好。Matin xu的演讲可能是因为有点紧张的缘故,发挥的不是很好,但是他能上来讲,已经比大部分人强了。
Shanghaionrails的目标就是成为一个比较open的event,给大家一个好的平台,让更多的人参与进来,让大家来讲,而不是每次看那么几个嘉宾。
Rails的应用情况,从本次会议的情况来看,有好几家应用rails的企业
Nonobo(杭州无书网,还未上线)
另外,Jon 的 shellshaow就是用rails开发的,Maxime的ekohe是一家基于rails 的咨询公司(他们再招人哦).
未来我们预计会每月举办一次类似的活动。我们还是会坚持免费,一方面鼓励参与者来分享经验,另一方面,争取请一些国内,国际的资深人士来与大家见面。促进rails社区在国内的发展,在国际rails社区上发出我们国内的声音。目前主要的问题是争取到比较好的场地,这次的场地是Houds公司提供,但不是每次都有这样的机会,以后活动怎么开展,希望每个人都能提出 自己的意见或建议.
本次活动赞助:
本次活动组织
Jon Hancock
Maxime Guilbot
zhang yuanyi
Stephen kung
本次活动所有ppt
Jon Hancock - SoR Debugging
Maxime Guilbot - Haml and Saas
zhang yuanyi - Testing with mock object
Martin.xus - Rails Cache
本次活动的录音 四段presentation,打包下载 (by Vibram)
本次活动更多图片 相册一 (by Vibram) 相册二 (by Stephen)
感谢
Vibram的照相与录音
感谢
所有发布,转载本次活动rails社区,尤其感谢chinaonrails 的大力支持
stephep为您报道
标签: Technologies











