TSF一覧

"[C++] UNIX上でのC++ソフトウェア設計の定石 (6)"で、"SUSv3に、TSF(Thread Safe Function) の一覧はないと思う" と書きましたが、ありますね。 正式な規格ではなくRationaleとしてですが、XSI Supported Functionsのところに、 On XSI-conformant systems,…

Christopher Alexander さん

パターン関係の文献を読んでいてふと思ったこと。 パターン言語という考え方は、Christopher Alexander という建築家が著著 " A Pattern Language: Towns, Buildings, Construction" (邦訳: パタン・ランゲージ―環境設計の手引) で著したのが最初ということ…

swap file と swap partition のパフォーマンス比較

サーバ屋の友人から、「客に突然swap増やしてと言われて困ってるんだけど、swap file でいいと思う?」と聞かれたのでgoogle様でプチ調査。とりあえず、次の2サイト: Performance issues with swap file vs. swap partition LinuxQuestions.org - do you re…

Java並列プログラミングTips

FactoryWRさんのところより: Java並列プログラミングTips (http://www.netgene.co.jp/java/concurrentTips.html) Javaや並列プログラミングの素養のない私にはちょっとキツ目ですが、こういう資料が日本語で読めるのはありがたいですね。不勉強を反省すると…

Threat Modeling 読了

Threat Modeling (Microsoft Professional) を読み終わったので、amazonにレビューを書いてみた(初)。とても為になる、良い本でした。わたしにとっては。 レビューでは、だいたい以下の内容を書こうと思ったのですが、やや長すぎるので若干削ってあります。 …

(続き) Fedora Core3 test1 雑感

SELinuxのポリシーの種類が増えたのと、GCCが3.4.1になったのが嬉しいですね。詳しくは今度。

(続き) EX915 に Fedora Core3 test1 インストール

Windows用の筈なのにやはりLinuxを入れてしまう罠。BIOSの設定をデフォルトのまま変更しない状態で、FC3 test1のインストールは特に問題なし。Sound, USB, Ether ともに動作良好。IEEE1394 はデバイスを持っていないのでよくわからないが認識している模様。S…

LGA775 Pentium4 購入

自宅のWindowsマシンが逝去してから約半年、iBookを可愛がることで問題なく暮らしていましたが、一応一台買っておくかということで秋葉原へ。 AOpen XC Cube EX915 というi915Gチップセット搭載のCube型ベアボーン(\40k)に、Pentium4 2.8GHz (Intel 520, LGA…

C++ライブラリクイックリファレンス, オライリー

八重洲ブックセンターで見かけた本。2004年7月発売となっているので出たばかりですねぇ。 本書は、C++のすべてのランタイムライブラリを詳しく解説する。ライブラリのヘッダごとに、関数、マクロ、クラスなど、宣言ならびに定義されたエンティティを詳述して…

晩御飯

急に必要になったJIS和文冊子・JISハンドブックの類を買いに八重洲ブックセンター本店へ。昼頃に電話で在庫を聞いたところ、必要な5冊中2冊は取り寄せということだったのだが、閉店間際に店舗に行ったら取り寄せ済みだった。偶然かもしれないが対応◎。日本規…

UNIX上でのC++ソフトウェア設計の定石 (6) -- おまけ

C++

スレッドセーフな関数を、 局所的静的変数(関数内のstatic変数)や非局所的静的変数(大域変数)の操作をしない。かつ、他の非スレッドセーフな関数を呼んでいない そういう変数の操作をするが、その部分をmutexなどで同期化し、複数のスレッドが同時に操作しな…

UNIX上でのC++ソフトウェア設計の定石 (6) -- 続き

C++

鉄則6: マルチスレッドプログラミングの「常識」を守ろう POSIXの標準関数のうち、非スレッドセーフであるものの一覧を把握し、使わないようにせよ 自作の関数はスレッドセーフにせよ 共有変数はロックして参照・更新せよ C++を使っているなら、関数を同期化…

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

C++

鉄則6: マルチスレッドプログラミングの「常識」を守ろう POSIXの標準関数のうち、非スレッドセーフであるものの一覧を把握し、使わないようにせよ 自作の関数はスレッドセーフにせよ 共有変数はロックして参照・更新せよ C++を使っているなら、関数を同期化…

g++ exception handling

C++

Code Project という有名サイトに、VC++の例外処理方法に関する記事があります (http://www.codeproject.com/cpp/Exceptionhandler.asp) が、そこにg++の例外処理方法を解説したコメントがありました。 ざっくりと次のような事を言っています(翻訳してるわけ…

昼食 (代々木上原, comme chez vous)

代々木上原まで出向いて、フレンチレストランのコム・シェ・ヴでランチ。20席くらいの小さな店で、店員さんがニコニコしながら接客してくれるのが気持ちいいです。 ランチ限定のカレーが目当てだったのでそれを注文。コースにしました。サラダorスープ + …

Security Warrior (§3 Linux Reverse Engineering)

暫く積読状態だった Security Warrior: Know Your Enemy を読み始め。目に付いた章、Linux Reverse Engineering (全文のPDF) から。サポートページを眺めつつ。 面白かった話題1: antidisassembly (file/objdump/gdb で扱えないバイナリを作る) ELF Kicker…

夜食 (かんだ 藪蕎麦)

神田の藪蕎麦でもりを2枚。足りなかったのでまつやにハシゴしてもう1枚食って・・・その後、某飲み屋で美味しい日本酒(「苗加屋」純米吟醸無濾過生原酒!)や美味しい焼酎(「十四代」の米焼酎!)など頂きつつ帰宅。 また太る悪寒…orz

デロンギKG100

1年半ほど使用している、DeLonghi製のコーヒーミル、KG100が壊れてしまった。タイマーのダイヤル部分が中で折れてしまったようで、動かすことが出来ない。 16,000円くらいする結構高価なものだし、大変気に入っているしで修理に出す予定。以前使っていたミル…

焼肉

友人を集めてウチで焼肉パーティ。キリンの炭酸ガス式ビアサーバーを近所のスーパーで買っておき、ビールも6Lくらい買っておいて準備OK。…呑みすぎて大変でした。 ビアサーバーはテキトーに選んだのだが、もう少しだけコストをかけて、保冷機能付きのにすれ…

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