2010年3月アーカイブ

Gentoo LinuxでCatalyst Framework (emerge: there are no ebuilds to satisfy "dev-perl/module-build".)で一応成功したものの、ちょっとアレだったのでもう一度やってみようとするとまた更新?
私の環境が悪いのか、最近Task-Catalyst-4.00が出たせいなのか、(私の環境が悪い可能性が高いが...)ダウンロード先がなかったり、バージョンが変だったり、と面倒。

Gentoo Linuxは開発環境としては自由度が高くて好きだけど、長期間放置すると開発の管理の仕方が変わってることがあって、前にやったことがあるのが邪魔になることがある。それを回避できるというのもいい点だけど、手軽さはかなり犠牲になってるような...

ふとGentooにCatalyst Frameworkを入れてみようかと思った。
Catalyst Framework - Gentoo Linux Wiki の手順に従って

# layman -a perl-experimental
# ls -1 /usr/portage/local/layman/perl-experimental/dev-perl/ | awk '{ print "dev-perl/" $1 " ~x86"}' >> /etc/portage/package.keywords
# emerge -av Task-Catalyst

エラー。
emerge: there are no ebuilds to satisfy "dev-perl/module-build".
?そんなパッケージがない。どうやらvirtual/perl-Module-Buildにかわったらしい。 でこれを解消してもさらに
emerge: there are no ebuilds to satisfy "dev-perl/Locale-Maketext-Simple".
これもvirtual/perl-Locale-Maketext-Simpleになったらしい。
面倒なのでebuildの方を一気に修正。

for E in `grep -l -e dev-perl/module-build -e dev-perl/Locale-Maketext-Simple /usr/portage/local/layman/perl-experimental/dev-perl/*/*.ebuild`
do
perl -p -i.bak -e 's:dev-perl/module-build:virtual/perl-Module-Build:g;s:dev-perl/Locale-Maketext-Simple:virtual/perl-Locale-Maketext-Simple:g' $E
ebuild $E digest
done

結局、package.keywordsに↓を手で追加することになった。

dev-perl/JSON ~x86
virtual/perl-Module-CoreList ~x86
perl-core/Module-CoreList ~x86
dev-perl/Class-DBI-Plugin-DeepAbstractSearch ~x86
dev-perl/Class-Inspector ~x86
dev-perl/DBD-SQLite ~x86
dev-perl/Context-Preserve ~x86
dev-perl/Carp-Clan ~x86
dev-perl/SQL-Abstract ~x86
dev-perl/Path-Class ~x86
dev-perl/Date-Simple ~x86
dev-perl/Data-Dumper-Concise ~x86
dev-perl/DateTime-Format-SQLite ~x86
dev-perl/Time-Piece-MySQL ~x86
dev-perl/DateTime ~x86
dev-perl/DateTime-TimeZone ~x86
dev-perl/DateTime-Locale ~x86
dev-perl/Params-Validate ~x86
dev-perl/Class-DBI-Plugin ~x86
dev-perl/Parse-RecDescent ~x86
dev-perl/Digest-SHA1 ~x86
dev-perl/Data-Alias ~x86
dev-perl/B-Hooks-EndOfScope ~x86
dev-perl/Variable-Magic ~x86
dev-perl/PadWalker ~x86
virtual/perl-AutoLoader ~x86
perl-core/AutoLoader ~x86
virtual/perl-Parse-CPAN-Meta ~x86
perl-core/Parse-CPAN-Meta ~x86
virtual/perl-Module-Build ~x86
perl-core/Module-Build ~x86
virtual/perl-ExtUtils-CBuilder ~x86
perl-core/ExtUtils-CBuilder ~x86
virtual/perl-Attribute-Handlers ~x86
perl-core/Attribute-Handlers ~x86

Catalyst Frameworkなんて誰も使ってないのか?

私の中では常識と思っていたが、検索してもすぐに見つからないということは、非常識だったのだろうか。私も何の本で知ったのかは忘れたけど。

a1 = 4 変換-> 00001111
a2 = 5 変換-> 00011111
a3 = 2 変換-> 00000011
a4 = 7 変換-> 01111111
...
としてANDかORをとって
00000011 逆変換-> 2
01111111 逆変換-> 7 
という手順で最大値・最小値を求める。

同様にソートもできる。
値の比較をしてしまうと遅くなるので比較を使わない方法。

access_log を分単位でカウント
# tail -n 1000 access_log | awk '\/index\.htm/{split($4,d,/:/);c[d[2]":"d[3]" "$1]++;}END{for(i in c)print i" "c[i];}'

Perl よりはたぶん短い。

このアーカイブについて

このページには、2010年3月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2010年1月です。

次のアーカイブは2010年4月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。