タグ

ブックマーク / nyaruru.hatenablog.com (11)

  • 別スレッドでリソースを解放することのあれそれ - NyaRuRuが地球にいたころ

    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_be_disposed.push_back(py); py.reset(); … // 適当なタイミング or 別スレッドで // to_be_disposed.clear() を実行 の部分に関して, 別のスレッドでのリソース解放は,スレッド親和性をもつリソースを破

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

    .NETのクラスライブラリ設計 開発チーム直伝の設計原則、コーディング標準、パターン (Microsoft.net Development Series) 作者: Krzysztof Cwalina,Bard Abrams,藤原雄介出版社/メーカー: 日経BPソフトプレス発売日: 2009/12/24メディア: 大型購入: 8人 クリック: 494回この商品を含むブログ (32件) を見る 『Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition)』の邦訳と言えば分かる人はまあ説明は不要ですかね. 書は,.NET Framework のデザインと実装を経て Microsoft が培ったコーティング標準と設計パターン集です..NET に限

    書籍紹介: .NETのクラスライブリ設計 開発チーム直伝の設計原則、コーディング標準、パターン (Framework Design Guidelines 2nd Edition) - NyaRuRuの日記
  • 単位の話 - NyaRuRuが地球にいたころ

    だいぶ前に書こうと思って書き忘れてたのを今頃書いてみたり. ishisaka さんが Units of Measure をいたくお気に入りの様子. F#のUnits of MeasureはそれだけでF#を勉強してもいいと思えるぐらいすごいんだけど、世の中的には反応薄いか。無事ね素アプリばっか作っているプログラマに見せてもだめなんだろうなぁ F# Units of Measure - OPC Diary Java 7 JSR 275: Units Specification - OPC Diary 素アプリすらまともに作れていない気がする自分ですが,単位込みで計算するという発想自体は割と何度も目にしている気が.例えば Mathematica 使いで,単位込みの計算ができることを知らない人はモグリさんじゃなかろうか. google:Mathematica 単位 Mathematica では,ど

    単位の話 - NyaRuRuが地球にいたころ
  • Expression trees と .NET 風メタプログラミング - NyaRuRuが地球にいたころ

    あらあらあら - 東方算程譚 コンプレックスと戦う - Garbage Collection 複素数型を作る。 - HIRASE CONNECTION WK そういえば昔似たようなことをやっていた. 演算子に関するセマンティクスが保存される Generic 型生成 ― Expression Tree による実行時コード生成 ― - NyaRuRu の日記 元々 C++ を使っていた人が,C++ 的な template メタプログラミングを C# で再現したくなるのも分からなくはない.しかし,いつまでも template 的な実装にこだわり続けるわけにもいくまい. 個人的な印象では,.NET 全体の潮流は Expression Trees を基盤とした実行時メタプログラミングに向かっている.Dynamic Language Runtime - Docs and specs の expr-tr

    Expression trees と .NET 風メタプログラミング - NyaRuRuが地球にいたころ
  • Chromium (Chrome) のソースを読む - NyaRuRuが地球にいたころ

    Chromium (Chrome) のソースを読んでみた. まず Chromium の位置づけがややこしい. Google 発のオープンソースなブラウザである Chromium があって,Google Chrome はこれをカスタムビルドしたもの,という位置付けらしい.まあ大多数の人間にとっては,Google Chrome のソースを読めるという認識で問題ないんだろう. ソースをダウンロードしてビルドまで,の手順はここにまとまっている. Getting Started - Chromium Developer Documentation 推奨ビルド環境は Visual C++ 2005 SP1.ソリューションファイル同梱なので,Windows っ子も安心. 巨大な tar ファイルの展開が終わると,Visual C++プロジェクトファイルが大量に現れる.各プロジェクトの概要はこちら. G

    Chromium (Chrome) のソースを読む - NyaRuRuが地球にいたころ
    takeshiketa
    takeshiketa 2008/09/10
    チェックアウトとビルドで半日つぶれました
  • Microsoft が提供する C/C++ ヘッダファイルにおける事前条件・事後条件の充実っぷりは異常 - NyaRuRuが地球にいたころ

    ぴーびーしー - 東方算程譚 ふむ. むしろ Microsoft の開発現場で,一番 DbC が流行っているのが Visual C++ 関連だと思うのですが.Header Annotations とか SAL Annotations,C/C++ コード障害の検出と修正 等. 最近の Visual C++ のインクルードファイルや Windows SDKs 以下のインクルードファイルを見ていても,事前条件・事後条件の充実っぷりは異常.その規模は既に COM 全盛期の IDL を凌ぎます. あれは手で書いているんでしょうかねぇ? 何か DSL から C/C++ のヘッダファイルを自動生成していてもおかしくない気もしますが,はて. 整数範囲注釈 そういえば Visual C++ 2008 SP1 のコード検証は,Header Annotations の整数範囲注釈を活用していないように見えるので

    Microsoft が提供する C/C++ ヘッダファイルにおける事前条件・事後条件の充実っぷりは異常 - NyaRuRuが地球にいたころ
  • 『【13-B-7】言語の現在・過去・未来を語る』話題メモ - C# side - NyaRuRuが地球にいたころ

    Developers Summit 2008『【13-B-7】言語の現在・過去・未来を語る』のメモ.C# side. 誰かメモを公開してくれてるかなぁと勝手に期待してましたが,裏番組に id:amachang の『【13-D-7】JavaScript Tips & Technique』が入っていたせいもあってか今のところあまり見ないですね.というわけで憶えているうちに少し書いておきます.なお,これで全部じゃないのと,話題に上った順序とは必ずしも一致していないことに注意.あちこち話題が飛びながらまったり聞いて楽しむ感じの内容でした.「ラジオの深夜放送みたいだった」という渋木さんの表現はまさにぴったり. 以下の内容で興味を持たれた方は,当日聞いていた人を適当に捕まえて詳細を聞き出してみて下さい. 波村さん自己紹介 C# との出会い インターンで Microsoft に行ったのが出会い 「Win

    『【13-B-7】言語の現在・過去・未来を語る』話題メモ - C# side - NyaRuRuが地球にいたころ
  • 最初は初心者? いえいえ,最初は村人ですよ - NyaRuRuが地球にいたころ

    惨劇を暴くのは誰? 恐怖の条件付け (略) 2つ目は、「あるアメリカの夫婦のできごと」のお話です。 結婚も間もない若い夫婦が、新しいオーブンでローストビーフを作ろうとしていました。は肉の両端を5センチほど切り落としました。夫は料理に詳しいという人ではありませんでしたが、これを見ていて「どうして両端を切り落とすのか」とにたずねました。は「母が、いつもこうしてローストビーフを作っていたからよ」と答えました。知的で鋭い夫はその説明をうのみにしようとはせず、義理の母に電話をかけて同じ質問をしました。するとの母は「それは家のオーブンが小さくて、そうしないと肉がオーブンに入らなかったからですよ」と答えました。大きなオーブンがあるのに、自動的に肉の両端を切り落とすのは無意味な事だったのです。 (略) C# 言語設計におけるミス 言語設計で後悔していること anonymous method で y

    最初は初心者? いえいえ,最初は村人ですよ - NyaRuRuが地球にいたころ
  • あなたが漢字変換候補を覗き込むとき,Google もまた選択された候補を覗いている - NyaRuRuが地球にいたころ

    古川さんの書かれていたコメントを読んでいて,もう一点思い出したので書いてみます. 楠さんの指摘は当たっているけれど、ハズレでもあるのは..私はIEにおいてもユーザー辞書を参照できるようにいじっているはずで...銀行の口座番号や航空会社のマイレージ番号をユーザー辞書登録していたのが、IE下では使えないので、FirFoxを使ってアクセスしていた...それも、IEで辞書登録をすると[Windowsが認めた正規アプリではないので、ユーザー登録ができません」というお馬鹿のエラーが出るのに辟易して、パッチを当ててユーザー辞書が使えるようにしているのでありました。というわけで、IE環境とWindows のアプリで変換効率の結果が異なることは、ユーザー辞書の禁止と菅家ないと思われます。 確かに,ユーザ辞書を使えなくするという保護形態は,セキュリティ対策として受け入れるべきかよく分からないところがあります*

    あなたが漢字変換候補を覗き込むとき,Google もまた選択された候補を覗いている - NyaRuRuが地球にいたころ
  • 全てが式になる,全てが木になる,全てが式木になる - NyaRuRuが地球にいたころ

    関数型プログラマはプログラムを木だと思ってるらしい,より もいっこ yhara くんのところから. 関数型プログラマはプログラムを木だと思ってるらしい gauche.nightで出た話題だけど、関数型プログラマはプログラムを木だと思ってるらしい。 (car (string-split (string-reverse (string-upcase str)) "\n")) うん、これは木だ。 head $ lines $ reverse $ upcase str Haskellだと $ があるから見た目はネストしてないけど、実際には関数に関数の返り値を渡している。 そう、関数型プログラマは関数呼び出しの中に関数を書くことに抵抗がない。でもC言語とかだとさ、関数呼び出しの中に関数って書かないじゃん、普通。すごく短いやつを除けば、だいたい一旦変数に代入するでしょ。 そのへんの違いが関数型言語を学

    全てが式になる,全てが木になる,全てが式木になる - NyaRuRuが地球にいたころ
  • なぜ Directory が開かれたままになるのか? ―― ひとつの解 - NyaRuRuが地球にいたころ

    ついでにもう一点. 『ファイルの使用者を調べる PowerShell Cmdlet』に対し,こういった質問をいただきました. bear.mini 『ソースコード、ダウンロードさせていただきました。(中略) ところで、ファイルだけでなく、ディレクトリを Lock しているプロセスを識別できるようにはなりませんでしょうか?ディレクトリ内のファイルを再帰的にチェックさせようとすると、どうもディレクトリ自体のチェックの際にエラーが発生しているようですので・・・。』 あとからよく考えてみると,確かに Explorer から「特定ディレクトリだけ操作できなくなること」というのは少なからず経験があります.中のファイルは削除できたのに,なぜか大元のディレクトリを削除しようとすると,「別のプログラムがこのフォルダを開いているので、操作を完了できません」というダイアログが表示されてしまうという経験,皆さんもあ

    なぜ Directory が開かれたままになるのか? ―― ひとつの解 - NyaRuRuが地球にいたころ
    takeshiketa
    takeshiketa 2007/08/09
    ,SetCurrentDirectory API によってカレントディレクトリを変更すると,プロセスがそのディレクトリのファイルハンドルをオープンすることが,Process Explorer や handle.exe によって確かめられました.
  • 1