タグ

binaryに関するWackyのブックマーク (417)

  • 第5章 ガ-ベージコレクション

    プログラムの実行時イメージ 突然だが、章を始めるに先立ち、プログラム実行時のメモリ空間の状態につ いて予習をしておこうと思う。この章ではコンピュータの低レベルな部分にか なり踏み込んでいくことになるので、あらかじめある程度の知識を仕入れてお かないと太刀打ちできないのだ。それにこの後の章になればいずれ必要になっ てくる。ここで一回やってしまえば後が楽だ。 セグメント 一般的なCプログラムではメモリ空間の中に以下の部分を持つ。 テキスト領域 スタティック変数やグローバル変数の置場 マシンスタック ヒープ テキスト領域はコードが置いてあるところ。二番目は見ての通り。マシンスタッ クには関数の引数やローカル変数が積まれる。ヒープはmalloc()で割り当てて もらうところだ。 三つめのマシンスタックについてもう少し話そう。マシン「スタック」と言う くらいだから当然スタック構造をしている。つまり

  • GPTとMBRはどのように違うのか? - syuu1228's blog

    UEFI環境下では、BIOSでサポートされているMBRに代わりGPTと呼ばれる新しいパーティーションテーブルを用います。 2TB以上の大容量なHDDをサポート出来る、と説明される事が多いのですが、具体的にどのような違いがあるのか比較してみます。 MBR MBRはLBA 0に置かれる512byteのパーティーションテーブルで、以下の様なレイアウトになっています: オフセット サイズ 内容 0x000 446byte ブートストラップローダ 0x1be 64byte パーティーションテーブル(4エントリ) 0x1fe 2byte ブートシグニチャ(0xaa55) ブートストラップローダはBIOSからロード・実行されるブートプログラムで、パーティーションの情報はパーティーションテーブルに存在します。 なお、最大パーティーション数は4個と決められており、4つのパーティーションを「物理パーティーショ

    GPTとMBRはどのように違うのか? - syuu1228's blog
    Wacky
    Wacky 2013/01/03
  • PCで直接I/O制御

    Wacky
    Wacky 2010/08/22
    簡単にPCで直接I/O制御できるツールの方を作成し、フリーソフトとして公開しました
  • JIT, NGen, and other Managed Code Generation Stuff

    Details about RyuJIT stuff of all sort... RyuJIT tutorial at CGO and PLDI conferences For those of you interested in learning more about the internals of RyuJIT, Carol Eidt will be... Author: Bruce Forstall Date: 02/02/2016 Announcing the release of RyuJIT for x64! After many years of work, RyuJIT for x64 has now been released! Thanks to many of you trying it out... Author: Bruce Forstall Date: 07

    JIT, NGen, and other Managed Code Generation Stuff
  • 二流プログラマの三流な日常: 開発に欠かせないツール(ネイティブアプリ編)

    開発の際にツールを使うとかなり効率がアップするわけですが、地道にデバッカを睨んでいるだけの人が多いのには驚かされます。 そんな訳でお勧め出来るフリーのツールを紹介します。 DependencyWalker VCに付属しているので、これを知らない人は居ないでしょう。DLLから関数が正しくエクスポートされているか、EXEからDLLが正しくロード出来るかを調べるのに良く使います。 ProcessWalker ProcessExplorerは知っていても、こちらは知らない人が多い。起動中のプロセスに関する情報を取得します。かなり使いやすい。ProcessExplorerと併用がお勧め。 OllyDbg ユーザモード最強デバッカ(&逆アセンブラ)。アセンブルソースの隣にCの擬似コードが表示されるのは非常にGOOD。ソースを見られない場合、コレで勝手に原因を解析するとキチガイ扱いされます。 OLEVi

  • 実践的なパターン: テストの容易性を高める設計

    Considering this sample, here's the worst case scenario for the eleventh GC. Say the tenth Gen 0 collection finished at the beginning of the second interval and the eleventh Gen 0 collection finished at the end of the third interval. That means the time between the end of the two collections is about two sampling intervals, or two seconds. The % Time in GC counter shows 3 percent, and so the eleve

    実践的なパターン: テストの容易性を高める設計
  • Archived MSDN and TechNet Blogs | Microsoft Docs

    Archived MSDN and TechNet Blogs 2/7/2020 2 minutes to read MSDN and TechNet blog sites have been retired, and blog content has been migrated and archived here. Archived blogs are grouped alphabetically by the initial letter of the blog name. Blogs and blog posts can be searched by their names, using the Search box at the top of the page. Actively updated blogs have been moved to other blog sites,

    Wacky
    Wacky 2010/04/29
    マネージコード用のデバッガ拡張 psscor2.dll が一般公開されました。対応する CLR のバージョンは、2.0 ~ 3.5 です。
  • SOS.dll (SOS デバッガー拡張) - .NET Framework

    SOS デバッガー拡張 (SOS.dll) を使用して内部の共通言語ランタイム (CLR: Common Language Runtime) 環境に関する情報を渡すことにより、Visual Studio および Windows デバッガー (WinDbg.exe) でマネージド プログラムをデバッグできます。 このツールを使用するには、プロジェクトでアンマネージ デバッグが有効になっている必要があります。 SOS.dll は、.NET Framework と共に自動的にインストールされます。 Visual Studio で SOS.dll を使用するには、Windows ドライバー開発キット (WDK) をインストールします。 構文 ![command] [options] コマンド コマンド 説明

    SOS.dll (SOS デバッガー拡張) - .NET Framework
    Wacky
    Wacky 2010/04/29
    SOS デバッガー拡張 (SOS.dll) を使用して内部の共通言語ランタイム (CLR: Common Language Runtime) 環境に関する情報を渡すことにより、WinDbg.exe デバッガーおよび Visual Studio でマネージ プログラムをデバッグできます。
  • How to detect and avoid memory and resources leaks in .NET applications

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. By Fabrice Marguerie Despite what a lot of people believe, it's easy to introduce memory and resources leaks in .NET applications. The Garbage Collector, or GC for close friends, is not a magician who would completely relieve you from taking care of your

    How to detect and avoid memory and resources leaks in .NET applications
  • KMC Staff Blog:LLVM の JIT を使ってみる (3)

    Wacky
    Wacky 2010/04/02
    LLVM の JIT API を使うと、関数を返す(作る)関数が書けます。肝は ExecutionEngine の getPointerToFunction() API で、JIT 済みの関数(コード)へのポインタを取得できます。
  • Microsoft Word 文書からテキストを抽出するモジュールを書いた - daily dayflower

    CPAN にはなさそげだったので書いてみました。 http://svn.coderepos.org/share/lang/perl/MSWord-ExtractContent/trunk/ 名前空間がどうよって気がするけど Word 文書に該当する名前空間が見当たらず,こんな感じにしてしまいました。まぁ coderepos の段階なので。なんかいい名前があったら教えてください。もし CPAN にあげるときにはそれにします。 図をおこしたほうがわかりやすくなるのですが,あんまりに面倒だったので図は描いてません。 Microsoft Word バイナリフォーマット Word バイナリフォーマット*1の仕様は Microsoft が公開しています。下記からダウンロードすることが可能です。 http://www.microsoft.com/interop/docs/officebinaryform

    Microsoft Word 文書からテキストを抽出するモジュールを書いた - daily dayflower
    Wacky
    Wacky 2010/02/20
    仕様書を読むなら,仕様書 Page 10 「Definitions」セクションと後述する FIB の部分を印刷してそれを参照しながら読むのが得策です。
  • Linuxファイルシステムベンチマーク第1回 ext2,ext3,JFS,ReiserFS,XFS,NTFS

    はじめに ext3ファイルシステムは、機能面・信頼性・性能面で非常にバランスの取れたファイルシステムであり、多数のディストリビューションで「標準のファイルシステム」として採用・サポートされてきました。現時点(2009年時点)では事実上、「Linux標準ファイルシステム」の地位を築いていると言っても過言ではありません。 しかしながら、「Linux標準ファイルシステム」のext3だけではなく、他ファイルシステムへの対応やサポートを売りにするディストリビューションも数多く登場しています。また、ext4やbtrfs等、次の「Linux標準ファイルシステム」と目されるファイルシステムも、現在、非常に活発に開発が進められています。 それでは、ext3から他のファイルシステムに乗り換える価値、他のファイルシステムを採用する価値はどの程度あるのでしょうか。ファイルシステムのベンチマークツール「bonnie

    Wacky
    Wacky 2010/02/07
    ファイルシステムのベンチマークツール「bonnie++」を用いて、6つのファイルシステム(ext2, ext3, JFS, ReiserFS, XFS, NTFS)の性能ベンチマークを行い、ベンチマーク結果をグラフ 及び 数値で公開する。
  • Welcome to Apache Hadoop!

    Apache Hadoop プロジェクトでは、信頼性の高いスケーラブルな分散コンピューティングのためのオープンソースソフトウェアを開発しています。Hadoop には以下のサブプロジェクトがあります。 Hadoop Common: Hadoop のほかのサブプロジェクトをサポートする共通のユーティリティです。 Avro: 各種スクリプト言語に動的に組み込み可能なデータ直列化システムです。 Chukwa: 大規模分散システムを管理するためのデータ収集システムです。 HBase: 巨大テーブル用の構造化データストレージをサポートするスケーラブルな分散データベースです。 HDFS: アプリケーションデータに対して高いスループットでのアクセスを可能にする分散ファイルシステムです。 Hive: データ・サマライゼーションやアドホックなクエリー操作を可能にするデータウェアハウス・インフラストラクチャです

  • HadoopでPython使ってテストしてみた - その2 - もちおのWEBアプリ開発日記

    前回の続き Pythonで[mapper]と[reducer]を作ったところから ファイルシステムのフォーマットを行います。 hadoop@ubuntu-vm:~$ hadoop namenode -format hadoop@ubuntu-vm:~$ start-all.sh hadoop@ubuntu-vm:~$ jps 9258 TaskTracker 9043 SecondaryNameNode 17131 Jps 8885 DataNode 8751 NameNode 9122 JobTracker jpsコマンドが上記のようになっていればOKです。 今度は[HDFS]というファイルシステムに前回作ったサンプルデータを登録します。 データ量が多い場合は時間が結構かかります。 hadoop@ubuntu-vm:~$ hadoop dfs -copyFromLocal input i

    HadoopでPython使ってテストしてみた - その2 - もちおのWEBアプリ開発日記
  • Generics FAQ: Best Practices

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. Juval Lowy October 2005 Applies to: Generic Types Summary: Review frequently asked questions about best practices for generic types. (16 printed pages) Contents When Should I Not Use Generics? What Naming Convention Should I Use for Generics? Should I Pu

    Generics FAQ: Best Practices
    Wacky
    Wacky 2010/01/22
    Can I Cast to and from Generic Type Parameters?
  • Scala on Hadoop: Hadoop Conference - stanaka's blog

    先日、Hadoop ConferenceでScala on Hadoopというタイトルで発表してきました。スライドを以下に置いておきます。 Scala on HadoopView more presentations from Shinji Tanaka. ダイジェストとして、ScalaをHadoopで動かすための方法を書いておきます。 まず、Hadoop上でScalaを実行させるためには、JavaScalaを接続するライブラリが必要となります。ここでは、SHadoop( http://code.google.com/p/jweslley/source/browse/#svn/trunk/scala/shadoop )を使用します。SHadoopは、型変換を行うシンプルなライブラリです。 よくあるWordCountのサンプル、WordCount.scala (http://blog.jo

    Scala on Hadoop: Hadoop Conference - stanaka's blog
  • メンバに配列を持つ構造体のマーシャリング - schima.hatenablog.com

    コメントにご質問があったので、少し長くなりそうなのでこちらで書かせてもらいます。 構造体とポインタ(若しくはバイト配列)との相互変換を行う方法については以前紹介しましたが、あの時の例はあえてごく簡単な構造体にしてありました。今回はメンバとして配列をもっている構造体の場合について考えます。ここでは、以下のような構造体を例にとりご説明します。 [StructLayout(LayoutKind.Sequential)] struct Hoge { public string Str; public double[] Array; public Fuga[] Fugafuga; } [StructLayout(LayoutKind.Sequential)] struct Fuga { public int X; public int Y; public Fuga(int x, int y) { X

    メンバに配列を持つ構造体のマーシャリング - schima.hatenablog.com
    Wacky
    Wacky 2009/12/23
    今回はメンバとして配列をもっている構造体の場合について考えます。
  • P/Invoke時におけるマーシャラの動作(マーシャリング) - KrdLab's blog

    P/Invoke において,データをC#側からアンマネージ側へ渡す,またはアンマネージ側から受け取るとき,どのような動作をしているのかについて調べてみました. まず P/Invoke について,MSDN の中で参考になりそうなページを挙げます. クラス、構造体、および共用体のマーシャリング 文字列のマーシャリング 型の配列のマーシャリング 各種のマーシャリング プラットフォーム呼び出しのデータ型 これらのドキュメントを読んでいると,値型,参照型,blittable 型,非 blittable 型といった,型に関する用語が出てきます. 以下にまとめてみました (blittable の語源だけはわかりませんでしたが...). 値型 (値型) 値型とは,System.ValueType から派生する型のことであり,インスタンスがスタック上に割り当てられます. また値型の変数は,参照型の変数のよう

    P/Invoke時におけるマーシャラの動作(マーシャリング) - KrdLab's blog
  • 自作サーバカンファレンス「はてなの自作サーバの実際」+他セッション講演メモ - RX-7乗りの適当な日々

    日の自作サーバカンファレンス、申し込みして楽しみにしていたのですが、体調がよろしくなかったので泣く泣く不参加・・・にしようとしていたところ、なんと!Ust(USTREAM)配信されているようだったので、そっちで視聴しました。感謝!! 1つ目のトークの"はてな"の自作サーバ事情の話、他各トークセッションのメモ書きを今後の自分のために残しておきます。 田中さん(id:stanaka)のオープニングセッション 自作サーバは安い早いうまい 必要十分な仕様 部品単位で調達・組立 独自のカスタマイズ(SSD使いたい、など) はてなでは1年くらいSSD使っている! 安い Core2Quad + 8GB + SSD X25-M 80GB \100,000 + 5,000/month (1A) \160,000/year Amazon EC2と比べても、1年でもとが取れて、SSDも付いてくる 自作サーバの

    自作サーバカンファレンス「はてなの自作サーバの実際」+他セッション講演メモ - RX-7乗りの適当な日々
  • Decrypt my World