Async / Await functions in Ruby

【平成 Ruby 会議 01】@sat0yu さんのセッションをとぅぎゃりました。
0
黒曜@Leaner Technologies @kokuyouwind

PromiseとFiberを使ってAsync/Await記法を実現して、さらにGraphQLで使っていけないか、という話 #heiseirubykaigiB

2019-12-14 14:46:33
kinoppyd @GhostBrain

GraphQLはN+1 問題との闘い、最近社内でも聞いた #heiseirubykaigi #heiseirubykaigib

2019-12-14 14:46:42
黒曜@Leaner Technologies @kokuyouwind

GraphQLはN+1問題が起きがち。これを回避するために graphql-batch を作った。この仕組みの話をする。 github.com/Shopify/graphq… #heiseirubykaigiB

2019-12-14 14:47:36
にゃんだーすわん @tadsan

async-awaitの話だけどJavaScriptから話が始まってる #heiseirubykaigi #heiseirubykaigiB

2019-12-14 14:49:54
黒曜@Leaner Technologies @kokuyouwind

JavaScriptだとPromiseとGeneratorを組み合わせてAsync/Awaitを実現している。同じようなことをRubyでやるにはFiberを使う。 #heiseirubykaigiB

2019-12-14 14:51:01
にゃんだーすわん @tadsan

Fiber、PHPで言うとジェネレータがほとんど等価なものです(ただ、名前によって使われどころに違いが出るような気もするな) #heiseirubykaigi #heiseirubykaigiB

2019-12-14 14:52:11
黒曜@Leaner Technologies @kokuyouwind

スライド操作バーで隠れてソースコードが見えないトラブルw #heiseirubykaigiB

2019-12-14 14:54:13
黒曜@Leaner Technologies @kokuyouwind

chain.callを再帰呼び出ししてるのか。これ要素数多いとコールスタックオーバーフローしないのかな #heiseirubykaigiB

2019-12-14 14:56:45
黒曜@Leaner Technologies @kokuyouwind

N+1を解決するためにresolveせずにPromiseのまま返す書き方…の話をしようとしたけどスライドが映らないトラブルw そしてそれでも解決しなかったので、分かる人がいたらお話したいです、というオチ #heiseirubykaigiB

2019-12-14 14:59:21