Chromium Sandbox を用いた保護モード

Chromium Sandbox は,乱暴に言えば 対象プロセスの権限や動作をとにかく制限する それだと目的の動作もできなくなることがあるので,本当に必要な処理についてはより強い権限を持ったプロセスで代理処理する という二段構成になっています.2. の代理処理は…

整合性レベルに基づく保護モード

整合性レベル導入による互換性上の影響は,大まかに次の 2 つに分けることができます. 1. アクセス権不足によるリソースアクセスの失敗 2. ユーザーインターフェイス特権の分離 (UIPI) による,プロセス間通信の失敗 前者について,整合性レベルは OS 標準…

保護モードと IME

Windows アプリケーションに,統一的な "Protected Mode" (保護モード)の仕様や基準といったものはありません.保護モードと呼ばれている各技術の実装は製品ごとに異なります.A という製品の「保護モード」を有効にした状態で IME が動く(ように見える)から…

IWordBreaker とファイル検索

「『プリキュア』で検索したら『ハートキャッチプリキュア』にマッチしない」という Windows Search の話. Windows7に深刻なバグを発見したので、警鐘を鳴らすために晒してみます。 再現に使用したOSはWindows7 Home Premium x64です。 バグの再現手順 !!…

C# のコードに x86/x86-64 命令を直接組み込む

C# で書かれた将棋の思考ルーチンの高速化のため,(Visual C++ 用の) 組み込み関数 _mm_prefetch 的なものを使うべく,ネイティブコードで書かれた DLL と C# で書かれたメインの思考ルーチンを組み合わせてみた,というお話.ふむふむ. http://d.hatena.ne…

数式入力パネルとアプリケーションを連携させる 2 つの方法

Windows 7 では,タブレット PC 向け機能が強化され,数式の手書き入力がサポートされるようになりました.この機能とアプリケーションを連携させるための方法を 2 つほど紹介します. 数式入力パネルからのデータをクリップボード経由で受け取る 『数式入力…

MSBuild, 環境変数, Property Functions,ビルド時計算

Visual StudioからBuildしたときに環境変数が取得できない… MSBuild Extension PackにEnvironmentVariableタスクがあるけれど、標準でついてないなんてありえません。プロパティ式に組み込んでもいいくらいなのに。$(env:DXSDK_DIR)みたいな感じで んー,手…

ローカルストレージに保存するデータの暗号化 ― Windows の場合

Gumblar による FFFTP への攻撃について GumblarによるFFFTPへの攻撃について FTPのアカウントを盗み、サイトを改竄するGumblarウイルスが猛威をふるっております。 このGumblarウイルスの亜種が、FFFTPを狙って攻撃していることが報告されております。 詳し…

書籍紹介: CLR via C#, Third Edition

CLR via C#, Third Edition作者: Jeffrey Richter出版社/メーカー: Microsoft Press発売日: 2010/02/10メディア: ペーパーバック購入: 1人 クリック: 50回この商品を含むブログ (4件) を見る 第3版の季節がやって参りました. そもそもそんな本は知らんがな…

C++ におけるコードレビューの重要性と活用

そのような場合 C++ では、この関数 g の仮引数 obj に対して const 修飾を行うことで「私 g は obj の参照先の値に対して破壊的な操作を行いませんよ」という宣言を関数 g にさせることができます。void g(const LargeObj& obj){ ... } void f(){ LargeObj …

別スレッドでリソースを解放することのあれそれ

Boost.SmartPtr:shared_ptr + weak_ptr(Cryolite) の 24 分目あたり. shared_ptr<void> による遅延解放 vector<shared_ptr<void *> > to_be_disposed; shared_ptr<HeavyToDispose1> px(…); shared_ptr<HeavyToDispose2> py(…); … // ここで削除して処理が止まると困る… to_be_disposed.push_back(px); px.reset(); to_b</heavytodispose2></heavytodispose1></shared_ptr<void></void>…

「avaが有効ではありません」

【参考】 JAVA実行環境(JRE)の利用を無効化した状態で、電子入札を利用しようとすると、以下の画面のようになり、時計が表示される所に「avaが有効ではありません」と表示されますので、JAVA実行環境(JRE)の利用を有効化の操作をお願いします。 typo か…

書籍紹介: .NETのクラスライブリ設計 開発チーム直伝の設計原則、コーディング標準、パターン (Framework Design Guidelines 2nd Edition)

.NETのクラスライブラリ設計 開発チーム直伝の設計原則、コーディング標準、パターン (Microsoft.net Development Series)作者: Krzysztof Cwalina,Bard Abrams,藤原雄介出版社/メーカー: 日経BPソフトプレス発売日: 2009/12/24メディア: 大型本購入: 8人 ク…

未来の標準は現在のブラウザ実装を制約するか

qnighy DirectXって…標準の意味わかってんのかこいつら 2009/11/19 Internet Explorer 6 以前の DirectX Filter みたいなのと誤解しているのならアレですが,(まだドラフト段階の) 標準と (現在初期実装段階にある製品の) 実装技術が切り離せるかという切り…

GetProcAddress を書く手間を減らすあれそれ

なんか唐突に思い出したのですが,GetProcAddress やるときに関数の型とか鬱陶しいですねというお話. 新しいWindowsでしか実行できない関数を使うときの1つの手段として、GetProcAdressがあります。C++0xのdecltypeは、そのやり方を大きく変えます。HMODULE…

DirectX Graphics フルスクリーンモードと窓使いの憂鬱: 解決編

サークルで作成しているゲームについて「フルスクリーン環境で実行した後にゲームを終了すると一般保護違反が発生する」という症状が報告されて,色々調べてみたところ原因は『窓使いの憂鬱』にありました.どおりでこちらの環境で再現しなかったわけです.…

Windows における例外ハンドリングとか 64-bit プロセス固有のあれそれとか

Windows における例外ハンドリング - @a4lg の準技術的日記 すごくまとまってました.個人的に印象深かったのはこの辺. 実は、x64 版 Windows 用のバイナリにおいては、fs:[0] に例外ハンドリング構造体へのポインタを設定するなどという行為は一切行いませ…

Windows 7 64-bit 環境で Application Manifest が無視されることがあるように見える

Windows 7 では,互換性に配慮した形で API の仕様を変更する仕組みが導入されました. <compatibility> という要素がマニフェストファイルのスキーマに追加され,Windows Vista 相当の動作と,Windows 7 で改良された動作のどちらを期待するかが選択できるようになっていま</compatibility>…

次元の話

『単位の話』を書いていて思い出したことに,指数関数 exp(x) の x が取り得る次元の話がある.確かゼミでの発表中でのこと,ホワイトボードに式を書いていく途中にこんな感じで突っ込まれた. 「その式の (x) の部分,おかしいよね.無次元になっていない」…

単位の話

だいぶ前に書こうと思って書き忘れてたのを今頃書いてみたり. ishisaka さんが Units of Measure をいたくお気に入りの様子. F#のUnits of MeasureはそれだけでF#を勉強してもいいと思えるぐらいすごいんだけど、世の中的には反応薄いか。無事ね素アプリば…

電卓の話

また、電卓など標準アプリケーションに入っているのも昔のまま。AppleのCMでクールなアプリケーション(笑)として挙げられているのをご存知の方も多いと思う。過去との互換性もあるので(別のアプリケーションから起動している可能性がある)変更が難しいのかも…

pull or push / LINQ or Rx

partitionedはstd::partitionのlazy版です。 一瞬「すげー」と思ったんですが,よく読んでみたら,単に source sequence を二回列挙してるだけっぽくて残念*1.というかまあ二回列挙していいなら全然難しくありませんよね.C# で書いたとしたらこんな感じで…

文字列に頼らないリフレクション

C#でシンボルを実現する Expressionを使ってプロパティ名を文字列ではなくてラムダ式で与える方法 タイプセーフにINotifyPropertyChangedインターフェースのPropertyChangedイベントを発行する 拡張メソッド+ラムダ式でメンバ名をエレガントに取得 なんかま…

Java 7 での型推論の改善

(2009/9/2追記)(※注1)ダイアモンドとは、リンク先を読むと、ジェネリック型のnewで、変数の宣言にジェネリクス指定しておけば、右辺は<>(ダイヤ型)で済むということのようです。例:Map<String, List<String>> anagrams = new HashMap<>() ほー. 以下のような感じで左辺から</string,>…

DPI が足りない

マイクロソフトが「普通の会社」になった日 - 東葛人的視点:ITpro ん?! んんん!! あわせて読みたい 私たちがWindows7のプラニングを始めた頃、ディスプレイについてのユーザー データを調べている際に、非常に興味深い (そして驚くべき) ことを発見しまた。…

DeskTopLive.xna

XNA

http://www.super-deluxe.com/2009/9/12/desktoplivexna/:image:large 色々あって,来月開催の DeskTopLive.xna にちょこっと出演予定だったりします.最近 XNA とかあんまり触れてないのに本当にこんな場に出てしまっていいのだろうかとガクブルしつつ,全…

Visual Studio 2010 で "ビルド: 1 正常終了または最新の状態、 0 失敗、0 スキップ" の語順が修正されるらしい

一年半ぐらい前に (代理で) 書いた提案が通ったらしい. 「1 正常終了または最新の状態」- NyaRuRuの日記 Build output message can be translated into Japanese more naturally by word-reordering Thank you so much for feedback. We are trying to fix …

続 C++ の const の問題点

C++ の const の問題点 - NyaRuRuの日記 の続き. const 記憶域に配置されたオブジェクトのコンストラクタ内から,非 const なポインタを取り出せそうにみえる.こんなのも合法なんだろうか.C++ むずい. (追記) Unspecified らしい.kinaba さんに教えても…

C# でローカル変数の再代入を禁止したいとき

とりあえずみんな一回 let 句使ってコード書いてみるべき. var seq = from _ in Enumerable.Repeat(1, 1) let x = 1000 let xs = new List<int>{x} let y = Math.PI / 2.0 let z = "hauhau" select _; var pixelsQuery = from y in Enumerable.Range(0, screenHe</int>…

C++ の const の問題点

バグというのは、意図しないところで状態が変更されることにより発生することが多く、 C++のconstメンバ関数は、メンバの状態が変更されないことを保証する、という強力なチェックを 提供してくれるので、mutableとconst_castという例外を除いてメンバの状態…