データベースのメモ

今使っているPCにはマイクロソフトofficeが入ってない。

これからも使うことはないと思うんだけど、どうしてもエクセル形式のファイルを開く必要があって困っていたら、普通にエクセルビューアーというソフトがマイクロソフトから無料で配布されていた。

このビューアーを使ってファイルを開いた後に、必要な部分だけグーグルスプレッドシートに貼りつけたら編集もできるようになるので問題解決。

よく見るとスプレッドシートから直接エクセルの中身を開くこともできるみたい。

あと、データの入れ方が不規則で、そのままだとSQLで収納できない時も、いったんスプレードシートに取り込んでからデータを整えてCSV形式で出力してやると簡単に収納できる。

グーグルドキュメントがかなり便利だとわかった。

いろいろ引っかかっていた部分も一気に解決した。

ヒアドキュメント内で展開する変数と展開させたくない変数

基本的にいきあたりばったりで必要なときに必要なことを勉強してるので芋づる式に調べることがどんどん出てくる。

ヒアドキュメント内で変数の挙動が怪しいので、ちゃんと調べてみた。

まず、変数をきっちり認識させるためには変数名をかっこで囲んであげる

${ant}

ただし、これだとヒアドキュメント内で変数が展開されてしまうので、変数のままにしておきたい時は

\${ant}

と、エスケープをしてあげる。

ある文字から改行までを選択する

正規表現の基本的な使い方はだいたいわかったんだけど、改行の扱いでひっかかった。
ある文字からその行の最後までを選択したい場合。

「文末に改行がくる」というのを、直訳?すると上手くいかなかった。
30分くらいいろいろやって

特定の文字[^\n]*

これで上手く行った。
「文末に改行が来る」ではなく、「改行以外を選択する」というように逆で表現するとあっさり解決。
他にもこの逆を使うパターンで解決することは多いように思う。

require_onceを使うときの文字化けを防ぐ

携帯サイトを作っていて、require_once使用時に文字化けしてとらぶったのでメモ。

携帯用のサイトは文字コードをshift-jisで作る必要がある。

shift-jisで作ったページに別ファイルをrequire_onceで呼び出す場合、呼び出すファイルの文字コードがUTF-8だと文字化けしてしまう。

最初は呼び出す前の時点で、ファイルの中ですでにechoで出力していたんだけど、これだと文字化けが治せなかった。

呼び出すファイルの文字コードをUTF-8のまま使うには、require_onceで呼び出した後にechoで出力すると解決。

まず、呼び出すファイル内で出力したいものを変数$rに入れておく

そして呼び出すときに、文字コードを変換してあげる

わかってしまえば簡単なんだけど、結構悩んでしまった。

正規表現

正規表現をちょこちょこ使うようになった。
以前は手でやっていたことも大抵は自動でできることがわかってきた。手で時間をかけて何かやると、何か物事が進んでいるような気にはなるけど、思い込みでそう思うだけで、まったく相関関係はないので気をつけようと思った。

あと正規表現って奥が深そう。
いろんなことができそうなだけに、何かやろうとすると凄く時間がかかる。
Perlの勉強用に買った本、Perl言語プログラムレッスン(結城浩著)に、正規表現の練習用として、ヒトゲノムのY染色体の全ゲノムデータのことが載っていた。小説などの文章も、ゲノム情報も、単純な物の組み合わせで情報を表してるから、そう考えると面白いなぁと思う。

正規表現をある程度使えるようになったら、プログラム関係の勉強は一段落させてもっとアウトプットを増やしていく予定。