Ruby编程
qichunren
这个作者很懒,什么都没留下…
展开
-
mruby中数据类型C API
0. 字符串ruby字符串的生成MRB_API mrb_value mrb_str_new(mrb_state *mrb, const char *p, size_t len);MRB_API mrb_value mrb_str_new_cstr(mrb_state*, const char*);MRB_API mrb_value mrb_str_new_static(mrb_state *mrb, const char *p, size_t len);#define mrb_str_n原创 2020-06-23 23:11:07 · 802 阅读 · 1 评论 -
mruby类相关的C API
0.定义类struct RClass *mrb_define_class(mrb_state *mrb, const char *name, struct RClass *super);struct RClass * mrb_define_class_under(mrb_state *mrb, struct RClass *outer, const char *name, struct RClass *super);如:class Exampleend对应于:struct..原创 2020-06-23 22:50:28 · 255 阅读 · 0 评论 -
在 Ruby 中实现一个信号订阅通知功能(一)
为了实现模块之间的解耦,我需要一个类似 Qt 中的信号槽机制和GDScript中的信号机制。使用场景:有一个计数器和一个显示屏,当计数器更新时,需要显示屏同步显示更新的计数,后续可能需要将计数器的计数用于到其它地方。先看看在没有实现信号订阅机制时的代码是怎么样写的。class Counter attr_accessor :value def initial...原创 2020-01-04 13:34:52 · 126 阅读 · 0 评论 -
在Ruby中处理压缩文件
[url]http://rubyzip.sourceforge.net/[/url]这是一个不错的解决方案.当然调用shell也不错。原创 2009-12-18 18:39:03 · 155 阅读 · 0 评论 -
Ruby中的类方法与实例方法
原文:[url]http://railstips.org/2009/5/11/class-and-instance-methods-in-ruby[/url]-----------------------------------------------------类方法在从一个类直接调用的,而实例方法是从一个类的实例来调用 的。这儿给一个简短的例子来说说具体一些情况。[code="ru...2009-06-28 18:12:38 · 141 阅读 · 0 评论 -
将Rails中的一个Model按功能拆分 进行管理
在开发Rails应用中,随着业务的扩大,Model中的代码量越来越大,(本来在Rails中也是说瘦Controller,胖Model,不是吗?),上百上千行代码也是很常见的,所以很有必要将单个Model将照不同的作用分开,这样代码维护性也好。我在 [url]http://github.com/courtenay/altered_beast/tree/master/config/initiali...2008-12-26 16:20:46 · 136 阅读 · 0 评论 -
使用region_updater插件实现国家/地区二级联动下拉
在项目中遇到了这个需求:用户注册时从下拉框中选择一个国家,然后联动,再选加一个下拉框中选择相应的省份地区。之前没有在网上找找资料,直接自己干活,很是郁闷,所以的基础信息都是我一个人填进数据库的,发现自己很bc :oops: 今天我在github上面好好找了一下,发现了一个很好的解决方案。region_updater插件[url]http://github.com/tolat...2008-12-24 12:36:38 · 296 阅读 · 0 评论 -
GIT的使用
这篇教程很好很强大[url]http://www.bitsun.com/documents/gittutorcn.htm[/url][b]Git 中文教程[/b]不断更新。2008-12-11 17:39:45 · 63 阅读 · 0 评论 -
Rails社区对Rails3特性的讨论和反馈
Rails官方博客写道他们在UserVoice上建立了一个讨论Rails功能的论坛版块[url]http://rails.uservoice.com/pages/10012-rails[/url],开发者们对Rails3提出了很多重要的特性(Feature)。有的功能已经启动或者完成了,有的还有计划当中。看看大家最快心的Rails中的功能特性和改进的地方吧,根据UserVoice上的数据,...原创 2009-05-31 21:29:00 · 92 阅读 · 0 评论 -
为非Restful的action准备的插件:static_actions
如果我们的Rails应用里能够全部Restful,那很cool,但是现实不是这样。如 网站中的“关于我们”, “联系我们”, “帮助”等静态的controller/action对于这样的静态资源,(":controller/:action"这种老形式的路由我们会删除掉)我们一般是在routes.rb中这样配置的:[code="ruby"] map.about_index 'about...原创 2009-05-30 10:06:47 · 106 阅读 · 0 评论 -
在Rails中的 Model中使用current_user
[b]在Rails中的 Model(业务层)中使用current_user[/b],关于这个话题我google了一下,看到了有两种方式:第一种就是为某一个Model加一个类变量current_user,然后在控制层(Controller)中加一个前置过滤器,来设置Model的current_user类变量。代码如下:在Model中[code="ruby"]class User ...原创 2009-12-19 12:31:47 · 337 阅读 · 0 评论 -
Ruby中处理Excel
发现了一个很不错的解决方案:这里是它的GUIDE[url]http://spreadsheet.rubyforge.org/GUIDE_txt.html[/url]原创 2009-12-19 14:23:14 · 165 阅读 · 0 评论 -
Rails生成HTML
在Rails中生成HTML一般有现在的Page Cache,不过用这个缓存来生成HTML有时也许不能满足我们的实际使用要求,如我要在某个目录下生成某个HTML页面,如我要生成一个合同的HTML页面。在Rails中有这样的一个方法[b]render_to_string[/b][code="ruby"]def create_consign_check_file if cont...原创 2009-12-28 10:59:38 · 183 阅读 · 0 评论 -
Rails中使用好named_scope与时间区间
在我最近的工作中,由于要做数据统计,与时间区间打交道非常多,如统计这个月的销售量之类的。[code="ruby"]Message.find(:all, :conditions => {:created_at => Time.now.beginning_of_month..Time.end_of_month})[/code]对于爱美的程序员来说,这看起来不养眼,也不符合DRY精神。写成这种形...2009-07-18 00:56:29 · 167 阅读 · 0 评论 -
火星高楼抢楼机器人
2009-8-14下午JavaEye登录更新了,加了图片验证码,以下代码搞不定了 :( 我得改用JavaEye开放的api了,改天研究一下。[code="ruby"]# require "火星魔法 Balabala..."require 'rubygems'require 'mechanize'100000000.times do agent = WWW::M...2009-08-05 14:15:55 · 118 阅读 · 0 评论 -
Rails2.0.2中rake在production环境不能log
目前的定时任务是用cron + rake。在rake中使用了log进行相关的信息记录,rake :test_xxx => :environment do # some operationRAILS_DEFAULT_LOGGER.info "It takes #{end_time - start_time} to generate tippay message #{Time.no...原创 2010-01-22 15:14:37 · 159 阅读 · 0 评论 -
来自O’Reilly出版社的《Ruby Best Practices》
我在rubyinside网站上看到了《Ruby Best Practices》图书前5章免费。下载地址:第一章: Driving Code Through Tests 第二章: Designing Beautiful APIs 第三章: Mastering the Dynamic Toolkit 第四章: Text Processing and File...原创 2010-03-04 17:40:50 · 122 阅读 · 0 评论 -
mac osx上安装rmagick
本来以为安装这个超级麻烦,我那时是想从源码编译安装,后来找到port,再后来经人指点,现在都使用brew了。安装brew很方便,一个ruby命令行搞定: ruby -e "$(curl -fsS http://gist.github.com/raw/323731/install_homebrew.rb)" 好了,现在有了brew这个命令了。安装Imagemagick: ...原创 2010-10-25 12:03:56 · 121 阅读 · 0 评论 -
使用Ruby Encoder加密Ruby代码
Use Rubyencoder Encrypt Ruby Code 全文见我的个人博客里: http://qichunren.github.com/blog/2012-02-27-use-rubyencoder-encrypt-ruby-code/原创 2012-02-27 13:56:04 · 1040 阅读 · 0 评论 -
最新版本的gcc编译安装fcgi出错的解决办法
最近在折腾vps,在上面步骤ROR应用,部署方案还是用我倾向的Lighttpd + fcgi的方式,发现在编译安装fcig时出错,在网上搜也没有发现有价值的信息。 对于fcgi,我不管是用常规的 2.4.0版本,还是用最新的2.4.1(09年10月份发布的),都是出现如下的错误:root@localhost:~/downloads/fcgi-2.4.1-SNAP-0910052249#...2010-03-06 17:43:16 · 377 阅读 · 0 评论 -
Ruby游戏开发利器Gosu
在2009年的Railsconf大会上,Hongli Lai和Ninh Bui of Phusion(开发Passenger的家伙)为了展示Ruby语言的强大,能运行3D游戏,他们构建了一个Wolfenstein游戏的山寨版,用的是Gosu游戏开发库。Zed Shaw 在游戏中扮演BOSS :D 体验方法:项目地址:[url]http://github.com/FooBar...原创 2009-05-16 18:46:24 · 406 阅读 · 0 评论 -
玩”Ruby勇士“游戏来学习Ruby
这个游戏是由ryanb(就是制作railscasts的牛牛)编写的。项目主页:[url]http://github.com/ryanb/ruby-warrior/tree/master[/url]git拖下来: [u]git clone git://github.com/ryanb/ruby-warrior.git[/u]也可以直接打开项目主页,点击下载按钮下载解压即可....2009-05-11 23:50:24 · 148 阅读 · 0 评论 -
Rails2中的诡异(1)
应用场景:图书分类和图书,一对多关系。我想实现当分类中还有所属图书,就不能让用户删除分类。我是这样做的:Model中[code="ruby"]class CategroyHasBooksException < RuntimeError;endclass BookCategory < ActiveRecord::Basehas_many :books, :de...2009-03-17 18:09:26 · 92 阅读 · 0 评论 -
基于时间的片断缓存插件timed_fragment_cache
http://github.com/veilleperso/timed_fragment_cache/tree/master这位的插件在Rails2.2.2上不起作用,会报错误:ActionView::TemplateError (undefined local variable or method `_erbout' for #<ActionView::Base:0x3652d24&...2009-03-17 13:05:54 · 100 阅读 · 0 评论 -
Ruby On Rails开发技巧总结(不断更新,备忘)
Ruby On Rails开发时的技术还是很多很杂的,我现在把它们整理,列出来,方便自己,也方便大家。我的开发网站:[url][/url]注:我在其中所列的,也有不是ROR专有的,但是在Rails开发中实用。A:View1。Helper number_to_currency(@book.price)格式化显示时间,$89.00,合适开发英文网站。2。图片按钮提交表单,[...2008-07-25 16:28:14 · 218 阅读 · 0 评论 -
使用Rails做一个RBAC的权限管理系统(不使用插件)
前几天,稍微分析了一下RBAC形式的权限管理系统的实现原理,然后我使用Rails做了一个。先来说一下表间的关系:users roles roles permissions很简单,用户和角色是多对多关系,角色和权限也是多对多关系,那么关于权限管理这一块就一共有5张表。具体的表结构:还是直接看数据库定义文件吧![code="ruby"]ActiveRecord:...2008-07-15 17:45:43 · 464 阅读 · 0 评论 -
改进Rails的Flash消息显示
[code="ruby"] setTimeout("new Effect.Fade('notice');", 1500) [/code]别忘了在模块头部加了[code="html"] [/code]这样Flash消息显示后,会慢慢地消息....2008-07-06 16:45:17 · 242 阅读 · 0 评论 -
代码片断:在Ruby中产生随机的密码
[code="ruby"]#产生随机的密码def generate_password chars = ("a".."z").to_a + ("0".."9").to_a #puts chars Array.new(6, '').collect{chars[rand(chars.size)]}.join end#测试 puts genera...2008-06-27 18:12:36 · 159 阅读 · 0 评论 -
验证Google帐号和密码的Ruby代码
我在Rubyforge上看到的,它的0.1版本将第一行的代码注释掉了,代码是不能运行的,我将第一行的注释去掉了,代码可以工作了,enjoy it![code="ruby"]require 'net/https'def GoogleLogin(username, password)url = URI.parse('https://www.google.com/accounts/C...2008-06-26 18:37:19 · 140 阅读 · 0 评论 -
在Rails中关于size,length,count三个方法的区别
[b]count,size,length到底有什么区别呢?通过以下的测试结果可以发现问题: [/b] Post.find_by_id(953125641).comments.length产生了如下的SQL语句[color=red][4;35;1mPost Columns (0.000000)[0m [0mSHOW FIELDS FROM `posts`[0m [4;3...2008-06-25 20:20:47 · 400 阅读 · 0 评论 -
Rails2中的诡异(2)
注:此法不可取应用场景:我有一个分类和分类中的图书,我要在删除分类时,把图书也一起删除掉。在Rails中有自带的[b]has_many :books, :dependent => :destroy[/b]不过我不用它自带的这个,自己实现before_destroy的回调,这样写:[code="ruby"]class Category < ActiveRecord::...2009-03-18 12:40:46 · 80 阅读 · 0 评论 -
在Rails中快速方便地使用Tiny mce编辑器
有了tiny_mce插件,使用HTML在线所见所得编辑器变得再简单不过了。tiny_mce插件的地址:[url]http://github.com/kete/tiny_mce/tree/master[/url]1.下载tiny_mce插件,放在RAILS_ROOT/verdor/plugin中,注意,要将tiny_mce插件目录命名为tiny_mce2.[b]rake ti...2009-03-18 17:22:58 · 233 阅读 · 0 评论 -
使用UUID作为activerecored模型的主键
有时候,使用数据库中自带的“auto increment”可能不能满足需求,这个时候如果是真的需要一个唯一的可以跨数据库应用的主键时,我们得使用UUID(Universally Unique IDentifier)来做这事。由UUID生成的主键是唯一的,如12f186e6-687e-11ad-843e-001b632783f1这个随机字符串。创建表(Model)[code="r...2009-05-07 16:29:28 · 89 阅读 · 0 评论 -
利用hpricot抓取baidu的图片
最近忙里抽闲,研究了一下hpricot,感觉真是不错,我用它很轻松地实现了百度图片的批量下载。如:在百度图片搜索中输入“泰晤士河”,想把查找到的所在大图片都拉到本地电脑上面,还要一个个去点小图片,进入大图显示页面,才能将图片保存起来,真是不方便。现在我通过hpricot来搞定这个。目标URL就是我百度图片搜索中输入“泰晤士河”产生的URL:[url]http://image...2008-09-28 17:21:13 · 128 阅读 · 0 评论 -
Rails2中的诡异(3)
[b]应用场景:[/b]一个组(Group)有多张图片(GroupPicture),图片上传处理我用的是[color=red]paperclip[/color]插件。我在上传和删除图片时,顺便在Group中更新一下Group的空间使用情况,我使用Group的after_save和before_destroy。上代码:[code="ruby"]# RAILS_GEM_VERSION = ...2009-04-20 13:53:53 · 84 阅读 · 0 评论 -
Ruby编码规范
Ruby编码规范 [url]http://ruby-programming.learnhub.com/lesson/5017-ruby-coding-convention[/url] [url]http://www.caliban.org/ruby/rubyguide.shtml[/url] [url]http://rpa-b...原创 2009-04-17 13:55:15 · 159 阅读 · 0 评论 -
我用Shoes做飞机游戏(1)
这只是一个利用零散时间 学习Ruby Shoes和面向对象的方式来组纪织代码的过程,我希望通过这样一个方式来加强我的面向对象架零件的能力。我打算做一个可以用键盘控件小飞机的游戏,目前这个是0.0001版啦,很多shoes的api还不怎么会用,目前的这个可以实现利用空格键和点击“开始”键启动飞机向右边飞行。我要作造一个飞机,这个飞机有状态(停止,飞行中等状态),然后我给它一些行为...2009-04-07 17:25:18 · 103 阅读 · 0 评论 -
在自己的ruby代码中使用Rails的全文环境
在你的代码头部加上[b]load "environment.rb"[/b]这个就可了。2008-09-22 16:05:56 · 73 阅读 · 0 评论 -
一个很好用的MSN机器人的Ruby实现
我一段时间一直在研究IM,xmpp,xmpp4r等内容,了解了一些相关的知识,在google code中搜到一个使用Ruby实现的MSN机器人,使用起来很是方便,不过没有使用xmpp,是使用socket实现的。[code="ruby"]require 'msn'#MSN帐号email = "your-user@name.org"#MSN密码password = "y...2008-09-12 17:06:36 · 256 阅读 · 0 评论 -
Ruby on Rails中怎样给link_to加class和id样式
给link_to加上class样式 比如我们的class样式为: classror:[color=blue] 'controller_name',:action => 'action_name' },:class => 'classror' -%>[/color]给link_to加上ID样式 这里说的不是javascript调用的 这里说的是样式ID(#):[color=blue...原创 2008-08-28 18:41:18 · 282 阅读 · 0 评论