でじくる。

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

Apache Solr 3.6からはKuromojiという形態素解析が初期の状態で含まれる

しばらく前に Apache Solrで形態素解析をしたいときはlucene-gosenを使うという話 http://digiclu.hatenablog.com/entry/2012/03/25/201724 という記事を書きましたが、 先月リリースされた3.6では Kuromojiという日本語形態素解析が初期の状態から 含まれる…

rightscaleのCentOS6.0をsmall instanceにしようとしたらkernel panicになった件

EC2でインスタンスを立ち上げる場合、 だいたいはオフィシャルか3rd Partyの作成した OSイメージを使用すると思います。 その中で、rightscale社の作成したOSイメージは 比較的プレーンでサーバに使いやすいCentOSのOSイメージ ということでそこそこ使われて…

$argvはスーパーグローバルではない

PHP

PHPは主にWebアプリを作成するための言語ですが、 当然のごとくコマンドラインで動くスクリプトを作成することもできます。 一般的にどの程度PHPがコマンドラインで使われているかは知りませんが、 私はあまりPHPでコマンドラインのスクリプトを書いたりしま…

Apacheでmod_remoteipを使うときに気をつけておいた方がよいこと

前twitterか何かに書いた気もしますが、 先日公開されたApache 2.4.1からmod_remoteipという モジュールが追加されています。 httpdがロードバランサの後ろとかにいると アクセスログにはロードバランサのipが記録されてしまうので 困るよね、というのを解決…

PHPからApache SolrにJSONでデータをポストする

ApacheSolrにデータを投入する場合、 一般的にはxmlのファイルを読み込んだり MySQLなどからDataImportHandlerで読み込むと便利です。 ただ、クライアントサイドから頻繁にアップデートをする場合など、 PHPとかプログラムからデータを送りつけることができ…

PHPMDで既存のルールセットからカスタムルールを作るときに気をつけること

PHP

PHPMDというツールがあります。 PHP Mess Detectorということで、 PHPで書かれたコードのいまいちいけていないところを指摘してくれるツールです。 未使用の変数を指摘してくれたりなかなか便利なのですが、 二文字の変数を使いたいから一部の条件を外したい…

JavaScript+QUnit+PhantomJS+JenkinsでCI

適当にはてブを見ていたら、 JavaScriptでUnit Testをする記事が出ていました。 javascriptのテストのはなし:QUnit http://dev.classmethod.jp/etc/javascript_testing_framework_qunit/ へー、とか感心しつつ、 結局ブラウザで動かさないといけないんじゃ…

PHPのIteratorとIteratorAggregate

PHP

PHPのSPLにIteratorとIteratorAggregateというインターフェースがあります。 Iteratorはそのまんまですね。 Iteratorインターフェースを実装したクラスは指定されているメソッドを実装すれば foreachで回したりできるようになる、と。 それは以前から知って…

Apache Solrで形態素解析をしたいときはlucene-gosenを使うという話

Apache Solrという全文検索エンジンがあります。 Javaで作られていて、PHPなんかからも簡単に扱えるので便利。 多国語対応する場合はn-gramが楽なのですが、 日本語しか使わない場合はまあ、形態素解析にしたいですよね。 ということで、「Apache Solr入門」…

capistranoでssh_optionsを設定し忘れててはまった話

主にRailsなんかで使われている capistranoというデプロイツールがあります。 sshで指定したサーバにログインして、 適宜コマンドを実行できるツールですね、 思いっきりぶっちゃけて言うと。 公開鍵認証でログインさせようとした場合、 ssh_optionsを設定し…

s3fsが簡単すぎて笑える

Amazon S3をファイルシステムとしてマウントできるs3fsというものがあります。 EBSあるしいらんだろ、とか思ったりもするのですが、 無制限にスケールできるのは何というか夢が膨らむよね、ということで 使ってみることにしました。 公式サイト http://code.…

クラウドの肝はやはり分散ストレージなのだなぁ。

昨日、TwitterでさくらのVPSはいい感じだけど クラウドの方は調子がよろしくないとか書いていたのですが、 とうとう無償になってしまいました。 さくらのクラウドの現状報告および課金対応について http://cloud.sakura.ad.jp/news/sakurainfo/newsentry.php…

Apache 2.4.1をソースから入れようとするとAPRがないとか言われる

最近、Apache2.4.1やPHP5.4がリリースされているので、 検証という名目でインストールして遊ぼうということで環境を作っていました。 さくっとソースからApacheを入れようとしたところ、 なんかAPRがないとか怒られて./configureが通りませんでした。 簡単に…

64bit対応のSmall Instance登場!

はい。やっときました。 【AWS発表】 EC2に新ミディアム・インスタンス追加、64ビット対応のインスタンスタイプ2種追加、さらにWebコンソールにSSHクライアント統合 http://aws.typepad.com/aws_japan/2012/03/ec2-updates-new-medium-instance-64-bit-bit-u…

PDOのFETCH_CLASSがprivateなプロパティでも使えるのは便利なのか気持ち悪いのかよくわからない

PHP

PHPでデータベースを操作する際に、 私は基本的にPDOを使用しています。 PDOには、fetchしてきたデータを指定したクラスに 勝手に詰め込んだオブジェクトを返してくれる PDO::FETCH_CLASSというオプションがあります。 いかにも便利そうなんですが、 何とな…

EC2の小ネタ三つ

今日はEC2を使う上で知っておくと何かと便利なネタを三つほど紹介します。 といっても、リンクを三つ張るだけの簡単なお仕事ですが。 "Auto Scaling"で指定時刻にEC2インスタンスを起動 http://blog.suz-lab.com/2011/08/auto-scalingec2.html EBS-backedイ…

PHPのmktimeは引数の順番がイミフなのでDateTimeを使いたい。

PHP

PHPを使っていて結構困ることの一つに mktimeの引数の順番があります。 どんな順番で並べたらいいかだいたい忘れていて、 いつもphp.netのお世話に。 ということで、PHP5.2以降だとDateTimeクラスが使用できるようになっているので 多少めんどくささが緩和さ…

innodbでテーブルごとにデータファイルを作成する

MySQLでinnodbを使用する場合、 通常、データは単一のibdata1というファイルに保存されます。 このファイルはmy.cnfの設定によって自動拡張するようになっていて、 放置していると平然と数GBとかにふくれあがります。 32bitのLinuxを使用していた場合、2GB以…

mod_rewriteのQSAフラグの存在をよく忘れる件

Apacheにはmod_rewriteというURLをリダイレクトしたりするのに 使える便利なモジュールがあります。 使いすぎるとかなりの黒魔術状態ですが、 やっぱり使ってしまう。 mod_rewriteの簡単な紹介記事は mod_rewrite サンプル集 http://tech.bayashi.jp/archive…

PHPのautoloadは結局どう書くのが一番気分がいいのか

PHP

PHPにはクラスを自動的に探してくる オートローディングという機能があります。 オートロードするための関数を登録する方法として __autoload()とspl_autoload_register()の二つが存在し、 __autoload()は複数の関数を登録できないので非推奨、 spl_autoload…

iOSアプリをサブミットしようとしたらUINewsstandAppがどうこうとか言われてうざい。

そんな困ったときのためのstackoverflow Xcode gave strange newsstand-error when trying to submit an app http://stackoverflow.com/questions/6977357/xcode-gave-strange-newsstand-error-when-trying-to-submit-an-app?answertab=votes#tab-top info.p…

はてブはじめました。

はじめました、ということで。 今のところブログで紹介した記事をとりあえず 片っ端から貼ってみただけですが。。 http://b.hatena.ne.jp/digiclu/

Apache Solrはよいものだ

しばらく前に日本語全文検索がしたくて いろいろ探していました。 MySQL + Sennaというのも定番構成なんでしょうけど、 ちょっと違ったものを使ってみたかったので Apache Solrを採用することにしました。 Apache Solr http://lucene.apache.org/solr/ Lucen…

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

Git

最近、プライベートのプログラミングで使うVCSを svnからgitに変えたのでいろいろ弄っています。 で、空のディレクトリが追加されなくてしばらく悩んだ、という話。 googleで検索するといくつか出てきますね。 git で空ディレクトリを追加するには http://d.…

MySQLのFROM_UNIXTIMEは割と便利

MySQLに日時を格納する際、 unixtimeを使用するのがいいのかどうかはよくわかりませんが、 私は割とやります。 で、その場合FROM_UNIXTIMEって便利ですよね、という話。 FROM_UNIXTIMEは、unixtimeで格納されている時間を 適当なフォーマットで返すことので…

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

UIDatePickerを画面下から出すために presentModalViewControllerを使って見たところ、 背景が透明にならずに微妙なことになりました。 しょうがないので普通にアニメーションさせましょう、 ということで参照したのがこの記事。 下からニュッと出てくるDate…

twitterはじめました。

はじめました。 https://twitter.com/#!/digiclu まだ何も書いてないですが。 ついでにプロフィールアイコンも設定しました。 手持ちの素材集からテキトーに選んだだけなのでアレですが。 次ははてブとか始めるかもしれません。

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

タイトルがすべてです。 mod_proxyだけじゃないですが、 Apacheの設定とか、頻繁には書かないものって 結構忘れますよね。 サーバを新しく準備したときとか、 どんな設定をしたのかファイルなどで保存したりする、 というのは広く行われていることだと思いま…

Jenkinsの記事なのにJenkins自体のURLを貼らないとか何なの?

タイトル通りでございます。 ということで、 http://jenkins-ci.org/ あと、普通Jenkinsってtomcatで使うと思うんですけど、 他にJava使ってないし、まあいいや。 ということもあると思います。 私なのですが。 そういう場合の起動スクリプトも公開されてい…

JenkinsとPHPでCIしたいときに読むべき記事

Jenkinsを導入してみようと思い立ち 先週ぐらいから弄っています。 Jenkins本 http://www.amazon.co.jp/dp/4774148911 は去年発売されたときに買って積んでいたので崩しつつ。 それで参考にしたブログの記事など並べておきます。 PHPでTDD&CIワークショップ…