Tech Lunch 2019-08-21
@naotty
気になった記事紹介
- 2019年のAmazon Prime Day。AWS上の42万6000台相当のサーバや1900個のデータベースインスタンスなどで乗り切る - Publickey
- 桁が違いすぎるw
- どうやってデプロイしたのか気になる
- 【イラストで覚える】初心者のためのGitとGitHub用語集 | ずくろぐ
- 脱PHP初心者!インターフェイスを理解しよう - Qiita
- イラストがあるとわかりやすい
- 特にGitの方はゆるい感じがあってとても良い
created_at
を取得したかった
BelongsToManyでリレーションしている中間テーブルの Laravel 5.8 + Lighthouse 4.1
いろいろ試して、asメソッドで別名をつけると取得できた。
class Post extends Model
{
public function tags(): BelongsToMany
{
return $this->belongsToMany('App\Tag')
->as('post_tag')
->withTimestamps();
}
}
type Post {
id: ID!
post_tag: pivotTable
}
type pivotTable {
created_at
}
query {
post {
id
created_at
tags {
data {
id
post_tag {
created_at
}
}
}
}
}
ただ、もっとシンプルにhasManyから取得できるようにしたので使わないことになったけど、
やり方が分かったってことでいいかな(^^;
@atomita
reactのref
projectで↓のようなcodeを見かけ
export const Foo: FunctionComponent<Props> = (props) => {
const [isIntersecting, setIsIntersecting] = useState<boolean>(false)
const ref = createRef<HTMLDivElement>()
useEffect(() => {
if (ref.current === null) return
const observer = new IntersectionObserver((entries) => {
if (entries.length === 0) return
const [entry] = entries
setIsIntersecting(entry.isIntersecting)
})
observer.observe(ref.current)
return () => observer.disconnect()
}, [])
return (
<div>
<div ref={ref}>
...
</div>
</div>
)
}
createRef
の中身を知らなかったので、最初、createRef
って重くないのかな...
callback refs[1]を使ったほうが良いんじゃ...
とか思ったんですが、reactのcodeを読んでみたら{ current: null }
を返すってだけだったので、とりあえず安心しました
でも、副作用扱うものだからhooksでうまいやり方あるように思ったら、やっぱりuseRef
があるー
document.createElement('div', { is: '' })
document.createElement
に2つ目の引数があるのをreactのcode読んでて知りました(^^;
Custom Elementsのためのものなんですね
apollo clientの@defer
Introducing @defer in Apollo Server - Apollo GraphQL
便利そ~
Lighthouse-phpも対応[2]しているようなので、laravelなprojectでも!