摘要:
摘自: 搞定网页打印自动分页问题设计过程出现一个困难问题,一个php生成的HTML页面有多个表格,要求必须自动分开打印到几张A4纸张上面.经过询问资深人士,结果统一回答,HTML页面无法做打印时自动分页面打印.于是乎正准备放弃这个分页面打印念头,郁闷着被笑话着被困扰着./************wo最近有个项目刚好也有这强行分页打印的需求************/一个表格被分开打印到两张A4上,多难看啊....无意中翻阅CSS,发现里面有两语句:page-break-beforepage-break-after分别对应的 参数是: auto; always; left; right;于是尝试建 阅读全文
摘要:
INSTALL=======$ gem install rspecRSPEC-RAILS=========== RAILS-3 ======= CONFIGURE THE GEMFILE ====================== group :development, :test do gem "rspec-rails", "~> 2.0" end INSTALL THE BUNDLE =============================== $ bundle install BOOTSTRAP THE APP ============= 阅读全文
摘要:
如何编写Ruby控制台程序(一)ByYUANYI ZHANG|Published:JUNE 24, 2007这是来自O’Reilly Network的一篇关于如何如何使用Ruby及ActiveRecord编写控制台程序的教程,文章通过一个例子程序EarGTD演示了编写控制台程序需要注意的方方面面(文件布局,数据库连接等等),作者是Gregory Brown,你可以在这里找到原文。抛弃Rails如果你一开始就是通过Rails来学习Ruby,那么你很可能会发现,你需要学习的东西实在是太多了,这是因为Rails虽然只是一个框架,但它和Ruby的结合非常紧密,因此,你有可能会搞不清楚,到底那些东西是属 阅读全文
摘要:
rubyGems 是什么? RubyGems(简称 gems)是一个用于对 Rails 组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。 RubyGems的功能类似于Linux下的apt-get。使用它可以方便第从远程服务器下载并安装Rails。 打开命令行窗口(cmd),输入执行命令 gem install rails --remote 或 gem install rails--include-dependencies。1. gem on railsLink or freeze RubyGems into your rail 阅读全文
摘要:
Matz, Koichi访谈(三):多线程ByYUANYI ZHANG|Published:JULY 23, 2007问:让我们谈谈多线程吧,这可以算是新版本比较大的改动了,你们分别谈谈1.8和1.9中的线程模型吗?Matz:老的线程模型属于绿色线程模型(最早出现于Java语言中,指线程不是由操作系统,而是由虚拟机进行调度,详细请参看维基百科),不管运行于那个平台,它都只提供一个全局唯一的线程,在14年前我开始开发Ruby时,这是一个正确的决定,但是随着时间的推移,这个决定变得不再合 适,因为大部分平台上都已经提供了诸如pthread或者是类似的线程库实现,pth库(一个使用setjmp实现p 阅读全文
摘要:
REST on Rails之资源嵌套ByYUANYI ZHANG|Published:SEPTEMBER 17, 2007REST认为一切都是资源(Resource),但并不是所有资源都是平行对等的,资源之间也有从属关系,要建立这种资源的层次关系,就必须将资源进行嵌套(nested resource)。以Blog系统为例,假设每个用户拥有一个Profile,以及多个Blog,那么我们可以这样建立资源的嵌套关系,修改route.rb:# profileGET /users/1/profile = ProfilesController#showGET /users/1/profile/new = 阅读全文
摘要:
REST on Rails之自定义路由ByYUANYI ZHANG|Published:SEPTEMBER 26, 2007要扩展你的REST路由,可以通过设置map.resource的:collection,:member或者:new选项来实现:map.resources :projects, :collection => {:rss => 'get'}map.resources :projects, :member => {:close => 'post'}map.resources :projects, :new => {:v 阅读全文
摘要:
for循环与each的区别ByYUANYI ZHANG|Published:FEBRUARY 15, 2008for和each的区别主要在于:for是通过调用each实现,因此for更慢一些for会在each的scope之外创建一个局部变量,这在某些情况下会引发问题关于第二点,下面的代码可以很好的说明这个问题:irb> [1, 2, 3].each do |m| puts m endirb> puts mNameError: undefined local variable or method `m' for main:Objectirb> for n in [1, 阅读全文
摘要:
在Migration中操作新添加的字段ByYUANYI|Published:MAY 22, 2008在有些情况下,我们需要在某个migration中对新增加的字段进行操作,比如下面这个将name改成first_name和last_name的migration:def self.upadd_column :profiles, :last_name, :stringadd_column :profiles, :first_name, :stringProfile.find(:all).each do |profile|profile.first_name = profile.nameprofile 阅读全文
摘要:
配置ActionMailer使用GMail发送邮件ByYUANYI ZHANG|Published:NOVEMBER 26, 2008这个问题由来已久,比较了一下几种现有的解决方案,最后发现Robert Bousquet的方案是最简单的。1. Robert只提供了一个源码下载链接,不是很方便,我将它放到了github上:$ script/plugin install git://github.com/yzhang/smtp_tls.git2. 修改environment.rb:require "smtp_tls"mailer_config = File.open(" 阅读全文
摘要:
Ruby Metaclass详解ByYUANYI|Published:FEBRUARY 18, 2008来自whytheluckystiff.net。—————————————–如果你是Ruby Metaprogramming的新手,那么下面的代码或许会帮你找到一点感觉:class Object# The hidden singleton lurks behind everyonedef metaclass; class << self; self; end; enddef meta_eval &blk; metaclass.instance_eval &blk; 阅读全文
摘要:
如果你不曾失败,只因你从未尝试ByYUANYI ZHANG|Published:MARCH 10, 2011Dan shipper的这篇文章很有趣,里面抛糖果的那个练习很有新意,翻译如下:我有一条关于成功的理论:如果你未曾失败,只能说明你从未尝试。你可以从失败中学到这个世界是如何在运转,如果你能够回过头来重构每一个导致你的公司,项目或是感情走向失败的细节,你会得到同任何一个成功故事教给你的一样多的收获。现在的问题就是,怎么得到等多的失败?对我来说,我们大部分人生活都或多或少受到个人边界的限制,这其中最大的一个边界就是我们对失败的恐惧。现在我们有了一个目标:对失败的恐惧,那么如何才能客服它?其实 阅读全文
摘要:
Rails应用性能优化1ByYUANYI ZHANG|Published:JUNE 11, 2007是否觉得你的Rails应用响应速度过于缓慢呢?这是RailsConf2006上的一篇关于Rails应用性能优化的演讲稿,希望能够对你有所帮助。在优化你的应用之前,我们首先需要明确以下几点:不先进行性能测试就盲目的优化是非常愚蠢的如果你的应用是因为设计不合理而导致性能低下,那么我建议你最好花点时间重构你的代码,而不是进行局部的优化,这只会使问题越来越多。在优化之前,最好先为自己树立一个目标,这样可以防止因为过度优化而浪费时间,达到预期的目标后就该适可而止没有必要对每一个页面都进行优化,只需要关注那 阅读全文
摘要:
11个技巧助你找到一份Rails工作ByYUANYI|Published:DECEMBER 29, 2007Ruby Inside刊登了John Philip Green的一篇帖子:11个技巧祝你雇到一名Rails开发者(11 Tips on Hiring a Rails Developer),实际上,如果从另一个角度来看,这些技巧也同样适用于要找Rails工作的人。作者首先讲了为什么找一份Rails工作很难(雇一个Rails开发者很难):使用Rails开发的公司很少,不过你应该感到幸运,因为你走在了潮流的前面工作经验总是简历中最被看重的一项,但是.net和java的经验对于你的简历往往起不到 阅读全文
摘要:
如何采访Ruby/Rails大牛ByYUANYI|Published:JULY 28, 2008互联网让记者这个职业变得没有门槛,只要愿意,任何人都可以成为网络记者,尤其是网络技术记者,你甚至都不需要与采访人见面,只需准备一些问题,然后去封邮件就OK了,当然被采访人一般都会很繁忙,因此要让你的邮件脱颖而出得到回答,你就需要多提些有趣的问题,没有有趣的问题?那也没关系,Joseph Wilk为你准备了一个采访Ruby/Rails牛人的问题清单,你只要照着问就可以了,以下就是他列出的9个问题:如果有一架无人驾驶客机,并且它的控制系统是由Rails编写的,现在有机会来抢先体验它,那么您会选择它作为你 阅读全文
摘要:
Rails性能优化简明指南ByYUANYI ZHANG|Published:JULY 21, 2010最近多背一公斤的网站由于前段时间加了太多功能,但是没有考虑性能问题,导致速度下降,内存占用剧增,apache频频重启,需要进行优化,于是花了点时间学习了下rails的优化,整理成这篇文章,希望对遇到同样问题的人有用。基本原则大部分讲优化的文章都会在开头讲到优化的基本原则:1. 不要过早优化,这里必须要提到Donald Knuth的名言:过早的优化是万恶之源,Premature optimization is the root of all evil,在你的应用还没有遇到性能问题之前,不要为性能 阅读全文
摘要:
RoR部署方案深度剖析博客分类:RubylighttpdRailsnginx应用服务器RubyRoR的部署方案可谓五花八门,有Apache/Fastcgi方式的,有Nginx/Mongrel方式的,还有lighttpd/Fastcgi方式,也有人使用HAProxy/Mongrel,各种部署方式都是众说纷纭,让人搞不清楚哪种方式更好一些。我的这篇文章就是希望结合我们运营JavaEye网站一年多以来的经验(通过统计Rails的production.log,JavaEye网站目前每天处理超过70万200 OK状态的Ruby动态请求,应该是国内目前负载量最大的RoR应用了),为大家剖析RoR部署方案的 阅读全文
摘要:
摘自推荐一篇很好的RoR部署方案性能评测博客分类:RubyRailsnginxlighttpdApacheGoogle今年年初的时候,我写了一篇RoR部署方案深度剖析的文章,分析了Rails的进程运行方式下各种部署方案的优缺点,以及采用什么部署方案最优的话题。当时我没有给出具体的性能评测数据,因为我觉得运行的机制原理很清楚的情况下,没有做评测的必要性。但不管怎么说,一份详细的性能评测数据还是更有说服力,因此我很欣喜的看到ShiningRay的这份评测报告有多么宝贵的价值。浅析Ruby on Rails部署方案ShiningRay的博客文章在这份评测报告当中,ShiningRay给出了更多的主流 阅读全文
摘要:
摘自:JavaEye网站的RoR性能优化经验谈博客分类:RubylighttpdRailsRuby应用服务器LinuxJavaEye网站从2006年9月11日上线基于RoR的2.0版本开始,到现在已经运行了将近一年半了。在这一年半的时间里,JavaEye网站的每日PV从最开始的5万,缓慢增长到了现在的60万。随着网站负载的不断增加,我们也在不断尝试和调整网站的性能,积累了不少第一手RoR应用性能优化的实战经验。虽然我们并不是RoR性能优化的权威专家,我们所积累的经验也许并不是最优实践,但是作为国内最早涉足RoR商业运营的互联网网站之一,我们非常乐意分享和交流我们的实战经验,以帮助后来者节省必要 阅读全文
摘要:
NoMethodError in ProductsController#createundefined method `tittle' for #<Product:0xb67f6fdc>Rails.root: /home/fandy/RailsCode/depotApplication Trace|Framework Trace|Full Traceapp/controllers/products_controller.rb:46:in `create'app/controllers/products_controller.rb:45:in `create' 阅读全文
摘要:
1.情况1: "bundle install" command or "gem install mysql2" it gives me following error"Error installing mysql2: ERROR: Failed to build gem native extension."解决方案: sudo apt-get install libmysql-ruby libmysqlclient-dev gem install mysql22.情况2: 安装mysql时候 改变了安装目录,checking for 阅读全文
摘要:
使用Rspec进行行为驱动测试 :require 'machine' describe Machine do #Machine 是要测试的类名 before :each do @machine=Machine.new([:shopping,:checking_out]) @machine.events = {:checkout =>{:from => :shopping, :to => :checking_out}} end it "should initially have a state of the first state" do @ 阅读全文
摘要:
有时候会安装多个ruby,或者rails ,(如系统自带了老版本ruby,自己又稀里糊涂安装了个新版本),但是使用的时候发现,ruby -v 出来的并不是自己想要的版本。这里就涉及到环境变量中路径搜索先后关系,甚至是没有设置好ruby或rails环境变量。开始吧!以下就以rails为例:1.查看当前rails版本,rails -v2.查看当前正在使用的rails路径: which rails3.查找系统内所有已经安装的的rails; find / -type d -name "rails"4.设置环境变量,原则是根据步骤3得到的结果,把自己想要的那个放在前面。具体设置方法见 阅读全文
摘要:
版权声明本文是zhyfly兄贴在LinuxSir.Org 的一个帖子而整理出来的,如果您对版权有疑问,请在本帖后面跟帖。谢谢;本文的HTML版本由北南南北整理;修改了整篇文档的全角及说明文字中的单词中每个字母空格的问题;为标题加了编号,方便大家阅读;前言:关于find命令由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的 阅读全文
摘要:
追求代码质量: 亲身体验行为驱动开发http://www.ibm.com/developerworks/cn/java/j-cq09187/使用 RSpec 进行行为驱动测试http://www.ibm.com/developerworks/cn/web/wa-rspec/行为驱动开发(缩写BDD)是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。BDD最初是由Dan North在2003年命名[1],它包括验收测试和客户测试驱动等的极限编程的实践,作为对测试驱动开发的回应。2009年,在伦敦发表的“敏捷规格,BDD和极限测试交流”[3]中,Dan N 阅读全文
摘要:
有人戏称史上最强的vim配置==> .vimrc http://amix.dk/vim/vimrc.html缓慢更新:关于vim的使用:编辑,内部命令,设置,插件安装使用。 阅读全文
摘要:
Ruby 开发环境,rails 开发环境 搭建:只需要安装下面几个插件即可 实现一个强大的支持语法高亮、自动补全、语法错误分析的ruby rails 开发环境vim 插件:pathogen.vimhttps://github.com/tpope/vim-pathogenrails.vimhttps://github.com/tpope/vim-rails#readmehttp://www.vim.org/scripts/script.php?script_id=1567ctags http://www.vim.org/scripts/script.php?script_id=610taglis 阅读全文
摘要:
将你的程序所用到的密码和API证书号保存在一个自定义的配置文件中。我使用一个YAML并沿用了database.yml类似的格式。有需要的时候就使用常量。不要重复诸如客服邮件地址这类字符串,而是将它们保存在常量中(可以保存在environment.rb或者自定义 的配置文件中),然后在整个程序中使用该常量。尽量使用UTC时间,这可以使应用程序看起来更加一致性。(不过Rails 2.1的Timezone可提供更好的功能)请勿在一个 ActiveRecord 数据模型中遍历其它的数据模型。那样的话会产生大量的SQL查询操作。正确的实现方法是:1)如果多个数据模型已经相互关联,那么可以使用 find( 阅读全文
摘要:
from:http://vinsol.com/blogAt VinSol, we have been developing and deploying Rails applications for more than four years. During this period, we have identified some best practices that we prefer to follow while deploying rails application to production server.Below is the checklist of these practice 阅读全文
摘要:
Rails每周一题(六): Security Guide(上)SecurityRails应用服务器Ruby网络应用此篇文章总结自:http://guides.rubyonrails.org/security.html谢谢某同学的提醒。Web应用存在的安全问题包括账号劫持,绕过访问控制,读取或者修改敏感信息或者显示欺诈内容等。通过security guide系列篇让我们一起来看看应该如何正确使用Rails来克服这些问题。在上篇中,主要描述对session的攻击,以及应对方法。首先简单介绍一下session的基本概念和一些普遍攻击方法。什么是SessionSession是一个保存特定用户信息的哈希 阅读全文
摘要:
前言2006初,我接到了公司分配的一个遗留项目,让我负责一个基于C/S的系统的服务器端。其实是系统是基于HTTP协议的,因为负责客户端的同事对于服务器端编程不甚了解,虽然使用PHP对熟悉C++的他来说是驾轻就熟,但是在进一步实现更多的功能和更高的性能上就捉襟见肘了。项目是在非常突然的情况下交给我的,因为该同事在客户端上有更多的事情要做。我在分析了他的数据库结构和PHP源代码之后,决定按照与客户端的通讯协议重写他的服务器端。为了能应付老板苛刻的时间限制,我打算使用正在学习的Ruby on Rails。后来,项目在功能上非常顺利地交付了。两年过去了,随着客户端数量的不断增加、客户端功能的增加、与服 阅读全文
摘要:
招聘信息,上海:目前我们的热招职位是C++软件开发工程师和测试工程师,。数据仓库架构师,软件测试工程师,软件工程师(Java开发专员)研发经理.请将简历发送至($替换为@)todototryhr$gmail.com(请在邮件主题中标明职位名称).注::1.外企,2.对外语有一定要求。3.待遇非常不错。我替朋友发的。您也可以将本消息转发给您 正在找工作的朋友,以表示关心。--Data Warehouse Architect数据仓库架构师JOB RESPONSIBILITIESWe are looking for a Data Warehouse Developer that will contr 阅读全文
摘要:
#Class describ ------rdoc rules#= headers#this is header content#== sub header# this is sub header content#=== sub sub header# this is sub sub headerclass Animal attr_accessor :name #-------------① #this is the comment for the 'new' method ! def initialize type name = type #-------------② en 阅读全文
摘要:
Ruby 错误提示:class/module name must be CONSTANT=beginbegintocommentthisisalsocomment=endputs"noLonggerComments";#rdocrules#=headers#thisisheadercontent#==subheaders#thisissubheadercontent#===subsubheaders#thisissubsubheadersclassanimal#thisisthecommentforthe'new'method!definitializety 阅读全文
摘要:
摘自InfoQ 如何进行高效的Rails单元测试 作者 李冠德 发布于 2011年6月18日 社区Ruby 主题单元测试 ,Ruby on Rails 标签RSpec ,Rails ,Mocks 分享 | 在笔者开发的系统中,有大量的数据需要分析,不仅要求数据分析准确,而且对速度也有一定的要求的。没有写测试代码之前,笔者用几个很大的方法来实现这种需求。结果可想而知,代码繁杂,维护困难,难于扩展。借... 阅读全文
摘要:
how is that 43 Things Tags: windows live writer 阅读全文
摘要:
让你大脑变冷静的28句英文 1. When I say I know you,I mean I knew you yesterday. I do not know you actually now。 当我说认识你的时,我是说我认识昨天的你。我不认识现在的你。 ——Kaishnamurti 克里什纳默尔迪 2.Wonders are many,and nothing ... 阅读全文
摘要:
<< 如何与室友融洽相处陈海泓:听力完全攻略 >>不要活在别人的生活里提交者: kfwebadmin 日期: 2007/06/06 阅读: 5860 评分: 8.40/361文章来源:http://www.kaifulee.com/modules/bbs/viewthread.php?tid=1110351,你们的时间有限,所以不要浪费时间活在别人的生活里。电视剧和电影要尽... 阅读全文
摘要:
__cdecl /* _cdecl 是C Declaration的缩写,表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈。被调用函数无需要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。 _stdcall 是Standard Call的缩写,是C++的标准调用方式:所有参数从右到左依次入栈,如果是调用类... 阅读全文
摘要:
学了这么久的 C 竟然一直没有发现 TC 里面附带了这么好的一个例子。。。真是杯具啊、。 代码 阅读全文