タグ

programingとProgramingに関するhonamisのブックマーク (5)

  • Windowsではプロセスからプログラムに関するさまざまな情報が得られる (1/2)

    Microsoftが提供するSysinternalsの「Process Explorer」を使うと、ジョブオブジェクトを調べることができる。Optionメニューの「Configure Color」でJobsのチェックボックスをオンにする。ジョブでグループ化されているプロセスに指定した色がつく コンピューターでは、プログラムを実行するとメモリに読み込まれて「プロセス」になる。プロセスからはさまざまな情報が得られる。今回は、プロセスから情報を取得する方法について解説する。その前に、プロセスや関連の用語が混乱しているので、1回整理しておこう。 そもそもWindowsにおける「プロセス」とは 「プログラム」とは命令の連なりであり、これを記録したものが実行ファイルだ。ほとんどのプログラムは、実行ファイルという形を持つが、プログラムがプログラムを作って、実行ファイルという形を経ずに実行させることもでき

    Windowsではプロセスからプログラムに関するさまざまな情報が得られる (1/2)
  • CSVファイルのデータ異常値を感覚的に捕まえるビューワ CSV Fingerprints

    Victor Powellさんが提案した CSV Fingerprints (CSVの指紋)は、CSVファイルのデータをデータの有無やデータの型(文字、数字など)に合わせて色づけすることで、日々の事務などで自動生成されて […] Victor Powellさんが提案した CSV Fingerprints (CSVの指紋)は、CSVファイルのデータをデータの有無やデータの型(文字、数字など)に合わせて色づけすることで、日々の事務などで自動生成されているCSV出力の異常な部分を、目視で発見できるようになるのでは、という提案です。 カラムのデータの型によって異なる色で塗ったのが上のような例。 図の上でクリックしながらマウスを動かすと、指している辺りが拡大表示され、セルの内容を確認することができます。 大きなデータセットの中から、異常になっている部分をすばやく特定し、その前後の値を含めて確認できる

  • リフレクションは遅いから情報をキャッシュするとかのお話 - 山奥通信 増刊号

    フレームワーク層ではリフレクションとかよく使うけど、リフレクションは遅いと言う話がよく出ますが。 っで、ちょっとプロパティのキャッシュをやってみたんですが、こんなんで良いのかしら(・ω・)? // Getter/Setter public interface IAccessor { object GetValue(object target); void SetValue(object target, object value); } // IAccessorの実装 internal sealed class Accessor<TTarget, TProperty> : IAccessor { private readonly Func<TTarget, TProperty> getter; private readonly Action<TTarget, TProperty> sette

    リフレクションは遅いから情報をキャッシュするとかのお話 - 山奥通信 増刊号
  • System.Reflection.Emitについて (1)(HelloWorldみたいなもの) (AssemblyBuilder, ModuleBuilder, TypeBuilder, ILGenerator, MSIL) - いろいろ備忘録日記

    以下、自分のメモ書きです。 System.Reflection.Emit名前空間に存在するクラス達は、実行時に動的に型を生成するための 機能を持ちます。同じように実行時生成としては、CodeDOMもありますが、Emitは型を特定の アセンブリ上に動的に生成する際に、直接ILコードを設定します。なのでコンパイルする手順が 省けます。その代わり、ある程度のILコードに対して知識が必要となります。 でも、実際には細かくしっていなければならない訳では決してなく(実は私もほとんど分かりません(笑)) 以下のようにして、どんなILコードを設定すればいいのかを予め調べておきます。 サンプルソースを記述する。 一旦それをビルド。 生成されたアセンブリをildasm.exeに掛けて、どんなオペコードが吐かれるのかを確認。 同じオペコードを実際に動的生成する型に対して設定する。 上記のようにすると、シンプルな

    System.Reflection.Emitについて (1)(HelloWorldみたいなもの) (AssemblyBuilder, ModuleBuilder, TypeBuilder, ILGenerator, MSIL) - いろいろ備忘録日記
  • いやなブログ - スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl

    スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。 私は C, C++ でプログラムを書いているときはデバッガ (主に GNU/Linux 上の gdb) を頻繁に利用します。しかし、スクリプト言語ではそれほどでもありません。これはおそらく次のような理由によります。 ビルドが不要なので printf デバッグが容易 (ある程度大きい C++ のプログラムではビルド時間が長いので printf の挿入はしんどい) 異常終了時にスタックトレースが表示される (Ruby, Python なら自動、Perl の場合は use Carp; $SIG{__DIE__} = \&Carp::confess; など) オブジェクトのインスペクトが簡単 (Ru

  • 1