gqlgen+React+Typescript (hooksベース)でWebアプリ作ったときの技術選定と工夫

  • POSTS
はじめに この記事は GraphQL Advent Calendar 2019 の 23 日目の記事です。(空いていたのであとから埋めました) 今回はGo/React+Typescript(hooksベース)でGraphqlスタックの管理画面を作った時の技術選定と工夫した点などを書けたらと思います。 技術選定 基本「なるべく自動生成に頼る」方針で選定しました。 サーバー(Go) gqlgen: schema.graphqlからGraphQLサーバー生成くん dataloaden: Dataloaderコード生成くん フロント(CRA + Typescript) gql-generator: schema.graphql から 全オペレーション xxx.gql ファイル生成君 graphql-codegen: オペレーション ファイルから type生成君(typescript-react-apolloのwithHooks: true) 複数の schemaファイルから生成するにはこれしかなかった 開発サイクル schema.graphql 書く サーバ gqlgen でサーバー、 I/F, Model生成する(dataloaderが必要な場合は dataloadenも使う) resolver実装する フロント gql-generatorでGraphQLオペレーション(*.gql)生成する ↑のコードを手で修正(フロントの要件に応じてネストする深さなど調節) graphql-codegenでTypescript/Reat-Apolloコード生成する サーバー gqlgen schema.graphqlからGoサーバーに必要なコードを自動生成してくれるライブラリです。 まずは以下のような設定ファイルを書きます。 # gqlgen.yaml schema: - ../schema.graphql exec: filename: internal_gen.go model: filename: model/model_gen.

MacでFAT32にフォーマットした外付けHDDがnasneに認識されないときはMBR形式でフォーマットすれば解決

  • POSTS
こちらのWD HDD 2TBの外付けHDDをnasne用に購入し取り付けようとしたところ、格闘したのでメモ。 買ってきた外付けHDDがnasneに認識されない 普通にディスクユーティリティの「消去」から 「MS-DOS(FAT32)」 を選択しフォーマット後 nasneに繋いで「nasne HOME」をみると、認識できない旨のエラーメッセージがでてうまく行かなかった FAT32の中にも種類がある どうやら「FAT32」でも種類があるみたい。 - MBR: マスター・ブート・レコード - GBT: GUIDパーテーションテーブル 参考 MBRでFAT32フォーマットしないとnasneには接続できないが ディスクユーティリティからは自動で「GBT」形式でフォーマットされていたみたい。。(昔は選択できたけど今はできない??) フォーマット形式を 「MBR」形式で「FAT32」にフォーマットすることで解決 GUI上でやる方法がわからなかったので、ターミナルを開いて以下コマンド1行打つと完了。 (フォーマットするボリュームを絶対間違えないようにしてください!!) sudo diskutil eraseDisk FAT32 <名前> MBRFormat <ボリューム> 名前: フォーマット後につけるHDDの名前(なんでもいいはず) ボリューム: 該当外付けHDDのボリュームパス (以下コマンドを打ってでてくるexternalのボリュームのパス: 例 /dev/disk4 など) diskutil list 参考 うまくいくとこんな感じに