I ♥ WordPress

sun.com 調子悪い?
2009/04/07 23:59 posted by kunkichi

ここんとこ sun.com の調子が悪い気がする。てか今に始まったことでもないけど。

  • 既に登録してあるアカウントでログインしようとするとそんなユーザはいないとかパスワードが間違ってるとか言われる。
  • パスワードを再発行してログインしようとするとやっぱりログインできない。
  • しょうがないので別のメールアドレスを使って再登録。すると登録完了まで死ぬほど待たされる。
  • なんとか登録完了してもオンラインにログインできなかったりする。
  • 何回かやってるとそのうちログインできる。が、強制的にスクリーン名を登録しろと言われて、これも登録完了まで死ぬほど待たされる。
  • で結局終わらない。

あまりにも遅いので裏で手動でやってんのかと思った。登録が行われたらすげえ遠くの上司にハンコもらいにいってんのかと。オー人事オー人事みたいな。ってかウェブサイトの3秒ルールとか関係なし?

クラウドとか言うてる暇があるんなら自社サイトをどうにかしてほしい。こんなんだったらIBMに買収された方がよかったんじゃないかなぁ。

1エンドユーザの独り言。

[時間割:Perl]『ミニマルPerl』その25
2009/04/07 01:29 posted by kunkichi

月曜日は「Perl」です。前回に引き続きスクリプト編ですが、明日は仕事で朝が早いので、ちょっと軽めで。まあif/elseは普段も普通に使ってるので、ササッとすませちゃいます。

ミニマルPerl Unix/LinuxユーザのためのPerl習得法
Tim Maher
オライリージャパン
売り上げランキング: 96883
  • if/elseのブロックをどう書けば一番読みやすい、かつ、文の構造上意味をよく表すか?というのはずっと考えていたんだけど、やっぱりこれが一番読みやすい気がした。if( ・・・ ){
      真の場合の処理;
    }
    else{
      真の場合の処理;
    }
  • viで括弧にカーソルを併せて”%”を押すと対応する括弧にカーソルが移動する!知らなかった、、、vimならこの手の機能はあるんだろうけど、Solaris標準のviでも使えるかな?
  • ここで紹介されている”cd_report”スクリプトみたいな、複数のカラムを持つリストファイルに対して、複数のコマンドラインオプションで一致するものを表示する、ようなのって、結構使い勝手ありそうだなぁ。明日ちょっとサンプルを作ってみよう。

ということで、ちょい短めですが、今日はここまで。
次回は文字列の連結とか反復とか。

[時間割:Perl]『ミニマルPerl』その24
2009/04/03 02:17 posted by kunkichi

木曜日は「Perl」です。前回に引き続きスクリプト編。引数処理のところ。

ミニマルPerl Unix/LinuxユーザのためのPerl習得法
Tim Maher
オライリージャパン
売り上げランキング: 96883

引数の処理(続き)

  • 引数のフィルタ処理
    • 引数に対してフィルタを施してから処理する。前回使ったPerl版grepをもう一度使います。#!/usr/bin/perl -wnl
       
      BEGIN {
        $pattern=shift;
        defined $pattern and $pattern ne "" or
          warn "Usage: $0 'RE' filename\n" and
          exit 11;
      }
       
      /$pattern/ and print "$0:$_¥n";
      第1引数は検索パターンなので$patternに読み込んだ後にshift。残りの引数は検索対象のファイルになるんだけどこれをファイル名で順にソートして処理するようにする。・・・
      BEGIN {
        $pattern=shift;
        @ARGV = sort @ARGV; # ここでファイル名でソート
        defined $pattern and $pattern ne "" or
      ・・・
      で、実行。テスト用にこんなファイルを用意してみた。$ cat 1.txt
      chocolate
      cookie
      banana1
      $ cat 2.txt
      orange
      apple
      banana2
      では”banana”をgrepしてみる。$ ./grep.pl banana 1.txt 2.txt
      banana1
      banana2
      $./grep.pl banana 2.txt 1.txt
      banana1
      banana2
      常に同じ順番で表示されるようになるというわけ。
    • Perlのgrepを使ってフィルタ。ファイルのテストとか。@ARGV = grep { -T } @ARGV;この場合だと引数をチェックしてテキストファイルの引数だけが処理される。
    • 上記のgrepでファイルテストのフィルタを使って、バイナリとテキストを分けてみたり。@txt = grep { -T } @ARGV;
      @bin = grep { ! -T } @ARGV;
    • ファイルグロブを使えば引数自体がいらなくなる。たとえば、カレントディレクトリにある.dat拡張子のファイルでテキストデータのものを取得する@txt_dat = grep { -T } <*.dat>;

最近コマンドラインのツールを作ることが多いので、これはちょっと便利。

次からはif/elseとかの条件分岐です。

CentOS5.3リリース
2009/04/02 00:05 posted by kunkichi

リリースされました。

CentOS 5 Releases

The CentOS team is pleased to announce the availability of CentOS 5.3.

www.centos.org

昨日の時点でダウンロードとインストールは既に済ませておいたので、早速いろいろ見てみる。とりあえず最小構成インストールで、5.2との違いを確認。

  • 最小構成(ベースシステム+日本語サポート)でCDからインストールする場合、CD1、2、4、5、7が必要。
  • yum-fastestmirrorが最初からインストール済み。
  • firstbootやsetupコマンドのネットワーク設定で、DNSの設定が独立。”Tertiary DNS”って何のことかなと思ったらなんてことはない3番目のDNSということでした。

ってところぐらいかな。とりあえず、あんまり変わってないと思います。

Updatesレポジトリに問題があるらしくまだ少し時間がかかるというようなことが書いてあったので、yum updateはちょっとおいといて、まずは標準的なキックスタートファイルを作るためにいろいろいじってみたいと思います。

もうすぐCentOS5.3→CentOS5.3リリース?
2009/03/31 22:59 posted by kunkichi

リリースまでもう少しみたいです。

mirror status update for 5.3 release

The release is going to get pushed out by another 24 hrs or so, ETA is now Tuesday morning UTC.

Planet CentOS

あと、2、3日ってとこですかね。

追記

国内のミラーを見てみたら既にありますねー。公式リリースはまだ発表されてないみたいなんだけど、もう準備OKということなのかな?

[時間割:Perl]『ミニマルPerl』その23
2009/03/30 23:15 posted by kunkichi

最後の更新はもう2週間前、、、やばいやばすぎる、、

ということで久々になってしまいましたが、また時間割再開です。月曜日は「Perl」。えっと、前回に引き続き、スクリプトでよく使う関数のところです。

ミニマルPerl Unix/LinuxユーザのためのPerl習得法
Tim Maher
オライリージャパン
売り上げランキング: 96883
  • shift
    • コマンドライン引数の処理に使う。
    • 複数の引数に対して順次shiftしていくと、引数が順に処理されて破棄される。わかりにくいのでスクリプトで。#!/usr/bin/perl -w
       
      while(@ARGV){
        my $arg = shift @ARGV;
        print $arg . "\n";
      }
      引数をいくつかつけて実行してみる。./shift.pl aaa bbb ccc
      aaa
      bbb
      ccc
      @ARGVをshiftして$argに代入していくと、徐々に@ARGVの要素が減っていくというわけ。
    • $#ARGVを使うとこんな感じ。#!/usr/bin/perl -w
       
      while( $#ARGV ge 0 ){
        print $ARGV[0] . "\n";
        shift;
      }
    • シェルだと$*とか$@とか$#あたりを使っておんなじことができる。
    • Perlの場合は最初の例にあるようにshiftで破棄された値を返して変数に入れたりできる。
    • シェルで”shift 2″のようにずらす個数を指定できるのはPerlだとできない。ずらす分だけshiftを呼び出す必要がある。
    • 最初の例にあるように引数に配列を指定してshiftできるし、複数のスカラーに対してもshiftできる。ちなみに指定しない場合は、スクリプトだと@ARGVでサブルーチンだと@_がデフォルトになる。引数処理に便利なようにできてるね。

では、ここまでやってきた、defined、shift、exitを使ってスクリプトをいろいろ便利にするテクニックを見ていきます。

引数の処理

  • 引数の前処理
    • コマンドラインスイッチをわざわざ-sオプションで指定していたのを、そのまま使えるようにする。本で紹介されているPerl版grepを書き換えていく。元々はこんな感じ。#!/usr/bin/perl -wnl -s
       
      BEGIN {
        $pattern or
          warn "Usage: $0 -pattern='RE' filename\n" and
             exit 255;
      }
       
      /$pattern/ and print;
      実行する場合はこんな感じで変数名を指定していた。$ ./grep.pl -pattern='root' /etc/passwd-sの場合は明確に変数名を指定しないといけないので、例えばgrepみたいに、”grep マッチするパターン ファイル名“みたいな指定は無理。shiftを使ってみる。#!/usr/bin/perl -wnl
       
      BEGIN {
        $pattern=shift;
        defined $pattern and $pattern ne "" or
          warn "Usage: $0 'RE' filename\n" and
          exit 11;
      }
       
      /$pattern/ and print;
      shiftで第1引数はそのままパターンとして読み込んでshift。それ以降はファイル名として処理する。この場合はgrep風に実行OK。
    • あと上記のスクリプトでは、以下も入れている。
      • $patternが「定義されているか?」を明確にチェックするためにdefinedを使用。
      • exitの返り値を独自に設定。

と、途中だけど今日はここまで。引数処理のテクニックはまだ続きます。

Arduino で電子工作ことはじめ
2009/03/30 22:02 posted by kunkichi

ちょっと前から気になっていたこの本を買ってきました。

Arduinoをはじめよう
Arduinoをはじめよう
posted with amazlet at 09.03.28
Massimo Banzi
オライリージャパン
売り上げランキング: 1686

実は電子工作は初めてだったり。どきどきわくわく。

ということで早速、Arduino本体と、書籍のチュートリアルで使われている各部品を以下でポチッと。

全部併せて、約5000円ぐらい。なかなか大人の道楽であります。

サーバとかネットワークだけでなくて、なーんとなく、この辺のもっと身近な部分と絡めていきたいなーというのが最近の気持ち。

またもやさくらのTracがおかしくなった、、、
2009/03/28 23:46 posted by kunkichi

以前にも同じようなエントリを書いてますが、

さくらにインストールしたTracがまたおかしくなった | cafe chantant blog

このサイトは、さくらインターネットのレンタルサーバを使っているのだけど、どうもOSのバージョンアップをしたらしく、ソースからインストールしていたもの、特に Trac が全然動かなくなっていた。

なので、ちょっと前に以下のサイトを参考にビルドし直したのだけど、気づいたらまた動かなくなってる、、、orz

もう何回目かなぁ、、、とりあえず復旧中だけど、ちょっとマジ勘弁。

追記:
pythonがバージョンアップしてるのに気がついた。プラグインやマクロも動かなくなってるしどうしようもないなー。とりあえずコンテンツだけは見れるようになったので今日のところはよしとする。また後日バックアップとって自宅サーバに移行決定。多分Tracはもう使わないな、モジュールとか多すぎて面倒すぎる。

このブログもそのうち移設します。さようなら、さくらインターネット。

デュアルコアAtomマザー欲しい
2009/03/25 01:23 posted by kunkichi

いかん、全く更新できてない、、、ということでニュースネタでお茶を濁してみる。

デュアルチャネルメモリ/最大4GBのハイスペックAtomマザー発売 Atom 330搭載、拡張スロットは計3本

2本のDIMMスロットを搭載、Atomマザーボードでは初めてデュアルチャネルメモリアクセスへの対応をうたったマザーボード「ATOM-GM1-330」がJetwayから発売された。搭載CPUはデュアルコアのAtom 330。実売価格は9,423円だ。

(AKIBA PC Hotline!)

うーん、やっと出てきたかー。デュアルコアAtomマザーで省電力なサーバを1台作りたいと思っていたのだけど、拡張性が低いのばっかりだったので、これなら悪くない。

メモリ4GBだったらOSまるごとオンメモリでディスクレスとか全然いけそうだし、拡張スロットもこんだけあれば、NICたくさん積んでセグメント分けたルータとか監視サーバとか、RAIDカード+HeartBeat用のNIC積んで冗長化ストレージサーバとか、夢だけどんどん膨らむなーw。あ、監視サーバにもよさげ。

あぁ、欲しい、、、

[時間割:Perl]『ミニマルPerl』その22
2009/03/17 03:13 posted by kunkichi

またもや1週間、爆。まずい、若干モチベーションも下がり気味、これはちょっとテコ入れが必要。

とりあえず、月曜日は「Perl」です。ここまではワンライナーだったりコマンドラインから実行するようなのが多かったのだけど、今回からはスクリプトを作っていきます。

ミニマルPerl Unix/LinuxユーザのためのPerl習得法
Tim Maher
オライリージャパン
売り上げランキング: 96883

スクリプト向けの関数

  • defined
    • 変数が定義されているかをチェックする。
    • 未定義(NULL)、偽(数値0)、空(文字列”")はそれぞれ区別できる。未定義をチェックするのがdefined。
    • 入力チェック等では意図せずNULLになる可能性があるので、その場合はdefinedでちぇっくすべし。
  • exit
    • スクリプトを明示的に終了する。
    • ENDブロックがある場合は、それを実行してから終了する。
    • exitに引数を指定しない場合はデフォルト0を返す(ちなみにシェルは最後の$?を返す)。引数指定の場合はそれを返す。
    • ちなみにdieはデフォルトで255を返す。(ちなみにBEGINブロックで中止する場合はdieだとと警告が出てしまうので、warn and exit 255のほうがよい。)
    • $!変数でdieの終了値を指定することもできる。

次は引数処理です。

このページの先頭へ