null+****@clear*****
null+****@clear*****
2012年 2月 29日 (水) 15:07:14 JST
kikidog 2012-02-29 15:07:14 +0900 (Wed, 29 Feb 2012)
New Revision: 2bcb64d7cd3a87e67b0302647521a5aef538757a
Log:
CSS adjustment
Added files:
blog/test.html
Modified files:
css/screen.css
Added: blog/test.html (+543 -0) 100644
===================================================================
--- /dev/null
+++ blog/test.html 2012-02-29 15:07:14 +0900 (50dc570)
@@ -0,0 +1,543 @@
+
+<!DOCTYPE html>
+<html lang="ja">
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <title>groonga - blogroonga</title>
+ <meta name="author" content="groonga project" />
+
+ <link rel="shortcut icon" href="/favicon.ico" />
+ <link rel="icon" href="favicon.png" />
+
+ <meta property="fb:page_id" content="201193596592346" /><!-- groonga -->
+ <meta property="fb:admins" content="664204556" /><!-- kouhei.sutou -->
+ <meta property="og:type" content="product" />
+ <meta property="og:image" content="http://groonga.org/images/groonga.png" />
+ <meta property="og:site_name" content="groonga" />
+
+ <!--[if lt IE 9]>
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+
+ <!-- syntax highlighting CSS -->
+ <link rel="stylesheet" href="../css/syntax.css" type="text/css" />
+ <!-- Homepage CSS -->
+ <link rel="stylesheet" href="../css/screen.css" type="text/css" media="screen, projection" />
+
+
+ <link rel="alternate" type="application/rss+xml" title="RSS" href="ja/blog/index.rdf" />
+
+
+
+ <script type="text/javascript" src="http://s.hatena.ne.jp/js/HatenaStar.js"></script>
+ <script type="text/javascript">
+ Hatena.Star.SiteConfig = {
+ entryNodes: {
+ 'div.post': {
+ uri: 'span.date a',
+ title: 'h2',
+ container: 'h2'
+ }
+ }
+ };
+ (function() {
+ if (!window.addEventListener) {
+ return;
+ }
+
+ var NodeInsert = function(evt) {
+ Hatena.Star.EntryLoader.loadNewEntries(evt.target);
+ };
+ window.addEventListener('AutoPagerize_DOMNodeInserted', NodeInsert, false);
+ window.addEventListener('AutoPatchWork.DOMNodeInserted', NodeInsert, false);
+ })();
+ </script>
+
+</head>
+<body>
+ <div id="fb-root"></div>
+ <header id="header">
+ <div class="title">
+ <a href="ja/">
+ <span class="project">groonga</span>
+ <span class="separator">-</span>
+ <span class="description">blogroonga</span>
+ </a>
+ </div>
+
+ <nav>
+ <ul>
+ <li><a href="ja/docs/">ドキュメント</a></li>
+ <li><a href="ja/publication/">発表</a></li>
+ <li><a href="ja/users/">利用例</a></li>
+ <li><a href="ja/related-projects.html">関連プロジェクト</a></li>
+ <li><a href="ja/docs/community.html">コミュニティ</a></li>
+ <li><a href="ja/support/">サポート</a></li>
+ <li><a href="ja/blog/">ブログ</a></li>
+ </ul>
+ </nav>
+
+ <div class="facebook-buttons">
+ <fb:like href="http://www.facebook.com/groonga"
+ layout="standard"
+ width="290"></fb:like>
+ </div>
+
+ <div class="other-language-links">
+ <ul>
+
+ <li><a href="blog/" alt="English" title="English"><img src="/images/us.png"></a></li>
+ </ul>
+ </div>
+</header>
+
+
+<div id="body">
+
+ <h1 id="title">
+
+ blogroonga
+
+ </h1>
+ <div id="content">
+ <div id="posts">
+
+
+ <div class="post">
+ <span class="date"><a href="ja/blog/2012/02/29/release.html" title="groonga 2.0.0リリース (2012-02-29)">2012-02-29</a></span>
+ <h2>groonga 2.0.0リリース</h2>
+<p>今日は4年に1度の肉の日ですね。</p>
+<p><a href="ja/docs/news.html#release-2-0-0">groonga 2.0.0</a> をリリースしました!</p>
+<p>それぞれの環境毎のインストール方法: <a href="ja/docs/install.html">インストール</a></p>
+<p>今回のリリースでメジャーバージョンがあがって2.0.0となっています!メジャーバージョンはあがりましたが、データベースのファイル形式は互換性があるのでデータベースを作りなおす必要はありません。</p>
+<h3>メジャーバージョンアップについて</h3>
+<p>1.xから2.xにメジャーバージョンがあがったのは今日が特別な日ということもありますが、より安心して使ってもらえることをアピールしたいという意図があります。</p>
+<p>1.0.0のリリースは <a href="http://rubykaigi.org/2010/ja">日本Ruby会議 2010</a> の最終日である2010/8/29でした。それから約1年半が経ち、継続的な機能拡張・バグフィックスを重ねることで、より広く使ってもらえるようになりました。</p>
+<p>すでに利用されているみなさんはgroongaが毎月着実によくなっていることを実感していることでしょう。しかし、まだ利用されていない方々にはそこが届きにくいようです。そこで、メジャーバージョンをあげることで、よくなっている感を大きくアピールします。これを機会に、これまでgroongaの採用・検証を見送っていたみなさんにもgroongaが十分実用的な全文検索エンジンであることを試してもらえることを期待しています。</p>
+<p>もし、まわりに「全文検索したいんだけどどうしよう…」という方がいたら、ぜひ「groongaが2.0になっているから試してみなよ!」とオススメしてください。</p>
+<h3>新ロゴ</h3>
+<p>これまでは原住民のお面のようなロゴを使っていましたが、よりスタイリッシュなロゴに変更することにしました。</p>
+<p><img src="/images/logo.png" title="新しいロゴ" alt="新しいロゴ" /></p>
+<p>これらのロゴやpowered by groongaのようなバナーも準備を進めていて、近いうちに自由に簡単に利用できるような形で提供する予定です。groongaを使っている人はぜひ使ってください!(ステッカーも作る予定もあります。)</p>
+<h3>新機能: オフラインインデックス作成に対応</h3>
+<p><a href="ja/publication/#motionology-2012-1">モーショノロジー2012 #1</a> などで匂わしていたオフラインインデックス作成機能が実装されました。</p>
+<p>使い方は <a href="ja/docs/indexing.html">インデックス構築</a> に関するドキュメントを参照してください。</p>
+<p>こちらでtwitterのデータ100万件でインデックス作成時間を測定したところ、従来のオンラインインデックス作成時間と比べて1/3倍から1/10倍程度になっていました。(ナイーブに使った)Solrと比べてもgroongaの方が速いくらいでした。(Solrをよく知っている人にも検証してもらいたいです。)</p>
+<p>バッチ処理でデータを登録している方はぜひ活用してください。</p>
+<h3>Windows用バイナリの修正</h3>
+<p>groonga 1.2の頃から <a href="http://packages.groonga.org/windows/groonga/">Windows用のバイナリファイルを提供</a> しています。</p>
+<p>実運用ではLinux上で動かすほうがオススメなのですが、Windows上でも動作確認やテストはできるものになっています。</p>
+<p>インストーラー(拡張子が.exe)の方を使うとgroonga用のコンソールも作られるので、まずは <a href="ja/docs/tutorial.html">チュートリアル</a> をやってみてみようという場合はインストーラーの方が便利だと思います!</p>
+<h3>groongaサポートサービス開始</h3>
+<p><a href="ja/support/">groongaを使った検索システムの検討から運用まで支援するサービス</a> を開始しました。</p>
+<h3>変更点</h3>
+<p>1.3.0からの変更点: <a href="ja/docs/news.html#release-2-0-0">2.0.0リリース – 2012/02/29</a></p>
+<h3>さいごに</h3>
+<p>2.0.0になり、さらに改良を続けているgroongaをぜひ使ってみてください!</p>
+ <div class="social-widgets">
+ <div class="inline-social-widgets">
+ <g:plusone href="http://groonga.org/ja/blog/2012/02/29/release.html" size="medium"></g:plusone>
+ <a href="http://b.hatena.ne.jp/entry/http://groonga.org/ja/blog/2012/02/29/release.html"
+ class="hatena-bookmark-button"
+ data-hatena-bookmark-layout="standard"
+ title="このエントリーをはてなブックマークに追加"
+ ><img src="http://b.st-hatena.com/images/entry-button/button-only.gif"
+ width="20"
+ height="20"
+ style="border: none;"
+ alt="このエントリーをはてなブックマークに追加" /></a>
+ <a href="http://twitter.com/share"
+ class="twitter-share-button"
+ data-lang="ja"
+ data-url="http://groonga.org/ja/blog/2012/02/29/release.html"
+ data-text="groonga 2.0.0リリース (2012-02-29">ツイートする</a>
+ </div>
+ <fb:like layout="standard"
+ width="450"
+ href="http://groonga.org/ja/blog/2012/02/29/release.html"></fb:like>
+ </div>
+ </div>
+
+
+
+ <div class="post">
+ <span class="date"><a href="ja/blog/2012/02/17/madoka.html" title="Count-Min Sketch のライブラリを公開しました (2012-02-17)">2012-02-17</a></span>
+ <h2>Count-Min Sketch のライブラリを公開しました</h2>
+<p>written by Susumu Yata.</p>
+<h3>はじめに</h3>
+<p>先日 groonga プロジェクトでの利用を目的として開発しているライブラリ Madoka を公開しました.Madoka は <a href="https://sites.google.com/site/countminsketch/">Count-Min Sketch</a> という手法をライブラリ化したものであり,文書集合に含まれるキーワードの頻度を求める,クエリの頻度を求める,などの用途に使うことができます.</p>
+<ul>
+ <li><a href="https://github.com/s-yata/madoka">s-yata/madoka – GitHub</a></li>
+ <li><a href="http://s-yata.github.com/madoka/">Documentation – Madoka</a></li>
+</ul>
+<p>ライブラリの使い方についてはドキュメントに書いてあるので,こちらは Count-Min Sketch と Madoka の特徴をまとめた内容になっています.</p>
+<h3>Count-Min Sketch</h3>
+<p>頻度を求めることが目的であれば,ハッシュ表による連想配列を使うのが,おそらく一般的です.キーワードやクエリ(以降,キー)を指定すれば頻度への参照を返すという連想配列であれば,主要なプログラミング言語では標準的にサポートされていると思います.それでは,Count-Min Sketch のライブラリを開発する理由はどこにあったのでしょうか.Count-Min Sketch の特徴を以下に並べてみます.</p>
+<ul>
+ <li>キーを取り出すことはできません.
+ <ul>
+ <li>キーを渡せば頻度を返すというインタフェースは用意できますが,それまでにカウントしたキーを列挙するようなことはできません.</li>
+ <li>高頻度のキーだけを列挙したいなどの要求については,個別に対処する必要があります.</li>
+ </ul></li>
+ <li>誤差を含みます.
+ <ul>
+ <li>正確な頻度が 10,000 であるキーに対して 10,010 などの誤差を含む値を返すことがあり,厳密な頻度を求めたい状況では,直接的に使うことはできません.</li>
+ <li>低頻度なキーは誤差を含みやすいという特徴があります.</li>
+ </ul></li>
+ <li>最初にサイズを決定します.
+ <ul>
+ <li>作成するときに指定するパラメータによってスケッチのサイズが決定されます.</li>
+ <li>どれほどのキーを入力してもサイズは変化しませんが,代わりに誤差が大きくなっていきます.</li>
+ </ul></li>
+ <li>最悪時間計算量が O(1) になります.
+ <ul>
+ <li>ハッシュ表の平均時間計算量を O(1) とするのであれば,Count-Min Sketch の最悪時間計算量は O(1) です.</li>
+ <li>正確にはスケッチのパラメータとキーの長さに依存します.そして,実際にはキャッシュミスがボトルネックになります.</li>
+ </ul></li>
+</ul>
+<p>まず重要なことは,スケッチのサイズが固定されるということです.メモリ使用量は簡単に求めることが可能であり,拡張によってメモリが不足する可能性はありません.誤差を許容できるのであれば,という条件が付くものの,魅力的な特徴です.その上,低頻度キーの誤差を無視できるのであれば,一般的なハッシュ表と比べて 1/10 程度のメモリ使用量でも十分な精度を確保できます.そのため,上手くハマると極めて強力なツールになります.</p>
+<p>一方で,あらかじめスケッチのサイズを決定しなければならないことは,大きな欠点でもあります.スケッチのサイズを小さくすれば誤差が大きくなり,逆に,スケッチのサイズを大きくすればメモリ使用量が増えてしまいます.キャッシュミスが増えて遅くなるというおまけ付きです.そして,パラメータの設定に際して考慮すべきことはメモリ使用量,許容誤差,キーの規模・分布だと分かっているものの,具体的な設定指針はまだ見えていません.これからの評価で明らかにしていきたいところですが,できれば,興味のある方には実際に使ってみていただけると助かります.</p>
+<h3>Madoka – Count-Min Sketch のライブラリ</h3>
+<p>Madoka は Count-Min Sketch のライブラリですが,精度を高めるために <a href="http://sparrow.ece.cmu.edu/group/731-s10/readings/estan_varghese.pdf">Conservative Update</a> を採用しています.実は <a href="http://www.umiacs.umd.edu/%7Eamit/Papers/goyalLCUSketchAAAI11.pdf">Lossy Conservative Update</a> にも対応していますが,こちらはおまけなので,ライブラリの利用者が Lossy Conservative Update のことを知らなければ適用できません.それから, <a href="http://code.google.com/p/ux-trie/">ux-trie</a> を参考に開発したライブラリが <a href="http://code.google.com/p/marisa-trie/">marisa-trie</a> になったように,既存の手法や実装の段階で思い付いたアイデアを取り込んでいます.</p>
+<ul>
+ <li><a href="http://code.google.com/p/smhasher/wiki/MurmurHash3">MurmurHash3</a>
+ <ul>
+ <li>ハッシュ関数には MurmurHash3 を使っています.</li>
+ <li>任意のバイト列から 128 ビットのハッシュ値を一度に生成できるので便利です.</li>
+ </ul></li>
+ <li><a href="http://ja.wikipedia.org/wiki/Xorshift">Xorshift</a>
+ <ul>
+ <li>疑似乱数の生成には 128 ビット版 Xorshift を使っています.</li>
+ <li>シンプルで高速なので重宝します.</li>
+ </ul></li>
+ <li>ビット単位のカウンタ
+ <ul>
+ <li>32 ビットの整数をカウンタに使うのは勿体ないため,上限に応じて 1, 2, 4, 8, 16 ビットの整数をカウンタとして使えるようになっています.</li>
+ <li>1 ビットのときは <a href="http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AB%E3%83%BC%E3%83%A0%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF">Bloom Filter</a> のそっくりさんになります.</li>
+ <li>たとえば,頻度 10 以上になるキーを判定したいときは 4 ビットのカウンタで十分です.</li>
+ </ul></li>
+ <li>確率的なカウンタ
+ <ul>
+ <li>32 ビットの整数では飽和しかねず,64 ビットの整数では大きすぎる,という理由から開発されたカウンタです.</li>
+ <li><a href="http://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0">浮動小数点数</a> と <a href="http://en.wikipedia.org/wiki/Approximate_counting_algorithm">Approximate Counting Algorithm</a> のアイデアを組み合わせることで生まれたカウンタです.</li>
+ <li>14 ビットの仮数部と 5 ビットの指数部により構成されるカウンタであり,約 35 兆(2^45 – 1)までの数値を表現できます.</li>
+ <li>仮数部が 0, 1 以外のときは確率的に値が変化するという考え方を採用することで,インクリメントや加算を実現しました.</li>
+ <li>カウントを繰り返すことによって誤差が発生するものの,ほとんどのカウンタでは 1% 以内に収まります.</li>
+ </ul></li>
+ <li>もっと Conservative Update
+ <ul>
+ <li>別のキーによるインクリメントをブロックするフラグの導入により誤差を抑えています.</li>
+ <li>確率的なカウンタを使うときだけ有効になります.</li>
+ <li>カウンタのサイズは 21 ビットになりますが,カウンタ 3 つをまとめて 64 ビットに格納するため,1 ビットは無駄になります.</li>
+ </ul></li>
+ <li>フィルタの適用
+ <ul>
+ <li>すべてのカウンタに対して同じ関数を適用します.</li>
+ <li>Lossy Conservative Update に使えます.</li>
+ <li>カウンタが飽和してしまったときは,フィルタを使って全カウンタを引き下げた上で使いつづけるという手があります.</li>
+ </ul></li>
+ <li>スケッチの縮小
+ <ul>
+ <li>元のサイズを割り切れるサイズへとスケッチを縮小することができます.</li>
+ <li>同時にカウンタの上限を変更したりフィルタを適用したりできます.</li>
+ <li>たとえば,カウンタの上限を 1 にして { return value >= 10; } というフィルタを適用すれば,閾値を 10 とする 2 値のスケッチへと変換できます.</li>
+ <li>当初の想定では,誤差が許容できる程度に縮小するだけの機能でした.</li>
+ </ul></li>
+ <li>スケッチの合成
+ <ul>
+ <li>二つのスケッチを合成できるようになっています.</li>
+ <li>別々に作成したスケッチを 1 つにまとめるという使い道があります.</li>
+ </ul></li>
+</ul>
+<p>というわけで,なかなか味のあるライブラリに仕上がっています.実のところ,当初は Count-Min Sketch の実用性に懐疑的でした.それが今では,使いどころは難しいものの,かなり実用的なのではないかと考えるようになりました.今後の開発においては,Windows で動くようにすることや日本語のドキュメントを用意することに加えて,Count-Min Sketch の評価を進めることを予定しています.</p>
+<h3>おわりに</h3>
+<p>Count-Min Sketch は興味深い手法であり,いろいろなところに応用できるはずです.しかし,ハッシュ表ほど汎用的な手法ではなく,知名度が低くて実例が少ないため,まだまだ選択肢としては貧弱です.ライブラリの開発が Count-Min Sketch が普及する一助になれば,それはとっても嬉しいなって思います.</p>
+<p>2 月 25 日に開催される <a href="http://atnd.org/events/25020">第9回自然言語処理勉強会 #TokyoNLP</a> で発表する予定です.</p>
+ <div class="social-widgets">
+ <div class="inline-social-widgets">
+ <g:plusone href="http://groonga.org/ja/blog/2012/02/17/madoka.html" size="medium"></g:plusone>
+ <a href="http://b.hatena.ne.jp/entry/http://groonga.org/ja/blog/2012/02/17/madoka.html"
+ class="hatena-bookmark-button"
+ data-hatena-bookmark-layout="standard"
+ title="このエントリーをはてなブックマークに追加"
+ ><img src="http://b.st-hatena.com/images/entry-button/button-only.gif"
+ width="20"
+ height="20"
+ style="border: none;"
+ alt="このエントリーをはてなブックマークに追加" /></a>
+ <a href="http://twitter.com/share"
+ class="twitter-share-button"
+ data-lang="ja"
+ data-url="http://groonga.org/ja/blog/2012/02/17/madoka.html"
+ data-text="Count-Min Sketch のライブラリを公開しました (2012-02-17">ツイートする</a>
+ </div>
+ <fb:like layout="standard"
+ width="450"
+ href="http://groonga.org/ja/blog/2012/02/17/madoka.html"></fb:like>
+ </div>
+ </div>
+
+
+
+
+
+ <div class="post">
+ <span class="date"><a href="ja/blog/2012/01/29/release.html" title="groonga 1.3.0リリース (2012-01-29)">2012-01-29</a></span>
+ <h2>groonga 1.3.0リリース</h2>
+<p>今日は今年最初の肉の日ですね。</p>
+<p><a href="ja/docs/news.html#release-1-3-0">groonga 1.3.0</a> がリリースされました!</p>
+<p>それぞれの環境毎のインストール方法: <a href="ja/docs/install.html">インストール</a></p>
+<h3>モーショノロジー2012 #1で発表してきました</h3>
+<p><a href="http://atnd.org/events/23608">モーショノロジー2012 #1 全文検索&検索を利用したサービスの使命、利用プロダクト、事例紹介</a> でgroonga関連のお話をしてきました。発表資料は <a href="ja/publication/#motionology-2012-1">発表ページ</a> にあるので確認してみてください。</p>
+<h3>renameコマンドを追加</h3>
+<p>テーブル名・カラム名をリネームするtable_renameコマンドとcolumn_renameコマンドを追加しました。(まだドキュメントは用意できていないのですが、)以下のように使うことができます。</p>
+<p>table_rename:</p>
+<pre>
+> table_rename ${table_name} ${new_table_name}
+</pre>
+<p>UsersテーブルをPeopleテーブルにリネームする例:</p>
+<pre>
+> table_rename Users People
+</pre>
+<p>column_rename:</p>
+<pre>
+> column_rename ${table_name} ${column_name} ${new_column_name}
+</pre>
+<p>Usersテーブルのnameカラムをnickカラムにリネームする例:</p>
+<pre>
+> column_rename Users name nick
+</pre>
+<p>これまではリネームしようと思ったら、わりと大変だったのですが、これで簡単にスキーマを試せますね。</p>
+<h3>MessagePack出力とサジェスト機能を「サポート対象」に変更</h3>
+<p>1.3.0になったこともあるので、MessagePack出力と <a href="ja/docs/suggest.html">サジェスト機能</a> を「実験的」な扱いから「サポート対象」の扱いにしました。</p>
+<p>サジェスト機能は内部的なスキーマをこれから変更する可能性はあるのですが、上記のrenameコマンドで外部からは意識しないで改良していける見通しが経ったので「サポート対象」扱いとしました。</p>
+<p>MessagePack出力もサジェスト機能もぜひ使ってみてください。</p>
+<h3>変更点</h3>
+<p>1.2.9からの変更点: <a href="ja/docs/news.html#release-1-3-0">1.3.0リリース – 2012/01/29</a></p>
+<h3>さいごに</h3>
+<p>それでは、今年もよろしくおねがいします!</p>
+ <div class="social-widgets">
+ <div class="inline-social-widgets">
+ <g:plusone href="http://groonga.org/ja/blog/2012/01/29/release.html" size="medium"></g:plusone>
+ <a href="http://b.hatena.ne.jp/entry/http://groonga.org/ja/blog/2012/01/29/release.html"
+ class="hatena-bookmark-button"
+ data-hatena-bookmark-layout="standard"
+ title="このエントリーをはてなブックマークに追加"
+ ><img src="http://b.st-hatena.com/images/entry-button/button-only.gif"
+ width="20"
+ height="20"
+ style="border: none;"
+ alt="このエントリーをはてなブックマークに追加" /></a>
+ <a href="http://twitter.com/share"
+ class="twitter-share-button"
+ data-lang="ja"
+ data-url="http://groonga.org/ja/blog/2012/01/29/release.html"
+ data-text="groonga 1.3.0リリース (2012-01-29">ツイートする</a>
+ </div>
+ <fb:like layout="standard"
+ width="450"
+ href="http://groonga.org/ja/blog/2012/01/29/release.html"></fb:like>
+ </div>
+ </div>
+
+
+
+ <div class="post">
+ <span class="date"><a href="ja/blog/2012/01/27/motionology-2012-1.html" title="モーショノロジー2012 #1に参加 #mnlgy (2012-01-27)">2012-01-27</a></span>
+ <h2>モーショノロジー2012 #1に参加 #mnlgy</h2>
+<p><a href="http://crooz.co.jp/">CROOZさん</a> が主催する <a href="http://atnd.org/events/23608">モーショノロジー2012 #1</a> という技術勉強会でgroonga関連のお話をしてきました。</p>
+<p>資料は <a href="ja/publication/#motionology-2012-1">発表ページ</a> にまとめてありますので、残念ながら当日参加できなかった方はこちらをご覧ください。</p>
+<p>資料などの関連情報を <a href="http://www.facebook.com/motionology">Facebookのモーショノロジー</a> に集めるそうなので、groonga以外の話題も気になる方はこちらもご覧ください。</p>
+<p>兼山さんの <a href="http://d.hatena.ne.jp/code46/20120127/p1">Solrを使ったレシピ検索のプロトタイピング</a> の資料はすでに公開されているようです。</p>
+<p>CROOZさん、今回は声をかけていただきありがとうございます!<br />
+groonga関連のお話を聞きたい!という方がいたらぜひ声をかけてください!話に行きます。</p>
+ <div class="social-widgets">
+ <div class="inline-social-widgets">
+ <g:plusone href="http://groonga.org/ja/blog/2012/01/27/motionology-2012-1.html" size="medium"></g:plusone>
+ <a href="http://b.hatena.ne.jp/entry/http://groonga.org/ja/blog/2012/01/27/motionology-2012-1.html"
+ class="hatena-bookmark-button"
+ data-hatena-bookmark-layout="standard"
+ title="このエントリーをはてなブックマークに追加"
+ ><img src="http://b.st-hatena.com/images/entry-button/button-only.gif"
+ width="20"
+ height="20"
+ style="border: none;"
+ alt="このエントリーをはてなブックマークに追加" /></a>
+ <a href="http://twitter.com/share"
+ class="twitter-share-button"
+ data-lang="ja"
+ data-url="http://groonga.org/ja/blog/2012/01/27/motionology-2012-1.html"
+ data-text="モーショノロジー2012 #1に参加 #mnlgy (2012-01-27">ツイートする</a>
+ </div>
+ <fb:like layout="standard"
+ width="450"
+ href="http://groonga.org/ja/blog/2012/01/27/motionology-2012-1.html"></fb:like>
+ </div>
+ </div>
+
+
+</div>
+
+ </div>
+ <div id="sidebar">
+ <h2>リンク</h2>
+ <ul>
+ <li><a href="ja/">ホーム</a></li>
+ <li><a href="ja/docs/">ドキュメント</a></li>
+ <li><a href="ja/publication/">発表</a></li>
+ <li><a href="ja/related-projects.html">関連プロジェクト</a></li>
+ <li><a href="ja/docs/community.html">コミュニティ</a></li>
+ <li><a href="ja/docs/contribution.html">コントリビュート</a></li>
+ <li><a href="ja/blog/">ブログ</a></li>
+ </ul>
+ <h2>最新記事</h2>
+ <ul>
+
+
+ <li>
+ <a href="ja/blog/2012/02/29/release.html">groonga 2.0.0リリース</a>
+ <span class="date">(2012-02-29)</span>
+ </li>
+
+
+
+ <li>
+ <a href="ja/blog/2012/02/17/madoka.html">Count-Min Sketch のライブラリを公開しました</a>
+ <span class="date">(2012-02-17)</span>
+ </li>
+
+
+
+
+
+ <li>
+ <a href="ja/blog/2012/01/29/release.html">groonga 1.3.0リリース</a>
+ <span class="date">(2012-01-29)</span>
+ </li>
+
+
+
+ <li>
+ <a href="ja/blog/2012/01/27/motionology-2012-1.html">モーショノロジー2012 #1に参加 #mnlgy</a>
+ <span class="date">(2012-01-27)</span>
+ </li>
+
+
+
+ <li>
+ <a href="ja/blog/2012/01/16/motionology-2012-1.html">モーショノロジー2012 #1参加のおしらせ</a>
+ <span class="date">(2012-01-16)</span>
+ </li>
+
+
+
+
+
+ <li>
+ <a href="ja/blog/2011/12/29/release.html">groonga 1.2.9リリース</a>
+ <span class="date">(2011-12-29)</span>
+ </li>
+
+
+
+ <li>
+ <a href="ja/blog/2011/12/02/groonga-night-2.html">全文検索エンジンgroongaを囲む夕べ 2開催</a>
+ <span class="date">(2011-12-02)</span>
+ </li>
+
+
+
+ <li>
+ <a href="ja/blog/2011/11/29/release.html">groonga 1.2.8リリース</a>
+ <span class="date">(2011-11-29)</span>
+ </li>
+
+
+
+ <li>
+ <a href="ja/blog/2011/11/15/groonga-night-2-to-substitute.html">「全文検索エンジンgroongaを囲む夕べ 2」参加者へのお知らせ</a>
+ <span class="date">(2011-11-15)</span>
+ </li>
+
+
+
+ <li>
+ <a href="ja/blog/2011/11/08/grn_dat.html">grn_dat - 参照ロックフリーなダブル配列</a>
+ <span class="date">(2011-11-08)</span>
+ </li>
+
+
+
+ <li>
+ <a href="ja/blog/2011/10/29/release.html">groonga 1.2.7, groongaストレージエンジン 1.0.1リリース</a>
+ <span class="date">(2011-10-29)</span>
+ </li>
+
+
+
+
+
+ <li>
+ <a href="ja/blog/2011/07/28/innodb-fts.html">InnoDB純正の全文検索エンジンInnoDB FTS</a>
+ <span class="date">(2011-07-28)</span>
+ </li>
+
+
+
+ <li>
+ <a href="ja/blog/2011/07/13/lexicon-cache.html">索引語辞書におけるキャッシュの採用</a>
+ <span class="date">(2011-07-13)</span>
+ </li>
+
+
+
+ <li>
+ <a href="ja/blog/2011/06/19/grn_pat_cursor.html">grn_pat_cursor の仕様</a>
+ <span class="date">(2011-06-19)</span>
+ </li>
+
+
+ </ul>
+ <h2>書籍</h2>
+ <ul>
+ <li>
+ <a class="amazon-detail" href="http://amzn.to/jScDv6">
+ <span class="amazon-title">検索エンジンはなぜ見つけるのか</span><br>
+ <img class="amazon-detail"
+ src="http://ecx.images-amazon.com/images/I/5169KreVZdL._SL75_.jpg"
+ alt="検索エンジンはなぜ見つけるのか ―知っておきたいウェブ情報検索の基礎知識"
+ height="75" width="53">
+ </a>
+ </li>
+ </ul>
+ </div>
+</div>
+
+
+<footer id="footer">
+ <address>© groongaプロジェクト</address>
+ <p class="license">groongaは<a href="http://www.opensource.org/licenses/lgpl-2.1.php">GNU Lesser General Public License version 2.1</a>の下でリリースされています。</p>
+</footer>
+
+
+ <script type="text/javascript"
+ src="http://b.st-hatena.com/js/bookmark_button.js"
+ charset="utf-8"
+ async="async"></script>
+ <script src="http://platform.twitter.com/widgets.js"
+ type="text/javascript"></script>
+ <script type="text/javascript" src="http://apis.google.com/js/plusone.js">
+ {lang: 'ja'}
+ </script>
+ <script src="http://connect.facebook.net/ja_JP/all.js"></script>
+
+ <script>
+ FB.init({
+ appId : null,
+ status : true, // check login status
+ cookie : true, // enable cookies to allow the server to access the session
+ xfbml : true // parse XFBML
+ });
+ </script>
+</body>
+</html>
Modified: css/screen.css (+13 -9)
===================================================================
--- css/screen.css 2012-02-29 14:49:13 +0900 (f42d2fe)
+++ css/screen.css 2012-02-29 15:07:14 +0900 (ec846e0)
@@ -211,29 +211,32 @@ div#content h6
margin: 0;
padding-bottom: 10px;
position: relative;
- border-bottom: 1px solid #DDD;
+ border-bottom: 3px solid #FAFAFA;
/*color: #38a3ef;*/
font-weight: bold;
}
div#content h2
{
+ /*
margin-left: -20px;
margin-right: -20px;
padding-top: 10px;
padding-left: 20px;
padding-right: 20px;
+ */
+ color: white;
+ background: #005fb0 url(../images/navigation-bar.png) top left repeat-x;
+ font-weight: bold;
+ padding: 10px;
+ padding-left:30px;
+ margin: 0;
}
div#content h3
{
- color: white;
- background: #005fb0 url(../images/navigation-bar.png) repeat-y;
- border-bottom: 1px solid #992e1d;
font-weight: bold;
- padding-top: 10px;
- padding-right: 20px;
- padding-left: 60px;
+ padding: 10px 10px 0 10px;
margin: 0;
}
@@ -281,10 +284,11 @@ div#content div#posts
div#content div.post
{
- background-color: #fff5e5;
+ /*background-color: #fff5e5;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
+ */
margin-bottom: 5em;
}
@@ -520,7 +524,7 @@ div#top-page-content p.detail-link a:hover
div#top-page-content p.detail-link a.characteristic
{
- /*background-image: url(../images/characteristic.png);*/
+ background-image: url(../images/characteristic.png);
}
div#top-page-content p.detail-link a.install