参考:https://github.com/ctran/annotate_models 这个gem 会自动的在某个model下面,加上注释. # == Schema Info # # Table name: trips # # local :geometry point, 4326 # path :geometry ...
Rails 对于不合法的model,打印出详细的提示
很多时候,我们会在项目中遇到 user.save! 的时候,报错(只给出exception )但是却没有详细的信息. 这个时候,就需要把遇到的错误打印出来了.而不是一个一个的去猜. begin user.save! rescue puts user.errors.full_messages end
Ruby Api的开发,果断放弃sinatra,使用grape
原因:  1. 每次sinatra都不能自动刷新。。。还要安装不必要的gem啥的。 2. 这个json的render问题。。https://stackoverflow.com/questions/56425751/in-sinatra-how-to-render-json 这样写: get '/initialize' do json item1: { ...
Ssl Godaddy上购买,申请ssl证书和使用的过程
最近,我们有个项目要上https.  所以就要购买这个东东。 购买 和申请SSL 证书 (使用的话看下面) 1. 购买。 1年价格2200, 2年一次行 85折。   2. 购买完之后, godaddy的 产品中心,就会出现SSL证书。 点击进入。(应该是点击设置吧。这里略了,太简单了) 3. 之后就会出现页面,要求我们 提供CSR   ...
Ruby Sinatra的启动方式绝对不要用rackup,要用thinstart Rconfig.ru或者puma
我把文章发表在了: https://stackoverflow.com/questions/56422645/performance-of-classic-sinatra-and-modular-sinatra-am-i-doing-wrong 闹了个大乌龙:  1. wrong: $ ruby main.rb (based on rack?)2. wrong: $ rack...
Faceplusplus 识别身份证 Ocr 使用restclient 发送multipart请求(以及curl的问题)
成功了. 看下面. 直接使用curl;  $ curl -X POST "https://api-cn.faceplusplus.com/cardpp/v1/ocridcard" \ -F "api_key=Td_XijYBZUMp-COYh-Rf_kCMjqvHFHDD" \ -F "api_secret=ihehEuWYwOWM-JoQcbCPM9n2VS0cOyQl" \ ...
Puma+nginx的部署
puma 这个服务器第一次听说是在2012,2013年。 还在优酷的时候,当时的小弟 海龙在一个项目中开始使用它。 由于我对于thin用的特别顺手,就没有估计到这个服务器。 直到今天。项目中需要使用websocket. thin 已经无法满足需求了。 步骤: 1. 建立puma 的配置文件: threads_count = 32 threads 4, 32 port 8888 envi...
Ruby Sinatravsgrape框架比较
sinatra 和 grape都是ruby 的api框架。  性能上: sinatra大约是 grape的2倍。高判立下。 sinatra代码 require 'sinatra' get '/hi' do "Put this in your pipe & smoke it!, name: #{params[:name]}" end $ ab -n 1000 -c ...
Rubyrails 根据浏览器的语言,来自动识别
参考:  https://github.com/iain/http_accept_language 使用这个gem, 就可以自动识别浏览器的语言了。(原理是识别其中的 accept-language ) 
验证码 使用geetest或者网易云盾提供的动态二维码
直接访问:    https://github.com/sg552/geetest-ruby-sdk  这个是已经提取出来的SDK . 参考:  http://geetest.com   或者 https://github.com/GeeTeam/gt-ruby-sdk 由于官方网站没有给出ruby SDK的链接,不要怕,搜一下就可以看到了...
Ruby Puma在首次启动时,使用的命令跟phased Restart不一样。
首次启动: $ puma start -C config/puma.rb</span> 再次热启动: $ pumactl phased-restart -C config/puma.rb 一定要这样,否则会报错。
Ruby Grape使用rakeroutes
grape的路由跟rails很相似,但是略有不同. 刚接触的时候,不一定能很好的掌握.  参考:  https://github.com/syedmusamah/grape_on_rails_routes ... 好吧.总之就是很简单.  看README就可以肋刚才不小心把谢了一点儿的东西删掉了.
Ruby 使用oneapm来监控rails项目,做性能优化调试
参考:https://www.jianshu.com/p/6a0a0d20bc98 之前用过new relic, 两个点: 1.没有解决不了的问题 2.国外网络访问起来速度慢. 现在有需求了,发现了项目有内存泄漏. 所以选择使用oneapm 1. 注册 2. 选择 applications 监控 3. 点击下载 探针。 就会出现页面。  4. 下载yml文件到config 目录下...
Ruby Grape使用logger
用了Grape之后,才发现,这个东东是默认没有日志的.所以就看不到 每次请求耗费多长时间 ( Completed in xxx ms ) 所以,有个Gem:  https://github.com/aserafin/grape_logging 1. Gemfile:  gem 'grape_logging' 2. 在每个grape API的方法前面,都要加上: mod...
Ruby Grape入门,同时使用:rack,rackup,sinatra
在使用grape 的时候,遇到了 rackup. 记得当初在摩托的时候(2010年?) 就看过老潘用rack,  当时觉得这个小东西好简单,好简陋. 今天发现Grape的DEMO中又有这个,所以看了一下正式的文档. 参考: https://rack.github.io/ rack: a ruby webserver interface  作用跟sina...
Ruby 延时任务sidekiq的用法。(特别适合一种场景哈哈哈)
参考:https://github.com/mperham/sidekiq sidekiq 比delayed_job 好的点,就在于速度快! 我觉得特别特别特别适合我正在做的项目哈哈哈哈 前些日子被这个问题困扰了很久,现在终于知道了,内存化+数据库持久化,解决办法就是把数据库的操作sidekiq化.哈哈 执行速度: 4500 / s , delayed_job: 200/s 原因...
Rails 在日志中过滤掉密码filterpasswordfromlog
参考:   https://stackoverflow.com/questions/7232554/how-to-filter-parameters-in-rails 很简单. 对于rails 4, 修改:   config/initializers/filter_parameter_logging.rb  就可以.  Rails...
使用json Rpc查询和操作erc20代币的方法(发送)inparityrpc
参考: https://ethereum.stackexchange.com/questions/9034/how-can-i-retrieve-my-accounts-augur-rep-token-balance-via-json-rpc  和这个:https://blog.csdn.net/guokaikevin/article/details/79060095(包含了发送)...
Rails 保存csv
看下面的例子即可 需要注意的是,身份证号在csv中不带引号,所以Excel会把 > 15位的数字显示成 ### , 所以我们需要把它特殊处理一下 ,价格\t def download_csv require 'csv' # 这个是获得数据的方法 @members = get_members params headers = ['邮箱','电话','姓...
Ruby Sinatra中的i18n:r18n
r18n: ruby i18n, 特别简单好用.  参考:  https://github.com/ai/r18n sinatra, 在用它, 而 rubycas-server 就是用的sinatra/r18n.   直接看官方文档即可.