`
Hooopo
  • 浏览: 328875 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
Why ERD 数据库模型是你的应用的核心,描述数据表、数据类型、实体关系和约束,是项目开发阶段最重要的沟通手段。清晰的ERD可以便于团队理解需求,掌握应用的全貌。 应用场景 初创项目 对于初创项目或者新的需求,能 ...
HTTP Link From HTTP Page: http://o84x25gr9.bkt.clouddn.com/a.html HTTPS Link From HTTP Page: https://o8508s1y5.qnssl.com/a.html
https://db-china.org 
在微薄上看到这样一篇文章竟然被转发近上千次了,并且还是好评如潮............ http://blog.csdn.net/m13666368773/article/details/7177128 上面那篇文章写的根本不在点上呀,实在看不下去了: 引用第一,你这个查询列车信息的querySingleAction.do,能不能不要把这些HTML也传过来呀。你用JS写能死么。 理论上传JSON占用的宽带最少,其实传HTML还是传JSON在服务器端开启gzip压缩的情况下差别不大呀,传HTML比JSON方便多了........... 所以,本质问题不在于传输什么,而在于没有开启压缩.. ...
Ruby在很多方面是一个更优雅的Perl,从Perl社区继承了很多文化。其中之一就是:以verbose warning模式运行Ruby。 Ruby是一个非常宽松的语言,她运行你访问一个未定义的实例变量,允许你动态对原有的类的方法进行增删改查操作,甚至允许你给一个常量重新赋值… 但这仅仅是允许,并不代表Ruby支持你这样做。 以warning模式运行你的程序,这样就可以为你发现一些不小心而犯的错误,比如拼写错误和无意的覆盖了别人的方法。 不幸的是,默认情况warning模式是关闭的,你可以在运行Ruby时加上-w参数来开启。 如果你你的代码有一些洁癖,每次运行程序开启warning模式, ...
Active Record 提供 find_each来分批处理大量数据. 但是,当数据量在百万级别或是更多的时候find_each也会变得很慢。 采用像Resque这样的异步处理插件是一个不错的选择: User.find_each {|user| Resque.enqueue(MyJob, user) } 但是用Resque有时候又有点杀鸡用牛刀的嫌疑,使用forking! if GC.respond_to?(:copy_on_write_friendly=) GC.copy_on_write_friendly = true end jobs_per_process ...
Draper是一个Ruby gem,它让Rails model方便的应用Decorator模式,解决了传统Rails的两个问题: 传统Rails Helper一点也不OO,它更像过程式的代码 Decorator给model对象添加显示相关的职责,比如,你有一个Article对象,Decorator会重载published_at方法,以格式化后的形式输出给view: class ArticleDecorator < ApplicationDecorator decorates :article def published_at date = h.conten ...
最近看了一些Erlang,模式匹配是个好东西,简单的sum函数: sum([]) -> 0; sum([First|Rest]) -> First + sum(Rest). 突然想起来,其实Ruby里面也可以用模式匹配: def sum(list) return 0 if list.empty? first, *rest = *list return first + sum(rest) end 尾递归版本: def sum(list) sum_acc(list, 0) end def sum_acc(list, s) ...
普通情况下ruby调用系统命令行的过程是堵塞的,无论是用system还是``或是exec。 system命令会在命令执行成功后返回true,失败返回nil 不过如果system调用的命令以&结尾,ruby进程不会被阻塞,不管前面的命令是否执行成功都会立即返回true。 所以,史上最轻量级的ruby后台任务诞生了: system('echo "Hello" > ./system.log && sleep 5 && echo "Hooopo" > ./system.log 2>&1 & ...
Identity Map是Rails3.1的又一个新特性。 一、什么是Identity Map 引用Identity Map is a design pattern that: Ensures that each object gets loaded only once by keeping every loaded object in a map. Looks up objects using the map when referring to them. http://www.martinfowler.com/eaaCatal ...

websocket demo

    博客分类:
  • Ruby
地址:https://github.com/hooopo/websocket_sinatra_demo 用sinatra在写简单的web demo还是很方便呀 ominioauth太强大了,有这样一个插件可以减少很多重复的轮子了。 先挖个坑,慢慢修改~
method_missing是ruby里面一个非常cool的hook。rails里面很多特性都是基于method missing实现的。 但是method missing也不是那么完美。各种rails性能优化的文章都建议避免使用method missing,原因很简单,method missing的实现机制确实会是增加call ruby stack次数。 使用method missing + define method,调用一次method missing后动态定义方法来减少call ruby stack次数。 class A def method_missing(method_id ...
像微薄里面用户输入一个@会从服务器取出匹配的用户login name什么的。这种场景用前缀树比较节省空间并且效率高。fast trie——A super fast, efficiently stored Trie for Ruby。据作者说速度是灰常的快。。 地址:https://github.com/tyler/trie gem in ...
工具:imagemagick + tesseract-ocr   Tesseract-ocr据说辨识程度是世界排名第三,可谓神器啊。 准备工作: 1.安装tesseract-ocr sudo apt-get install tesseract 2.安装imagemagick sudo apt-get install imagemagick 3.安装rmagick sudo apt-get remove --purge librmagick-ruby-doc librmagick-ruby1.8 sudo apt-get install libmagick9-dev ruby1 ...
via:http://firecacada.blog.163.com/blog/static/7074376201122703045807/ 很长时间以来,我一直在观察某类行为,最近取了个名字叫“排泄型互动”。 排泄分三级。最重的一级当然是辱骂与下流的留言;次一级是理直气壮的弱智言论,比如抵制家 ...
Global site tag (gtag.js) - Google Analytics