新人研修の様子をネットで配信

こういう取り組みは素晴らしいと思う。 スタートアップ研修記(via:「スタートアップ研修記」はじめました — ディノオープンラボラトリ) 自分の所ももっとオープンな感じでできればいいんだけど…。 守秘事項にしなくてもよいようなところまで隠してる感じが…

LAMP 環境を作る

ノン・プログラマのためのPHP入門 10日間コースを買ったので、この本に紹介されてるとおりに LAMP 環境を作ってみる。 MySQL のインストール。 まずは、ダウンロード。 % wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.51a.tar.gz/from/http…

ファイルの共有ロックと排他ロック

CGIプログラミングの p.178 で謎の共有ロックなる用語が突然出てきたので調べてみた。 @ITの記事がわかり易かったので、自分用にメモ。 共有ロック(をかけたファイル):他のプロセスの読み込み(共有ロック)は許すけど、排他ロックは許さない 排他ロック…

local *FH; open FH, $filename; って何?

オライリーのCGIプログラミングを読んでいるのですが、 p309にで.. - 人力検索はてなが参考になったので、自分用にメモ。 要は、「my FH」とか「local FH」といったことができない(ベアワードを許さない)から「local *FH」と型グロブを使うしかないらしい…

Perl で UTF-8

オライリーの「CGIプログラミング 第2版」の p.172 に以下のような例が載っている(Embperl の利用例)のだけど、なぜか HTML のテーブル部分の日本語が文字化けして困った。 <html> <head> <title>Table Sample</title> </head> <body> <div align="center"> <h1>$row, $col の実験</h1> [- @sports = ( [ "ウインドサーフィン", "</div></body></html>…

パソコンでテレビが見たい

パソコンで手軽に(何も追加の機器を買わないで)テレビが見れないかなーとググってみたら、こんなのがあった。 とりあえず、インストールしてみると「gdiplus.dllが無い」って怒られたので、入れたら見れるようになった。(参考:gdiplus.dllって何? | ウ…

料理のレシピ集

レシピ検索No.1/料理レシピ載せるなら クックパッドがめちゃくちゃ使える。 中野は安いスーパーが多いから自炊にはもってこいだな。 ブロードウエイの地下万歳!

Embperl のインストールメモ

CGIプログラミングの p.163 で紹介されてるモジュール。 なんかこのモジュール、日本語の情報が少ない気がする…。あまり使われてないのかな? cpan で楽々インストール。 % cpan HTML::Embperl インストールされたか確認するために use してみる。 % perl -M…

&split の動作

split /PATTERN/,EXPR の PATTERN の違いによる微妙な違いがよく分からなくて混乱してきたのでメモ。後でまた必要になったら読み返す。 % perl -de 0 DB<22> print join(' :', split(' ', ' hi there')) hi :there DB<23> print join(' :', split(/\s+/, ' h…

中野に引っ越した

やっとこさ引越してこれた。はじめての一人暮らし。風呂の確保、日用品を揃える、払い込み、各種書類の用意…。やることいっぱいあるけど、焦らずに少しづつこなしていこう。

GDモジュールをインストール

perl から jpeg画像の大きさを一気に変換(縮小)したかったので、GDモジュールを入れることにした。 cpanコマンドでインストールしようとしたけど、「libgd」がどうたらで怒られてインストールできない。 % cpan install GD そこで、「gd-something」で探し…

文字コード指定して再読み込みは C-x RET r

「C-x RET f」で保存時の文字コードを変更できるのは知ってたけど、これを文字化けしたときに実行して、C-x C-s で保存すると、表示されている(文字化けしている)文字自体を指定した文字コードで保存してしまうらしく、さらに訳の分からない内容のファイル…

xargsでmvを実行したい

「いまさらxargsの便利さを主張してみる — ディノオープンラボラトリ」を見て、ずっと前に自分も同じ様なことで悩んでたような気がしたので、日記を検索してみたら、やっぱりあった。自分で書いた記事だけど、読み返してみるとよく言っている意味が分からな…

あほきもちいい

「はてなダイアリー」で世界のナベアツ問題というのが紹介されてたのでやってみた。 #!/usr/bin/perl -w use strict; foreach (1..100) { print "$_: "; print "あほ" if $_ % 3 == 0 || m/3/; print "きもちいい" if $_ % 8 == 0; print "\n"; } FizzBuzz …

Opera早いな…

今使ってる貧弱な PC だと 結構 Firefox のレンダリング速度がちょっと遅くて気になるときがある。そこで、早いとうわさの Opera を使ってみたら、やはり明らかに早かった。 ただ、Firefox の代わりに使うとなると、いろいろとめんどくさそうだなあ。自分に…

日記書いてないな…

というか、最近まともにパソコン弄ってないな。 家探しもそろそろ一段落したし、以前のペースでパソコン弄ろう。 うわっ、LDR の未読がめちゃくちゃ溜まってる…

$CGI::DISABLE_UPLOADS ではまった

CGI.pm で「$DISABLE_UPLOADS = 1;」として、ファイルのアップロードを無効にしておいたのを忘れて、アップロードを行う CGI を実行しようとしていた。この状態で、 my $q = new CGI; my $file = $q->param('file') としても、「$q->param('file')」の戻り値…

端末がいきなりキー入力を受け付けなくなる

たまに何かの拍子に入力を受け付けなくなってたのだけど、原因が判明した。 無意識の内に Ctrl-s を押していたらしい。Ctrl-s を押すとキーボードからの入力が端末の表示に反映されなくなる。この状況を抜け出すには Ctrl-q を押せばOK。 参考 404 Not Found…

文字列を print すると「Wide character in print at」と出力されて困った

以下のプログラム(参考:作って学ぶ、今どきのWebサービス: 第2回 RSSフィードの料理はLWPとXML::RSSにおまかせ)を実行したら、「Wide character in print at」というメッセージが print を実行する度に出力されてしまった。 #!/usr/local/bin/perl # http…

XML::RSS がインストールできなかった

% cpan XML::RSS が失敗してインストールできなかった。 そこで、google で検索してみると同じ悩みの人が既に解決してくれていたので助かった。 XML::Parserがインストールできなかったよ - urapico's diary どうやら、expat-devel っていうパッケージが足り…

=~ の構文を勘違いしてた

ラクダ本 p.167 によると、Perl の「=~」演算子は左側にスカラー式を、右側に指定された3つのクォート風の演算子 m//、s///、tr/// のどれかと結びつける。 だから、 my $string = "hoge"; print "match!\n" if m/hoge/ =~ $string; は間違いで、以下が正し…

my と local の話より do{}->() が分からなかった

my と local のサンプル - IT戦記を見ていろいろ試してみたけど、どうしても「do{}->()」の部分の挙動が分からなくてモヤモヤしていた。 そしたら、最高に分かり易いエントリを見つけたので、以下にメモしておく。ホントに感謝。 [Perl] my と local と our …

colinux 上の Fedora7 に Apache をインストールする

オライリーの「CGIプログラミング」で Apache が必要になったのでインストールした。インストール手順をメモしておく。 Apache が既にインストールされているか確認 % yum list installed | grep httpd インストールされていなかったので、yum で入れる % su…

「foreach の $_ は local」、「while の $_ は global」な件について

追記(2007年12月28日(金)) 以下の内容には恐らく筆者の勘違いが含まれていると思うので、あんまり鵜呑みにしないでください。あと、ネタ元の id:fbisさんからコメントを頂いたのでそちらも参照してください。整理がついたら内容を随時訂正していく予定で…

Perl Cookbook 第2版が Googleブック検索で読める(追記:勘違いだった)

Perlクックブックソースコードリンク集(本家はこっち:Perl Cookbook)で第1版が公開されてるのは知ってたけど、Google検索で「perl cookbook」としたら第2版が丸々公開されててビビった。 追記 と思ったら自分の勘違いだった。実際は部分的にしか読めな…

[perl] 続・初めてのPerl 第16章 「ディストリビューションの書き方」

練習問題の回答をメモ。 今回は、ディストリビューションの作成手順なので、順を追って書いていく。12章の AnimalクラスとHorseクラスのディストリビューションの作成方法はほぼ同じなので、以降は Animalクラスについてのみ手順を書くことにする。 まずは、…

Googleブック検索とアマゾンの検索結果が同時に見れたら

便利かもしれない。Perlで作れないかな。

[perl] 続・初めてのPerl 第15章 「Exporter」

練習問題の回答をメモ。 ex15-1(pmファイル) package Oogaboogoo; use strict; use warnings; use base qw(Exporter); our @EXPORT = qw(number_to_day_name number_to_month_name); my @day = qw(ark dip wap sen pop sep kir); sub number_to_day_name {…

[perl] 続・初めてのPerl 第14章 「オブジェクトに関する高度なトピックス」

練習問題の回答をメモ。…したいところだったけど、全然思いつかなくて答えを見てしまった。一応、答えをそのまま載せておく。 ex14-1 #!/usr/bin/perl use strict; use warnings; { package MyDate; use vars qw($AUTOLOAD); # our $AUTOLOAD と同じ(ラクダ…

CGI.pm の importメソッドの仕組みを見てみる

続・初めてのPerl p.202 を見て、 CGI.pm の import メソッドの仕組が気になったのでソースを読んでみることにする。 まずは、CGI.pm が置いてある場所を調べよう。 モジュールのパスを最初に調べて、 % perl -e 'print map "$_\n", @INC;' /usr/lib/perl5/s…