- RSS订阅
分类目录
- FreeBSD (3)
- Linux (26)
- archlinux (4)
- chromium (5)
- ubuntu/debian (14)
- WP使用 (3)
- WP原创插件 (1)
- 系统管理 (8)
- 编程 (62)
- C/C++ (21)
- javascript (5)
- php (1)
- PostgreSQL (7)
- ruby (19)
- 1 ruby/基础 (5)
- 2 ruby/rails (7)
- 3 ruby/c++ (5)
- 4 rubygems (1)
- 5 ruby/其它 (1)
- Vim (6)
- 版本控制 (2)
- 闲聊 (19)
- dvorak (5)
-
最近文章
近期评论
- Re: [WP插件]WP Cleaner v1.1.4
那比如我把一个ID是90自动草稿等删掉了,但我的最新文章ID 是100,此时我再写新文章,ID会是90吗?还是101?...(十年灯) - Re: [WP插件]WP Cleaner v1.1.4
不会,id号在数据库内部是自增类型。...(JiangMiao) - Re: [WP插件]WP Cleaner v1.1.4
首先谢谢你的插件。。我想问博主一个问题,就是比如我最新的文章 ID是100,但之前有几个自动保存的版本占了3个ID,......(十年灯) - Re: 开博咯
欢迎欢迎 :D...(JiangMiao) - Re: 开博咯
欢迎开张。...(土木坛子)
- Re: [WP插件]WP Cleaner v1.1.4
小工具
功能
首页 » ruby
Ruby C++ 扩展
早年写过用C++ + SWIG写Ruby插件的文,但实际中还是以原生C++写Ruby扩展,因为也相当简单。但长久没用还是会忘记,不得不翻以前的老代码回忆,写下这篇博文,若下次再忘记,也不至于去翻仓库。
建立 extconf.rb
require
建立 extconf.rb
require
Ruby下使用SWIG封装libcurl
本文通过在ruby下使用SWIG封装libcurl来简要描述如何通过SWIG来扩展ruby。
关于SWIG的入门使用可参见 使用SWIG扩展ruby性能
一、关于SWIG
SWIG全称为 Simplified Wrapper and Interface Generator,通过swig可以方便快捷的使用c/c++扩展php, ruby等语言以提高性能或满足其它用途。
二、关于libcurl
libcurl是一个著名的http/ftp库,通过libcurl可能轻松通过http/ftp协议访问网络。
三、流程
关于SWIG的入门使用可参见 使用SWIG扩展ruby性能
一、关于SWIG
SWIG全称为 Simplified Wrapper and Interface Generator,通过swig可以方便快捷的使用c/c++扩展php, ruby等语言以提高性能或满足其它用途。
二、关于libcurl
libcurl是一个著名的http/ftp库,通过libcurl可能轻松通过http/ftp协议访问网络。
三、流程
Ruby的预定义变量
一、异常
名称描述相当于$!捕获的异常Exception$@异常的backtraceException#backtrace例:begin
raise "err msg"
rescue
p $! # #<Runtime
名称描述相当于$!捕获的异常Exception$@异常的backtraceException#backtrace例:begin
raise "err msg"
rescue
p $! # #<Runtime
如何编写RubyGems
目标:通过本文章学习并编写一个gem 'hello'
一、认识RubyGems
1、什么是RubyGems
RubyGems是ruby下的包管理系统。最著名gem的当属Rails
2、gem的基本文件布局
文件名类别描述gemspec文件gem的规范说明
一、认识RubyGems
1、什么是RubyGems
RubyGems是ruby下的包管理系统。最著名gem的当属Rails
2、gem的基本文件布局
文件名类别描述gemspec文件gem的规范说明
从rails回到了php
从rails回来,重新用起了php,起因还是由于rails render一个63k的view要多花去10ms,这个view就一个erb fragment缓存,,即由原来每个响应20ms下降到30ms,降低了足足50%,很受伤,后然尝试使用merb,但mer
ruby稳定版已更新为1.9.1-p0
今天发现stable version已从1.8.7升至为1.9.1-p0。一会测试一下兼容性和性能的提升。
相关链接
Ruby官方网站
--2009-02-10补充--
到正式可以用至少还要1个月,许许多多gems都还未能兼容1.9.1。部份版本已出了
相关链接
Ruby官方网站
--2009-02-10补充--
到正式可以用至少还要1个月,许许多多gems都还未能兼容1.9.1。部份版本已出了
rb_yield让ruby/c++更加紧密
用c++写ruby模块提升性能效果显著一文让我初尝甜头,但未免连render都用c++也太得不尝失。自从使用了rb_yield,一切问题迎刃而解。
如代码
class Test
def foo
yield
end
end
相对
如代码
class Test
def foo
yield
end
end
相对
用c++写ruby模块提升性能效果显著
对于生成600项item的树型目录。
纯ruby代码大约200ms
包括rails初始化(0-6ms),mysql查询(0-2ms),树型生成(20-30ms),递归render,其它。
经过c++重写后,全部只需10ms。实在太爽啦。
如果那递归re
纯ruby代码大约200ms
包括rails初始化(0-6ms),mysql查询(0-2ms),树型生成(20-30ms),递归render,其它。
经过c++重写后,全部只需10ms。实在太爽啦。
如果那递归re
使用SWIG扩展ruby性能
在使用ruby/rails的过程中,确实发现有时性能不尽人意,如生成一个拥有600项的item的3层树形结构目录要花去20ms,为提高性能在学习用c/c++写ruby模块的过程中,认识了swig,rubyInline等一系列帮助编写c/c++来提升ru
Rails 使用Haml代替Rhtml
什么是Haml
Haml,一款简洁的的类似Rhtml的插件,可以极大的简少写xhtml等视图代码的量。
安装haml
安装gem
sudo gem install haml
安装haml plugin至rails
haml --rails [rails
Haml,一款简洁的的类似Rhtml的插件,可以极大的简少写xhtml等视图代码的量。
安装haml
安装gem
sudo gem install haml
安装haml plugin至rails
haml --rails [rails