asterisc

技術ネタ中心にその他雑多なこと

2018-01-01から1年間の記事一覧

Annotating errorsのlinter

はじめに Go言語の話です。 過去の記事でも触れたDave Cheney先生の記事や、各種のerror handling best practiceでも触れらているように、Goのerrorは、そのままreturnせず、errors.Wrapなどでannotateすると良いとされています。 ですが、人間(というより…

TypeScriptのcompiler APIをいじる

はじめに これを作っているときに、もともとのagreedとswaggerの型の帳尻を合わせるために、TypeScriptのASTをいじっていろいろやりました。 そのときに調べたことなどをメモ代わりにまとめます。この内容は調べたこと+僕独自の解釈が入っている可能性があり…

wasmでGoのAST Viewerを作った話

はじめに Goの1.11からwasm向けのバイナリを吐けるようになりました。 wasm上でパーサを実行し、GoのASTをビジュアライズするものを作ったので、その紹介をします。 作ったものはこちら。 github.com AST Viewer Goに限らない話かもしれないですが、コード自…

Goのカスタムエラーとその自動生成について

はじめに この記事はGo2アドベントカレンダー14日目の記事です。 GoのErrorハンドリングについては、これまでにも様々なパターンが発表されてきました。 今回は独自定義のエラーについて、これまでのパターンをまとめた上で、その実現をeasyにするgenerrとい…

agreed-typedの紹介

はじめに agreed-typedというツールを現在開発中なので、その紹介をします。 github.com 自分は普段バックエンドを書いているエンジニアで、フロントエンドエンジニア向けのツールであるagreedをメインで活用することはないのですが、APIのドキュメンテーシ…

フロントエンド向けvalidator: favalidの紹介

はじめに 少し前にフロントエンドのjs向けvalidatorフレームワークの favalid というものを作ったので、その紹介記事を書きます。 favalidの特徴 フロントエンドというかjs向けvalidatorといえば joi や yup 、v8nといったようなライブラリがありますが、そ…

CIとTest Sizesの話

はじめに 前回 akito0107.hatenablog.com どちらかというとこっちが本編。 前回の記事ではTest Sizesについて紹介したが、今回の記事はその分類が実際の開発にどう役に立っているのかをまとめたいと思う。もちろん用語の統一も大きな意味を持つが、それ以外…

結合テストと呼ぶのをやめた話

はじめに 最近、意図的に「単体テスト」「結合テスト」という呼び方を避け、Google Testing Blogで紹介されてるTest Sizesによる分類(small / medium / large)に従った呼び方でテストを呼んでいる。 この分類方が自分の身の回りに徐々に浸透してきて、実際…