<   2013年 05月 ( 4 )   > この月の画像一覧
2013年05月25日の日記、正規表現
正規表現を勉強中。
もちのろん Perl で。
すげー難しいっ;

プログラム

# 単語の出現数を確認するプログラム
use strict;
use warnings;

# 検証する文
my $line = "Humpty Dumpty sat on a wall,
Humpty Dumpty had a great fall;";

# 正規表現で単語単位に分割、配列へ格納
my @words = ($line =~ /[\w]+/g);

# 単語と単語の出現数を格納するハッシュ
my %count = ();

# 単語単位に分割された数ループ
foreach my $word (@words) {
$count{$word}++;
}

# 単語の出現数を出力
foreach my $key (sort keys %count) {
print "$key: $count{$key}\n";
}


出力結果

Dumpty: 2
Humpty: 2
a: 2
fall: 1
great: 1
had: 1
on: 1
sat: 1
wall: 1


初めの方は、単語単位に分割するのにかなり苦心した正規表現を組みました。
そ・れ・が!

/[\w]+/

これで済んでしまうなんて。。。
僕が苦心して組んだ(しかも完成しなかった)正規表現モドキはとても見せられません;
[PR]
by redchant | 2013-05-25 21:42 | 日記
2013年05月20日の日記、唐突にPerl!
唐突にPerl!
なぜかPHPの勉強を止めてPerlをやりたくなった!
よくわからん、自分(´・ω・`)
リファレンスまで勉強した。

データ型は、
・スカラー型(文字列、数値(Booleanは無いのかな?))
・配列型(スカラー型を格納)
・ハッシュ型(連想配列)
みたいです。

それぞれ、

my $fruit = "apple";
my @fruits = ("apple", "banana", "orange");
my %price = (apple => 10, banana => 20, orange => 30);

として頭に記号をつけて使い分けるようです。

出力は、スカラーでします。

print $fruit . "\n"; // apple
print $fruits[1] . "\n"; // banana
print $price{apple} . "\n"; // 10


とりあえず、今日はここまで。
[PR]
by redchant | 2013-05-20 20:46 | 日記
2013年05月09日の日記、ひさしぶりのMySQL
今日は、WEBアプリ開発の勉強の一環として、ひさしぶりに MySQL をいじりました。

SQLクライアントには、せっかく XAMPP をインストールしたので、「phpMyAdmin」を使ってみました。
しかし、簡易的にテーブルを参照するのには不便ないものの、「SQLを組む」ことに関しては不適でした。

次に試してみたのは、なにを血迷ったかターミナルに直接打ち込むということでした。
まあ、反応がダイレクト(?)なので良いのですが、これまた不適です。

次には、テキストエディタでSQLを組んで「phpMyAdmin」に貼り付けるといった方法でした。
これはこれで良いのですが、どうも思ったのと違うのですよね。

仕事では、「A5:SQL Mk-2」で SQLServer を覗いてます。
かなり、使いやすいです。
が、Windows用ですから。。。

と、思い出したのは、かつてインストールした「Sequel Pro」でした。
そうでした。
この使用感です。
ということで落ち着きました。

今日はツール探しがメインになってしまい、勉強が二の次になってしまいました。
こういうことは往々にしてあります。
しかし、

「目的は?」

「サービスを作ること!」

です!
プログラム(SQL含む)を組むのには簡易的なテキストエディタがあれば充分なのです!

・・・

といいつつ、テキストエディタを紹介したいのですがw
Mac使いの方は「Sublime Text 2」というエディタを試してみてください。
使い込んではいませんが、中々に使い良いです。美しいです。
本当は、VimとかEmacsとか使えれば良いのでしょうが、正直そこまでは到達できそうもありません。
そちらには突っ込まないでいきます。(設定ファイルをいじるのに vi は多少使いますが。)
「Sublime Text 2」も表面的な使い方になると思います。
[PR]
by redchant | 2013-05-09 23:14 | 日記
2013年05月03日の日記、XAMPP覚書
[10:56]

前回は、アップロードファイルを置くディレクトリの権限がわからなかったのですね。
それは置いといて、今回はファイルアクセスの演習でした。同じ問題が発生したと予測しました。
それなのであらためて調べました。

環境は、Mac OS X で XAMPPです。

下記サイト様、参考記事にさせて頂きました。

PHP講座
第9回 パーミッション設定の重要性 (その2)

自宅サーバー Fedora
Apache 実行ユーザーの設定


①まず、WebサーバであるところのApacheのユーザを見てみます。

httpd 自体はユーザ root になってましたが、
実行時のユーザは、どうやら httpd.conf にて設定できるようです。
(/Applications/XAMPP/xamppfiles/etc/httpd.conf)

中に、「User nobody」という行と、「Group nodody」という行があります。
そこを自分用に変更しました。
User i-masawa
Group wheel

②次にアクセスするファイルの権限を見てみます。
今回アクセスするファイルは、「/Applications/XAMPP/xamppfiles/etc/settype.php」です。
以下のコマンドで確認します。

$ ls -al settype.php
-rw-r--r--@ 1 i-masawa admin 541 4 13 15:32 settype.php

始めの2文字から9文字分が権限を表現しています。 -> 「rw-r--r--」
3文字ずつ区切りますと、
・所有者ユーザ(i-masawa)の権限
・グループ(admin)の権限
・その他ユーザの権限
となってます。

各文字の意味は、
・「r」 : 読込(Read)
・「w」 : 書込(Write)
・「x」 : 実行(eXecute) ←今回は出現してませんが。
です。

③以上で解決です。
・ファイルアクセスするプログラムは「httpd」で、ユーザは「i-masawa」
・アクセスされるファイルは「settype.php」で、ユーザは「i-masawa」に合致し、読込権限あり
とのことでOKになったですね。

いやー、マジ UNIX系OS に慣れないと。
今でも非効率を感じてますし。。。
[PR]
by redchant | 2013-05-03 11:35 | 日記