k4200’s notes and thoughts

Programmer side of k4200

Magnet Patternを使って、type erasureで同じ型になるオーバーロードの問題を解決する

久しぶりにプログラミングネタ。 背景 List[Int]もList[String]もバイトコードでは同じ type erasureについて知ってる人は飛ばしてOK。知らない人向けに簡単に説明すると、Scalaでは(Javaでも同じだけど)以下の様なメソッドのオーバーロードは定義出来ない…

検索エンジンを作る(予定)その2 〜 Nutchについて少し解説

その3はこちら。 概要 前回はNutch + HBaseでクローラーを動かすところまでを書いた。今回はNutchの動作の仕組み、起動オプション、設定項目をちょっと解説。(理解が浅い or 間違っている箇所も多いと思うので、何かあれば指摘して頂けると助かります) Nut…

検索エンジンを作る(予定)その1 〜 Nutch + HBaseのクローラーを動かす

その2はこちら。 目的 個人的に興味があって、ある領域に特化した検索エンジンみたいなのを作ろうとしている。当面の目的としては、以下のような事をやる。 対象のサイト(ある領域に関連するサイト)をクロールして保存 クロールしたページから必要なデータ…

Warning when ssh'ing from OS X Terminal

Connecting to a Linux server from OS X Terminal gave me the following error: -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8)To fix this, comment out the following line in /etc/ssh_config SendEnv LANG LC_*This blog post ex…

Index "PRIMARY_KEY_B" belongs to a constraint

H2

エラーの概要 H2で、あるテーブルのプライマリーキーを削除しようとした時に以下のようなエラーメッセージが発生("PRIMARY_KEY_A5"の部分はそのテーブルのプライマリーキーの名前で、通常は自動採番)。 Index "PRIMARY_KEY_A5" belongs to a constraint; S…

Play! framework 2.0でのi18n関連

Scala Advent Calendar 2012の2日目、のはずだったけど、諸事情によりこちらの 12/5 の記事になりました。Play! framework 2.0のアプリを国際化する方法についてちょっと書きます。基本はここに書いてある通りだけど、補足とか書いていない事とかハマりポイ…

Compile error with scala.tools.nsc.interactive.FreshRunReq

problem I have a project using Play! framework 2.0.4 together with SecureSocial. It works fine in local environment, but had a problem showing the following error when Jenkins was trying to compile it: [error] {file:/var/lib/jenkins/jobs/s…

PHP & JavaScriptのWebサービスを多言語対応させた(2)

前回は項目列挙しただけなので、今回から具体的に。あくまで自分がやった方法の紹介なので、参考程度に。 事前準備 ライブラリ関連のインストール PHP部分はZend_Translateを使用。Zend Frameworkを使ってる人は特に何もする必要は無し。そうでない場合は、Z…

PHP & JavaScriptのWebサービスを多言語対応させた(1)

第2回はこちら。 はじめに 仕事でWebサービスの国際化対応をしたので、どういう風にやったかを簡単にまとめ。前提・環境等 プログラミング言語はPHPとJavaScript 最初は素のPHPで作成した 途中からZend Framework 1.11に徐々に移行してった 開発には途中から…

Installing PECL GeoIP on EC2 using CheckInstall

EC2

Background I've been working on a web service that runs on Amazon Linux (an RPM based distro specific for Amazon EC2), and recently had to install PHP GeoIP module.You could install it by "sudo pecl install geoip" after installing gcc, mak…

OrientDBをPHPから使う(2)

はじめに 第1回のエントリーはこちら。「OrientDBをPHPから使う」というタイトルなのに、前回はPHPの話がまったく出てこなかったけど、今回はPHP bindingのお話。Webで検索すると多分こっちのページが一番最初に見つかると思うけど、最新版はこっちらしい。…

OrientDBをPHPから使う(1)

OrientDB? 仕事でソーシャル系のサービス作ってるんだけど、グラフデータはやっぱグラフDBを使ったほうが良いよね。一番有名なNeo4jにしようかと思ったけど、以下の理由からOrientDBを試してみることにした。 「有名なの使うのって何かカッコ悪い」って思っ…

既存のPHPプロジェクトをZend Frameworkのプロジェクトに

やりたい事 タイトル通りだけど、既存のPHPプロジェクト(フレームワークとかは特に使っていない)をZend Frameworkのプロジェクトに移行する。 参考ページ 基本はこのページのとおり。具体的な処理の流れは以下の通り。 mod_rewrite で、ディレクトリに対す…

sbteclipseでソース添付

最近またScalaでプログラムを再開した。開発環境はsbt + Eclipse。なので、sbteclipse を使っている。知らない人のために一応書くと、sbteclipseとは、Eclipseの.projectファイルとかを作成してくれて、sbtプロジェクトをEclipseのプロジェクトとして開ける…

PHPUnit 3.6 not supported by ZF 1.11.10

Got the following error when running my 1st db test using PHPUnit and Zend Framework. PHP Fatal error: Class Zend_Test_PHPUnit_Db_Metadata_Generic contains 2 abstract methods and must therefore be declared abstract or implement the remaini…

Zend_Locale in compatibility

Zend_Locale 使ったら以下のようなエラーが出た。 [Wed Apr 11 18:03:11 2012] [error] [client 192.168.56.1] PHP Notice: You are running Zend_Locale in compatibility mode... please migrate your scripts in /path/to/zf/Zend/Locale.php on line 294…

Mustach Template Engine

はじめに JavaScriptとPHPでテンプレートを共用したい 今仕事で作ってるサイトは、フレームワークとかも使っていないプレーンなPHPで出来ている。(自分は開発に途中から参加したので、その辺りの決定には関与していない)。あと、特徴として、(最近のwebサイ…

はてなブログを試しに使ってみる。

はてなは「絶対すべきでないこと」をやらかしたのか?というのを読んで、ソフトウェア開発者として興味を持ったので、はてなブログを試してみる事にした。 そんなにクソなのかな。

ちょい前にLift 2.4が出たので眺めてみた

はじめに Scalaのフレームワークを使おうと・・・ 最近はPHPとJavaScriptにどっぷり浸かってしまったんだけど、新しいサイトを作ろうと思ってるので、Scalaのフレームワークをいじろうと思ってる。先日のScala勉強会in渋谷で、Play! 2.0が実用段階に入るには…

NagiosでEC2上のLinuxのログ監視(3)

はじめに 過去2回(その1、その2)で、Nagiosを使ってローカルのログを監視する所まで説明した。今回は、NRPEというものを使ってリモートのサーバーのログを監視する。前回までで基本的な部分は出来ているので、後はそんなに難しくないはず。今回、紛らわし…

NagiosでEC2上のLinuxのログ監視(2)

はじめに 前回の続き。やりたい事は、EC2上のLinuxサーバーのApacheログをNagiosで監視して、エラーが発生したらアラートメールを送信。※このエントリーの続き:第3回 とりあえずローカルのログから 本当にやりたい事はNagiosが動いているのとは別のサーバー…

NagiosでEC2上のLinuxのログ監視(1)

※続き:第2回、第3回無性にApacheのログを監視したくなった。別に衝動的ではなく、仕事で必要になっただけだけど。あまり詳しくないので、ツッコミ大歓迎。 要件、環境 機能的な要件としては Apacheのエラーログとかをリアルタイムで監視 更新分だけを監視。…

FlockDB (2)

はじめに この記事はScala Advent Calendar jp 2011最終日用のエントリーです。前回はApache Thrift, FlockDBのビルド、そしてFlockDBのデモの動作を試して失敗しました。今回の目標は デモを動かす FlockDBの内部の仕組みについて大雑把に理解する (もしか…

FlockDB (1)

前置き この記事はScala Advent Calendar jp 2011最終日用のエントリーです。 FlockDBって何? FlockDBはグラフDBです。グラフDB?(゚д゚)ハァ?って人はこちらのスライドを読んで下さい。そのスライドでも紹介されているNeo4jとかとはどう違うの?って思うかもし…

Solr + DIH + MySQL Spatial data types

Goal I'm now trying to implement a text + spatial search system. I have a (currently) small data set that consists of name, address, location (latlng) etc. stored in MySQL.As you may know, MySQL itself has spatial features, so at first I w…

Change "jetty-port" of xsbt-web-plugin

sbt

This entry is going to be short. No more "override jettyPort" I wrote an article about Lift + sbt 0.10 (+ xsbt-web-plugin) about two months ago. I got a project working, but couldn't figure out some issues.One of them was changing the list…

SiteMap examples

SiteMap is powerful, but a bit complex. If you're using Lift, you might have had hard time using SiteMap. Yes, I'm one of those.It's really powerful and an easy-to-read DSL, though it's a bit complex and requires quite a bit of Scala knowl…

Play! + Scala on GAE

I attended a study session about Play! Framework in Osaka. Actually, I hadn't used it, but most of the sessions were for beginners, and quite useful for me. After the sessions finished, we had two hours of free time and everybody did what …

Email related settings in Lift

I think Lift's MegaProtoUser is a good starting point when you want to create a web site that requires user management. It basically gives you the basic features for those sites, such as sign-up form, confirmation email and password reset.…

Lift with sbt 0.10

Background People around me have talked about sbt 0.9 and then 0.10 for the past few months. As you may know, I like something new, so I decided to try it out for no reason.I started playing around with it around two weeks ago. sbt 0.10 is…