でじくる。

主にプログラムの話題などを扱うブログです。

Apache Solrはよいものだ

しばらく前に日本語全文検索がしたくて

いろいろ探していました。

 

MySQL + Sennaというのも定番構成なんでしょうけど、

ちょっと違ったものを使ってみたかったので

Apache Solrを採用することにしました。

 

Apache Solr

http://lucene.apache.org/solr/

 

LuceneというJavaで作られた検索エンジンの

Webフロントエンドといったところでしょうか。

PHPとかほかの言語でも簡単に扱えるのがよい感じです。

 

本も出ていますね。

 

Apache Solr入門 ―オープンソース全文検索エンジン

http://www.amazon.co.jp/dp/4774141755

 

基本的な内容が押さえられていて、なかなかよい本です。

著者である関口宏司さんのサイトも参考になります。

http://lucene.jugem.jp/

gitでは空ディレクトリを追加できない

最近、プライベートのプログラミングで使うVCS

svnからgitに変えたのでいろいろ弄っています。

で、空のディレクトリが追加されなくてしばらく悩んだ、という話。

 

googleで検索するといくつか出てきますね。

 

git で空ディレクトリを追加するには

http://d.hatena.ne.jp/conceal-rs/20100127/1264573975

 

空のディレクトリをgitで管理するには.gitkeepを使う(.gitignoreは使わない)

http://memo.yomukaku.net/entries/195

 

.gitignore vs .gitkeep

http://stackoverflow.com/questions/7229885/gitignore-vs-gitkeep

 

なんか適当なファイルを置いて追加してしまいましょう、ということで

.gitkeepというファイルを作るのが一部のRails界隈の人中心に流行っているようです。

特にgitの機能としてなんかある、というのではない模様。

MySQLのFROM_UNIXTIMEは割と便利

MySQLに日時を格納する際、

unixtimeを使用するのがいいのかどうかはよくわかりませんが、

私は割とやります。

で、その場合FROM_UNIXTIMEって便利ですよね、という話。

 

FROM_UNIXTIMEは、unixtimeで格納されている時間を

適当なフォーマットで返すことのできる関数です。

 

SELECT FROM_UNIXTIME(1329568603)

とすると

2012-02-18 21:36:43

が返り、

 

SELECT FROM_UNIXTIME( 1329568603,  "%Y-%m" )

だと

2012-02

が返る、と。

 

それだけだと少しいい感じなだけなのですが、

SELECT * FROM hoge

WHERE FROM_UNIXTIME(created_at, "%Y-%m") = '2012-01';

とかすると2012年の1月の日時がcreated_atに入っているやつが全部取れて

割とうれしいです。

 

presentModalViewControllerで呼び出されたcontrollerのviewは背景を透明にできない

UIDatePickerを画面下から出すために

presentModalViewControllerを使って見たところ、

背景が透明にならずに微妙なことになりました。

 

しょうがないので普通にアニメーションさせましょう、

ということで参照したのがこの記事。

 

下からニュッと出てくるDatePicker

http://bugcloud.com/?p=936

 

背景も透明にできるし悪くないじゃん!

といったところですが、実はちょっと困ったことがあります。

画面を回転させるとUIDatePickerがちゃんと回転しなかったりするわけですね。

 

iPhone UIDatePicker in Landscape mode?

http://stackoverflow.com/questions/2331752/iphone-uidatepicker-in-landscape-mode

 

とか見ていろいろ試したのですが、

なかなか思い通りにいかなかったので

結局presentModalViewControllerに戻して

適当な背景画像を貼り付けてごまかすことにしました。

twitterはじめました。

はじめました。

https://twitter.com/#!/digiclu

まだ何も書いてないですが。

ついでにプロフィールアイコンも設定しました。

手持ちの素材集からテキトーに選んだだけなのでアレですが。

 

次ははてブとか始めるかもしれません。

mod_proxyって頻繁には書かないからいつも忘れる

タイトルがすべてです。

mod_proxyだけじゃないですが、

Apacheの設定とか、頻繁には書かないものって

結構忘れますよね。

 

サーバを新しく準備したときとか、

どんな設定をしたのかファイルなどで保存したりする、

というのは広く行われていることだと思います。

というか、前任者がどんな設定したのかドキュメントが残っていない

サーバを弄るほど怖いこともなし。

 

mod_proxyってmod_proxy_balancerでロードバランスするときとか

よく使われています。

ただ、私自身はmod_proxy_balancerは実験的な用途でしか使用したことがなく、

mod_proxyもサーバ移転の時ぐらいしか使いません。

なので、設定の仕方をいつも忘れるのでメモっておきましょう、というのが表題。

 

詳細に解説したブログがあるので貼ります。

 

mod_proxyのProxyPassReverseの意味がようやく理解できた

http://d.hatena.ne.jp/hogem/20091205/1260023908

 

こんな感じで書くといい感じ。

<VirtualHost *:80>

  ServerName foo.baa

  ProxyPass / http://foo.foo/

  ProxyPassReverse / http://foo.foo/

  ProxyRequests Off

  ProxyPreserveHost On

</VirtualHost>