佐藤のメモ帳

Rust, Python, Java, AWS, etc...

Rust Bevy Local Resourcesについて

はじめに 本記事はBevy非公式(と思えないほど素晴らしい)サイトのメモである。 bevy-cheatbook.github.io メモ Local<T>はResMut<T>と同様のシステムパラメータである。これによりあらゆる型のインスタンスに変更可能でアクセスできる。 Res<T>/ResMut<T>は全システム間</t></t></t></t>…

HackerRank; Sales By Match(Java8)

問題 同じ色の靴下のペア数を返却する関数を作成する問題。 www.hackerrank.com 回答 ※注意 別解の方がスマート。 昇順ソートした入力arの先頭から靴下のペアを探索する。 添字と添字+1の要素が同じであればペアとみなし、添字を+2する。 ペアじゃなければ、…

Rust Bevy Eventsについて

はじめに 本記事はBevy非公式(と思えないほど素晴らしい)サイトのメモである。 bevy-cheatbook.github.io メモ BevyではEventという形式で、System間でゲーム内のイベント(レベルアップ、ゲームクリア、敵エンカウントなど)に関する情報を受け渡す。 Eventを…

Rust Bevy Query Setsについて

はじめに 本記事はBevy非公式(と思えないほど素晴らしい)サイトのメモである。 bevy-cheatbook.github.io メモ 変更の競合が発生することを防ぐため、同じComponentに対する複数のQueryを持つことはできない。 ただ、QuerySetを使用することで以下のように複…

Rust Bevy Change Detectionについて

はじめに 本記事はBevy非公式(と思えないほど素晴らしい)サイトのメモである。 bevy-cheatbook.github.io メモ BevyにおいてChange Detectionとはデータの変更を検知する機能である。 データの変更を検知し、それに応じたアクションを定義できる。 データの…

error: the option `Z` is only accepted on the nightly compiler

TL;DR 安定版では使用できないオプション。 以下で解決した。 rustup install nightly rustup default nightly 問題 Bevyのチュートリアルで高速コンパイルを試そうとした。 .cargo/config.tomlにこれをコピーし、ビルドしたら以下のエラーが発生した。 Caus…

Rust Bevy Queryについて

はじめに 本記事はBevy非公式(と思えないほど素晴らしい)サイトのメモである。 bevy-cheatbook.github.io メモ BevyにおいてQueryとはEntityのComponentを指定した条件で取得し、アクセスする機能である。 fn check_zero_health( // `Health`と`Transform`Co…

Rust Bevy Commandについて

はじめに 本記事はBevy非公式(と思えないほど素晴らしい)サイトのメモである。 bevy-cheatbook.github.io メモ BevyにおいてCommandとはEntityのスポーン・デスポーンやEntityへのComponent追加・削除、Resourceを管理する機能である。 Commandの操作は即座…

Rust Bevy Resourceについて

はじめに 本記事はBevy非公式(と思えないほど素晴らしい)サイトのメモである。 bevy-cheatbook.github.io メモ BevyにおいてResourceとは単一のグローバルなインスタンスに保存されたデータである。 Componentと同様にstructまたはenumの型で定義する。 また…

Rust Bevy EntityとComponentについて

はじめに 本記事はBevy非公式(と思えないほど素晴らしい)サイトのメモである。 bevy-cheatbook.github.io メモ BevyにおいてEntityとはComponentを特定するためのIDである。 また、ComponentとはEntityに紐づくデータである。 Componentはstructまたはenumの…

Rust Bevy Systemについて

はじめに 本記事はBevy非公式(と思えないほど素晴らしい)サイトのメモである。 bevy-cheatbook.github.io メモ BevyにおいてSystemとはゲームロジックを含む関数である。 Systemは以下の特別な引数のみを持つ。 ResourceにアクセスするためのRes/ResMut Comp…

Rust Bevyゲーム開発記録 その2 入力で画像を移動させる

TL;DR 本家サンプル 入力の例 github.com 画像移動の例 github.com 詳細 入力について キーボード、マウス、タッチスクリーンなど様々な入力にBevyは対応している。 BevyはResourceまたはEventを介して入力デバイスから入力状態を取得する。 Resourceには、I…

Rust Bevyゲーム開発記録 その1 画像を表示する

TL;DR 本家サンプル github.com 詳細 Struct bevy::prelude::Commands コマンドを使用することで、エンティティの出現やコンポーネントの生成削除、リソースの管理ができる。 Struct bevy::prelude::AssetServer ファイルシステムからアセットを取得する Ass…

Rust error: the option `Z` is only accepted on the nightly compiler

TL;DR 安定版では使用できないオプション。 以下で解決した。 rustup install nightly rustup default nightly 問題 Bevyのチュートリアルで高速コンパイルを試そうとした。 .cargo/config.tomlにこれをコピーし、ビルドしたら以下のエラーが発生した。 Caus…

cURLでAPI GatewayにGETリクエストを投げるためにはXオプション指定が必要

結論 cURLでAPI GatewayにGETリクエストを投げる場合、Xオプションで使用メソッドを明示的に指定する必要がある。 何故オプションを省略するとエラーになるかは不明。 背景 API Gatewayを試そうと、cURLでリクエストを投げたら失敗した。 意外な原因だったた…

gRPCチュートリアルのクライアント側をFlaskで動かす

はじめに 前回の記事から少しソースを改良した。 クライアント側にFlaskを導入し、ブラウザからのリクエストに応じてレスポンスをするよう修正した。 イメージは以下の通り。 全体図 ソース github.com 実施 docker-compose up実施後、サーバ用コンテナに乗…

gRCPサンプルの実行環境をDockerに移行

はじめに 前回の記事のNext Actionだった、gRCPサンプルの実行環境をDockerに変更を行なった。 ソース github.com 実施 前回の記事ではgRCPサンプルgreeter_server.py, greeter_client.pyをローカル環境で実行していた。 今回はdocker-compose upでそれぞれ…

gRPC Quick startをやってみる

はじめに 以下のチュートリアルに従い、gRPCのサンプルを実行してみる。 grpc.io 事前に以下を読むべし。 qiita.com 環境 Mac(macOS Big Sur) Python 3.9.6 pip 21.2.4 実施 gRPCインストール (venv) satoukensuke@MacBook-Pro Desktop % python -m pip inst…