Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
曹小华
@cxh116
VIP
NO. 17 / 2011-10-31

长沙
55 Topics / 541 Replies
19 Followers
0 Following
31 Favorites
GitHub Public Repos
  • leek 60

    跨交易所套利框架.基于 Python asyncio, CCXT, WebSocket.

  • alipay_red_helper 37

    支付宝抓红包助手

  • ccxtws 35

    基于 CCXT 和 WebSocket 对接交易深度数据

  • mow 29

    运行 Leek 项目的套利程序

  • generalstorefrontend 8

  • mangege.github.io 7

    我的博客,基于Jekyll

  • kimi 7

    一个基于ansible自动配置linux服务器项目

  • generalstorebackend 6

  • discourse_shell 5

    不使用 Docker 部署 Discourse

  • lede-source 4

    LEDE with various device support

More on GitHub
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • Ruby 程序内的类实例数据存储问题 at January 05, 2023

    MongoDB schema-free 这种也可以考虑一下。
    Redis 理论上也行。https://github.com/redis-stack
    或直接内嵌 KV 数据库 leveldb-ruby.

  • 回帖内容的图片是否会侵权??? at December 01, 2020

    根据避风港规则,删除掉就行了。

    https://baike.baidu.com/item/%E9%81%BF%E9%A3%8E%E6%B8%AF%E8%A7%84%E5%88%99

  • 现在学习 ROR 成本高吗,以前是 Java 选手啊 at November 10, 2020

    学习成本不高,找工作貌似不好找...

  • 前几天,西瓜创客的大佬来我司分享,谈到了中年危机,我觉得他的开场白,讲的非常好,分享给大家。 at September 21, 2020

    不怕,老家还有田。

  • jbuilder 使用多层 partial! 需谨慎,渲染有可能很慢 at June 08, 2020

    看请求日志,看是不是 n+1 查询的问题引起的,如果是,查询使用 includes

    https://semaphoreci.com/blog/2017/08/09/faster-rails-eliminating-n-plus-one-queries.html https://guides.rubyonrails.org/active_record_querying.html#eager-loading-multiple-associations

  • 我感觉 roda 用来取代 sinatra 挺好的 at May 04, 2020

    Sinatra 也支持“Classic Style”

    require 'sinatra/base'
    
    class MyApp < Sinatra::Base
      set :sessions, true
      set :foo, 'bar'
    
      get '/' do
        'Hello world!'
      end
    end
    

    http://sinatrarb.com/intro.html 你搜 Sinatra::Base

  • 公司电脑不给上外网,我这样下载会不会被发现 at April 20, 2020

    最近很火的一篇文章,看后你应该不会想私自安装了。

    一个违规操作、损失 800 万、被判五年半:运维夏某某致「郑大一附院」智慧医院系统瘫痪 2 个小时,判破坏计算机信息系统罪

  • rails console 抛出 "\x9C" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError) at November 06, 2019

    shell 运行 echo $LANG 试试,先确认系统编码是不是 utf-8 ,然后再打开终端设置,看一下终端的编码是不是 utf-8 .

  • ruby 中怎么实现可变变量 at October 18, 2019

    全局变量好像没有好的办法,只能 eval.

    像类变量,实例变量,本地变量都有方法。class_variable_get , local_variable_get, instance_variable_get, thread_variable_get

    https://devdocs.io/ruby~2.6/module#method-i-class_variable_get

  • Rails 起服务的时候报错但是信息过长被截断 at April 08, 2019

    到终端里的设置里找找,一边有设置"回滚限制"的选项,不选中为不限制,或填一个比较大的值。

  • http 请求效率过低,每次请求外部接口时,时间会很长,怎么优化? at October 10, 2018

    先确认为什么慢?是网络原因,还是接口本身性能问题,还是调用方式的问题?

  • 十分钟邮箱,解析域名,查不到它的 MX 记录,但神奇的是它确实能接受到邮件 at September 06, 2018

    有可能是发送程序容错处理,查询了祼域。

    没找到相关资料,不过查看了一下,祼域确认有 MX 记录。

  • 如何单纯使用 Net::SMTP 来实现 SSL 发送邮件? at September 01, 2018

    https://ruby-doc.org/stdlib-2.0.0/libdoc/net/smtp/rdoc/Net/SMTP.html

    官方示例,两行代码搞定。

    1. 你可以自己搭建 stmp 服务器,难度高。
    2. 你可以调用 gmail , 126 等邮箱的服务器,难度低,但有各种限制。比如每天数量不能超过几百。
    3. 你也许要使用 mail gem,来帮忙构造邮件编码格式。
  • 关于 ruby 程序 Ctrl-C at May 17, 2018

    https://stackoverflow.com/questions/2089421/capturing-ctrl-c-in-ruby

    https://www.google.com/search?q=ruby%20ctrl%20c&cad=h

  • 有人用过 AWS 的官方 SDK 吗,有点不理解。 at April 18, 2018

    s3 国外区域在国内访问不了

  • 用 Rails 5 + 纯 webpacker 做了一个小网站 at March 28, 2018

    高德的 IP 城市定位接口 http://lbs.amap.com/api/javascript-api/reference/location#m_AMap.CitySearch

  • nil at March 20, 2018

    用 rails 来处理 4000 并发的上传,单机基本不可能。

    rails 限制不能使用异步方式,所以只能用线程. 按照一个 puma 进程配置 100 个线程,至少要 40 个 puma 进程。

    所以上传这一块,只能用其它的高并发语言来写。或用 ruby ,但只需要 em 之类的异步方式,与 rails 的数据交互走 redis ,或上传成功后再调用 rails 接口。

    另外一种简单的做法,使用 nginx upload module, nginx 是异步模型,所以不用担心性能问题. https://www.nginx.com/resources/wiki/modules/upload/

    不过,4000 用户同时上传,按 100Mbps 带宽来算,一个人的上传带宽只有 25 Kbps . 300 Mbyte 的文件. (300 * 1024 * 8) / 25.6 / (60 * 60) 一个人上传 300M 差不多要 26 小时才能上传完。改成 1000 M 带宽,也要 2.6 小时. 千 M 带宽的成本真不低吧。

  • Active Record order: ("created_at DESC") 不成功 at February 26, 2018

    Article.all 的 .all 去掉

  • 为什么说绝大多数人都没搞懂区块链接,区块链的实质创新是什么 at February 11, 2018

    最重要的不是 p2p 节点的多吗?

    就跟传销一样,下线要多才赚钱。

    token 不过是一种激励机制,就是传销发展下线一样。不然没 p2p 节点,玩什么?

    你如果认为 token 才是真正的创新,那和传销的舍弃掉商品交易的利润来赚钱,而靠发展下线赚大线没有什么差别。

  • Puma+Nginx+Postgres 部署 Rails 项目,puma 无法启动 production 模式 at January 13, 2018

    看 puma 的日志文件,看有什么输出,nginx 提示 Connection refused,应该是 puma 启动失败了。

  • Ruby 爬虫框架 at November 07, 2017

    自己的淘宝客项目在用 scrapy 抓取数据练手。

    公司有其它同事负责的爬虫项目,不过是用 ruby 自己写的,灵活性相对来说比较弱。

  • Ruby 爬虫框架 at November 07, 2017

    scrapy 挺弱的这个还真不赞同,就爬虫 框架 来说,代码层次的灵活性真不是其它框架能比的。

    https://docs.scrapy.org/en/latest/topics/architecture.html
    架构清晰,middleware 可以很好的处理用来做些定向网站抓取的异常处理,或 cookies 切换,或 代理 IP 切换。
    item pipelines 能够很方便的能数据进行清洗和保存。
    而 downloader 对那些保存下载资源的项目来说,也可以很好的把资源下载下来再保存到本地或 s3.

    scrapinghub 提供了 Splash 这个库,浏览器集成非常高,支持用 lua 或 js 来定制,对某些情景来说,直接使用它能很简单的处理一些反爬虫。
    不过 splash 本身有内存泄漏问题,官方的推荐做是是起两个 docker ,前面再用一个 haproxy 做负载均衡,当一个超内存时,直接重启此 docker .

    本身基于 Twisted 异步网络库实现,所以 GIL 的问题影响并没有那么大。

    弱点来说,就是基于 Twisted , 数据库驱动和 ORM 对它支持的并不是很好。
    相对简单粗爆的处理办理参考 Twisted 官方文档,数据保存另外起线程。否则会阻塞整个 Twisted reactor,在一个页面有很多 items, piplines 的保存反而成为瓶颈。
    或使用 redis twisted 库,先保存到 redis,再另外起进程来清洗数据。
    就这个弱点来说,如果在 ruby 中使用 EventMachine ,也会存在此问题。

    如果纯粹参考 scrapy 来实现的话,感觉还是很难超越它。就 ruby 的 EventMachine 库来说,HTTP Client 还是第三方实现。而 Twisted 官方已经在准备 http2 的实现了。

  • 你所不知的 Sublime 编码不止 更新不止 at October 22, 2017

    linux 不 patch 还是不能用中文输入法,所有我选 vscode .

    上面说的功能大部分 vscode 都实现了。

  • 为什么这个正则在某些情况下,直接阻塞不返回了? at September 08, 2017

    谢谢 hooopo 大神了,又介绍了新的东西。

    经测试,换了个正则可以了

    /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z\d\-]+)*\.[a-z]+\z/i
    

    把 @ 前面的 .? 去掉了,貌似就没有问题了

  • 为什么这个正则在某些情况下,直接阻塞不返回了? at September 08, 2017

    主要提取 email 地址,比如 email from 地址为 < <[email protected]>> ,业务需要把 [email protected]提取出来. 拆分也行,但是最后还是得用正则。

  • Unicorn 与 Puma 的区别,nginx 与哪个搭配使用更好? at August 12, 2017

    在好网络并发看起来并无差别,如果网站移动终端用户多,差别就大了。

    比如某些移动用户网络不稳定导致一个请求要 5 秒在请求完成。 在 unicorn 的 2 进程下,5 秒内只能两个并发(unicorn 一个进程同一只能处理一个请求)。而 2 进程 32 线程的 puma,却可以处理 64 个并发(puma 一个线程处理一个请求)。

  • 为什么查询的这么慢啊,一个简单 SQL 5 秒多 at August 08, 2017

    使用了 to_char 函数,是无法使用索引的,导致全表扫描。

  • Ruby 中文编码问题? at August 02, 2017

    签名的 uriencode 有编码要求没有? 比如:

    '中文'的 UTF-8 的 urlencode 的值和 GBK 是不一样的。

    URI.encode('中文') # %E4%B8%AD%E6%96%87
    URI.encode('中文'.encode('GBK')) # %D6%D0%CE%C4
    
  • 怎样让 Rails 的 params 根据请求来获取对应类型的参数? at July 28, 2017

    request.request_parameters
    request.query_parameters

    http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-request_parameters http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-query_parameters

  • 调查一下论坛上用 Linux 的桌面环境 at July 02, 2017

    物理机 archlinux + awesomewm
    虚拟机 vbox + win 7 thin pc

    awesomewm 真是神器,快捷键支持多屏,多桌面切换屏幕独立。
    比如屏幕 1 切换到桌面 2,屏幕 2 还是还是桌面 1.

  • 1
  • 2
  • 3
  • …
  • 17
  • 18
  • Next
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English