タグ

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

  • 2014 年やったこと - Mozc 編 - NyaRuRuが地球にいたころ

    いつもどおりコードが公開されている範囲で. 実は 2013 年にやっていたこと OSS Mozc のアップデートタイミングの関係上,2013年やったこと - Mozc 編 - NyaRuRuが地球にいたころ に載っていなかった内容です.概ね 2013 年末休暇シーズンに余暇としてやっていました. Windows 版での候補ウィンドウのカラー絵文字対応 Mozc チームを離れる直前,休暇シーズンということもあって久しぶりに自分の書きたいコードでも書くかと言うことでやってみたのがこのカラー絵文字対応です. 作業のほとんどは mozc_renderer (独立したプロセスとして動く,候補ウィンドウ表示用プロセス) 内の文字表示処理を DirectWrite に対応させることでした.カラー絵文字専用に追加したコードは数行です. r192 にてリリース. 変更の大半は renderer/win32/

    2014 年やったこと - Mozc 編 - NyaRuRuが地球にいたころ
  • boost xpressive で数列に対する文法を作る - NyaRuRuが地球にいたころ

    果ては Xpressive みたいな、正規表現を文字列以外の方法で記述できる実装だと、「文字」の「列」ですらなくても「文字とおなじようにふるまうもの」の「列」に対して正規表現使えちゃったりとか。intの配列から、100未満の値が繰り返されてる部分を取り出し! というお話を聞いて以来ずっと気になっていた boost Xpressive を使ってみる. お題としては,以前も解いたこの問題, 問題設定はnを1から初めてその2乗を足していき、和が2000を初めて超えたとき和はいくつになるかという問題を考えます。 を以下のように置き換える. 与えられた int の数列を調べ,2000 を超えた初めての要素を表示する.そのような要素が無ければ,"not found" と表示する. regex_match で解く 以下コード. #include <iostream> #include <limits>

    boost xpressive で数列に対する文法を作る - NyaRuRuが地球にいたころ
  • C++ と const 参照 - NyaRuRuが地球にいたころ

    数年前,まだ私が C++ゲームを書いていたころ,深すぎる関数のネストは「一旦変数に入れ」て「読みやすくする」というコーディングスタイルにだいたい落ち着いていた.もちろん,「これは一旦別名を付けるだけで,変数に再代入する気はないよ」ということで const も付ける.ただあまり大きなデータのコピーは嫌だよねということで,戻り値が std::string や構造体の関数呼び出しを「一旦変数に入れる」ときは const 参照を好んで使っていた. A(B(C(a), b, D(E(c), d, e))); 「む,なんて読みにくいコード.ばらせよ」 const int target_id = C(a); const MessageBody& message_body = D(E(c), d, e); const Message& msg = B(target_id, b, message_bod

    C++ と const 参照 - NyaRuRuが地球にいたころ
  • Xbox 360 における XNA ゲームのセキュリティモデルは,.NET のサンドボックスではなくハードウェアの非特権モードによるもの - NyaRuRuが地球にいたころ

    unsafe コードで色々。 - a4lg の準技術的日記 (縮小運営中) を読んで,XNA CLR ゲームが非特権モードによって保護されていることを思い出した.実は XNA CLR 自体はサンドボックスの役目を果たしていない. その点で言えば,先日の『Secure coding は Microsoft からイノベーションを奪っているか? - NyaRuRuの日記』での XNA への言及の仕方はまずかった.Singularity のあとに XNA のサンドボックスに言及すれば,当然 CLR がサンドボックスの役目を果たしているような気がしてくるが,実は違う.私もあの記事を書いているときは深く考えていなかったが,よく思い出してみると XNA ゲームの実行モードが「ユーザモード」であることがセキュリティ上の要になっている. 以下に GDC 2008 のスライドを引用する. Xbox 360 上

    Xbox 360 における XNA ゲームのセキュリティモデルは,.NET のサンドボックスではなくハードウェアの非特権モードによるもの - NyaRuRuが地球にいたころ
  • 1