概要 異なるクラスA,Bがあり、それらのインスタンスを使用して「あるもの」を構築 (Builder) するためのメソッドの呼び出し手順は同じである場合を考えます。共通の構築手順の中で必要となるメソッド群を抽象クラスに記述しておき、クラスA,Bで継承し具体的内容を実装し、共通の構築手順自体をDirectorクラスに記述することで、「あるもの」を構築するための具体的な手順や内容をMainに対して隠蔽
履歴にタグを付与する (git tag) 一覧表示 タグだけを一覧表示 git tag ログにタグ情報を付与して表示 git log --decorate=full 直近のコミットにタグを付与 コメントあり git tag -a v1.0 -m 'コメント' コメントなし git tag v1.0
概要 シェルスクリプトでは'.'でインクルードできます。 sample.sh #!/bin/sh . sub.sh sub.sh echo 128 実行例 ./sample.sh 128
ビットフラグ #include <iostream> using namespace std; const int FLAG_A = 1; // 1 << 0 const int FLAG_B = 2; // 1 << 1 const int FLAG_C = 4; // 1 << 2 const int FLAG_D = 8; // 1 << 3 int main() { int f
概要 DynamoDB は MongoDB/Cassandra/Couchbase といった NoSQL データベースの一つです。DynamoDB のオプション機能としてテーブルのストリームを有効にできます。こちらのページの Kinesis Stream と同様に、ストリームが有効なテーブルを更新すると、その更新内容を Lambda 関数で取得して何らかの処理を行うことができます
概要 ロボットアームは複数のリンクがジョイントで結合されており、先端にマニピュレータが存在します。Open Dynamics Engine (ODE) を用いたシミュレーションを行い、ジョイントの関節値とマニピュレータの位置姿勢の関係を把握します。 順運動学によるマニピュレータの位置姿勢の計算 回転行列と回転ベクトルの変換のために以下のパッケージを利用しています。
概要 rsyncはディレクトリの同期をローカルマシン内もしくはリモートマシン間で行うためのコマンドです。なお、名前のよく似た、メモリ内のキャッシュをディスクに強制的に書き出させるsyncコマンドとは関係ありません。 チートシート ディレクトリ内のファイルのコピー rsync -av sourcedir/ destdir/ (or rsync --archive --verbose s
概要 JVM メモリリークでは JDK の jstat や jmap で原因を調査できます。C/C++ では valgrind の Memcheck ツールが利用できます。valgrind には複数のツールが含まれており既定のツールが Memcheck です。他のツールを利用する場合は --tool オプションで指定します。
サンプルコード集 引数のないマクロ #include <iostream> using namespace std; #define EPS (1e-7) #define INF 1e9 int main() { cout << EPS << endl; cout << INF << endl; return 0; }
概要 こちらのページでインストールした Open Dynamics Engine (ODE) のジョイント操作について記載します。 ヒンジジョイント ロボットにはジョイントとリンクがあります。ODE に実装されているジョイントの一つにヒンジジョイントがあります。以下の例では二つの立方体をヒンジジョイントで結合して、ヒンジジョイントに角速度を与えています。