トップ(最新) | <前

nDiki : UNIX

UNIX

関連情報

  • ディレクトリ

スポンサード リンク

Related term

2004年12月31日 (金)

私的10大ニュース2004 [ comp ] このエントリーを含むはてなブックマーク

スポンサード リンク

@ cool programs

@ Palm OS 生活復活

PEG-TJ25を購入し、Palm OS 生活復活。 最初はおもちゃのつもりで買ったのだが、プロジェクトマネジメントなどにシフトした仕事のスケジュール管理などで大活躍。

PDA 市場の明るい話はあまり聞かないが、末長く製品が出て続けて欲しい。

http://www.naney.org/img/2004/X/X2004-03-05-0003.jpg http://www.naney.org/img/2004/X/X2004-03-14-0004.jpg http://www.naney.org/img/2004/X/X2004-04-10-0001.jpg

◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。


[ 12月31日全て ]

2005年3月12日 (土)

UNIXアカウントの方に大量にたまっていたfml管理メール このエントリーを含むはてなブックマーク

先日メールサーバのメンテをしていたら、自分のアカウントにメールが700通弱たまっているのを発見。

常用しているバーチャルドメインの naney@example.co.jp の方はもちろん定期的に fetch している。 naney 宛のメールも全て naney@example.co.jp に流れると勘違いしていた。 UNIXアカウントの方にもたまっているとは思っていなかったので見落し。マズイ。

@ 吸い出し

vpopmail のPOPサーバから吸い出そうとしたところ失敗。

 maildirmake maildirmake $HOME/Maildir
 echo $HOME/Maildir/ > $HOME/.qmail

naney UNIX用アカウント用の maildir を作成し.qmail を書いて、mbox からこちらへ一旦流すことで吸い出せるようになった。

幸い「メーリングリストが配送するメールの中に配送できないアドレス(退職により削除されたアドレス)があるよ」というエラーメールがほどんどで、重要なものはなかった。 一安心。

@ fmlの管理メールアドレスの送り先を修正

/var/spool/ml/etc/qmail/alias 以下にある設定ファイルで、転送先が

 naney

となっているのを

 &naney@example.co.jp

に修正し、vpopmail 上のバーチャルアカウントの方に届くようにする。

 for f in `grep -l naney .*`; do echo '&naney@example.co.jp' > $f ; done

以前 qmail+vpopmail+fml設定をした時にこれらのファイルを ~vpopmail/domains/example.co.jp/ にコピーしたのだが、確認したところ実はこれは不要だった。削除。


[ 3月12日全て ]

2005年4月20日 (水)

SConsGNU Autotools のかわりになるか このエントリーを含むはてなブックマーク

NSIS のサイトによるとビルドに「SCons」を使うようしたらしい。

  • クロスプラットフォーム
  • AutoconfAutomake と同様の機能を統合
  • LaTeX もビルトインサポート

と興味深いツールになっているようだ。

現在プロジェクトLaTeXベースのドキュメント生成には GNU Make を使っているのだが、UNIXWindows の両方でビルドできるようにするには ComSpec 環境変数の有無で使用するコマンドを切り換えたり等いろいろ面倒なので、代替ツールとして使えないかなと。

基本的な機能は Make に対する改良がなされているようであるし、コピー等ファイル操作も SCons 自体がもっているのでクロスプラットフォームでビルドできるようにするのも楽そうだ。

一方 Autoconf 系の機能については、インストール済みのライブラリの検出や実装レベルのチェック等を実装しているようである。 make check や make dist、make install 等にあたるターゲットに関する機能(あるいは規約)のようなものは無い。これは非常に残念。 結局自分が Ant を使わなくなったのも GNU Autotools にあるこれらの機能に欠けているからであるし。

実は私がPerl が好きな理由の一つとして、これらサポートが充実しているという点がある。Perl では ExtUtils::MakeMaker (あるいは Module::Build)があり、ビルドからテスト、ソースパッケージのパッケージングまでフレームワークが整っている。

SConsPython ベースで、Makefile にあたるファイルも Python スクリプトである。 SCons が影響を受けた Cons は Perl ベースであったのだが、既に2001年5月ごろから開発が止まってしまっている。残念。

ということで Make の代替には使えそうであるが、GNU Autotools と同じようなことをするにはいろいろ手をかけないといけないといった印象。


[ 4月20日全て ]

2005年4月21日 (木)

base64 亜種でのファイル名生成と、Windows このエントリーを含むはてなブックマーク

重要な事を忘れていた。

 perl -MMIME::Base64 -e "print encode_base64('abc')"
 perl -MMIME::Base64 -e "print encode_base64('abI')"

先日のピリオド問題発覚以前に、Windows には大文字小文字を区別しないという問題があるんだった……。

今回のファイル名生成規則の見直しにあわせて、今までの WiKickerデータベースをどう簡単にコンバートするかということをずっと考えていたのだが、そういうレベルではないな。

Windows 版と UNIX 系版は、ファイル名生成規則は別物でいっか。


[ MIME::Base64 ]


[ 4月21日全て ]

2005年8月24日 (水)

Module::Buildソースパッケージング このエントリーを含むはてなブックマーク

@ ExtUtils::MakeMaker

私が Perl が好きな理由の一つに、標準でExtUtils::MakeMakerという Makefile ジェネレータがついているところである。これを使って Makefile.PL を書くと

 perl Makefile.PL
 make manifest
 make
 make test
 make dist

で <pacakge>-<versionno>.tar.gz というソースパッケージを作ることができ、

 tar zxvf <pacakge>-<versionno>.tar.gz
 cd <pacakge>-<versionno>
 perl Makefile.PL
 make
 make test
 make install

という手順でインストールする事ができるようになる。 パッケージの作り方が確立されているので、容易に新しいパッケージを開発しはじめられる。

逆に Java でプログラムを書くのが億劫なのは、このあたりの準備が面倒だからである。 Ant を使っても結局ここら辺自分でやらなければならないし。

@ ちょっとしたアーカイブの作成

ちょっとしたパッケージを作りたいと思うことは良くある。 例えばいくつかのデータファイルと、READMEファイルなんかをひとまとめにしてアーカイブにするとか。

本当にちょっとしたであれば、手動でアーカイブすれば良いのだが、

  • アーカイブしたいファイル群がバージョン管理下にあって、CVS ディレクトリや .svn ディレクトリがある (除外してアーカイブする必要がある)
  • 同じディレクトリにある、作業用のファイルはアーカイブしたくない (除外してアーカイブする必要がある)
  • アーカイブする前に、チェック用のリグレッションテスト一式を走らせたい (リグレッションテストをかけられるようにする)
  • UNIX でも Windows でもアーカイブ化できるようにしたい。

あたりを考慮しなければならない時は面倒くさくなってくる。

自動化としては

あたりがぱっと思い浮かぶ。 しかし、最初の2つは毎回同じようなものを書くのが面倒だし保守もしにくい。 GNU Autotools はちょっとごっつすぎだし、Windows での環境構築も面倒。

@ ExtUtils::MakeMaker の欠点

ということで最初は ExtUtils::MakeMaker を使うという線で考えてみた。 もともと Perl モジュール用で汎用用途にはちょっと邪魔な振舞いもあるが、使えないことはないと思う。 しかし make (GNU Make あるいは nmake など) に依存しているという欠点がある。

@ Module::Build

ということで ExtUtils::MakeMaker の代替である Module::Build ベースで汎用用途に使えないか検討してみた。こちらは pure Perl で make を必要としない。

Module::BuildPerl モジュールビルドにあわせた振舞いがあるものの、ちょっとカスタマイズすれば使えそうだ。 で、いろいろいじった結果、次のような感じにすると使いやすそうだ。

 use Module::Build;
 my $class = Module::Build
   ->subclass(class => 'NonmoduleBuilder',
              code => q{
                        # Don't make blib
                        sub ACTION_code {};
                        # Don't make blib
                        sub ACTION_docs {};
                        # Don't make META.yml
                        sub ACTION_distmeta {
                          # no warning on ACTION_distdir
                          $_[0]->{metafile} = 'MANIFEST';
                        };
                        # Don't add MEATA.yml to MANIFEST
                        sub ACTION_manifest {
                          $_[0]->{metafile} = 'MANIFEST',
                          $_[0]->SUPER::ACTION_manifest(@_);
                        };
                       });

 # Set your archive name and version.
 $class->new(dist_name => 'mypackage',
             dist_version => '1.0.2',
             )->create_build_script;

カスタマイズした部分は以下(Module::Build 0.26 で動作確認)。

  • Perl モジュールビルドに特有の blib ディレクトリを作らないようにする。
  • META.yml を生成しないようにし、アーカイブに含まれないようにする。

上記のようなファイルを Build.PL という名前で作っておけば

 perl Build.PL
 ./Build manifest
 ./Build
 ./Build test
 ./Build dist

等として、アーカイブ作成が容易にできるようになる。

しばらくこの方法でいろいろ試してみることにしてみよう。


[ 8月24日全て ]

2006年7月18日 (火)

第10回 社内 Perl 勉強会 このエントリーを含むはてなブックマーク

リャマ本を使用した社内 Perl 勉強会の10回目を開催。今日は6人。

今日は「初めてのPerl 第3版」第11章「ファイルハンドルとファイルテスト」が範囲。

@ 今回の反省点

今回はパーミッションの話など Windows 環境よりも UNIX 系環境の話が多かったのだが、皆慣れてきたのか特に大きな混乱はなかった様子である。

open / close はそれこそ頻繁に使うのであるが、本書では思ったよりライトな扱いな感じ。

初めてのPerl 第3版の練習問題は、いままで問いてみて「確信犯的」に問題があいまいに書かれている。 要求仕様書だったらまずいかもしれないが、練習問題だと頭を使うので悪くない。 また他人をまじえた回答レビューでも他の読解によるプログラムを見られたりして、単純な答え合わせ以上の理解ができ面白い。


[ 7月18日全て ]

2006年7月31日 (月)

第12回 社内 Perl 勉強会 このエントリーを含むはてなブックマーク

リャマ本を使用した社内 Perl 勉強会の12回目を開催。今日も7人でフルメンバ。

今日は「初めてのPerl 第3版」第13章「ファイルとディレクトリの取り扱い」が範囲。

ある文化では「13」という数字を極めて不吉なものと考えます。われわれ著者は、この題材を意図的に13章に配置しました。なぜなら、もしコードにバグが潜んでいたら、かなり危険なこと(例えば、問い合わせをせずにファイルを消してしまう)を行ってしまう可能性があるからです。-- 初めてのPerl 第3版 p.209

こわーい。

@ 今回の反省点

i ノードの話やハードリンク・シンボリックリンクの話など、いつにも増して UNIXOS の話に関連の深い話が多い章である。 Windows 中心で使っている人にはあまり馴染みのない話であるが、知っておいて損はない話である。

欲を言えば Windows ではどうなっているかの話も載っていると嬉しかった。 NTFS なら ハードリンクを使えるよという話とか。

自分自身も Perl からハードリンク・シンボリックリンクの作成なんてしたことなかったな。 これからもそうそうしない処理だと思うけれど、いい勉強になった。


[ 7月31日全て ]

2006年12月21日 (木)

ノート PC を持たずに会社に行きたい このエントリーを含むはてなブックマーク

今日は夕方から社外でミーティングWindows 環境でのデモンストレーションが必要なため、普段持ち歩いている自分の ThinkPad X31 (Linux BOX) に加えて会社の Dellノート PC を持って出発。重い。

メール開発環境などは一元管理したい派なので普段の通勤でノート PC を持って往復するのはまあしょうがないのだが、こういう日は家に置いてきてせめて1台にしたいところである。

オフィスで開発などのヘビーな作業をしない日は、最近構築を進めている USB メモリによるポータブル環境で済ませられるようにぜひしたい。

@ 母艦でしていることを思いつく範囲で列挙

ノート PC (母艦)USB メモリポータブル環境 + Windowsオフィスの WindowsLinux
メーラ×
TeX?
UNIX開発×
パスワード管理××
ナレッジベース× (メモだけしておいて母艦へ)×
Skype×
SSH
フレッシュリーダー××

認証がからむものをできるだけポータブル環境にまとめたいところ。 データはさすがに全部 USB メモリに入れて持ち歩けないので、どんどん Subversion リポジトリに置くようにして必要なものだけ取れるようにした方がいいかな。


[ 12月21日全て ]

2007年12月19日 (水)

初めての PerlC MAGAZINE このエントリーを含むはてなブックマーク

12月18日に Perl v5.10.0 がリリースされた。 1987年12月18日にリリースされた 1.000 (perlhist(1) より) から数えて20年目にあたるリリースである。

思い起こしてみると、自分が初めて Perl を知ったのは C MAGAZINE 1991年9月号の 特集フィルタ系言語研究,Part3 Perl入門 (前田薫氏) だったと思う。

当時は PC-88VA2 を使っていて、DOSエクステンダ版を試した記憶がある。 動いたような動かなかったような。

当時は UNIX 系システムは全く触れたことがなく、スクリプト言語もほとんど知らなかったので $ とか @ にはめまいを感じたものだ。

まさかあの Perl が今の自分にとって、第1プログラミング言語になるとは思ってもみなかった。


[ 12月19日全て ]

2009年8月25日 (火)

ActivePerl をやめて Strawberry Perl このエントリーを含むはてなブックマーク

ActivePerl 5.10.0.1005 + Visual Studio 2005 SP1 上で PAR::Packer を使って実行可能ファイル化したものの、今日別の環境で動かしたら「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした」というエラーがでてしまった。

今まで Visual Studio 6.0 で PPM パッケージの作成やら PAR::Packer による実行可能ファイル化をしていたので気がつかなかったのだが、調べてみると Visual Studio 2005 以降だとどうもいろいろ面倒らしい。

ActivePerl + PPM パッケージだと自分で PPM リポジトリを用意しておくことで、開発環境の統一が楽になるという利点があったのだけれどもしばらく一筋縄ではいかなさそうなので、別の Perl ディストリビューションを使ってみることにした。

Windows 上の Perl としてしばらく使ってみることにしたのは Strawberry Perl。現在のバージョンは 5.10.0.6。 以前にもちょっと入れてみたことはあったけれども、きちんと使ってみるのは初めて。

MinGW や dmake が同梱されており、CPAN.pm を使って UNIX 上と近い感覚で Perl モジュールインストールができる。 PAR::Packer を使って実行可能ファイル化した Perl スクリプトも実行できることを確認。

しばらく乗り替えてみることにする。


[ 8月25日全て ]

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.496152s / load averages: 0.40, 0.35, 0.27
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)