Open7
Cloud StorageのSDKがイケてる話
Google Cloud Storage(以下GCS)のGolang SDKがGoの思想とよくマッチしていて書きやすい。
GoのIO的な設計思想を書きたい。Linuxの全部ファイルだよ的な思想ともマッチしていそうなので、その辺りへの記述もあれば載せたい
驚いたポイントとしては、「オブジェクトストレージに対し、ファイルへのIOを提供する」ということ
なんの前情報もなかったら自分ならファイルをローカルにコピーする機能として作っちゃいそう
とはいえGoで作ってるんだからGoの思想に準拠するのは当たり前だろ、と思う人もいるかもしれない。
これ
・AWS S3はどうなんだろうか?
・Pythonなどの他の言語のSDKはどうなっている?
こういうソフトウェアの基本思想に則った形でライブラリを作れると使う側もかなり使いやすいのでは無いかと感じる
ドキュメントではなく、関数の型でそれを示すのは面白いかも。Pythonだとインターフェース的なものはないので、やるとしたらファイルやトランザクションのようにwith文でファイル開けるようにするとか?(どう実装したらできるんだっけ)
型をユーザー側も意識するからこそ出来ることなのかも?静的型付け言語の良さの1つであると感じる