タグ

2010年2月2日のブックマーク (5件)

  • マルチコア時代のLock-free入門 - yamasaのネタ帳

    日、並カンにてLock-freeアルゴリズムについて発表しました。発表資料は以下になります。 なお、今回の発表で割愛したメモリバリアの詳細については、以下の発表資料を参照ください。 そろそろvolatileについて一言いっておくか また、Hazard pointerやタグ付きポインタを使用したサンプルコードを以下に置いています。こちらも参考にどうぞ。 yamasa/lockfree - GitHub マルチコア時代のLock-free入門View more presentations or Upload your own.

    マルチコア時代のLock-free入門 - yamasaのネタ帳
  • BNF、EBNF、ABNF、まー正規表現だな - 檜山正幸のキマイラ飼育記

    BNFとか正規表現の話を。 ミニマムなBNFと正規表現 BNF(バッカス/ナウア記法)は、プログラミング言語の構文記述によく使われるメタ構文です。もともとは、「?」(省略可能)や「*」(任意回の繰り返し)のような記号は使わなかったようです。現在の正規表現で標準的に使われる「?」「*」「+」は、なくても次のように定義可能なのです。(以下で、EMPTYはそこに何もないことです。ほんとに何も無いと分かりにくいので目印にEMPTYを使います。) // X は A? X ::= EMPTY | A // Y は A* Y ::= EMPTY | A Y // Z は A+ Z ::= A | A Z 「|」があれば「?」「*」「+」を定義できますが、その代わりに再帰的な定義になります。 「::=」の左に同じ記号が複数回登場するのを許すと、「|」さえも不要になります。 // X は A? X ::=

    BNF、EBNF、ABNF、まー正規表現だな - 檜山正幸のキマイラ飼育記
    craf
    craf 2010/02/02
  • Firefoxのページめくりを加速させる方法 | 経営 | マイコミジャーナル

    Firefox web browser - Faster, more secure & customizable 情報収集からWebアプリケーションの利用まで、ブラウザを利用する時間は仕事を進めるうえで重要な位置を占めている。作業する時間が長ければ長いほど、ちょっとしたカスタマイズや作業効率の改善が、仕事全体としての効率アップにつながってくる。Faster! Accelerate Firefox 3.6 page scrolling - Mozilla Linksにおいて、Firefox 3.6ではデフォルトで無効にされている機能「Accelerated Scrolling」が紹介された。これはホイールマウスの動作を加速させてページスクロールを高速化するというもの。長いページをめくっていく場合に便利に利用できる。 設定はアドレスバーに「about:config」と入力して設定画面を開き、「

    craf
    craf 2010/02/02
  • C++0x基礎文法最速マスター - Faith and Brave - C++で遊ぼう

    C++0xになると、C++03でごちゃごちゃした部分がだいぶ すっきり書けるようになるので、C++0xでの入門はこんな感じになるよー、 という気持ちで書きました。 1. Hello World C++0xでの入出力には、IOStreamというものを使用します。 <<演算子でどんどんつないでいきます。 以下のプログラムの読み方は 「標準出力(cout)に"Hello World"という文字列と、改行(endl)を出力する」 です。 #include <iostream> int main() { std::cout << "Hello World" << std::endl; return 0; } Hello World coutとendlを使用するには、 #include <iostream> のように、という標準ライブラリのファイルを読み込む必要があります。 2. コメント 行コメント

    C++0x基礎文法最速マスター - Faith and Brave - C++で遊ぼう
    craf
    craf 2010/02/02
    「連想配列」って言い切っちゃうのがいいですね。
  • PS3 Hacked!! - J

    例のPS3ハックを理解するために、PPC64およびPS3のメモリ管理と仮想化の仕組みを理解しておこう。目標は、あの解説を読める程度になるレベルで。 (調べながら書いてるので流れが少し変かも) 手元にはPowerPC Operating Environment Architecture Book III Ver2.02(以下Book III)を用意しておいてほしい。 いくつかPPC64用語を解説しておこう。 LPAR PPC64では、x86でいう仮想化みたいなもの…OSの上位にいるプログラムを書く仕組みは、Logical Partitioning(LPAR)と名前が付けられており、アーキテクチャの一部として定義されている。 あと、x86でいう仮想化は、FullVirtualization支援の意味が強いが、PowerPCのLPARはParaVirtualization支援っぽい感じだと思う。

    PS3 Hacked!! - J