Q
oosky:
モノづくり総合プラットフォーム
検索
プログラミング一般
IoT
gem searchでヒットしない!?
概要 gem searchでrubyライブラリを検索できますね。ある日、LDAPライブラリが欲しくなって gem search ldap と検索してみたところ、あれ??ヒットしない!?となったのですが、それもそのはず、リモートのレポジトリを検索するためには '-r' オプションが必要なのでした。 gem search -r ldap active_ldap-dynamic_finder
ROS/tf による座標変換
概要 ロボットを制御する際に複数の座標系を扱う必要があります。これら複数の座標系間の変換等を行うためのライブラリに tf2 (transform2) があります。C++ と Python がサポートされていますが、ここでは Python を用いて簡単な使い方を把握します。 tf2 チュートリアルと同様に動作検証のための
巡回セールスマン問題をビットDPで解く (C++)
概要 頂点数nが小さい場合に限れば、巡回セールスマン問題はビットDPの手法でうまく解くことができます。 サンプルインプット 頂点数n (<=15)、辺の数mの重みつき有向グラフがあり、最初頂点0にいるとします。すべての頂点を訪れて頂点0に戻ってきたときの重みの総和の最小値を求めましょう。 n(頂点数) m(辺の数) Vi1 Vj1 cost1 Vi2 Vj2 cost2 ... Vim Vj
演算子オーバーロード (C++をもう一度)
基本的な代入演算子 #include <iostream> #include <algorithm> using namespace std; class MyClass { public: MyClass(int size); ~MyClass(); void operator=(const MyClass& other); // 演算子オーバーロード public:
Snowflake Task による SQL の定期実行
概要 こちらのページで基本的な使い方を把握した Snowflake において、cron のように定期的に SQL を実行する仕組みとして Task が提供されています。基本的な使い方を記載します。 サンプル データベースとテーブルを作成しておきます。 CREATE DATABASE mydb; CREATE TABLE mytbl (c1 DATETIME, c2 STRING);
MySQL スロークエリのチューニング例
概要 こちらのページの内容をもとに、具体的にクエリチューニングを行ってみます。 スキーマの用意 データベース作成 CREATE DATABASE mydb; USE mydb テーブルおよびインデックス作成 CREATE TABLE t1 (id INT PRIMARY KEY); CREATE TABLE t2 (id INT); ALTER TABLE t2 ADD INDEX my
UNIXでマシンの名称を取得する
概要 UNIXでマシンの名称を取得するためには、hostnameまたはunameコマンドを使用します。 実行例 uname Darwin hostname your-MacBook.local
Open Dynamics Engine (ODE) ジョイント API のサンプルコード (Python)
概要 こちらのページでインストールした Open Dynamics Engine (ODE) のジョイントについて、関連する API のサンプルコードを記載します。 静的な仮想物体とのジョイント結合 0 を指定すると静的な仮想物体と結合されます。 odepy.dJointAttach(joint, body, 0)
Chefの基本をrbenvおよびbundlerのインストールレシピを通して身に付ける
概要 Chefを用いると、各種ソフトウェアのインストールや設定ファイルの更新といった、従来であればサーバにログインして手動で行うしかなかった作業を自動化できます。ここではChefの基本を理解することを目的として、『VirtualBoxでWindowsのゲストOSとしてCentOSを動作させる』の手順で用意した、ほぼまっさらな状態のCentOSに対して、『
AWS Glue を Lambda から起動して制御する (Python)
概要 こちらのページで使い方を把握した AWS Glue をこちらのページで使い方を把握した AWS Lambda から起動するようにすると、大規模データの ETL 処理を Job 引数やエラー時のハンドリングを含めて柔軟に行うことができます。Glue と Lambda で利用する言語はどちらも Python であるとして、簡単な連携方法について記載します。
前のページ
次のページ