2018-01-01から1年間の記事一覧
protoc を使いサーバ/クライアント実装の組み合わせや変換プロキシなどのエコシステムを色々と検証しているのですが、そのせいもあって手元にある分だけでも 7 つ程の protoc-gen-xxxx プラグインがインストールされています。 $ protoc-gen- protoc-gen-dar…
gRPC-Web の実装を調べてみると、どうやら複数の実装があるみたいです。 それぞれ関連ライブラリの組み合わせが決まっており、きちんと区別しないと混乱しそうなのでまとめてみます。 比較のために作成したプロジェクトは以下に置いてあります。 gRPC-Web の…
gRPC のハンズオンがてら適当なサーバを書いてみて、ある程度ハンドラが充実してきたので今度は適当なデータをJSONで用意して読み込んでサーバで返すようにしよう、としたときに意外と大変だったという記録です。 動作するサーバコードは以下のリポジトリに…
Go の gPRC のシンプルな Interceptor を適当に書いたら割とすんなり動いたので基本的な部分をまとめていきます。 今回のサンプルは以下のリポジトリに置いてあります。 go-grpc-middleware にロガーなど様々なミドルウェア(= Interceptor)が用意されていま…
最近 Saltstack を触っております。 デバッグがてらに state.show_ 系のコマンドを打つことが多いのですが似たようなコマンドが多くて初見ではちんぷんかんぷんなんですよね。 state.show_sls state.show_low_sls state.show_highstate state.show_lowstate …
何やら TypeScript では絶対パスでプロジェクトルートから import を行えるようだと耳にしました。これで相対パス地獄から逃れることができますね。早速動作確認していきたいと思います。 使用した TypeScript のバージョンは 3.0.3 です。 動作確認 src/app…
Redux + TypeScript の検証作業で疲弊していたところで react-redux-typescript-guide を読んだら思ったより色々まとまっていて、検証のモチベーションがちょっと高まりました、という感想文です。 現在 Redux + TypeScript でアプリを作ろうと色々調べてい…
最近 Redux に手を伸ばし始めました。JavaScript で経験を積まずにいきなり TypeScript から始めたせいか無駄に試行錯誤したりハマっている気がしますが、めげずに界隈の状況把握から進めていきたいと思います。 今回は主に typesafe-actions と typescript-…
React を触り始めて 1 年くらい経過しましたが、始めの頃はモジュールのファイル名の命名規則がよくわからなくて迷走していたのをふと思い出しました。 例えば「load data」の 2 語からなるファイル名を考えると、以下 の 3 パターンが考えられます。 load-d…
Material-UI を使い始めて数日が経ち、ようやくJSSの思想が飲み込めてきました。 当初の違和感もだんだん薄れ、今では(今のところは)確かに楽だよねという感覚になってきております。 今回は型定義についてです。 import * as React from 'react' import { c…
TypeScript + Materia UI でアプリを書いていて、テーマ関係のメソッドの中に createMixins というものを見つけたので使い方を調べてみました。 デフォルトの mixin といえば gutter くらいしかなくて、自分でも登録できたら色々使えそうだな...と思い、型定…
ひと昔前まで Atom を使っていたのですが builtin terminal を始めとした機能性には抗えず VSCode に移行したのは記憶に新しいところです。 Atom の良かった点は何と言ってもあの、コーディングに最低限必要な情報以外を切り捨てたインタフェースです。ボタ…
TLSの勉強中です。TLSの通信を眺めるにはやっぱりHTTPSだろうということで簡単なHTTPSサーバを立ててトラフィックを眺めてみたいと思います。『プロフェッショナルSSL/TLS』にも書かれていました。「一番良い方法は実際のパケットを見ることです」と。 下準…
2000年初版の『PKIハンドブック』が中古でお安かったので覚え書きを残していきます。 2015年出版の『プロフェッショナルSSL/TLS』と並行して読んでいるので気になる部分があれば抜き出してみようと思ったのですが...初心者的な視点から見ると特に目立った差…
(=˘ ꒳ ˘=) google と golang がぱっと見ややこしい... Protocol Buffer と gRPC を Go で利用しようとすると色んなリポジトリからツールを落としてくる必要がありますがどれも微妙に字面が似ているので混乱します。それらを整理するために org/repo の形式…
(=˘ ꒳ ˘=) gRPC の import 周りを整理したい... という記事で go-proto-validators と grpc_cli をうまく組み合わせられないことに対して試行錯誤してました。 その問題の切り分けがてら、今回はもう少し基本的な日付型の利用を通して gRPC の import 周り…
(=˘ ꒳ ˘=) 最近 gRPC を始めたけどパス解決周りが Protocol Buffer 層も相まって複雑で混乱する... hello.proto に簡単なバリデーションを組み込んで Go で吐き出して grpc_cli で動作確認しようとしたらハマって、そしてそのまま解決していない件になりま…
GraphQL とは一体何だったのか、半年ほど触れ続けていまだ掴みあぐねています。 やりたいことは分かる、が、どこに使えばいいのかわからない。 サービスに導入するとして、GraphQL で実装したい場所が見つからない。 夢は見せてくれたが、壮大な社会実験だっ…
(=˘ ꒳ ˘=) ちょっと興味が湧いたので塩を舐めてみる... https://docs.saltstack.com/en/latest/ に従ってチュートリアルを一通り触ってみました。 基本的な動作編: https://docs.saltstack.com/en/getstarted/fundamentals/ master + minion x 2 という構成…
(=˘ ꒳ ˘=) とりあえず Alice と Bob と Mallory だけ覚えておこう... 最近 Kubernetes Dashboard など、HTTPSが有効化されたツールをセットアップする機会が増えてきました。 なのでそろそろきちんと証明書などその辺の技術基盤を理解しないといけない... …
(=˘ ꒳ ˘=) らくちんなのである... Kubernetes のクラスタをVMで組んでみたくて Vagrant のお勉強中です。だんだん Ruby が読めるようになってきました。 クラスタを組みたいので当然互いにアドレスなり名前解決可能なホスト名なりで相互接続したいですね。 …
(=˘ ꒳ ˘=) kubernetes を試そうと Vagrant のリハビリしようとしたら Ruby の表記を思い出すのに手間取ったの巻... Multi-Machine - Vagrant by HashiCorp の Vagrantfile を例に、初見で読み方に困ったところを思い出しながら書き留めておきます。 Vagrant…
(=˘ ꒳ ˘=) Ruby のコードちんぷんかんぷんで読みづらい... import やら require やら load やら色々読み込みの構文があるのに加えて、どのライブラリから来た定義なのかが追いづらかったり... ...という愚痴は置いておいて、Ruby のモジュールシステムを別…
graphql-tools の makeExecutableSchema のコードを読んでいて commentDescription なる項目が気になり、さらに utilities/buildASTSchema.js を見ていて export type BuildSchemaOptions = { ...GraphQLSchemaValidationOptions, /** * Descriptions are de…
Schema directives | GraphQL Tools によると graphql-tools の makeExecutableSchema で Directive を実装できるようなので 簡易的な認可ロジックを実装してみます。 あくまで Directive のハンズオンなので認可ロジックはとても簡単なものです。 認証情報…
(=˘ ꒳ ˘=) GraphQL Schema Language 内で Directive を定義する方法を探していたのですが、公式にドキュメントが見つからなかったのでメモしておきます... directive @myDirective(age: Int) on FIELD のように Directive を定義できるようです。 import { …
(=˘ ꒳ ˘=) GraphQL のラストフロンティア Custom Directive にもそろそろ手を出してみたい... ここまで趣味で GraphQL のいろいろな要素を見てきました。 実行時のパラメータとして GraphQLSchema、queryString、rootValue、context、variables、 スキーマ…
(=˘ ꒳ ˘=) GraphQL のスキーマ表現いろいろ多すぎ... で Introspection について眺めたら GraphQL のスキーマ表現について整理できてきたのでまとめてみます。 GraphQL のスキーマ表現 GraphQL Schema Language GraphQL.js の GraphQLSchema Introspection …
(=˘ ꒳ ˘=) GraphQL.js の TypeScript の定義を眺めながらなんとなくな雰囲気で Custom Scalar を定義してみる ...GraphQL.js の GraphQLScalarType を使います。コンストラクタの引数は以下のようになっています。 export interface GraphQLScalarTypeConfig<TInternal, TExternal></tinternal,>…
(=˘ ꒳ ˘=) GraphQL を使っているとよく schema.json などと名付けられた JSON 形式のファイルを利用している例に突き当たる... この schema.json ってなんだろうというお話。 schema.json - Apollo の場合 GraphQL の Introspection Standard Introspection…