プログラマでありたい

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

プログラム

sedとxargsで特定文字列を一括置換

たまに忘れる。 sedとxargsで特定文字列を一括置換する方法。 find ./ -name *.html | xargs sed -i 's/検索文字列/置換文字列/g'xargsについて、素晴らしいエントリがあったのでリンク いまさらxargsの便利さを主張してみる sed & awk デスクトップリファレ…

CPANモジュールのパス

環境変数にセットの仕方 export PERL5LIB="$HOME/local/lib/"

Google Chart APIの使い方

年末に鳴り物入りで登場した「Google Chart API」。なかなか使い勝手が良いです。Web上でグラフを生成できるジェネレータも続々と登場しています。が、ジェネレータで作ったURLを見ればどう作ればよいか簡単に解るので、2度目からはいらなかったりします。…

Perlで数字を3桁ごとにカンマ区切り

Perlクックブックに載っていた方法。 正規表現では文字列の先頭から処理したほうが、最後から処理するよりずっと簡単だ。 激しく同意。この本の素晴らしい所は、実際の手法のみならず、考え方が載っているところ。 Perlに限らずプログラムの教科書として使え…

Artifactory

Maven2 http://www.jfrog.org/sites/artifactory/1.2/

viの一括置換

たまに忘れる。 [:]キーを押してコマンドモードに入り、一括置換のコマンド %s/検索文字列/置換文字列/g

Mecabのインストール

macにmecab-perlバインディングをインストールしようとしてはまる。 $make rm -f blib/arch/auto/MeCab/MeCab.bundle LD_RUN_PATH="/usr/local/lib" g++ -bundle -undefined dynamic_lookup -L/usr/local/lib MeCab_wrap.o -o blib/arch/auto/MeCab/MeCab.bu…

sedメモ

#!/bin/sh for file in `find . -name *.html` do sed -e 's|置換対象|変更後文字列|' $file > ${file}.new && mv ${file}.new $file; done

レンタルサーバの環境改善

知らない間に、レンタルサーバのディスク容量が増えたので、色々とモジュールをインストール中。 いの一番に入れたのが、perl。今まで5.8.2だったので、日本語関係で苦労することが多かった。 まっすぐに、5.8.8を導入 $wget http://www.cpan.org/src/stable…

sql-maven-plugin

Continuumでの構成管理で、DDLの更新を管理したくなりました。MavenからDDLを実行するプラグインがあれば出来ると思い探してみたところ、sql-maven-pluginというその名もずばりなのがありました。とりあえずダウンロードして評価。 ソースからダウンロード&…

配列のソートとユニーク化

[perl]配列のソートとユニーク化 だぶりチェック。効率は悪そうだが。。。 @ary = sort @ary; $x = '-'; @uniq_ary = grep($_ ne $x && ($x = $_),@ary );

nkf --overwrite

nkfで文字コードを変換後、そのまま上書きしてくれる機能があるのを知らなかった。 ワイルドカードで指定すれば、複数のファイルも一括で変換できる。 便利。何故、今まで知らなかったんだろう。 -O Output result to file. The first name in arguments bec…

GentooでPHPのmbstring関数

emergeする前に/etc/portage/package.useを編集 dev-lang/php unicode

一括文字コード変換

xargsの使い方を良く忘れる。 例えば、htmlの文字コードを変える場合。 find . -name ’*.html’ | xargs nkf --overwrite -w

Ruby入門1 四則演算・標準入出力・ファイルの操作

暫くrubyの勉強をすることにしました。インターネットで検索すると色々な情報が出てきますが、私は本を読みながら手を動かして覚えるのが好きなので、そのスタイルで行います。 選んだ本は、Ruby for Rails: Ruby Techniques for Rails Developers 本屋でち…

Apache2 + FastCGI + Ruby on RailsをGentooにインストール

ひたすらインストールメモばかり載せていますが。。。 Apache2,Ruby on Railsがそれぞれインストールされている状態で、FastCGIの設定。 FastCGIのインストール GentooでFastCGIを使う場合は、mod_fastcgiかmod_fcgidの2種類の選択肢があります。 今回は、m…

PerlでCaboCha

Gentooにcabochaをインストール。 ついでに、Perlから使おうと思ってCaboCha.pmをコンパイルしようとすると #cd cabocha-0.53/perl/ #perl Makefile.PL WARNING: Setting VERSION via file 'CaboCha.pm' failed at /usr/lib/perl5/5.8.7/ExtUtils/MakeMaker.…

Mac OS XにXML::Parserのインストール

MacにXML::Parserを入れようとすると、エラーが起きました。 どうやらexpat.hが無いのが原因のようです。 (CPANでも駄目でした) $ cd XML-Parser-2.34 $ perl Makefile.PL EXPATLIBPATH=/usr/loca/lib EXPATINCPATH=/usr/local/include Note (probably har…

日本語も書けるGB2312

今日、たまたま知ったのですが、中国語の文字コードGB2312には、 ひらがな・カタカナも含まれているんですね。 日本語で書かれたGB2312のスパムメールがあったので、初めて知りました。 なんか色々なフィルターの抜け道になりそう。http://www.kishugiken.co…

Algorithm::NaiveBayes ベイズ理論を使ってコメントスパムフィルター その2

前回試してみて、とりあえずAlgorithm::NaiveBayesでいけそうと言うことが解りました。もう少しだけ、使いやすい形にプログラムを修正。具体的には、以下の3点です。 ・トレーニングした成果をファイルに残す ・2回目以降のトレーニングは、前回分の結果に…

Algorithm::NaiveBayes ベイズ理論を使ってコメントスパムフィルター

Livedoorのブログに対して、余りにコメントスパムが多いので何か対策はないかなと考えてみました。現状、コメントを承認制にして、定期的に目でチェックして救い上げているのですが、余りに面倒くさいです。そこで、スパムメール/迷惑メールのフィルターの…

DorwinPortsを使ってRuby,Lighttpd,FastCGIをインストール

ミーハーにも、Lighttpd+FastCGI+Ruby+MySQLの開発環境を作ります。 portコマンドを繰り返すだけなので、非常に簡単です。 でも、ダウンロード等が遅いので、更新には時間がかかります。 恐らく同期先を変更したら大幅に改善されると思います。 Ruby本体 何…

macを開発環境に DorwinPortsによる各種インストール

自宅のメインマシンをWindowsからMacに移行中。 どうせならと、開発環境もMacにまとめてしまいます。 手間を掛けたくないので、サーバー系のモジュールはDarwinPortsで管理することにしました。 LinuxのyumやBSD系のportsのような感じで扱えます。(というか…

whois検索を行うPerlモジュール

たまに空ドメインを探す為に、Whois検索を行います。 Shellで用は足りますが、Perlから使う方法は無いかと思い少し調べました。 要件は、JPドメインの検索が出来ること。出力形式のカスタマイズが出来ること。 さくっと使えること←(私にとって) 何も考えず…

リンクのマウスオーバーでサムネイムのポップアップ

時差ぼけで眠れないので、Zimbraの様にaタグのリンク先をポップアップでサムネイル表示するのを実装してみようと思いました。ZimbraのAjaxライブラリを調べようかと思った矢先、既に実装されている方がいました。素晴らしい memo.xight.org リンクをマウスオ…

複数のGoogle Mapsを表示

Google Mapsのサンプルを元に、ブログからマップを呼ぶスクリプトを書きました。1エントリーずつ表示すると問題ないのですが、複数のエントリーを1画面で表示すると(1画面内で、複数のマップが呼び出されると)、何故か一つだけしか表示されません。 で、…

PerlでWebにアクセス LWP::Simple

PerlからWebにアクセスする方法は色々あるが、まずは一番簡単なLWP::Simple #!/usr/bin/perl -w use strict; use LWP::Simple; my $url = "http://d.hatena.ne.jp/wherever/"; my $result = get($url);これだけで、$resultに結果が入っています。ファイルに…

mac英語版で日本語入力

職場のアメリカ人に聞かれた。 このiBook、日本語が入力できひんねんけどって。 ※実際は、関西弁ではしゃべっていません。ネットで少し調べてみたら、こんな記述が アメリカのMacで日本語 日本で買ったMacであっても同様ですが、ターミナルでの日本語の扱い…

Perlのコマンドラインオプション

知っているようで、知らない。私の場合・・・。perl -h 何はなくても、ヘルプperl -v バージョンの表示perl -e '処理' コマンドラインからのperlの基本。これだけでは、ほとんど役立たず。 one line of program (several -e's allowed, omit programfile) 複数…

コマンドラインでPerl

今、プロジェクトの関係でシリコンバレーの企業に常駐しています。現地のエンジニアを見ていたら、ちょっとした処理でコマンドラインからのperlをよく使っている。awk派だった私には少し驚き。(それとも、私が珍しい?)例えば、下のようなデータファイルho…