加油~~
#7 楼 @simlegate 拍扁就可以了,s3_bucket.a=xxx,其实配置也不需要太复杂的结构,一般 key-value 就够了。
#4 楼 @wppurking 也不一样……
据说,Bundler 和 Rubygems 要合并了
#5 楼 @hungyuhei 不不不,secrets.yml 和 database.yml 是一样的... Rails 一直就支持 yml 里内嵌 ERB。区别是 ENV 从哪里来、如何集中化管理,Rails 没给出什么方案。dotenv 解决的是这个问题。
典型的属性组设计嘛,可以看看 spree 的,没有 model annotate,自己翻 migration 吧:
发现一个可以做类似 heroku db:pull 的 gem
试了一下爽爆了:
$ cap production db:pull
这不是技术实用主义,这是技术虚无主义……进入到ruby这个领域就没有遇到过什么太多太深的问题
说明应该换个环境了。
Awesome.
#9 楼 @blacktulip :plus1: mongodb 更过火了,http://www.databasesoup.com/2015/12/meet-newest-member-of-postgresql.html
#7 楼 @rubyu2 你这段会把原有的 null 约束和 default 值弄没... 改了一下,Rails4 测试通过,其他没测:https://gist.github.com/hooopo/9310986e87200828e5e9
Side project 是什么
看了一下 impressionist 的实现,感觉略粗糙,其实完全可以抛弃这个 gem,没提供什么(有用的)功能。
默认created_at
上居然没加索引,感觉这个 gem 作者设计的时候就没有考虑要通过时间去过滤(比如最近 7 天)这种场景。自己加的话 pg 需要用 Expression Indexes
,mysql 的话可能要再冗余出一个 date 列才能满足即在 datetime 又在 date 上过滤的需求了...
再加上你提到的 params 存成 text 很快就会让这个功能变得不可用,因为这种场景下,impression 表行数增长的是非常快的,如果要全表查出来用 Ruby 过滤死的会非常惨,存成 jsonb 再加索引是不错的选择。
impression 里用了很多 counter cache 去做预聚合,其实对于多维分析(时间、渠道)场景也是没什么用处的...多维分析还得去在查询上优化。
这种需求似乎可以用 GA 的 custom dimension 或 event tracking + custom report 来实现,不知百度统计有没有对应的。如果考虑 GA 被墙,自己搭piwik也不错,但略重。
最近尝试通过 Fluentd + Elastic 来反爬,原理就是通过找出某段时间内访问频次高的 IP,再结合这个 IP 的轨迹和 UA 判断这个 IP 是谷歌爬虫还是野爬虫。Fluentd 支持实时发送 log 到 elastic,也可以异步从 log file 里提取数据再批量 import 到 elastic。
当然,这个架构对多维分析场景仍然适用。
#14 楼 @jiyinyiyong 坑长……
#2 楼 @realsatan MySQL 5.1,,,,,你们 PHPer 都是从外星来的?
#8 楼 @ywjno 明白,V2EX 之前就不支持+
,然后就有了这个 PR^_^:https://github.com/livid/v2ex/pull/17
#5 楼 @happyming9527 如果 EC2 适合自己搭建 Redis 的话那么 还有谁去买 RDS 之类服务?
和 AWS 的 elastic chche 类似吧,虽说协议兼容,但功能其实不是完全兼容的,比如配置可能就不一样...
话说,云服务刚开始还很方便,慢慢就烧钱了,开个服务就是烧 RMB 的。
所以奥卡姆剃刀原则在云时代有了新的内涵。
咦,老同事...你也在广州啊
#11 楼 @ruby_xiaojie 嗯,简历发来看看咯。
SendCloud ...
redis-server 的配置是怎样的,如果被配置成 LRU cache 模式在内存满了的时候是会丢失信息的。
如果不是这个原因的话,还可以进一步确认一下,丢失的 job 相关的内容是仍然存在 redis 里面还是被 sidekiq worker 消费掉了。