Daily Archives: 2012年10月27日

[C#]lock文で排他をとる仕組みがC#4.0で変更された件

2012年10月27日 (カテゴリ: C#:)

C#では、オブジェクトの排他を取るためにlock文があります。 lock( obj ) { body; }lock( obj ) { body; } これは、C#4.0の場合は以下のコードと等価です。 bool lockWasTaken = false; var temp = obj; try { Monitor.Enter(temp, ref lockWasTaken); { body; } } finally { if (lockWasTaken) { Monit…


続きを読む

抵抗のカラーコードと、虹色の関係

2012年10月27日 (カテゴリ: 電子回路基礎:)

電子回路で使用される抵抗は、抵抗値を示すためのカラーコードが有ります。 一目で見て分かるように、このカラーコードは虹を元にしています。 ですが虹は7色、カラーコードは10種類。 色と値がどのようにマッピングされているか気になったので、確認してみました。 カラーコードの1から7が基本的に虹の色と対応しているのですが、赤の後に茶が入るのと、藍色が無いのが相違点でした。藍色は、青と近くて紛らわしいから除かれたのでしょうか… また、足りない分の追加として、無彩色の黒、灰、白が加えられています。 覚え方の語呂合わせは、以下のものが有名です。 0 黒: 黒い礼服 1 茶: お茶を一杯、小林一茶…


続きを読む

[PHP]文字列リテラルを、シングルクォートとダブルクォートで括った時の速度差

2012年10月27日 (カテゴリ: PHP:)

PHPでは文字列リテラルを書くとき、文字列をシングルクォート、又は、ダブルクォートで括ることが出来ます。 両者の違いは、”{}”で書いた変数の展開を行うかどうかと、エスケープシーケンスを処理するかです。 <?php $a = 10; echo "hello world:{$a}\n"; echo ‘hello world:{$a}\n’;<?php $a = 10; echo "hello world:{$a}\n"; echo ‘hello world:{$a}\n’; 実行結果 C:\>php test.ph…


続きを読む

“elasped time”と”latency”の違い

2012年10月27日 (カテゴリ: 未分類:)

よくコンピュータのパフォーマンスについて書かれている記事を見ると、”elasped time”(経過時間)や”latency”(遅延)という言葉が出てくる場合があります。 この二つの言葉の違いは何でしょうか? elasped timeは、有る処理を依頼してから、応答が全部返ってくるまでの時間です。 ターンアラウンドタイム(turn around time)とも呼ばれています。 一方、latencyは、有る処理を依頼してから最初の応答が返ってくるまでの時間です。 こちらは、レスポンスタイム(response time)とも呼ばれています。 両者を絵…


続きを読む

[PHP]標準エラー出力、標準出力に文字列を出力する

2012年10月27日 (カテゴリ: PHP:)

PHPで標準エラー出力に文字を出すには、ファイル”php://stdout”をオープンすればOKです。 <?php $stdout= fopen( ‘php://stdout’, ‘w’ ); fwrite( $stdout, "hello world to stdout\n" );   $stderr = fopen( ‘php://stderr’, ‘w’ ); fwrite( $stderr, "hello world to stderr\n" &#41…


続きを読む

キーエンスのPLC(シーケンサ)、KV10~90やKZ-A500で使うPC接続ケーブルの仕様

2012年10月27日 (カテゴリ: 未分類:)

キーエンスが以前出していたシーケンサのKV10~90やKZ-A500についての備忘録メモです。 KZ-A500は、PCとの接続端子がモジュラーコネクタになっています。 純正品を使用する場合は、以下のケーブルを買う必要があります。(接続先PCの構成により異なります) DOS/V OP-26487 モジュラーケーブル OP-26486 モジュラー,RS-232C変換(D-Sub9)   PC9801 OP-26487 モジュラーケーブル OP-26485 モジュラー,RS-232C変換(D-Sub25)   PC9801 OP-26487 モジュラーケーブル OP-26482 …


続きを読む

[C# 5.0]メソッドの呼び元メソッドを調べる方法

2012年10月27日 (カテゴリ: C#:)

C# 5.0では、関数の引数に属性(attribute)を追加する事で、関数の呼び元の情報を取得が可能です。 これはC言語で言う__LINE__,__FILE__マクロ相当のものです。 C#の4.0以前でもリフレクションや、System.Diagnostics.StackTraceを使えば取得は出来たのですが、5.0からは取得が簡単になりました。 ※C#4.0でSystem.Diagnostics.StackTraceを使う場合の例はこちら  → [C#]関数の呼び出し元のメソッド名を知る方法 という訳でサンプルコードです。 class Test { static void Main…


続きを読む