`
pingfeng
  • 浏览: 59259 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
C++的宏大家用得很开心,但可读性不太好。 宏就是代码级动态,非运行时,是非常有需求的!   Ruby的define_method和class_eval都有闭包能力。但有时可读性也不那么好,class_eval更是。   例子: class Class def plugin class_eval do def self.print p 'inspect me!' end end end end module Core def plugin_d klass define_si ...

freebsd常用命令

  ========== ipfiter     马上应用规则   ipf -Fa -f /etc/ipf.rules   ipfstat   ======== sysinstall   /usr/sbin/sysinstall   ======== 设置网卡ip后马上生效   sh /etc/netstart   ====== 服务 脚本目录 /etc/rc.d /usr/local/etc/rc.d  
freebsd以强有力内核,安全稳定,同时方便的port系统也是最吸引人的地方。   不过,这两天用port遇到ruby版本的问题,好在port也是开放系统,略加研究就能搞定。同时对ports有了个很好的了解。   问题:   freebsd下的ruby总是默认用1.8,装gem也都是装到1.8下,而之前用port装的默认即为1.9,非常迷惑!而生产环境也必须要用1.9环境。   探索:   查看ruby-gems, ruby19下的makefile未发现有硬编码用ruby1.8的内容。找资料研究ports系统。ports本质还是unix下的makefile控制软件编 ...
freebsd用整体解决方案,简约内核打动我们。用它一个更大的理由是它出色的软件包管理。unix/linux下的免费软件远要比windows下的多,不论用port还是, pkg_add都是非常方便!   回到正题,任何东西只有能度量,才能进度。服务器硬 ...
freebsd以其简洁、高效、安全完全征服了我,相见恨晚。其气质就是有追求的程序一样,什么可以被清清楚楚,明明白白的看到,控制到。再也不用suse, redhat这些发行版,太花了。先从一个nice的内核开始!   ===================   ...
以前做过一个打包下发查询(从设备查询)的组件,再在基础上做策略,把应用软件的性能提升了1-2个数量级。   现在以数据库为中心的软件设计中,设计中除了要利用nosql数据库中schema-free这种特性外(长项)。应用层,还 ...
# require 'rails/all'   只留三个组件,test_unit在生产环境下,也可以不要!   require "action_controller/railtie" require "action_mailer/railtie" require "rails/test_unit/railtie"     去掉active_record, 和active_resource能节约一些内存,服务器软件一定尽量节约内存,因为我们还 开发环境 ,mac系统   起动后             ...
textmate默认的光标移动是类似emacs的。 其实vim的快捷键很让人怀念。如左右上下的光标移动。还有dd, yy这些有意思的键。   但emace也非常不错!如ctrl+k, ctrl+e  都是容易让人记住的。   c-f : 向右移动光标 c-b : 向左移动光标 c-n : 向下移动光标 c-p : 向上移动光标   用不用方向键可以看出是不是真正的键族!   c - ← :移动一个单词向左 c-→ : 向右移动一个单词   这比用alt 加方向键要好用!   =========   ctrl + t :调换选中文本顺序,如果没 ...
写道 it "should load classes only once" do autoload_dir "#{spec_dir}/only_once" check = mock check.should_receive(:loaded).once ClassLoader.add_observer do |klass| klass.name.should == "OnlyOnceSpec" check.loaded end OnlyOnce ...
ruby动态语言可以做到不停机系统,就是升级部署不断服务!这是多么美好,像静态语言是做不到这一点。   要实现这一美妙、强大能力之前,要小心所以重入。在实践中发现一个bug,由重入造成的死循环!   def to_json_with_children(options={}) push_children_objects to_json_without_children(options) # to_json(options) end alias_method_chain :to_json, :children   上面代码两次重入,就会 ...
闭包的例子一般是在说ruby的块,特片是:访问本地变量和绑定运行上下文(很强大的两点)   nums = [10,3,22,34,17] sum = 0 nums.each{|n| sum += n} print sum   近来看mongoid的代码,发现define_method也能绑定运行上下文!   def getter(name, metadata) tap do define_method(name) do |*args| reload, variable = args.first, "@#{name} ...
用mongo的ruby driver进行测试。 测试脚本见附件   测试基本结果:                                                   |   MONGO | ----------------------------------------------------------- find_one,find_first                       x1000 |   0.223 | find by id                                x1000 |   0.304 | ...
测试环境:   型号名称:    iMac   处理器名称:    Intel Core 2 Duo   处理器速度:    3.06 GHz   处理器数量:    1   总核心数:    2   L2 高速缓存:    3 MB   内存:    4 GB   总线速度:    1.07 GHz测试方案: ...
  改造了一下AR的测试脚本(见附件),测试在大表下的AR全方位性能。   经过测试发现,有索引的情况下,ActiveRecord的CRDU都可以保证在0.1-1ms下完成。但在没有索引的情况下,遍历全表,就很意思了!   1. 遍历:一万条记录遍历在5-11ms, 在可用性范围内。但一百万条记录,在0.6-2s内,显示达不到可用性要求了。百万条记录查找一定要有索引。   2. 非平衡:对两张不同的表(记录数)相同,查找性能是截然不同的。 exhibit表里有大字段,查找性能就比user表差很多。   3. 非线性:随着纪录数增加,遍历查找性能下降(非线性下降)。由其是含有 ...
ctiveRecord在ruby 1.9.2和1.8.7下的性能测试测试方案: 1. AR自带性能测试方案:向mysql user表和关联表里插入一万条记录。AR3.0.4 运行lib/example目录下的performance.rb 2. AR自带性能测试方案:向mysql user表和关联表里插入一百万条记录。AR3.0.4 运行example目录下的performance.rb 测试目的: 1. 测试AR的new, create ,update, find, all, destroy, find_by_sql的性能. 2. 测试AR在1.9. ...
Global site tag (gtag.js) - Google Analytics