• 这真是刚打瞌睡就送来了枕头,楼主是咱的贴心人👍 👍 👍

  • from https://github.com/rails-engine/action-store/commit/6c86875aa1fea686e64cb9f16c15d06a0f122962

    多态下存在问题(rails5.1),譬如:

    User < Application ;; end
    Buyer < User ; ;end
    Saler < User ; ;end
    
    Saler.first.create_action :like, target: Buyer.first
    
    Action.where(action_type: :like,  target_type: Buyer.first,  user: Saler.first ) .to_sql  
    #  => SELECT * FROM "actions" WHERE "actions"."action_type" = 'like' AND "actions"."target_type" = 'Buyer' AND "actions"."user_type" = 'User' AND "actions"."user_id" = 2 
    

    此处出现问题,user_type在sql查询中为基类User, 而非预期的子类名Saler , 导致查询的结果出错,即 like_buyers_count = 0 错误。按如下临时修正后正确 :

    # lib/action_store/mixin.rb 118-121行更改为
             user_count = Action.where(
                action_type: defined_action[:action_type],
                target_type: action.target_type,
                user_type: action.user_type,
                user_id: action.user_id
              ).count
    
    

    113行处或者有更多之处或许也应修改。

    或者另一个修改方向:在写入Action表时,使用与rails一致的写法,即存入基类类名,而非子类类名。 Action.first.update_attributes user: Saler.first

    哪个更好呢?:)

  • 👍

  • Ruby 的爬虫世界 at 2016年12月06日

    关于并发、并行、分布式等可扩展性问题,其实更多是爬虫之外:

    1. 并发:IO与cpu的同步问题,@oa414 提供了一个不错的库 parallel ,够用
    2. 并行: 这个涉及到具体的任务分解,但爬虫一般只涉及数据抓取,独立性强,似乎问题不大
    3. 分布式: 多台机器之间的调度与管理,不知有没有从chief puppet等网管项目中抽取出来的框架,可以即插即用。不过据说ansible 项目可以无agent部署,又是python占了上风😾

    @reducm "IP限制(挂各种代理[免费收费]" 这个,可否详细的讲一讲

  • Ruby 的爬虫世界 at 2016年12月06日

    验证码的问题,思考了一下,估计可归结为如下三方面:

    1. 静态验证: 典型代表即图片验证码。缺陷是,验证码是由算法生成且必须局限于能被人类识别的边界(字母+数字),因此,机器自然可以从人类的识别模式出发,再辅之以足够多的样本进行比对和学习,只要计算力足够强大,就能轻松破解。故对图片验证码的反破解思路之一即剔除模式以加大计算边界,譬如 12306 式的看图选择 或者 问答题式的验证。

    2. 动态验证: 但对于云打码这类平台,再复杂的看图答题也无济于是。问题出在验证码是以静态的图片、文字或录音等方式存在的,爬虫可以轻松的把它们传送至高效率的人工平台(也许那里有什么超级神器也不定)获得破解结果。基于此,反破解的思路就是将验证过程动态化,譬如 https://world.taobao.com/markets/all/sea/register ,必须要求先做一个手势动作,然后才可获取验证码图片。这是欺负爬虫无法模拟这一动作或事件吗?嗯,这个有待研究...

    3. 物理验证: 以上验证变来变去,终究是内存里的战斗。最简单的反爬方式就是引入一个外部物理设备做验证,譬如短信验证,手机扫码,然而据说手机机器人集群也已产业化,无非多养几个手机号,这个,谁来详细爆个料😍 ...

    我想,未来,一律实名注册,集中认证,虹膜扫脸,大约可灭此爬虫矣

  • Ruby 的爬虫世界 at 2016年12月03日

    @shiny 小爬虫还没长大,并发控制之类,等等等等... 验证码识别,好大的坑,有没有开放的云服务?付费的也行😑

  • Ruby 的爬虫世界 at 2016年12月03日

    爬虫没有窝正常,居然没有大数据节点!😬

  • 前端很棒! 请教一个问题:项目中所用的工作流可视化设计(SVG)这一块,是自行编写的js库,还是基于某个开源代码?可否不吝告知

  • Assets Pipeline 是否可以使用webpack来完全替代?webpack有一些特性很棒,譬如智能分析各页面用到的asset,然后将其共有的部分单独打包。

  • 同楼上 obinn 问题 :

    1. id用邮编
    2. 省市区的数据如何更新,即与最新的行政区划同步呢?