iso tank - プログラムな?話

「ねぇ、HPつくってよ」

今日のみつを

つまづいたっていいじゃないか 人間だもの

と、いうわけで実はとてもピンチなわたし。半年ほど前からHP作ってよと某団体の方々から 依頼されているのですが、俺はウェブデザイナーでもデザイナーでも絵心のある人間でもない。 というかたたき台くらいほしいデス。どんなことを伝えるサイトなのか? 目的、目標は? 趣味 特技?

はい、そこを含めて作れってことですか。こ、困ったな。ていうか正直、やる気が全然 出ないんですよ・・・。なんせそうそう無いジャンルだし、例えばテンプレートだとか、 参考になるサイトだとか、そういうのないんすよ。うあ、どうしよ。そもそも俺、HPを作るための イロハすら知らないんすよ。何から始めればいいの? 宇宙はどこから始まったの?

OK。ときに落ち着け俺。俺はやればできる子、俺はやればできる子、 俺はやればできる子・・・。そう心に言い聞かせ、落ち着いてフローを立ててみる。

まず第一に必要なのはサイトの目的とか目標とか、方向性とか。じゃないかな。至上にして 最終の目的は「自分たちの団体の存在を世に広く知っていただき、支援者ひいては加入者を 増加させることによる利益の向上とか人気の向上」、こんなところだろうか。

次はコンセプト、いわゆる概念というやつだ。この場合、この某団体のコンセプトではなく いわゆるサイトコンセプトのことであろう。多分。思考。思考。このサイトは某団体が運営する、 某団体の某活動を広く知ってもらう為のサイトとなる。つまり広告塔的な役割を果たす。

となるとコンテンツの内容は基本的に某団体の活動紹介のみになるんじゃないか?  と思ったら、某団体によると動画配信も予定しているらしい。それならキラーコンテンツは コレ(動画配信)になる。

  • お知らせ(更新情報や活動案内?)
  • 某団体の紹介
  • 年間スケジュール
  • 活動時動画・画像の配信(ここがメインになると予想)

コンテンツはこんな感じか。面倒そうなものは排除。排除。日記とかリンクとかBBSとか いらんだろ。

あとはデザイン・レイアウトだな。ここが一番ひどい。 なにせ俺にはそんなスキルもなければ、某団体の素材が少なすぎるのだ。HTMLの構造化うにゃらら とかなら胸のホクロに毛が生えた程度に自信はあるしできないことはないけど、このサイトは そういうことはどうでもいいわけで。

というか俺がつまづいているのがまさにココ。さてどうしたものか。というか正直に言う。 これ明日まで何某かを出さなきゃならないんすよ。業務じゃないのに追われてる。 まじボスケテ。俺はじけそう。

なお俺の通称はキョンではないし某団体の略称がSOSうんたらとかいうのではないということは ここに明言しておく。俺はキョンじゃない。

後方参照のおべんきょう

実験その1:


  do {
      while (my $line = shift(@hairetsu)) {
        $line =~ /(PATTERN2)-(PATTERN3)/;
        $tmp = "$1, $2\n";
      }
    }
  } while ($p =~ s/(PATTERN1)//);
  print $tmp;

Whileの条件文内でパターンマッチ、doブロック内でもパターンマッチをして、 両方ともに()をつけてグループ化(後方参照)してみた。簡単にいうと。

結果:


PATTERN1,
PATTERN2,PATTERN3,
PATTERN2,
PATTERN1,
PATTERN1,
PATTERN2,
PATTERN1,
PATTERN1,
PATTERN2,
PATTERN1,
PATTERN1,
PATTERN2,
PATTERN1,
PATTERN1,

深層のwhileブロック内でマッチするパターンがあった場合は、正しくPATTERN2とPATTERN3を 出力してくれたが、PATTERN2もPATTERN3もマッチしなかった時はwhileの条件文でマッチした PATTERN1がどこからともなく呼び出されていた。ような。

深層のwhileブロックがループ開始戻った段階で$n(数字)の値は、毎回毎回最上層の while条件文でマッチした値に初期化されているとゆうか。

つまりこうすると、


  do {
      while (my $line = shift(@hairetsu)) {
        $tmp = "$1, $2\n";
        $line =~ /(PATTERN2)-(PATTERN3)/;
      }
    }
  } while ($p =~ s/(PATTERN1)//);
  print $tmp;

PATTERN1,しか出力しなくなるわけなんですよ。

こういった動作について言及してるサイトってないかなー?

#元のflavourdirの"while ($p =~ s/(\/*[^\/]*)$// and $1);" の意味がいまだによくわからない・・・これ別に後方参照しなくてもいいんじゃね?

UPS(Uninterruptible Power Supply)

いちおう別の話題なので記事を分けてみた(∵)

とある筋からいわゆる無停電電源装置、UPSをいただいたのですよ。 モノはDL5115-1000JL。 1000VA/670Wということで、パソコンとモニタのがキッチリ収まる程度の容量。さて嬉しい。 これは嬉しい。でも待てちょっとまって。UPSって使ったことないんですけど消費電力とかどうなの? 北国であるとか田舎であるとか農家であるとか家族数が多いとかそういう理由で我が家の電気代は結構デカい。 ぞらさんおりりほどにデカい。 さて困った。どんくらいになるんだろう電気代。誰か使ってる人に聞いてみよう。 というわけでどなたか教えてください。お願いします。(∵)ノシ

「待ち受けアプリ」に興味が沸いてきた

この記事はほとんど自分用の「チラシの裏」なもので、興味が沸いた人だけ「続きを読んで」クダサイね(∵)

<!-- チラシの裏 -->

ワタクシ物忘れがひどいたちでして、いつも何かしらにメモっておきながらそのメモを無くしてしまうこともしばしば。

とりあえずメモっておくものは何か一つに統一しようということで、現代の時流に乗り「そうだ、携帯にメモろう」ということにしてはやウンヶ月。何かがあればケータイ開く→「クリア」ボタン→◎ボタン二連打→メモる→◎ボタン二連打、でメモを保存できる我がケータイは実に素敵なメモツールと化しています。

しかしここで新たなる問題が。そう、「メモったはいいがメモを開くのを忘れる」という実にものぐさ全開・ぐうたらマキシマムなこの体質。これはいかん、ということで色々検索してたら「待ち受けアプリ」なるものに漂着して今回の話に至る。

「待ち受けアプリ」、これは待ち受け画面の替わりに常時ケータイアプリを起動しておきっぱにするという代物のことらしい。他の作業とか着信時には一時停止して、他のことが終り次第再起動してまた常駐しっぱなし、といった動作らしい。メモリ消費とか電力消費はともかく、つまりメモ帳っぽいアプリをそうやって常駐させておけば、ケータイ開けばすぐパッとメモが目に飛んでくるわけでこりゃ便利そうだぞ。

で、いくつかのアプリを試したみたものの、ただ画面にボーンと大きな文字が出力されるだけで、味気ない。なんかもうちょっと面白げかつ綺麗かつダイナミックな待ち受け画面にできるアプリはないか? まてよ、だったら自分で作ればいいじゃん。俺って天才じゃね? という考えに行き着き今回の話に至る(二度目)。

さっそく調べてみた。どう調べてもそんな簡単にうまくいくものではないことがようとしてわかる。さて困った。自分がやったことあるものはBASICで円と□と線を動かすプログラムを作ったり、エクセルでちょこっとだけ単純なマクロをVB Scriptで作ったり、他人の作ったCGIを自分勝手に改造したり、そんなものだけだということを改めて思い知らされる。

とはいえこのJavaうんたらMIDPうんたらというものも、なんかクラスとかメソッド? パッケージ? とか? そういった「出来合いのもの」があって、プログラマーはそういった原材料を元によりよく美味しい料理を作っていったり、時には調味料からロボットを作り上げたりするようなすごいことをする人たちのことなんだなぁ、とまたまた思い知る。

さて、それはともかくどんなことをやりたいかまず自分で整理してみようと思った。できることとできないことがなんなのかがわからないが、興味を持ちやる気を持ち邁進していくことが大切なのだと。

まずは気軽にメモを書けるアプリ。そこに、背景として「本当の待ち受け画面」を置ければと思ってる。時計も動いてる、待ち受けショートカットもちゃんと表示されている。メモ動作は↑キー。↑以外の他のキーを押せば直ちにアプリ一時停止or終了し、ケータイ本来の動作をする。◎を押せばメニュー、右左で着歴、他諸々々々。

書いてて「たぶんこれ何書いてるか時分で後で見てもさっぱりわからなくなってるんだろうなー」と思いつつ(∵)

<!-- チラシの裏 -->

gzipに複数の脆弱性、LZH要注意

gzipに複数の脆弱性〜LHAにも関連あり?(Slashdot Japan)

簡単に事の顛末を説明すると、今から17年前に作成された「LHA」の前身のプログラムコードの一部に問題があることが解り、そのプログラムコードは今や ほとんどのLZH圧縮・解凍ソフトに使われているので、注意したりアップデートしたりしてくださいね、ということです。Unlha32.dll,Unarj32.dll, Lhmeltあたりもダメ。

そうそう、具体的には悪意ある圧縮ファイルを展開しようとすると処理が無限ループされるとかそういったことのようです、あとバッファオーバーフロー。

ウィルス対策ソフト等にも問題が出そう。もっとも、この記事は5日前の記事なのでもう対策されてるとおもます(∵)ポッポコ

9/29 13:14 追記

7-Zip、WinRAR、WindowsXPの「Microsoft 圧縮」、それからZOO。これらについても影響する恐れがあるつーことですケド、どオやらつよい方々が色々してくれてるみたいっす、

しかしWinXPにまで影響あるとはなー(∵)