月別アーカイブ: 2011年10月

コード品質を計測して、コードの完成までを見積もるための考察

コードの品質は、コードの不具合を直すよりも、優先度が高いのだッ!!! … というのを、数式で証明するテストです。 数式というか、シミュレーションですね。プログラミングをするときの不具合の混入率と不具合の修正日数を変数に入れれば、おおまかにコードの完了予定日が計算できればよいかなと。 まずは、状態遷移のモデルを作ります。 状態と作業タスクが、多少ごっちゃになっていますが、 A.コード生成 B.試験 C.不具合発生 D.コード修正 E.再試験 F.合格 G.完成品 という具合です。 ある状態からある状態に移るときに、確率を利用します。必ず次の状態に移るときは「1.0」という具合。 確率の部分を除くと、PERT 図と同じになるので、それぞの状態≒タスクになります。 「合格」や「不具合発生」の場合は、実は現象をあらわすだけので、作業日数は「0.0」とすれば OK です。まぁ、このあたり … 続きを読む

カテゴリー: プロジェクト管理 | コメントする

SqlBulkCopy では、Decimal 型で桁落ちをする

SqlBulkCopy のスピードは 20 倍ぐらい早い | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/2234 なところで、SQL Server へのインサートを高速化したのですが、実はちょっとした落とし穴があります(落とし穴、というよりも「仕様」っぽいのですが)。 SQL Server で Decimal 型を使うと、Oracle の nameric 型のように精度を指定できます。たとえば decimal(18,4) と設定すると、小数点以下第4桁までの精度になります。 この場合、「0.12345」という値を入れようとすると、クエリでは「0.1235」のように最後の桁で四捨五入されるのですが、SqlBulkCopy を使うと「0.1234」のように切り捨てになる、という違いがあります。 のようにテーブルを … 続きを読む

カテゴリー: 開発, VB | コメントする

データベースアクセスのパフォーマンスチューニング例

2000件のデータ登録で2時間程掛かっている処理を、10分程度に短縮する方法を紹介…ができたらいいなぁ。ってのを、考察も交えて紹介します。 ■擬似コード ・20回ほどの SELECT 文が呼び出されている(らしい)。 ・1件のデータ登録で、20件のデータ挿入がある。 この1回のループが4秒ぐらいなので、4秒×2000回 = 8000秒 ≒ 2時間超 という具合。 ■考えられる対策 1. データベースに SELECT を何度も呼び出しているが、これが毎回 SqlCommand 呼出となっている。なので、毎回データベースに接続する手間が掛かっているのでは?これを、できれば一回の SqlCommand 呼出にする。ただし、SELECT1 から SELECT20 までの間は if 文が入ったり、動的に SQL 文を作っていたりするので、必ずしもひとつにまとめられるとは限らない。 出来る … 続きを読む

カテゴリー: 開発, C# | コメントする

プチロボで4軸構成にしてみる

キーボードをぽちぽち打つのであれば、3軸でもいいような気もするのだが、土台に2軸、間接に1軸の3軸の自由度にだけだと指先がキーボードに届かなくて困るのでは?と思い、指先部分に1軸加える。 何で腕の部分を作ろうかと思案した挙句、そうだレゴがあるじゃないか、という具合で作ってみたのがこれ↓ 手元にはレゴ(大)(苦笑)しかなくて、レゴ(大)で組み合わせてみたものの、レゴ(大)の重さがサーボには重すぎて…倒れてしまう、ってな感じで後でやり直すことにしよう。 写真を見ても分かる通り、一番向こうのキーに届かないし、腕(というか指の関節)を最大に伸ばした時にはコードが届かなそうだし。 ちなみに、両面テープでくっ付けたので、その後しばらくするとカタンと落ちてしまうのが悲しい。

カテゴリー: プチロボ | コメントする

プチロボ事始め

Amazon.co.jp: プチロボ改(ロボット素材キット): おもちゃ http://www.amazon.co.jp/dp/B001IWNE0C/ amazon からプチロボが届いたので、サーボモータを繋げてみる。 2足ロボットを組み立てる予定はない(苦笑)なので、9個のサーボをどう組み合わせるかというと。 例えば、 ■キーボードを打たせる 最初は、iPhone か iPad ですりすりさせる、というのを考えたいたのだが、このサーボにはフィードバックがないので(パソコンからの送信のみ)、スライドという動作が結構大変そうなことが判明。 なので、昔の万博で出ていたようなキーボードを打たせるところから始めようと思う。ロボットの腕を制御するときに3つの自由度があればよいのだが、サーボが動いたとき(あるいはモーター位置決めをしたとき)の後のフィードバックがないと、どこに腕を置いたのかがわからなく … 続きを読む

カテゴリー: プチロボ | 4件のコメント