@neverlandxy_naix 技术很棒,人很 NICE,这次招聘的 Ruby 工程师将直接进他带领的小组负责薄荷健康 App 的整个后端技术。薄荷健康 App 的用户量在数千万规模,数据量和并发量都挺大的,很有挑战也很有意思,想在 ruby/rails 快速提升或者深入挖掘都是挺棒的机会,欢迎投简历,
RubyChina 很强大,我们很快确定了一位人选而且已经来上班了,打算还招一位,
上海已经很久很久没有 Ruby 的活动了啊,严重支持!
可以的,欢迎投简历,😀
用上最新版本了,适配了 iPhone X,用起来不错
谢谢支持!欢迎投简历哦
通常我们会先进行一次电话面试,然后才是正式面试,如果在外地可以先进行远程视频面试。
应届生也可以哦
还有一个子系统在用。重构程序,迁移数据实在太麻烦了,现在的系统也还能工作,所以难以下定决心花很大成本重构,只能继续留着。好在把一两张关键表迁移到 MySQL 后,系统趋于稳定了。
生日快乐!!!🎂 都 6 年了,真不容易。
分享内容很有清晰,分享精神很可贵,
现在浦东张江,虽然离地铁口不远,但是还是有点郊区的感觉。打算往更近市中心的地方搬,这样才能更好吸引人才, 我们会搬到陆家嘴世纪大道附近,搬了以后搞 ruby 的技术交流就方便了,哈哈
@rubyfan1 感谢支持,我在薄荷🌿 欢迎到我们办公室坐一坐,哈哈 我们过阵子打算搬新的办公室了,新的地方一定更赞
更喜欢使用 enumerize gem,而不是 rails 的这个特性,原因是 enum 自动生成的方法太容易引起命名冲突了,一不小心就会中招。
对,就是这个 https://github.com/xiewenwei/smart_shard_key ,我很早之前写的,刚刚在手机上不方便给链接。
还有种更简单的方法,每个 client 自己生成,其实算法很简单,我的 github 里就有一个
使用 snowflake 的方法为什么被排除呢?我觉得用 snowflake 的方法很合适你的情况,不过要做一些调整,每个机房建立自己的 snowflake 服务就可以,不需要跨机房调用。
首先环境区分是有意义的,除了你上面提到的点还有更多,比如支付区分沙盒环境和生产环境等等,不区分会一团糟。
如果这些配置很多,全部通过环境变量传递和使用是一个很大的负担,麻烦而且容易出错,不如和代码放在一起,还可以有完整的版本控制。
不过,的确有一些敏感信息(如密码)基于安全考虑不适合放配置文件里,这种配置可以用环境变量。
没必要为了 docker 削足适履,这是我的看法。
模式区分是非常棒的一种实践,为啥要去掉?用环境变量指定模式不就行了。
应该是 GrowthingIO 吧,玎玎应该自己发啊
抱歉,目前职位不考虑实习生。
期待你的简历哦
还在地铁站,估计要晚一点到了
哈哈,关键看缘分!
建议你去看 Jesse Storimer 的《Working with TCP Sockets》 https://pragprog.com/book/jstcp/working-with-tcp-sockets 非常棒的一本书。很薄,但是没有一句废话。里面的例子使用 Ruby 语言。国内有中文版的,翻译得不错。
这个可以直接用 ActiveRecord::Base.transaction 把它们包在一个事务里,到底是放在 controller 还是抽离到一个 service 看个人喜好了。
class Order < ApplicationRecord
has_many :order_items, dependent: :destroy
end
class OrderItem < ApplicationRecord
belongs_to :order, foreign_key: "OrderID"
end
order = Order.new(user_id: current_user.id, orderID: @orderID , message:params[:message], fixed_address: Address.find(address_id).full_address, total_price: @total)
current_user.carts.each do |cart|
order.order_items.build(user_id: current_user.id, product_id: cart.product.id, price: cart.product.price, amount: cart.amount)
end
# 保存作为一次事务处理
order.save!
# order 删除会级联删除 order_items
order.destroy