mawatari.jp
ウェブエンジニアのメモ帳
  • ブログ
  • ブックマーク
  • 本棚
  • GitHub
  • プロファイル
  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby
RSS
2013年2月19日

大気の状態を通知してくれるWebアプリを作りました

mawatari 日記 CakePHP, Twitter 0 Comments

動機

2月14日。
帰宅したら、あるものを渡されました。

昨年末くらいから、育児の合間を縫って、せっせせっせと何かを編んでる姿は見かけてたんです。
てっきり、昨年7月に生まれた息子のための何かを編んでると思っていたら、これだもの。

手編みのマフラー。
それはそれは、大変驚きましたよ。あまりそういうことをするタイプの妻ではないので、なおさらです。

これは僕も手作りの何かをお返しをしたいなと。
という訳で、15日以降、息子が寝た後の時間を使って、コーディングしてました。

皆様にとって、どうでも良い話は、ここまでです。
さて、ここ何日かは、宇宙からの飛来物の話題で持ち切りですが、少し前の話題と言えば、某国から偏西風にのって飛来してきていると言われている微小粒子状物質(PM2.5)でした。そらまめ君が、アクセス過多により、接続しづらくなっていたのも記憶に新しいと思います。
参考:環境省大気汚染物質広域監視システム – そらまめ君

PM2.5。聞くところによると、差し当たっての対応方法は、「数値が高い日は外出を避ける」しかないという話。微粒子用マスクを使えば防げるとは言うものの、守ってあげたい赤ん坊には、マスクなんてつけれない。おちおち洗濯物も干してられません。
他県の状況は分かりませんが、現在でも福岡では、テレビの天気予報のときに、花粉飛散情報と並んでPM2.5の飛散予測が放送されています。テレビだけでなく、そらまめ君や、福岡県の大気観測状況等を確認すれば、数値はわかるけど、毎日毎時見るのは、ちょっとかったるい。できれば、こういった情報は、プッシュ通知をしてほしい。

そんなこんなで、第1弾として作ったのが、PM2.5の観測状況を監視し、設定値を超えた場合にプッシュ通知してくれるWebアプリです。
やはり、晴れた日には、太陽の下に洗濯物を干したいし、散歩にも連れて行ってあげたいものです。
(僕は花粉症持ちなのでPM2.5に関わらず、この時期は外に干せませんが。)

個人用途としては、一応、完成したんですが、一般公開すれば、幾分かは需要もあるんじゃないかなと思いまして、この記事を書いています。ただ、一般公開には超えなければならないハードルがあって、どうしたものかと考えているところです。もし詳しい方がいたら、教えてください!

続きを読む

2013年2月17日

HTML5 Carnival Fukuoka 参加報告

mawatari 勉強会・交流会 HTML5 0 Comments

イベント情報

タイトルHTML5 Carnival Fukuoka
日時2013年2月9日(土)13時00分〜19時00分
定員500人
会場九州産業大学
住所福岡県福岡市東区松香台2-3-1
公式サイトHTML5 Carnival Fukuoka
告知サイトHTML5 Carnival Fukuoka on Zusaar
ハッシュタグ#html5fukuoka
概要HTML5は「新しい技術を試してみよう」という時期を経て、いよいよ「使いこなさないとヤバイ」という段階を迎えようとしています。そんなHTML5関連技術のトップランナーの方々をお招きし、昨年、神奈川で開催された「HTML5 Conference 2012」に負けないくらい熱を帯びたイベントを、ここ福岡で開催致します。

リポート

後日。

続きを読む

2013年2月7日

CodeSnifferを導入しCakePHPコーディング規約をチェックする

mawatari 日記 CakePHP, CodeSniffer, PHP 2 Comments

CakePHP Cookbookのコーディング規約のページにもある通り、CodeSnifferを導入することで、CakePHPで作成するアプリケーションのコードが、規約に沿っているかどうかをチェックできます。
規約を守ることで、保守性も高くなります。また、CakePHPのコアコードやプラグインに対して、Pull Requestを送る際、コーディング規約に則っていないと受け入れられないこともあるそうですので、ぜひ取り組みたいものです。
PHP_CodeSnifferおよびCakePHP_CodeSnifferを導入したときのメモを残しておきます。

CodeSnifferでチェックされる内容や、Jenkinsとの統合等は、@yandoさんの記事にまとまっていますので、そちらを確認してください。
リンク:CakePHPのコーディング規約違反をPHP_CodeSnifferでチェックする #CakephpAdvent2011

参考

  • CakePHP2.x コーディング規約 日本語版
  • CakePHP2.x コーディング規約 英語版
  • CakePHP Code Sniffer – GitHub

環境

環境は以下の通りです。今回はMAMP2.1.1のPHPに導入してみました。

ソフトウェアバージョン
MAMP2.1.1
PHP5.4.4

PEARでPHP_CodeSnifferおよびCakePHP_CodeSnifferをインストールする

PEARでCodeSnifferをインストールする(ハイライト部分がコマンド)
Shell
1
2
3
4
5
6
# PEARでPHP_CodeSnifferをインストールする
pear install PHP_CodeSniffer
 
# CakePHPコーディング規約をインストールする
pear channel-discover pear.cakephp.org
pear install cakephp/CakePHP_CodeSniffer

CakePHPのコーディング規約は、PHP_CodeSnifferをインストールしただけでは存在しませんので、上記の通り、別途、CakePHP_CodeSnifferをインストールしてください。
以上で完了です。

インストールログ

PEARでCodeSnifferをインストールする(ハイライト部分がコマンド)
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
pear install PHP_CodeSniffer
downloading PHP_CodeSniffer-1.4.4.tgz ...
Starting to download PHP_CodeSniffer-1.4.4.tgz (374,020 bytes)
.............................................................done: 374,020 bytes
install ok: channel://pear.php.net/PHP_CodeSniffer-1.4.4
 
pear channel-discover pear.cakephp.org
Adding Channel "pear.cakephp.org" succeeded
Discovery of channel "pear.cakephp.org" succeeded
 
pear install cakephp/CakePHP_CodeSniffer
downloading CakePHP_CodeSniffer-0.1.11.tgz ...
Starting to download CakePHP_CodeSniffer-0.1.11.tgz (17,286 bytes)
......done: 17,286 bytes
install ok: channel://pear.cakephp.org/CakePHP_CodeSniffer-0.1.11

2013年2月6日

CentOS6.3のApacheをバージョンアップする

mawatari 日記 Apache, CentOS, VMware 0 Comments

昨年、作ったVMware上の開発環境が若干古くなってきたので、更新したときのメモ。
環境構築をする際に追加したリポジトリ(EPEL, Remi, RPMForge)には、当時と同じApache 2.2.15までしかなかったので、CentALTというリポジトリを追加しました。CentOSのバージョンは、当時の6.2から6.3へアップグレードしています。
リンク:CentOS開発環境の構築(Apache, MySQL, PHP)

Yumリポジトリの追加とApacheのupdate

Yumリポジトリの追加とApacheのupdate(ハイライト部分がコマンド)
Shell
1
2
3
4
5
6
7
8
9
10
11
# Yumリポジトリの追加
rpm -Uvh http://centos.alt.ru/repository/centos/6/x86_64/centalt-release-6-1.noarch.rpm
 
# 意図せず標準外のリポジトリを使うのを避けるため無効化、使う場合は明示する
# リポジトリ設定ファイルのenabledを1から0にする
vi /etc/yum.repos.d/centalt.repo
[CentALT]
enabled=0
 
# CentALTリポジトリを使ってApacheをアップデート
yum --enablerepo=CentALT update httpd

最後の方に、以下のような警告が表示されました。

CentOS6.3のApacheを2.2.15から2.2.23へアップグレードした際に表示された警告
Shell
1
警告: /etc/httpd/conf/httpd.conf は /etc/httpd/conf/httpd.conf.rpmnew として作成されました。

Apache2.2.23のデフォルトのhttpd.confに関するお知らせですね。2.2.15と2.2.23のdiffをとってみたら、Timeoutが60から、120に変更されていたり、設定項目にprefork ITKが増えていたりしていました。設定ファイルのインクルード状況等によって変わってきますので、各自の判断で切り替える等しましょう。また、 /etc/httpd/conf.d/proxy_ajp.confという設定ファイルが作成されていました。影響を与えることがないか確認しておきましょう。
以上で完了です。

Apacheが再起動できない場合の対処法

元々のhttpd.confの状態や、インクルードしている設定ファイルの状態によって変わってくるので、一概には言えませんが、ほとんど初期設定のままの私の環境では、以下のようなエラーが表示され、Apacheの再起動ができませんでした。その場合の対処法をメモしておきます。
Apache2.2.15をインストールしたときに作られたhttpd.confをそのまま使って、今回新しく作られたhttpd.conf.rpmnewは使っていないという状況下です。

Apache再起動時のエラー(ハイライト部分がコマンド)
Shell
1
2
3
4
5
6
7
8
service httpd restart
httpd を停止中:                                            [失敗]
httpd を起動中: [Wed Feb 06 15:20:10 2013] [warn] module proxy_ajp_module is already loaded, skipping
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
                                                           [失敗]

4〜7行目は、80のポートをすでに使用しているために出ているエラーです。うまくApacheをshutdownできていないようです。Apacheのプロセスを強制終了します。

Apacheの強制終了
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# httpdのプロセスを確認
ps aux | grep httpd
root      2319  0.0  0.7 522720  7180 ?        Ss   Feb04   0:10 /usr/sbin/httpd
apache   15691  0.0  0.6 522856  6468 ?        S    10:39   0:00 /usr/sbin/httpd
apache   15692  0.0  0.6 522856  6468 ?        S    10:39   0:00 /usr/sbin/httpd
apache   15693  0.0  0.6 522856  6468 ?        S    10:39   0:00 /usr/sbin/httpd
apache   15694  0.0  0.6 522856  6468 ?        S    10:39   0:00 /usr/sbin/httpd
apache   15695  0.0  0.6 522856  6468 ?        S    10:39   0:00 /usr/sbin/httpd
apache   15696  0.0  0.6 522856  6468 ?        S    10:39   0:00 /usr/sbin/httpd
apache   15697  0.0  0.6 522856  6468 ?        S    10:39   0:00 /usr/sbin/httpd
apache   15698  0.0  0.6 522856  6468 ?        S    10:39   0:00 /usr/sbin/httpd
root     18454  0.0  0.0 107448   964 pts/1    S+   16:02   0:00 grep httpd
 
# rootで実行されているプロセスを終了させる
kill 2319

警告は表示されますが、無事に起動できました。

Apacheの起動
Shell
1
2
3
service httpd start
httpd を起動中: [Wed Feb 06 16:04:51 2013] [warn] module proxy_ajp_module is already loaded, skipping
                                                           [  OK  ]

警告の解消

重複による警告

Apacheの起動
Shell
1
2
3
4
service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中: [Wed Feb 06 16:08:38 2013] [warn] module proxy_ajp_module is already loaded, skipping
                                                           [  OK  ]

3行目:proxy_ajp_moduleが2重定義されているために表示される警告です。新規に追加されたproxy_ajp.confと元々のhttpd.conf内に存在しています。解消法としては、以下のようなものが考えられます。

  1. proxy_ajp.confを削除する
  2. httpd.conf内のproxy_ajp_moduleの設定を削除する
  3. 新しく作られたhttpd.conf.rpmnewを使うようにする
    例: mv httpd.conf httpd.conf.2.2.15.default mv httpd.conf.rpmnew httpd.conf

今回は3. の手法をとりました。

ServerNameによる警告

Apache再起動時のエラー
Shell
1
2
3
4
service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]

3行目:ServerNameの設定がないために表示される警告です。httpd.confないしは、インクルードするファイルで、ServerNameを適宜設定しましょう。

続きを読む

2013年2月3日

Apacheのバージョン確認コマンド

mawatari 日記 Apache, CentOS, Tips, Ubuntu 0 Comments

メモ。

CentOS上のApacheのバージョンを確認するコマンド

CentOS上のApacheのバージョン確認(ハイライト部分がコマンド)
Shell
1
2
3
4
5
6
7
httpd -v
# 以下のように表示されます
Server version: Apache/2.2.15 (Unix)
Server built:   Feb 13 2012 22:31:42
 
# 以下のコマンドでも確認可能です。表示結果は同上。
apachectl -v

Ubuntu上のApacheのバージョンを確認するコマンド

Ubuntu上のApacheのバージョン確認(ハイライト部分がコマンド)
Shell
1
2
3
4
5
6
7
apache2 -v
# 以下のように表示されます
Server version: Apache/2.2.22 (Ubuntu)
Server built:   Feb 13 2012 01:37:27
 
# 以下のコマンドでも確認可能です。表示結果は同上。
apache2ctl -v

«‹ 12 13 14 15›»

フォロー

follow us in feedly
人購読中

最近の投稿

  • RDS (MySQL) からファイル出力 (TSV,CSV) する
  • エラー対応:cannot update mailbox /var/mail/root for user root. error writing message: File too large
  • MySQLのSHOW TABLESでコメント他も合わせて表示する
  • Amazon Linuxのバージョン確認コマンドとアーキテクチャ確認コマンド
  • PHPのエラーメッセージを出力する
  • ServerspecでMacの開発環境をテストする
  • PHPカンファレンス福岡2015に参加してきた
  • rbenvでRubyの最新安定版をインストールするワンライナー
  • Ansibleの実行結果を通知する
  • MacにComposerをインストールする

Twitter

@mawatarinさんのツイート

カテゴリー

  • 勉強会・交流会 (56)
  • 日記 (104)

タグクラウド

Ansible Apache AWS Backbone.js baserCMS Bootstrap CakePHP CentOS CSS EC-CUBE facebookアプリ開発 fancyBox FuelPHP Fukuoka.php Git GitHub Homebrew HTML5 iOS JavaScript Jenkins Jenkins実践入門 jQuery Mac MAMP MySQL Node.js OSC PHP PHPMatsuri PhpStorm PHPUnit Rails rbenv Ruby RubyMine SwimmyStudy Tips Twitter Vagrant VMware WordPress Xdebug アジャイル 福岡インフラ勉強会
mawatari.jpのはてなブックマーク数
  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby

最近の投稿

  • RDS (MySQL) からファイル出力 (TSV,CSV) する
  • エラー対応:cannot update mailbox /var/mail/root for user root. error writing message: File too large
  • MySQLのSHOW TABLESでコメント他も合わせて表示する
  • Amazon Linuxのバージョン確認コマンドとアーキテクチャ確認コマンド
  • PHPのエラーメッセージを出力する
  • ServerspecでMacの開発環境をテストする
  • PHPカンファレンス福岡2015に参加してきた

フォロー

follow us in feedly
人購読中
mawatari.jpのはてなブックマーク数

新着はてなブックマーク

  • PhpStorm
  • CakePHP
  • FuelPHP
  • PHP
  • RubyMine
  • Ruby on Rails
  • Ruby

↑

© mawatari.jp 2025
Powered by WordPress • Themify WordPress Themes