ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

1週間の振り返り(5/7〜5/13)

パニーニだそうです。
f:id:AJYA:20160515054949p:plain
なにが挟まっているとパニーニと呼ぶのでしょうか。
パニーニのレシピ 197品 [クックパッド] 簡単おいしいみんなのレシピが237万品

  • 5/7(土)
    昼食として吉野家豚丼を購入しました。
    牛丼より安くていいですね。

豚丼|吉野家メニュー|吉野家


  • 5/8(日)
    午後からシャボン玉で子供と遊びました。
    ほどほどの風でシャボン玉がよく飛んでくれました。
  • 5/9(月)
    新たなシステムの準備を始めました。
    ベースのシステムがあって一部修正で済みます
    作成した時期によって知見が違うので、今の目線でシステムをチェックすると、バグが見つかるかもしれません。
  • 5/10(火)
    2年連続で使用されているシステムの最新版として紹介したつもりのシステムが、実は一世代前のシステムだったことが発覚しました。
    運用方法を改善して再発させないようにしました。
  • 5/11(水)
    仕様の追加があり、その仕様を実現しようと考えまとめ始めたところ、当初思っていた以上に修正箇所が増えることに気がつきました。
    お客さんが本当に望んでいる仕様なのか、資料にまとめて確認をしています。
  • 5/12(木)
    自社パッケージとして販売したものの全然売れていない製品があります。
    購入済みのお客さんから新しい動作環境への対応要望があったので対応方法を会議で決定しました。
    今後導入先がなくなる可能性も出てきました。
  • 5/13(金)
    バグを発見して、データの修正方法を指導していました。
    修正対象のレコードが多くて手間取っていましたが、無事に修正ができました。
    当初バグを発見できなかった理由を把握したので、今後は発生させないようにしました。

治ったと思っていたのどが、火曜日にまた調子が悪くなり、今回は医者に行かないと悪化が止まらないと思えたので、耳鼻咽喉科を受診しました。
順調にのどの違和感は取れてきたと思っていたら、のどが痛く感じるようになってきました。
新たな症状なのか、のどの周りにできものでもできたのか判断がつきかねています。

3歳1か月になりました

子供が生まれて3年と1ヶ月です。気づいたことや出来事を書いていきます。

f:id:AJYA:20160514055311j:plain
photo credit: rayanne via photopin (license)

  • 聞いたもののまねをよくします。
    まだまだ修行が足りないでござんしゅということもありました。
    アンパンマンのこむすびまんのセリフのようです。
  • 風邪なのかアレルギーなのかよくわからない症状がでました。
    鼻水が出るようになったので、耳鼻咽喉科を受診しました。
    アレルギーの可能性があるので、アレルギーの検査とともにアレルギーの症状を抑える薬を処方されました。
    アレルギーの検査の結果は陰性でした。
    一週間ほどで症状は治まりました。
  • 義父母から誕生日プレゼントとして、本を買ってもらいました。
    本屋でどれにすると聞いたら、あれこれうろうろしたけれど、最後はこの本になったそうです。

  • 義妹から誕生日プレゼントとして、リカちゃん人形をもらいました。
    服や靴や靴下など、細かくいろいろ付いてくるんですね。
    人形でも遊んでいますが、DVDもよく見ています。

  • ドラえもんの映画を見ました。
    平日に見に行ったら他に1組いただけで途中で飽きても迷惑をかける人が少ない状態だったそうです。
  • 名古屋アンパンマンこどもミュージアム&パークに出かけました。
    キャラクターが出てくるのを見かけると、止まってくれるところまで追いかけて握手してもらってました。

ajya.hatenablog.jp

  • ドラえもんとウンタカダンス!!ショーを見に行きました。
    ベンチに座らず、ブルーシートに座った方がよく見せてあげられたようです。

ajya.hatenablog.jp

  • 家族旅行に出かけました。
    寝床がかわると眠れないということもなく、寝てくれました。
    疲れていたおかげなんでしょうね。

ajya.hatenablog.jp
ajya.hatenablog.jp
ajya.hatenablog.jp

NHKおかあさんといっしょの人形劇が4月から変わってガラピコぷ~になっています。
おかあさんといっしょ - キッズワールド NHK Eテレ こどもポータル
ガラピコぷ~ ...

こどもは慣れたようで、ガラピコ見たいと言われます。
妻はまだ慣れていないようです。

PHP:正規表現を少しだけ学びました

2年以上前に作成したシステムをベースに、一部修正して再利用することになりました。
ソースコードを確認すると、テストサイトで利用する場合は、テスト用のデータベースへの接続文字列を手作業で有効にしていました。
本番サイトで利用する場合は、本番用のデータベースへの接続文字列を有効にしていました。

具体的には、テストサイトの場合は、以下のようにしていました。

    define("DATABASE_NAME", "testdb");   
//  define("DATABASE_NAME", "productiondb");

本番サイトの場合は、以下のようにコメントアウトが異なるだけにしていました。

//  define("DATABASE_NAME", "testdb");   
    define("DATABASE_NAME", "productiondb");

自動で切り替える方法を考える

当初は、以前と同じようにコメントアウトを修正していましたが、いちいち直すのが面倒に感じました。
テストサイトと本番サイトでは、URLに「test」の文字列が含まれているかどうかの違いがあります。
この違いで接続先を切り替えればいいということに気がつきました。

URLは$_SERVER["REQUEST_URI"]で取得できるので、正規表現を用いて「test」の文字列が含まれているか判定することにしました。
正規表現の書き方が苦手なのと、PHPではどの正規表現用の関数を使えばいいのかわからず悩んだため、少し時間がかかりました。
結果は以下の内容で実現できました。

//  URLに[test]が含まれていたら、テストデータベースに接続する
if (preg_match("/test/", $_SERVER["REQUEST_URI"]) === 1) {
    define("DATABASE_NAME", "testdb");   
} else {
    define("DATABASE_NAME", "productiondb");
}

正規表現関係で学んだこと

どの正規表現用の関数を使えばいいのかは、こちらのページを参考にしました。
php - ereg_matchとpreg_matchの違いについて教えて下さい。 - スタック・オーバーフロー

わかりやすく説明がされています。
基本は「preg_match()」を使えばいいというのだけでも覚えておくようにしたいです。

「preg_match()」の使い方については、PHPサイトのマニュアルを読みました。
PHP: preg_match - Manual

今回必要な情報は十分得られました。