素材の味

丁寧に暮らしています

独自yamlに対してvalidation & auto completionを行う

tl;dr

  • configに対するJSON Schemaを作成すれば yaml-language-server がやってくれる
  • protoがある場合は protoc-gen-jsonschemaJSON Schemaを生成できる

社内ツールとかでconfigがあって、それに対するvalidationとかauto completionがあれば便利だなという時があると思う

わざわざLSPを自作するのは流石に大変だと思うけど、configがyamlの場合は yaml-lanugage-serverJSON Schema をサポートしているので、configに対するschemaを作成して、読む込むだけでvalidation,auto completionが実現できる

github.com

https://media.giphy.com/media/XxvLRnep3Cu9B14A3K/giphy.gif

protoからJSON Schemaの生成

ツールの中でgRPCを使っていてprotoファイルが存在している場合は、protocのpluginを使ってprotoファイルからJSON Schemaを生成することができるので楽

github.com

syntax = "proto3";
package example;

message MyToolConfig {
    string hello = 1;
    int32 world = 2;
}

こういう config.proto を使って protoc --jsonschema_out=. config.proto を実行すると、

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "properties": {
        "hello": {
            "type": "string"
        },
        "world": {
            "type": "integer"
        }
    },
    "additionalProperties": true,
    "type": "object"
}

こういう MyToolCofnig.jsonschema が生成される
あとはさっきの yaml-language-server の設定で、この JSON を読み込めば良い

2020/08/28 日記

有給

月曜有給とった
連休後のことを考えると、金曜とるより月曜とるほうがお得感あって良い

Apex

ちょっとダレてきた もうちょいでゴールド 3

ご飯

豚肩ロース300g焼いてくった x 2
普段おやつとか食べないけど、無性に食べたくなってコアラのマーチを食べた
多すぎたから次は小袋のやつ買いたい

Mr. CHEESECAKE

届いたから食べた
酸味とシナモンっぽい感じがあっておいしかった
ちょっとやわめで、半解凍だと食感が面白い
ただ、自分はベイクドとかの固めなのが好きなのでもういいかなという感じ(半分食ったが)


こういうそこそこ値段するやついろいろ食べたいんだけど量が多くて一人暮らしだとあまらせちゃうからなかなか買えないんすよね

BLANCA | バスクチーズケーキ

ちなみに次はこれ狙ってる

2020/08/26 日記

生活

早く起きれてる

Apex Legends

ランクとカジュアルちょっとやった
近い敵を打つときもADSしちゃう癖があって、それを少しづつ直してる

ご飯

しゃぶしゃぶとモス
しゃぶしゃぶうまいけど煮た後のお湯の処理がめんどくさいから、タレが無くなったら焼きに戻す

配信

Twitch で配信したらずっと誰か見てて、誰だろうと思ったらBotだった

Twitchの配信者向けのドキュメントが良くて、機材の話とかはリモートワークで生かせそうだと思った

www.twitch.tv

f:id:cakecatz:20200826233335p:plain

初級者向けがSM58でマジ?????ってなった

そこから流れで指向性について調べてたらShureがその辺をまとめていて、それもよかったので興味ある人はぜひ

マイクの指向性: 何を、どこで、どう使う?