- 博客(88)
- 收藏
- 关注
终于决定还是放弃rspec的transaction了
反复遇到不能正确cleanup的问题,今天看到这篇blog,虽然有点旧,但是确实就是我的现状,不明白rspec为什么改不好,还是决定用database_cleaner了。博客主要内容摘抄 This will fail. It will fail because that let statement lives outside of the transactions, so it do...
2012-02-25 00:44:25 184
fixture使用时需要注意的问题
今天单测不太顺利,主要是fixture使用不熟悉,记录两个问题 bug 1:经过定位发现是fixture数据始终不能灌入导致的,文件如下: machine1: id: 1 app_id: 1machine1: id: 2 app_id: 1 期望有两条数据,实际只有一条,原因是在rspec灌数据时装载yml,而这里的数据是个hash,结果key相...
2011-09-20 15:52:35 631
打开jruby+rails3的多线程开关
前两天把项目的设置改了一下,添加了 threadsafe=true,结果发现平时开发环境出现很多奇怪的错误ActiveRecord::HasManyThroughSourceAssociationNotFoundError (Could not find the source association(s) :app in model Stakeholder. Try 'has_many :a...
2011-09-09 14:48:36 180
改进一下昨天的工具,不再使用中间文件
[PS: javaeye上的评论好像不能提交,只好另写一篇了] 昨天写的小工具需要把database.yml改来改去的,不能自动化,今天上午搞了一把,直接建立两个数据库连接,然后数据库对数据库copy使用时将旧的数据库配置文件复制为 old_database.yml ,配置好新的 database.yml 就可以提交代码了,服务器上更新一下,然后运行 rake data:copy 就o...
2011-09-02 12:06:25 141
数据备份和恢复代码,用于数据库迁移
apposs要从sqlite3迁移到mysql,支持所谓生产环境,所以写了段代码用于迁移数据,这种代码写过N遍了,所以决定放到博客上作为备忘,顺便展示一下ruby结合active record模式的方便 namespace :data do desc "backup all data" task :backup => :environment do Dir.mk...
2011-09-01 22:16:05 188
整理一下github的信息
github有多重要就不说了,网上的资料也很多,这篇blog的目的是整理一下资料,方便新手入门 1. git入门:Git 中文教程2. git 的完整介绍:Git Community Book 中文版 (我是看了这个才算基本弄明白 merge 和 rebase 的)3. git 协作:git多人协作开发流程(以blog为例)Git flow 開發流程...
2011-08-28 08:47:24 116
[erlang新手] init函数参数错误导致的问题
gen_server的规约要求module必须实现init方法,形如:init([State]) -> {ok, State}. 对新手来说,这里容易犯的一个错误是误以为参数不是list,于是编写代码为: init( State ) -> {ok, State}. 这种错误一般很容易发现,但是对于 State 是 string 的情况则比较隐讳,因为...
2011-08-16 23:23:13 346
[转述] jruby 对 maven 的支持
之前开发了 java_side ,主要是便于 jruby 中使用基于 maven 管理的 java 三方包和基于 spring 管理的运行时服务,不过现在 jruby 1.6 以后 maven 这件事可以不必那么麻烦了,根据这篇blog,我把自己试验的例子贴出来供参考: 下载 $ jruby -S gem install mvn:org.springframework:sp...
2011-07-24 13:18:50 275
[翻译] JRuby class loader by example
大家都知道,JRuby可以用 require 来装载 jar 文件,但是似乎很少有人知道有另外两种方法可以完成同样的事情,也很少有人知道(JRuby)底层是如何做的。JRuby官方的 wiki 页面 包含了一组例子以帮助大家学习这些,不过,也许还可以更进一步...... 如前所述,在你的ruby应用中装载java类的首要方法是 require 。它的工作方式与对 ruby 文件的装载类...
2011-07-20 13:33:31 129
[Ruby新手教学] 要有中国特色
今天部署一个系统,发现不能获取gem包,于是看看怎么回事 $ gem -v1.3.6$ gem update --systemJRuby limited openssl loaded. http://jruby.org/opensslgem install jruby-openssl for full support.Updating RubyGemsUpdatin...
2011-07-13 15:54:29 101
[jruby] 建议替换数据库驱动,不再使用 jdbcxxx-adapter
今天执行 rake spec 出错,才发现我已经落伍很久了......错误信息是这样的:Task not supported by 'jdbcsqlite3'外事不决问google,查得原文在此 不喜欢看E文的,这里简单解释一下,jdbcsqlite3、jdbcmysql 等驱动已经不再被建议使用,目前建议的是通过 activerecord-jdbc 透明的使用 adapt...
2011-07-11 16:18:08 141
[erlang入门学习] erlang中的二进制数据处理
在网络编程中,我们面对的不再是字符串,而是字节流,对于这些信息的处理,erlang提供了比特语法这样的工具。 废话少说,看例子: Eshell V5.8.4 (abort with ^G)1> X = "hello". 先定义一个字符串变量X,下面把它变成二进制数据2> BinX = list_to_binary("hello").<<...
2011-06-30 12:10:32 754
[转贴] 关于 bundle 的使用 - Gem Versioning and Bundler: Doing it Right
最近Yehuda Katz发了一篇博客,说明bundle的使用,虽然看E文看的比较累,好在也看完了,转述一下吧。作者主要是说了两个方面: bundle 的运行规则:借助 Gemfile.lock ,bundle 会在整个项目中确保类库版本的一致性更新 Gemfile 后,需要运行 bundle install ,这个命令将“保守”的更新Gemfile.lock —— 仅更新修...
2011-05-31 12:20:26 130
原创 遇到 rake 0.9.0 bug
最近突然发现执行 rake 时遇到问题$ rake -Trake aborted!undefined method `task' for #<Demo::Application:0x2b3a0934>(See full trace by running task with --trace)上网看了一下是 rake 的 bug ,参考这里 看E文可能比较累...
2011-05-31 12:01:53 214
[jruby] warbler 配置问题说明
这篇blog是整理给自己看的,因为一年前解决过一个问题,结果时间一长居然忘了,今天重新解决了一遍,自己汗一下 warbler是一个打包工具,可以将rails应用打包为war,使用如下:$ gem install warbler # 安装$ cd your_rails_app$ warbler #使用 然后你就可以在你的rails项目下看到一个war文件了,非常简单 ...
2011-05-30 15:27:51 233
[ruby技巧] 如何判断属性、变量是否存在
java_side 这个插件,运行时需要分辨rails应用是否激活了一些功能,常用的方法是判断参数值,比如:if config.spring require 'java_side/spring' p 'spring supported'end 但是,这么做有问题——用户很容易就忘记设置config里面的spring参数,结果这个读取属性的方法不存在......
2011-05-29 17:20:51 2256
jruby环境下装载java资源
jruby的好处是可以同时利用ruby和java这两大社区的积累,那么我们怎么在ruby代码中装载java资源呢。 装载java资源之前,先要require一下java,否则后续会有一些功能不能执行。jruby-1.5.6 :001 > require 'java' => true 下面具体进行装载,首先是load相关的jar文件,jruby进程本质上就是jvm...
2011-05-29 12:28:50 161
开发了一个 java_side 插件
花了点时间把以前的一个集成spring的rails插件重写了一下,技术含量没有,但是能提供方便,主要是考虑了mvn和spring的集成使用,为jruby项目规范化开发提供帮助https://github.com/fsword/java_side下面是我写的README: JavaSide========为jruby on rails项目添加传统java开发相关的支持...
2011-05-28 15:59:46 209
rails 3 下面编写项目模板
rails 3出来以后,大家都开始尝试里面的各种功能,我早先也试过其中的项目模板功能,感觉不错,在github上放了一个地址用来记录模板,地址在: https://github.com/fsword/rails_templates ,今天拿这几个模板在windows上测试了一下,发现一些问题,这里记录一下 先说使用,模板使用起来只要一行代码就行: $ rails new you...
2011-05-22 17:34:50 89
jruby下使用nokogiri、xslt
jruby与原生的ruby vm之间最大的区别是多了一个jvm作为中间层,好处是可以借助成熟的java 虚拟机技术,缺点就是不能象以前那样使用很多本地编译的动态链接库,这个问题的解决只能靠为这些库开发java版本来搞定。 例如,很多ruby开发者都喜欢nokogiri这个库,它处理html、xml非常方便,但是之前它是基于本地库的,所以jruby环境下不好用,不过现在有了 java 版本...
2011-05-21 11:28:51 135
jruby 下升级 gem 版本的问题
ruby的三方包管理工具是gem,jruby自然也不例外,但是最近遇到一个问题:新安装的jruby不能成功的升级 gem 系统 $ gem update --systemUpdating RubyGemsUpdating rubygems-updateSuccessfully installed rubygems-update-1.8.1Updating RubyGems ...
2011-05-21 09:47:23 306
ruby 中获取 svn 版本
同事问我用 ruby 如何获取svn版本,老实说我不知道,不过我知道可以用 svn 命令 svn --version 但是同事说这个不够直接,我说再找找看redmine项目算是很老牌了,因为要支持多种scm,应该有svn访问的代码,我找了一下,果然在这里遗憾的是,似乎redmine也只是封装了一下命令行的输出而已 也许svn访问这种东西不值得ruby社区专门发明...
2011-05-18 11:26:50 127
[Ruby新手教学] linux下的rvm环境
昨天说的主要是windows平台的开发环境,今天说说linux。 对于linuxer而言,ruby的世界无疑更加丰富的,这里可以很容易的使用不同的ruby虚拟机实现,事实上,甚至有人专门做了工具来管理不同的ruby虚拟机,让我们更加方便,这个工具的名字叫 rvm (ruby version manager),所以准备linux开发环境,建议从 rvm 开始: $ bash...
2011-05-18 01:32:10 227
[Ruby新手教学] windows上的jruby开发环境说明
我常常建议同事们使用ruby代替java来进行开发,但是,在公司内推广ruby有个必须考虑的问题——大多数人是工作在windows上的,而在windows上开发ruby会遇到一些问题,其中之一就是各种本地库——ruby本身可以很容易的开发c扩展,代价是这些扩展在安装时需要编译,而windows上会编译源码的人很少......我的建议是可以采用jruby,在jruby社区的努力下,很多高质量的r...
2011-05-16 21:45:00 404
rails不支持bigint类型的mysql主键
之前遇到过很多次,老是忘记,今天记录一下吧。mysql可以支持int、tinyint、bigint等几种数据格式的字段,rails(准确说是activerecord)抽象了数据结构,统一使用integer表示整数,然后根据limit来决定使用哪种int:[code="ruby"]# activerecord-2.3.8/lib/active_record/connection_ad...
2010-12-06 23:02:08 213
写了一个 oauth 插件,用 rails3 测试通过
写了一个rails3 插件,便于使用 oauth 接入各种外部网站: 地址 http://github.com/fsword/oauth_side可以 clone http://github.com/fsword/rails3app 这个示例项目查看效果$ cat READMEOauthSide=========对oauth库进一步进行封装,简化rails开发中...
2010-10-19 12:03:41 88
关于房地产商是否垄断的讨论
dning1: 但按照协议这个都是房地产公司终生负责不得更的 baozuitun: 你可以卖掉房子啊。还能禁止你卖房子?协议也不是房地产公司强迫你订的。fswordlee: @baozuitun @dning1 关键不是卖房子,关键是如果有这个协议,你为什么要买呢?如果当初买房子不是自愿,那么就找找迫使你买房子的原因 dning1: @fswordlee 当时买房子只能买他...
2010-08-01 20:56:14 236
Erlang新手进阶笔记(4) - behaviour机制
之前的文章贴出来以后,没想到惊动了高手,呵呵。[quote="mryufeng"]behaviour就是用来作这个的。[/quote]我是年初开始学erlang的,抽时间学习,想通过这样一个系列,对自己的学习进行一点反馈。这个系列是面对刚会erlang语法的初学者的,我打算慢慢演化一些代码,由浅入深的说明erlang的不同之处。言归正传,我们之前写的server已经比较通用了,但是...
2010-05-09 12:56:04 144
Erlang新手进阶笔记(4) - behaviour机制
之前的文章贴出来以后,没想到惊动了高手,呵呵。[quote="mryufeng"]behaviour就是用来作这个的。[/quote]我是年初开始学erlang的,抽时间学习,想通过这样一个系列,对自己的学习进行一点反馈。这个系列是面对刚会erlang语法的初学者的,我打算慢慢演化一些代码,由浅入深的说明erlang的不同之处。言归正传,我们之前写的server已经比较通用了,...
2010-05-09 12:53:13 334
Erlang新手进阶笔记(3) - 通用的server
分析一下之前的代码,可以注意到,server的功能其实是非常类似的,我们可以把公共的部分抽取出来,把不同的部分单独实现,做到一定程度上的复用,erlang支持动态的使用变量,例如:[code="erlang"]Mod = my_server.Mod:start().[/code]这样的代码会启动my_server,借助这个功能,我们可以把模块名作为参数传入,还可以使用模块名作为...
2010-05-06 18:09:32 167
Erlang新手进阶笔记(2) - 有限状态机
[url=http://fsword.iteye.com/blog/657060]上一篇[/url]写了一个服务器,包括基本的请求响应,服务关闭等功能,但是这并不是服务器的全部。一般来说,服务器应当内部保存若干数据,这些数据参与对request的运算,然后生成response,有时候,这些计算还会改变服务器上的数据本身。我们可以把这些数据抽象为服务器的"状态",当服务器启动时,状态数据被初...
2010-05-03 16:45:30 244
Erlang新手进阶笔记(1) - 一个简单的服务器示例
~~~~~华丽的分割线~~~~最近老赵[url=http://blog.zhaojie.me/2010/04/why-java-sucks-and-csharp-rocks-1-thoughts-and-goals.html]对C#和java进行比较的一篇博客[/url]引起了很多人的关注,但是我并不是很同意这个角度,我一直认为,一把钥匙一把锁,有明确针对性的语言是好语言,例如 erlan...
2010-04-30 15:13:53 181
原创 Contrller应该做什么
看看这段代码:class TaskController < ApplicationController active_scaffold :tasks protected def before_update_save(record) record.updated_by = current_user endend 我们常常要讨论一...
2010-01-25 15:21:16 275
原创 yeeyan 回归
yeeyan.org 回来了,很高兴,google一下,找到了一篇介绍情况的文章,yeeyan已经成功的找到了适应国内环境的方式,虽然不是百分百,但是保留了主要力量,祝贺! 等待饭否、jiwai的回归.........
2010-01-10 19:11:48 82
谈谈对REST架构的理解
无意中看到一篇博客,后面废话了几句,顺便写在这里吧REST本身不是架构,只是一种架构风格,理解它的时候要参考这个架构风格出现的环境所施加的约束条件。REST的目的是“建立十年内不会过时的软件系统架构",所以它具备三个特点:1. 状态无关 —— 确保系统的横向拓展能力2. 超文本驱动,Fielding的原话是”hypertext-driven" —— 确保系统的演化能力3...
2009-12-08 12:46:09 262
oci方式连接oracle的说明
oracle提供了oci的连接方式,它是一种本地连接,需要在本地操作系统中安装客户端,在windows、linux、solaris下一般可以直接通过安装文件安装oracle 客户端,在linux下面还可以安装oracle client instant(它通常是通过rpm包的形式发布的)应用程序能否通过oci进行访问,关键是tnsname的设置,这一般有两种方式[list][*] 在...
2009-12-02 10:38:37 1761
ruby 与 activemq 集成初探
(今天一天就这么些结果,唉,真没效率......)这个事情起因于公司的一个短信产品,老实说,我们这些门外汉做的实在不怎么样,加上进度控制的不好,前前后后又把人调来调去,现在是一个外包的哥们帮我一起擦屁股。东西好改,不过web层面的jsp实在是太乱了,struts2也用的不好,中间我又要求加入了一些比较复杂的动态能力,现在jsp已经快要人见人厌了。这个软件骨子里是一个消息为中...
2009-07-27 00:21:02 224
我爬、我爬、我爬爬爬......
前一段时间写了一段抓取网页的程序,感到这个很简单,最近要搜寻网上信息,于是也打算写一个程序来做这件事,不过这次涉及到多个网站,格式很不规则,写来写去,貌似变成一个垂直爬虫了,略有心得,凑一篇博客吧。作为一个java程序员,我选择最简单的方式──用ruby来做 :D ,使用的技术储备包括:1. 任务编写工具,用rake就足够了,很方便2. html解析器:用Hpricot,它支持各种...
2008-02-26 23:11:48 428
新年,我该有什么样的憧憬呢......
CCTV 4刚刚播出了《2007世界》和《2007中国》两个节目,算是对过去一年的回顾,这是年末的必备功课,那么我自己呢?我这一年里又做了些什么呢?略有茫然,似乎做了一些事情,又似乎什么都没做。就说工作吧,上半年忙忙乱乱却又懒懒散散,没做出什么拿的出手的东西,下半年就做这个网站,略有小成,可是问题还不少,套用一句老的不能再老的老话──“前途是光明的,道路是曲折的”。明年既有开发,更重要的是...
2008-01-01 00:33:28 165
唉,文也不行武也不行
父母和朋友都问最近怎么没写博客,我知道是怕我有什么不开心的事,其实真的没什么事,因为时间可以解决一切问题,就像写程序补漏洞,就算水平再差,不断的补阿补阿的,最后总能糊弄好。不写博客其实是对自己水平的无奈──看看别人写的文章,要技术有技术,要思想有思想,实在都没有,还有文笔在那里摆着,我看着就一个感觉──羞愧阿!整天这样当然没有心情写东西了。比方说我很烦那种怎么也死不了的电影,可还是人家王小峰...
2007-11-11 17:40:01 334
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人