那个帖子的沙发回复“但是日本的 Emcas 用户很多,怎么说?”真是高端黑啊
可以使用 upyun 的表单 API 上传功能,相当于客户端直接上传到 upyun 的服务器,用 callback 来通知自己的服务器,这样不占用服务器的上行带宽。
翻 sinatra 的源码吧,在 base.rb 里面对 rack request 的 params 做了处理
ActiveRecord::Base => ActiveRecord::Model => ActiveRecord::Core private relation method
sort_by 是先给每个元素生成一个用于排序的值,然后再调用 sort,将该值做 x <=> y 的比较得出结果,而 shuffle 直接用 Fisher Yates 洗牌算法,效率差很多的。
自从 thinkpad 被联想毁了以后,就没有什么好的 windows 笔记本可以推荐了。
我目前在用 acer AS5750G, 3500 左右,再自己配个 8G 内存,安装 ubuntu, 用来做开发足够用了。
windows 下的独立显卡,全屏高画质跑 diablo3 也很流畅。
缺点是电池不给力,不过我是长插电源当作台式机来用。
这个问题我早就骂过,如果不能升级内核,默认的镜像就应该将内核版本锁定,而不是弄个提示在那边,从诸多细节可以看出整个平台是否靠谱。
顺路推荐一下 git flow 比如#14 楼 @happypeter 的情况,就可以: git flow hotfix start xxx
git flow 就是通过命令将 hotfix/feature/release 等流程规范化,很适合团队开发。
#16 楼 @ruohanc 如果用 Java 的 AOP profile log 例子来对应,简化后的 ruby 代码如下:
class Object
def self.profile(method)
_prof_method = "prof_#{method}".to_sym
alias_method _prof_method, method
self.send(:define_method, method.to_s) do |*args|
start = Time.now
result = self.send(_prof_method, *args)
p "#{method} runs " + (Time.now - start).to_s
return result
end
end
end
然后你给需要做 profile 的方法声明一下:
class Hello
def world
p "world"
end
profile :world
end
如果你想要做得更容易调用,不想侵入 Object root class,就用 module/include 的 mixin 方式来做。 如果你想运行期间添加,就 open class。
不过我还是要多说一句,这种只能用来做玩具例子,实际上要做 profile log 的情景比这个要复杂很多,AOP 不适合做这个。
java 里面的各种设计模式在 ruby 里面在语言层面就已经解决了。 比如 Iterator,比如 Mixin,比如 Singleton,比如 Observer...
像日志这种用 AOP 做示例能够解决的需求,都是伪需求,以前写 Java 的时候,写过的 AOP Logging,现在回头看看都是玩具。
看你们讨论那么热烈,我反复看了 2 次,还没明白具体需求是什么。开始怀疑我的阅读能力了...
试试看将 solr/conf/schema.xml
文件的 index 和 query 的 analyzer 分开,然后给 query 添加一个 PositionFilterFactory
<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer type="index">
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dict"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dict"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PositionFilterFactory" />
</analyzer>
</fieldType>
这个配置是很早之前写的,具体的配置得咨询熟悉 solr 的人或者查配置了,好久没有用 java,都记不起来了。
是因为搜索的关键字没有经过分词缘故?
当事人跑过..., 这个域名备案关机不通知太恐怖了,难道我可以随便注册个域名,指向竞争对手,然后举报一下,对方就歇菜了?看来得在 nginx 上严格配置域名啊,不能随便用个 localhost ...
t.column :country_code, "char(2)"
还有种做法是加个 force:
create_table :xxx, :force =>true
ruby 1.9
1428.to_s.each_char.map(&:to_i)
小贴士 1, 我作为果黑来说,Ruby 开发最好的环境是 Ubuntu, :) 2, Slim 是比 erb 更好用的 html 模板 3, 对于开源项目,最好的共享是 fork and send pull request 4, Git flow 是规范团队开发和版本控制的利器
月薪只有 5K 的含泪飘过,而且还被拖欠了 2 个月工资
rspec 和 unit test 都用过,个人还是比较喜欢 unit test 的简洁,rspce 比较方便的是可以单独执行一个 spec 文件里面的一小段,而 unit test 没有找到对应的方法。
这种属于运维的脚本,推荐使用 puppet,对 puppet 不了解的可以看一下这篇: http://mudge.github.com/2011/08/11/managing-web-application-servers-with-puppet.html
puppet 是基于 ruby 的,很易用。
search 里面应该是用 fulltext 吧,你在 console 里面用的是 keyword
Post.search { fulltext 'blah' }
a.created_at.to_date == b.created_at.to_date
不喜欢圆形,喜欢的用户自己上传圆形头像就好了啊
基于 snmp 协议的开源监控软件一大把,nagios, cacti, zabbix, zenoss 等等,看你的需求自己试用吧。