プログラマでありたい

おっさんになっても、プログラマでありつづけたい

プログラム

S2JDBC使う前に読むべきエントリー あるいはServiceクラスの実装について

S2JDBCでServiceクラスをどのように作るか考えた時に参考にしたエントリー群です。肝は、3点。 Serviceクラスは、Entityクラスと1:1で対応させる。 Serviceクラスは、Entityに対する処理以外はやらない。 Serviceクラス以外は、jdbcManagerを生で使用しない…

Eclipse3.3 + Tomcat6.0.18で"Setting property 〜の警告

Java5 + Tomcat5.5から、Java6 + Tomcat6に移行。 WTPで起動すると、下記のような警告が出ます。 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:test' did not find a matching…

Open source Cluster 3とJava TreeViewを使ってみた

「livedoor clipsのデータを少しだけ眺めてみた。」と「livedoor clipsのタグ情報をクラスタリングしてみる」の続き。 livedoor clipsのデータを視覚化してみました。方法は、Cluster 3とJava TreeViewを使うことにしました。(両方ともここから落とせます。…

livedoor clipsのタグ情報をクラスタリングしてみる

「livedoor clipsのデータを少しだけ眺めてみた。」の続き。 データをインポートが終わったので、次はそのデータの活用をしようと思います。まずは何からかなぁと考えていたのですが、タグ同士でクラスタリング出来ないかと考えました。つまりグループ化。意…

livedoor clipsのデータを少しだけ眺めてみた。

データ貰うだけもらって、放置していたlivedoor clipsのデータを覗いてみました。 クローリングしてる暇があるなら…論文かいたら? | EDGE Datasets(研究用データセット) ダウンロードと一緒に取り扱い説明がついています。そのままだとtagが文字列データとし…

RailsでProduct Advertising APIを扱うAmazon ECSを使う

個人的な理由で、Amazon Web Servicesのカートを使うアプリが必要になりました。せっかくなので、Rubyで作ってみようかと思います。Rubyでawsを使えるライブラリは以下の3つです。 amazon-ecs ruby-amazon ruby-aws (ruby-aaws) ruby-aws 一番最後のruby-aw…

DBIでレコードをハッシュ配列で取得する

最近手の空いている時間でperlでごにょごにょしています。DBIを使ってレコードをハッシュ配列に格納するのはどうだったけと調べてました。ストレートにいけば、selectall_hashref()が正解なのですが、あまりよい噂をききません。で、あっと驚く代替法がある…

HTML::ExtractContentで文字コード絡みで悩む

HTML::ExtractContentを使っているのですが、下記のような警告が出て困りました。 Malformed UTF-8 character (unexpected continuation byte 0x84, with no preceding start byte) in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/HTML/ExtractC…

findとxargsについて、もうちょっと

find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編 ちょっと知っているだけで、効率が全然違うのがfindとxargs。 たまに使うのを、挙げてみる。 該当ファイルの文字コードを一括置換 find . -name ’*.html’ | xargs nkf …

ハッシュに配列を格納する

OO形式で作る時に、データメンバの中身に配列を入れたい時が稀にあります。慣れていないと割と悩みます。使っていないとすぐ忘れます。(←今この状態。)思い出しがてらにメモ。 Perlクックブックに倣って、unixのログインユーザを格納する例です。 #コンス…

HTML::ExtractContentを使って本文抽出

先日、ブログの本文抽出をしたいと思ってちょっと調べてみました。rubyベースの実装のExtractContent.rbが良さげと思い色々試してみました。実際、良かったです。 ただ私の方が、あまりrubyに詳しくないことと、既にあるPerlのプログラムに組み込みたい制約…

shellでn秒ごとで実行する1行野郎

度忘れして出てこなかったのでメモ。do uptimeの部分は、任意のコマンドで while true; do uptime; sleep 3; done;

man ascii

今の子どもって、アスキーコードとかも分かってないのかもねのはてブのコメント man asciiをするといいよ! というかプログラミングキャンプでは初日に説明した知らんかった。知らんかった。知らんかった。$ man ascii ASCII(7) BSD Miscellaneous Informatio…

リコメンドエンジンを作る 集合知プログラミング 

集合知プログラミング 2章 推薦を行う 協調フィルタリングの作り方。所謂レコメンドエンジンの作り方です。色々間違っている部分ありそうですが、自分の学習したことをつらつらと書いていきます。 1.嗜好の収集 利用者の行動を収集します。オンラインショ…

キーワード抽出モジュール Lingua::JA::Summarize

時間が空いたので、Lingua::JA::Summarizeも試してみました。0.07をCPAN経由でインストールしようとすると、途中でエラーが出ました。Class::Accessor::FastとClass::ErrorHandlerに依存するようなので、予めインストールしておきましょう。で、テストがどう…

30分で理解する自然言語処理 まとめ

今まで何本か日本語処理のエントリーを書いてきました。後で振り返り易いように、ここらで一覧にまとめておきます。 wikipediaのダウンロード&データベースにインポート コーパスとして、wikipediaの存在はありがたいです。まずはここから始めるのが良いです…

ベイジアンフィルター Perlで作りたい人に教えてあげたいちょっとしたこと

昨日のはてなのホットエントリーに『入門ベイズ統計』の読みどころという記事が載っていました。ベイズ理論の人気は根強いですね。 ベースとしての数式は割とシンプルなので、自分で実装してもそれ程手間は掛からないかもしれません。しかし、CPANのモジュー…

ミニマルPerl 2章 perlの起動オプション

オプション 意味 -e 'code' codeの実行 -w 警告 -n 読み込み(出力なし) -p 読み込んで出力 -l 行末処理 -Odigits 入力レコードセパレータの設定 perl1行プログラミングの基本:-e -eの後に続く引数をプログラムとして指定します。 $perl -wl -e 'print 42…

ミニマルPerl 1章 perlワンライナーことはじめ

合間の時間に読書中。perlのワンライナーは、全然知らなかったので興味深いです。以下、全て同じ動きをします。 shellの場合 cat file file2 今の私のレベル #!/usr/bin/perl -w @ARGV or @ARGV = '-'; foreach my $file(@ARGV) { open IN, "< $file" or die…

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界 私が知る限り、shellプログラミングを覚える上で、最良の書。制御構文や基本的な文法、文字列の取扱に関する手法、算術計算とshellが対象にするものにたいして網羅している。かつ、あまり難し…

Perlの配列に悩む

久々にPerlで簡単なバッチを書いていた。珍しく配列をごちゃごちゃ操作するような物です。で、配列数も多いので、サブルーチンに渡すごとにコピーを作っていたらパフォーマンスにも影響すると思って、参照渡しを使うようにしました。何故か凄い混乱。Perlの…

linuxのディスクスペースを調べる

ファイルシステムのディスク容量の使用状況を表示するには、df。-hオプションを付けると見やすい。 $ df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/sda3 144G 48G 89G 36% / /dev/sda1 251M 22M 217M 9% /boot none 1014M 0 1014M 0% /dev/sh…

Statistics::Suggestを使って簡単にレコメンドエンジンを作る

SUGGESTというリコメンドエンジンがあります。これは、Top-N方式というアルゴリズムで、アイテムベースとユーザベースからのリコメンドを行うことが出来ます。割と手軽に利用できるのですが、ライブラリ形式で提供されているため、スクリプト言語から使うに…

特徴語抽出のあれこれ

最近の特徴語抽出の手法ってどんなんかなと思って、はてなの注目のエントリーを見てみました。 タグ「特徴語抽出」を含む注目エントリー 面白いものが目白押しです。 特にGigazinizeというのは、秀逸です。面白いなぁ〜。 http://blog.fulltext-search.biz/a…

郵便番号から緯度経度情報を取得する

郵便番号から緯度経度を取得できるデータは無いだろうかと探してみました。私が探した限りでは、無料のものでは限定された情報のものしか見つけられませんでした。ということで、無ければデータを作ってしまおうと方法を考えました。郵便番号と住所の情報は…

Amazon ECSでISBNの一覧を取得する方法

ISBNさえあれば、AmazonのWebサービスを使って何でもできるなぁと考えていました。ところが、そもそもそのISBNのリストをどうすれば取得出来るかと頭を捻っていました。Amazon内をクロールして収集しようかなと思ったものの、その場合全てを集めているかの保…

Amazon ECSで発行年月日で検索

Amazon E-Commerce Serviceをちょっとした使ったアプリを作ろうと思って調べてみました。Amazonの良い所は、英語版なら膨大な公式ドキュメントやそれに対するフォーラムがある所でです。逆に悪い所は、探しにくい所。ドキュメントを探すのに多少手間取りまし…

tomcatでSSL通信

tomcatでSSL通信の設定をしてみる。Tomcat5 サーブレット/JSP コンテナ SSL設定の手引き公式サイトのマニュアルを見たら簡単にできた。 tomcatの起動ユーザで、 $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSAパスワードをchangeitに設定すると…

JUnitでorg.dbunit.database.AmbiguousTableNameExceptionエラー

ContinuumからJUnitのテストをしようとすると、突然にorg.dbunit.database.AmbiguousTableNameExceptionでエラーが発生することがあります。DBがOracleの場合だと、リサイクル機能(ごみ箱機能)を疑ってください。テーブルをdrop&createした場合には、自動…

awkで逆順で表示する

awkには、NRとNFという組込変数があります。NRはいくつめのレコードを処理しているのか、NFは処理中のレコードにいくつのフィールドがあるのかを保持しています。これを使うと処理の幅が大幅に広がります。 hoge.txt 1 5 7 2 6 8全ての行の欄を逆順で印字す…