2004-07-01から1ヶ月間の記事一覧

URL memo

Michael Howard's Web Log (http://blogs.msdn.com/michael_howard/) ノーマークでした。RSSリーダにエントリ追加。 ドライバに対する脅威のモデリング(http://www.microsoft.com/japan/whdc/hwdev/driver/threatmodel.mspx) ThreatModelingの実例が日本語で…

本棚

http://pitecan.com/Bookshelf/yupo5656/ 開設してみました。 日経BPの、この↓装丁のシリーズ*1、やたらと人気あるなぁというのが一通り眺めての感想。 *1:デッドライン, ピープルウェア, ゆとりの法則, 熊とワルツを ...

Applying Aspect-Oriented Programming to Security

"Threat Modeling" を読んでいたら次のようなくだりがあった*1。 When threats are identified, they often include threats that are common globally or to the team resposible for the system. If the threat is best mitigated during implementation r…

はてなの本欲しい! ...というのはさておき。

x86での分岐処理の高速化 (__builtin_expect)

asm

if/then/else hint? (http://gcc.gnu.org/ml/gcc/2004-01/msg00496.html) というgccのMLに投稿された質問より。質問者いわく、 if (<condition>) <fastpath>; else <slowpath>;というコードがあり、conditionは滅多に偽にならないんだそうだ。そういうときに、吐き出すオブジェクトコードを</slowpath></fastpath></condition>…

レンタル予定リスト

いつか読むかもと思いアマゾンのウイッシュリストに入れておいた書籍のうちいくつかが、図書館で借りられると判明。 自分用にそいつらを列挙しておきます。 あなただけができることをやりなさい ソフトウェア界の偉人23人の名言集 (プログラマーズ叢書) / 細…

Optimator (独ビール)

今日は、キャベツとアスパラ、たまねぎ、プチトマトを使ったぺペロンチーノが予想外に美味しく出来て、楽しい夕食だった。ワインとビールで乾杯。 ビールは始めて購入した銘柄だったが、香りが複雑でなかなか悪くない。けっこう強くアルコールっぽさを感じる…

晩御飯 (下北沢・汁べゑ、Lotus Cafe)

大学に残って助手をやっている旧友をかこんで4人で飲み(@下北沢・汁べゑ)。 「大学でも、もうちょっとソフトウェアエンジニアリングを教えたほうがいいんじゃないの〜」「いやそれは企業でやれ」とか「建築学科の学生で、構造計算をしないでビルを建てられ…

UNIX上でのC++ソフトウェア設計の定石 (5)

C++

鉄則5: スレッドの「遅延キャンセル」も出来る限り避けて通ろう スレッドの非同期キャンセルとは:あるスレッドが別のスレッドに処理の中断を依頼すること 遅延キャンセルは、規格の自由度が比較的高いため、OSやCライブラリのバージョンにより動作がまちま…

昼ごはん(下北沢・マジックスパイス)

http://www.magicspice.net/ 友人2人とマジスパへ。札幌に本店がある、スープカレーの有名店。夏休みシーズンのせいか、異様に混んでいて食べ始めるまでに1時間かかった。ベジマッシュ・涅槃・岩のりをオーダー。体調のせいか普段より辛く感じて完食するの…

UNIX上でのC++ソフトウェア設計の定石 (4)

C++

鉄則4: スレッドの「非同期キャンセル」を行わない設計にしよう スレッドの非同期キャンセルとは: あるスレッドが別のスレッドを即座に強制終了すること 単に「設計が楽だから」「シンプルになるから」という理由でスレッドの非同期キャンセルを使うのはや…

晩御飯 (池尻・KAN)

池尻大橋 KANで。 普段、電車よりはなるべくクロスバイク(自転車)での移動を心がけるようにしているんですが、そのおかげか池尻〜中目黒近辺の裏道にだいぶ詳しくなってきました。今回のKANのような、駅から離れた場所にあるお店を発見できたのも自転車のお…

Assessing Network Security ほか

なつやすみの課題図書を購入。 Assessing Network Security (Pro-One-Offs) ザ・ゴール ― 企業の究極の目的とは何か 理科系の作文技術 (中公新書 (624)) More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions (Addison-W…

晩御飯 (広尾・羽澤ガーデン)

広尾・羽澤ガーデン内のビアガーデンに行ってきました。ビアガーデンは羽澤ガーデンの広い敷地のすみっこ、レストランの場所とは別なので、お庭が見えることを期待していくと*1肩透かしを食らうかも。 お料理は焼肉が主で、コース(お酒別で4000円〜)を頼むか…

川根町にて

連休を利用して、静岡県は中川根町まで旅行。お茶の産地として大変有名なところ。朝日園 茶房 遊で頂いた緑茶、「山紫水明」と、菓子道 加藤製菓舗さんの「生大福」が特に美味しかったです。 お茶は、品評会で上位にランクインしたもので、4000円/50g だそう…

YLUG カーネル読書会 (2)

SELinux部の質問タイムで、次のような質問をさせていただいた。 現状のSELinuxは、remote exploit 対策としての使用が主になると思うが、 chrootなら、jail内のファイル以外はアクセスされないと管理者が確信できる 一方、SELinuxは、保護範囲がいまいちわか…

YLUG カーネル読書会 (1)

@茅場町のNTTデータさんのビルで。お題はSELinuxとLIDS。講師は中村さんと面さん。中村さんは、「SELinux徹底ガイド」の著者の方で、日本で多分一番SELinuxに詳しい方です。宴会にも参加して沢山飲んで帰宅。SELinux話も面白かったし、LIDSについては何も知…

UNIX上でのC++ソフトウェア設計の定石 (3)

C++

鉄則3: マルチスレッドのプログラムでのforkはやめよう マルチスレッドのプログラムで、「自スレッド以外のスレッドが存在している状態」でfork*1を行うと、さまざまな問題を引き起こす可能性があります。「問題」の典型例としては、子プロセスのデッドロッ…

日経ITプロフェッショナル ほか

日経ITプロフェッショナル(年間定期購読) 日本酒ソムリエが通う東京のizakaya(居酒屋) / 神沢 柚実子 考える技術・書く技術―問題解決力を伸ばすピラミッド原則 / バーバラ・ミント をオーダー。居酒屋本は、好きな店「おふろ*1」、行ってみたい店「なかむら*…

When does threat modeling come into play?

システム管理な雑記さんより。Writing Secure Code: Practical Strategies and Proven Techniques for Building Secure Applications in a Networked World (Developer Best Practices) の著者の、Michael Howard さんがThreat Modelingについて語っている。…

C++でsynchronized methodを書くのは難しい (3)

C++

方式cの改良です。まず、「初期化順」の問題を避けるためには、コンストラクタを呼び出すことなく初期化が済んでいるオブジェクトでなければなりません。そのためには、mutexオブジェクトを // 方法c' (仮) void Foo::need_to_sync(void) { static StaticMut…

C++でsynchronized methodを書くのは難しい (2)

C++

「いや、メソッドの同期化など頻繁に必要になるはずだ、便利な方法がないわけがない」と仰る方もいるでしょう。はい、あります。一般的な方法は、 (non-POD型の、つまり普通の)C++のクラスとして「Mutexクラス」を用意する クラス変数、あるいはグローバル変…

C++でsynchronized methodを書くのは難しい (1)

C++

Javaにはsynchronizedという便利なキーワードがあります。このキーワードを使うと、例えば次のように簡単にメソッドを「同期化」することができます。同期化されたメソッドは、複数のスレッドで同時に実行されることがありません。 public class Foo { ... p…

UNIX上でのC++ソフトウェア設計の定石 (2)

C++

鉄則2: シグナルハンドラで行ってよい処理を知ろう sigaction関数で登録したシグナルハンドラで行ってよい処理は非常に限定されている 次の3つの処理だけが許されている 自動変数の操作 “volatile sig_atomic_t” 型の大域変数の操作 「非同期シグナルセーフ…

UNIX上でのC++ソフトウェア設計の定石 (1)

C++

UNIXは、Windowsなどの“開発者に優しい”OSと比較すると、シグナルやスレッドの利用に関して制限事項が多いですが、それを知らずにアーキテクチャ設計および実装を行ってしまうケースが散見されます。これは、再現困難なバグの温床となるでしょう。 そこで、…

晩御飯 (三軒茶屋・アジアンソウル)

本日の晩ご飯は、三軒茶屋のカレー屋、アジアンソウルでチキンカリー。抑え目の間接照明にソファがある清潔な店内はカフェのようで気分が良い。寡黙な、男女ともにウケが良さそうな店主が作るカレーの味も言うことがなく、三軒茶屋でワタクシ、イチオシのカ…

enbug

C++

「バグ修正による、別の問題の発生」を何と呼ぶかは組織によって微妙に違うと思いますが、ひとまず「エンバグ(enbug)」は和製英語のようで、要注意ですね。 http://www.enbug.org/ 「デグレード(degrade)」あるいは「デグレ」は動詞だし、「リグレッション(r…

昼ご飯 (@中禅寺湖畔)

本日は日光・中禅寺湖までオヤジ仲間とツーリングに行ったのでお食事は現地で。おそばとゆばを沢山食べて帰宅。帰宅途中、前を走る友人のオートバイ*1から何かのワイヤーが抜け落ちて地面を引きずりだし(本人は気づいてない)火花パチパチ状態。フロントブレ…

YLUGカーネル読書会

16日にあるということなので参加登録。お題はSELinux。また中村さんのお話が聞けます :-)

FC2の2.6.6カーネルとVIAチップセット

FC2のカーネルを2.6.6*1にyum updateして以来、頻繁にカーネルがpanicするようになった。メモリでも逝ったかと思い、とりあえずcorsairのメモリなど買ってきてみたが改善せず。よーくdmesgをみていたら、 agpgart interface v0.100 (c) Dave Jones agpgart: …