Model.new(JSON.parse(json))
看了下文档,目测你需要传参数 visible:false。
visible 默认是 true,不显示非可见元素。
的确不稳定。纠正一下,是https://gems.ruby-china.com。
https://gems.ruby-china.org是老地址,已废弃。
逻辑笨重的两者一起做。简单的接口写个接口测试就行,不必写单元测试。二八定理,简单的接口居多。
Github 一直是用 ruby 做后端。哪里来的虚假消息说用 go 做后端,没有证据不要乱说好吗。
完全同意你的观点。天天嚷嚷着可读性,程序员幸福最大化。但做一件事提供了 N 种方法,写个代码老要思考用哪种方法,幸福感都没了。为什么比不过 PHP,Python,Go,大多数 Ruby 程序员心里一点二叉树都没,不从自身找原因,怪罪历史选择。
if 后缀反思维模式,所以主流编程语言都没有,哪里来那么多自豪感。
研究表明,end 比花括号带来更多的视觉障碍。如果当初设计时整体上都使用花括号很大可能就不会产生后缀 if。
离 c-like 近一点,在编程语言排位也能高一些。
文档里要求 title 和 content 是 json 参数,你使用了 form 参数,格式不对。access_token 需要为 query 参数。charset 也是 query 参数,需要设置下。 另外,官方的 http 库很垃圾,可以用 http gem 包。 https://github.com/httprb/http
sinatra 在 Ruby 社区被 Rails 吊打,模仿 sinatra 的 kemal 想来很难超越 rails,且从目前看,kemal 作者都不怎么维护 kemal 了。
你那说法是 1 月份社区有人发帖建议官方 1.0 之后再支持 windows,核心开发者的说辞。https://forum.crystal-lang.org/t/when-crystal-lang-1-x-will-be-released/1563
3 月份正式的官方文章说了 windows 支持可以等 1.0 之后再实现。https://crystal-lang.org/2020/03/03/towards-crystal-1.0.html
连接池用官方的库。若说靠谱的 ORM,目前还在群雄逐鹿的状态。
没,不过毕竟编译语言,改起来也快。Ruby 的底子,阅读代码不会费力。
官方已经被好多人催了,目前正在整合 API,我预计到 2021 年 6 月前能有 1.0 preview 版本。对 windows 的支持已确认被放到 1.0 之后实现。
好,晚点处理下
在作死的道路上狂奔,一骑绝尘。
存数据库比较方便管理,也不会有多少性能损失。除了少部分不用登录的接口,都要在参数中携带 login_key,然后在 before_action 中验证 login_key 是否存在。登录相关的接口调用 SessionKey.create_with。
login_key 不必校验唯一性,用 uuid 生成,重复的概率可以忽略不计,省去一次 SQL 查询。数据表里加上 user_id 索引和 login_key 前缀索引,索引长度为 7 应该够用了。
class SessionKey < ApplicationRecord
attr_accessor :login_key, :user_id
def self.create_with(user:, relogin_flag: true)
SessionKey.where(user_id: user.id).delete_all if relogin_flag
SessionKey.create!(user_id: user.id, login_key: SecureRandom.uuid)
end
end
代码量越少,人的幸福指数越高。 复杂的逻辑都在 API,对后台的要求只是增删改查,要求上不高。 如果是 ERP 那种重后台系统,倒是可能不会会心一笑。
README 里说了 You must use field method to statement the setting keys, otherwise you can't use it.
不支持动态定义方法,它只是对声明的 key 进行重新赋值
移动端评论列表的间距好大,可以优化下,最新评论高亮的进入退出效果可以去掉,有点视觉障碍
希望后面的版本把 find_by 也去掉,改成 Model.where(field: [condition]).find
这个希望难以实现。find_by 是 rails 4 新增的,可以考虑降级到 rails 3
作为一名菜鸟,千万别在项目里这么写,不然会被打死。rubocop 了解下
楼主是把 docker 当 virtual machine 用了吗? 反面教材,有大佬出来驳斥一番不。
Crystal 了解一下,不要在 Ruby 这颗树上吊死
增量主要是考虑小程序需要与 APP 保持数据同步,而 APP 本身又可以离线使用。
聚合接口更多是从性能上考虑的,由于 APP 进一次首页需要调用 N 个接口,故他们想要在一个接口里完成这些数据拉取操作。他们也认为这样编程更容易。目前已经是 http1.1 的长连接
这个报表服务本身是后台管理系统。提供了少数接口用来在 APP 里做周报,年报的生成,实时性要求不高,且是低频请求。故不会拖垮整个服务。
还有另外的报表服务面向内部运营人员,用 Python 的 superset 做数据可视化。
应该会考虑在网关做,利用原有微服务的接口代码。如果在报表服务做,可能就不算微服务了,好不容易把后台和接口拆分开来
部署镜像的时候需要指定 bundler 的版本,不然自动安装的 bundler 版本为 2.1.4, 该版本修改了 gems 的路径,导致不会自动载入各种 gems, 从而部署失败. 修改 Dockerfile gem install bundler -v 1.17.3
不知理解是否正确,有误欢迎指正
ngrok 或花生壳之类的工具做内网穿透
需要开放外网访问 rails s -b 0.0.0.0
rubocop 目前就是这样干的,长一点的会自动转前缀表达
这个应该不可取,可读性要放第一位
不明觉厉
为什么你可以发语音