ブックマーク / izum.in (3)

  • コード生成のために GraphQL サーバから schema を取ってくる方法

    コード生成のために GraphQL サーバから schema を取ってくる方法graphql が getIntrospectionQuery という関数を持っており、これが Introspection のクエリをいい感じに吐いてくれる。 これをそのまま GraphQL サーバに投げつけたらスキーマ情報を取得でき、その結果をそのまま schema.json みたいな感じで dump しておくことで graphql-codegen などのツールで読めるようになる。 import { getIntrospectionQuery } from "graphql"; import fetch from "node-fetch"; const url = "http://0.0.0.0:3000/api/graphql"; const { data, errors } = await fetch(ur

    コード生成のために GraphQL サーバから schema を取ってくる方法
    izumin5210
    izumin5210 2022/09/08
    これくらい何も考えずできるようになっててほしい気もする
  • goimports をやめて gopls に寄せる

    goimports をやめて gopls に寄せる自分は Go を書くときは Vim を使っていた。 2020-01 に vim-go から gopls + mattn/vim-goimports に移行してそのままだったのだが、 最近になって gopls が LSP の source.organzieImports Code Action に対応していることに気づいた。 (当時は gopls が import 補完に対応してない思いこんでいたんだけど、gopls の commit を追っていくと 2020 年時点で既に source.organizeImports に関するコードがあるように見える… 😇) ISUCON で久々にGo を書くことになるので、環境を見直すついでにこのへんの移行もした。 vim-lsp の README をベースに、BufWritePre で sour

    goimports をやめて gopls に寄せる
  • CSS variables によるダークモード対応

    CSS variables によるダークモード対応タイトルの通り、このサイトをダークモード対応した。 このブログは ReactCSS-in-JS ライブラリである Linaria で実装されているが、 結果として JS 側で特別なことをせず、ほとんど CSS だけでダークモード対応を実現している。 実装 実装は大きく3ステップ。 システム設定に合わせた Light / Dark 出し分け ユーザによる Light / Dark 切り替えサポート ユーザによる Light / Dark 切り替えの永続化 最初のステップだけだと prefers-color-scheme を見て色を出し分けるだけでいいので単純だが、それ以降はそんなに自明ではない。 やりたいのは「Light 用と Dark 用の2つの色定義セットを用意して、それを何らかの手段で切り替える」ということ。 この切り替え動作をど

    CSS variables によるダークモード対応
    izumin5210
    izumin5210 2022/03/14
    blogged / ブログやっていきを出すためにダークモード対応した
  • 1