日記 2020/09/07
ここ何日かのことをまとめて
ゲーム
Craftopia やりました
いろんなゲームをごちゃまぜにした感じのゲーム
アーリーアクセスだから数時間やって満足したけどこれからが楽しみ
英語
ELSA Speakやってる
英文読んでどのくらいあってるかどうかを出してくれるんだけど、間違った部分はアプリ側がどう聞こえたのか発音記号を出してくれるのがめちゃくちゃ良い
ʊ
のところが u
だったとか
いまは学んでも使う機会がないのでオンライン英会話やろうかなと考えてる
PC
Mac miniくらいのサイズのPCが欲しいなと思っててちょこちょこ探してたんだけど、System76のmeerkatいいじゃんってなった
36 × 117 × 112mm
でめちゃくちゃ小さい
そのうち買うかも
2020/08/31 日記
8月が終わる...
ご飯
モス、豚肩ロース食べた
モスは早く海老天のライスバーガーを復活してくれ
ゲーム
Apex飽きてきたのでやってない
ブログ
前から書いておこうと思ったやつを一つ書いた
9月はもうちょっと技術的なのを書く頻度を増やしたい
その他
瑛人にドルチェ&ガッバーナから、宣伝になりましたっていって香水が送られてて欲しい
思い出す香水はスポーツってやつらしいから機会があったら嗅いでみたい
独自yamlに対してvalidation & auto completionを行う
tl;dr
- configに対するJSON Schemaを作成すれば
yaml-language-server
がやってくれる- VSCodeは
vscode-yaml
- VSCodeは
- protoがある場合は
protoc-gen-jsonschema
で JSON Schemaを生成できる
社内ツールとかでconfigがあって、それに対するvalidationとかauto completionがあれば便利だなという時があると思う
わざわざLSPを自作するのは流石に大変だと思うけど、configがyamlの場合は yaml-lanugage-server
が JSON Schema をサポートしているので、configに対するschemaを作成して、読む込むだけでvalidation,auto completionが実現できる
protoからJSON Schemaの生成
ツールの中でgRPCを使っていてprotoファイルが存在している場合は、protocのpluginを使ってprotoファイルからJSON Schemaを生成することができるので楽
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 を読み込めば良い