报名!
#20 楼 @chanshunli 欢迎投稿!期待
#7 楼 @benzheren 虎炮 后来被我说顺嘴就成炮哥啦
我要推荐一个人 @hooopo 炮哥,前 CSDN 的同事,second_level_cache 的维护者,目前在广州工作,做了很多 ETL 和数据库方面的研究,另外在电商系统的构建上也有很多研究。
他的书单很值得参考 http://book.douban.com/people/Hoooopo/
hi 请到 https://jinshuju.net/f/Gn000X 投稿~
#2 楼 @small_fish__ 在另一个帖子里解释了哈~ https://ruby-china.org/topics/26337
我过去做过一个 rails3.2 下的 skeleton https://github.com/jasl/a_rails_start_up_omakase 不过已经很久没有更新了
爬虫是一个 IO 侧重应用,占满网络带宽就可以了,数据采集和分析分离去做 IO 利用率就上去了,采集多个网站用多进程模型就行了吧
加油!
rails 的 request 对象或者在 rack 里就能拿到 host 信息的 写个中间件或者 prepend_before_action 做一些判断加一些后续操作需要的标记就好了
当年直接从 railsinstaller 起步的...当初编译 mysql2 都有坎,现在好多了 win 下开发主要的坑是一些 gem 在 bundle 后引入的依赖是平台相关的,所以部署到 linux 或者协作的时候要去掉 Gemlock.lock
不看 gem 兼容问题的话,win 下开发最大的劣势是没有一个好用的 terminal...即使是 conemu 的基本操作体验也是距离 gnome 的 terminal 差一点,别提 osx 下的 iterm2 了。。。
#7 楼 @ericguo 其他地方做的再完善,并没有什么卵用,都和依赖版本约束没有处理好这处不严谨无关。当然作者估计也没有预计这么严重的不兼容情况。
这种是 incompatibility 的情况应当在 gemspec 方式标注兼容情况,否则出现异常存在如下可能:1.自己的使用问题 2.Gem 内部有 Bug 3.和其他插件冲突 4.版本搭配不对,不兼容。
如果交给使用者处理的话,那恐怕要排查的点太多了。
@dreamrise 话说确实是一个提交 PR 的机会~
其实也能算 Gem 的维护者不严谨,应该设置一个比较严格的依赖版本
感谢 @rei 的工作,为 xxPay 的设计提供了原则性指导...
赞...
能把这些 gem 用对也不容易。。。
+----------------------+-------+-------+---------+---------+-----+-------+
| Name | Lines | LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Controllers | 7908 | 6380 | 121 | 745 | 6 | 6 |
| Helpers | 1380 | 1199 | 0 | 136 | 0 | 6 |
| Models | 7231 | 5465 | 68 | 567 | 8 | 7 |
| Mailers | 196 | 155 | 5 | 18 | 3 | 6 |
| Javascripts | 5781 | 4491 | 33 | 749 | 22 | 3 |
| Libraries | 1435 | 1117 | 21 | 98 | 4 | 9 |
| Feature specs | 145 | 120 | 0 | 1 | 0 | 118 |
| Model specs | 480 | 390 | 0 | 0 | 0 | 0 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total | 24556 | 19317 | 248 | 2314 | 9 | 6 |
+----------------------+-------+-------+---------+---------+-----+-------+
Code LOC: 18807 Test LOC: 510 Code to Test Ratio: 1:0.0
包含电商、SNS、API、CMS 四套大模块,也有一些遗留的孤立代码没清理,大概能删掉 2k 左右
#43 楼 @caiqinghua 也不难吧
比如你设置支付授权目录 https://knewone.com/orders/
那发起支付使用 https://knewone.com/orders/wxpay
是 ok 的
那么 route 定义
resources :orders do
collection do
get 'wxpay'
end
end
然后实现 wxpay action 就可以了,只要在这个 url 里调用微信 js 支付即可 回调因为是在参数里指定,所以用 restful 风格就是 rails 的标准实践来搞没有任何问题
AJAX 不成功恐怕要靠你自己分析了,这个自己的代码别人不好帮
另外根据我的经验,微信给的错误信息不能全信,比如你支付授权目录设置的有问题,给你的报错不靠蒙这辈子也想不通是支付授权目录设置的问题,解决方法就是,一个尽可能的多 alert 信息(微信支付只能在微信浏览器里调试,console.log 没有),一个要多注意检查配置。
gon 是个好办法,不过感觉没必要,erb 直接 render 就行了,缺点就是代码高亮有可能会乱(RubyMine 不会)
#39 楼 @caiqinghua 你发的代码 erb 本身就是可以这么用地~ 不过我是在控制器直接渲染好 json 然后这样写
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
<%= raw @params %>,
function (res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
window.location.href = '<%= wxpay_callback_order_path(@order) %>';
} else if (res.err_msg == "get_brand_wcpay_request:cancel") {
window.location.href = '<%= order_path(@order) %>';
} else if (res.err_msg == "get_brand_wcpay_request:fail") {
alert('系统错误');
} else {
alert('未知错误');
}
}
);