前回の Rust を Bazel でビルドする〜前編〜 の続きです。
Bazel のインストールやかんたんなビルド操作については 前編 をご覧くださいませ。
ソースコードの完全版はGithubに公開しておりますので、合わせてご覧頂くとわかりやすいかもしれません。
https://github.com/x1-/rust_bazel_sandbox
前回の Rust を Bazel でビルドする〜前編〜 の続きです。
Bazel のインストールやかんたんなビルド操作については 前編 をご覧くださいませ。
ソースコードの完全版はGithubに公開しておりますので、合わせてご覧頂くとわかりやすいかもしれません。
https://github.com/x1-/rust_bazel_sandbox
そんなに需要がないだろうなあ、と思いつつも、ちょっと面白かったので記事にしました。
Rust で書いたソースコードを Google製ビルド・ツール Bazel を使ってビルドします。
Rust の場合、通常であれば迷わず Cargo でビルドしたいところです。
しかし、多言語を扱う monorepo スタイルの開発であったり、C/C++ソースも一緒にコンパイルしたい場合、複数言語のビルドを一貫して行える Bazel という選択肢がでてきます。
(tensorflow/rust を使うときもですかね)
参考: 大規模ビルドシステムにおけるRustの扱いに関する議論
(ここでも議論されています)
Bazel では、ビルドするためのルールを BUILD というファイルに記述します。
様々な言語向けのルールが既にたくさん用意されているので、BUILD にダウンロード設定を記述して使うことができます。
ありがたいことに Rust もありました。(なければ自作すれば良いのですが、、、)
これを使って、 Bazel で Rust をビルドしてみます。
ソースコードの完全版はGithubに公開しておりますので、合わせてご覧くださいませ。
https://github.com/x1-/rust_bazel_sandbox
GCPに限らず、Cloud のマネージド・サービスを使おうと思うと、そのクライアント・ライブラリが提供されているか言語を選択することが重要になってきます。
もちろん、クライアント・ライブラリが提供されていなくても、接続仕様が公開されていれば自力実装しても良いです。
が、普通に考えればサービスを提供するベンダーが提供しているものの方が信頼度が高そうなのは言うまでもありません。
Google の CloudサービスであるGCPのマネージド・サービスのクライアントですと、Go, Java, JavaScript(Node.js), Python, Ruby においてはクライアント・ライブラリが提供されています。
また、APIs のクライアント・ライブラリでは、上記にプラスして .NET, PHP, Objective-C, Dart などが提供されています。
想像通りですが、Rustなんて影も形もありません。
そこで敢えてRustでGCPマネージド・サービスに挑もうとするとすると茨の道に見えたのですが、やってみたら意外とあっさりできてしまったのでこのブログに書くことにしました。
2018年3月16日(金)に行われたScalaMatsuri2018トレーニングDAYでビッグデータについてお話させて頂きました。
ビッグデータで弱小卓球部を強くしよう!というふざけた内容です。
AmazonのVPSのLightsailです
Lambda+APIgateway、Beanstalkでは簡単にアプリデプロイでしたが、今回は簡単にサーバー構築です。
こんにちは。バツイチです。
久しぶりにブログを書きました(笑)
私、会社でやっているロボットゼミというものに参加しておりまして。
そこでマイクロマウスというものの存在を知りました。
マイクロマウスというのは、小型の自律走行ロボットです。
マイクロマウス大会では、このロボットで3m×3m、256区画の迷路を走り抜ける速さを競う競技です。
公益財団法人ニューテクノロジー振興財団事務局 | 全日本マイクロマウス大会ヒストリーより
頭脳で速さを競うところがささりました。
私自身はプログラム経験は長いものの、メカに関しては一切知識がないド素人です。
※ ミニ四駆すら組み立てたことがありません。。。(女性なので。。。)
せいぜい自作のPCとかLANケーブルつくるくらいです。
まずは道具を揃えるところから。。。乞うご期待☆彡
AWSのElastic Beanstalk でHello World!
NodeJS expressです。