故意遗留 N+1 查询,只查顶层数据,如果有缓存就不需要执行里面的查询。
尽量用套娃缓存。
看上去楼主犯了蠢,然后被牛人纠正了,旁观者学到了东西,这是不是多赢?
不是的,这类帖子多了,牛人会觉得这个地方讨论环境比较差,总是遇到装蠢的人不得不纠正免得教坏新手,久而久之就会心累离开这个地方,最终损失的是整个社区。毕竟每个人都喜欢和高于自己水平的人讨论,愿意教导谦虚好学的新手,而不是跟巨魔战斗。
这是为什么我对这类装蠢帖子很恼火。
The Pragmatic Programmers 已经有 elixir/phoenix 一系列入门书了 https://pragprog.com/categories/all?fsort_by]=pubdate&fcategory]=all&fskill_level]=All&ftitle_contains]=elixir[
我现在觉得靠写一本书赚钱很不划算,周期太长,收益很低。除非本身不是为了赚钱,而是为了布道,或者是自己工作的副产品,那么就可以不用考虑收益去写。如果单纯是为了分享布道,不如写博客。
这本书官方没出电子版。
会不会 WxCommon.notify_user_sign
没有设置 timeout 卡死了。
dom 操作比虚拟 dom 快多了
这句话不是绝对错误,Virtual DOM 的变更最终是通过 DOM 执行的,流程大致如下:
如果开发者把每个 DOM 操作写到极致,是比 Virtual DOM 更快的,因为少了 Virtual DOM 更新和 Diff 的操作。Virtual DOM 的快是相对之前一些小修改就大片更新的前端框架而言的,Virtual DOM 宣传过程产生偏差导致有的人误解有了 Virtual DOM 就不需要调用 DOM。
但是写到极致的 DOM 操作会非常繁琐,相当于在人工 Diff。我觉得 React 的优势是把 DOM 操作由过程式编程转向声明式编程,避免了人工 Diff。
要思维碰撞就拿出自己认真思考的观点,而不是不做功课张口就来。
目前 Rails 5.2.0 一 assign 就保存了,来不及执行校验。有个补丁要等下个版本 https://github.com/rails/rails/pull/33303
标题说 iframe 和 spa,内容又转到 Virtual DOM;前半句说 dom 操作快没问题,后面那句“Virtual DOM 整个区域都重新渲染”又是错的。
强烈的 Troll 既视感。
微服务是一个有误导性的技术营销词,它让人在过度拆分服务的时候有迎合潮流的错觉,而忽视了过度拆分后的维护成本。
Twitter
HackerNews
Ruby Weekly
HMAC != Digest,上面只是用了 SHA1 作为他的散列函数。
至少多了个 key 能看出来吧。
elasticsearch 的强项是文本搜索,news feed 的瓶颈不在这里——一个活动要投递几千几万个信箱,而里面仅仅是一些 id。
Instagram 之前是用 Redis,后来转向 Cassandra。50 万用户我觉得可以先用上面的实现,遇到瓶颈再看看要在哪个环节解决。
https://robots.thoughtbot.com/using-polymorphism-to-make-a-better-activity-feed-in-rails
这个方案也许大了有性能问题,但可以作为一个开始。
取决于 Ruby 的安装方式,我记得 brew 装的已经设好用户权限,也许楼主在用的是系统自带的。
呵,我想到这个帖子 https://ruby-china.org/topics/37098
cpu 还没用完,设 4 个 worker。
And if they've heard of it, they've probably (correctly) concluded that they don't need it.
Dependency Injection is an example of a popular new Java design pattern that programmers using Ruby, Python, Perl and JavaScript have probably never heard of. And if they've heard of it, they've probably (correctly) concluded that they don't need it. Dependency Injection is an amazingly elaborate infrastructure for making Java more dynamic in certain ways that are intrinsic to higher-level languages. And – you guessed it – DI makes your Java code base bigger.
http://steve-yegge.blogspot.com/2007/12/codes-worst-enemy.html
2 楼回复是不负责任的误导,crystal 是另一个语言,虽然跟 Ruby 很像但终究不一样。
我见过的 Ruby 打包工具有:
没实际用过。如果只需要 Linux 也许还是 gem 好用,发行版源里都有 Ruby。
resources :comments
resources :posts do
resources :comments, controller: 'posts/comments'
end
角度刁钻。
> Rails.cache.write 'foo', 1
=> "OK"
> Rails.cache.redis.get 'cache:foo'
=> "\u0004\bo: ActiveSupport::Cache::Entry\n:\v@valuei\u0006:\u0015@marshaled_value\"\t\u0004\bi\u0006:\r@version0:\u0010@created_atf\u00171530335167.8461182:\u0010@expires_inf\v8.64e4"
Rails.cache 写入的是 ActiveSupport::Cache::Entry,用作缓存以外的用途时可能有不可预料的问题,依赖底层功能的时候我都直接用 Rails.cache.redis
。
However, under the new license, it is no longer possible to use Brakeman OSS for the development of a commercial product or online service or to resell Brakeman OSS as a service.
感觉这 or 是不是写多了,根据 issues 后面的解释,可以用来扫描商业项目,但不能作为产品功能的一部分。
一般编译慢是因为:
没看到 qiniu 的适配器描述,activestorage 原生不支持 qiniu 的。
我都是同步发的,感觉良好。
sentry 直接发给他们服务器,怎么会导致 redis 爆?