2004-01-01から1年間の記事一覧

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: …

IPA・情報セキュリティ早期警戒パートナーシップガイドライン

セキュリティホール memoさんより。 公開されました(http://www.ipa.go.jp/security/ciadr/partnership_guide_200407.html)。

読書

誰も行けない温泉 - 命からがら 犬の科学

ソフトウエア等脆弱性関連情報取扱基準

セキュリティホール memoさんより。とうとう公開されました(平成16年経済産業省告示第二百三十五号)。 http://www.meti.go.jp/policy/netsecurity/law_guidelines.htm からPDFをダウンロードできます。

SELinux七夕オフ参加

ケーキオフに続いてSELinux関係イベントに参加。いろいろ面白いお話がきけて楽しいひとときでした。特に、id:yupo5656:20040626 で書いたような、SELinuxのポリシー決定の方法論について詳しい方がおり、「方法論とまではいかないが、考えている人はいる」と…

晩ご飯 (表参道・RETOH)

突発的にビアガーデンに行きたくなり、本当に行く事にした。デパート屋上系以外で探すと下の5つがよさそうだとわかったのだけれども、あいにくどこも当日の思いつきでは無理のようで・・。 羽澤ガーデン(広尾) 満席、土日は団体のみ? TYハーバー(天王洲) 今…

非同期シグナルとanti-pattern

C++

sigsafeというUNIX向けの小さなライブラリがあります。これは、「シグナルを正確に取り扱うのは非常に難しい、俺たちのライブラリを使うと随分楽になるよ」といった趣旨の、アセンブラとCで書かれたライブラリで、それなりの種類のOS、CPUがサポートされてい…

>

ライブラリの評価 (3)

C++

例外安全性については定番書籍、Exceptional C++ (ASIN:4894712709)が参考になります。標準C++との親和性の高いライブラリの例としては、Notus (http://notus.sourceforge.net/) を挙げておきます。"static initialization order fiasco" についてご存知ない…