5.4.xとMySQL(5.6.20)の構成で、PHPから日本語をデータベース内に保存したところ、phpMyAdmin上でその日本を見ると文字化けしてしまいました。逆に、phpMyAdmin上で入力した日本語はPHPからクエリして表示すると「???」になってしまいハマった対策を残します。データベースに入出力した以外の日本語文字列は問題ありませんでした。(UNICODE(多言語)、大文字小文字を区別しない)」で作成したデータベースといった環境です。専用サーバーであればMySQLのmy.confを編集して修正するのが簡単ですが、共用サーバーとなるとその方法での対策は難しいのでPHP側で対策する方法を紹介します。≪対策≫クライアントの文字セットをmysql_set_charset関数を利用してUTF-8に設定すれば良い。$link);※上記サンプルはエラー処理は考慮されていません。5.5.0より下図の通り非推奨になったとのこと。5.5.0以降で開発する場合は、紹介されている代替の方法を採用してください。UTF8とクエリを実行して文字セットを変更したら日本語の文字化けが解消したと対策を紹介されています。確かにこの方法でも対策は出来、以前はこの方法が一般的だったようですが、SQLインジェクションの脆弱性があることが判明しているので推奨されません。commentPHPでは、外部ファイルを読み込む構文として「require」や「include」があります。同一のファイルの複数回読み込みを防止した「XXX_once」付などもあります。それらを使い分けは下表を参照してください。Evolved」というプラグインを導入しました。このプラグインを導入すると以下のようにコードを見やすく表示することが出来る。commentauxakでは、開発効率の向上と保守性の高い可読性の良いプログラムを開発するため、以下に定める各プログラミング言語のコーディング規約に基づきコーディングを行うものとする。Recommendation(PSR)」に準拠ものとする。Autoloading株式会社インフィニットループの技術ブログにて日本語訳が公開中。[補足]変数の命名規約PSRでは、変数の命名規約に関して指定の記法は推奨しておらず、合理的な範囲内で一貫性の記述であれば”$StudlyCaps”、”$camelCase”、”$under_score”のどの記法でも良いとされています。そのため、auxakでは”$under_score”を変数名の命名規約に採用するものとする。Properties)$age;$first_name;単一行コメント「//」を用いで記述する。「//」とコメントの先頭文字との間にはスペースを1文字挿入すること。「/*」及び「*/」はそれ単体で1行として記述し、その間に記述した「*(アスタリスク)」で始める行に記述する。「*」とコメントの先頭文字との間にはスペースを1文字挿入すること。「*」の位置を統一すること。・複数形の英単語で命名する。不加算名詞は例外とする。・アルファベットは、全て小文字で表記する。・複数の英単語で構成される名称は、スネークケースで表記する。・単数形の英単語で命名する。・アルファベットは、全て小文字する。・複数の英単語で構成される名称は、スネークケースで命名する。・主キーは、「id」とする。・外部キーは、「<参照元のjoinテーブル名称の単数形の英単語>_id」とする。末尾に「_at」を付加する。過去の日時を表現する場合は、過去形で「xxxed_at」のように命名する。・BOOLEAN型の場合、下表のような、「~able」や受動態、形容詞を使った名称とする。commentロリポップのチカッパプランは、SSHをサポートしているので分散型バージョン管理システムのGit利用できることを知りました。GitHubを使うという手もありましたが、商用利用の場合はランニングコストが発生したり無償利用の場合にはソースを公開しなくてはいけないなど不都合があったため契約中のレンタルサーバーへ自身のGitサーバーを構築することにしました。今の時代、ソフトウエア開発をする上でバージョン管理システムは必須とも言えます。Safeを利用していてGitという名前は良く耳にしていましたが正直今まで無縁な存在でした。Gitサーバーを構築した過程のメモを忘れないようにメモとして残します。私は、コンソールからコマンドで操作するのはあまり好きでないので、Gitサーバー構築後のテストはGUIベースでGit操作が可能なSouceTreeをインストールして試してみます。[今回使用するLinuxコマンド]pwd:現在のディレクトリの場所を確認する。cd:ディレクトリを移動する。mkdir:ディレクトリを作成する。touch:新規に空のファイルを作る。本来は、ファイルのタイムスタンプを変更するために利用する。ls:ファイルやディレクトリの情報を表示する。ロリポップのユーザー専用ページで[WEBツール]-[SSH]よりSSHを有効にする。Term利用)でSSH接続する。Term:新しい接続”画面は以下の通り設定する。-接続方法:TCP接続-ホスト:ロリポップ専用ページのSSH画面に表示されたサーバー(ssh***.lolipop.jp)-TCPポート:ロリポップ専用ページのSSH画面に表示された接続ポート”SSH認証画面”では以下の通り認証情報を入力する。pwd」コマンドを実行し現在いるディレクトリ階層を確認。git」コマンドを実行しgit用ディレクトリを作成。git」コマンドを実行し作成したgit用ディレクトリへ移動。init」コマンドを実行しGitリポジトリを作成します。/home/users/N/lolipop.jp-***/git/.git/※赤色の文字列がリポジトリのパス。後で必要になるのでメモしておくこと。.gitignore」コマンドを実行し、Git管理対象外のファイルを指定するファイルを作成します。-a」コマンドを実行しgitディレクトリ内に、「.git」と「.gitignore」のファイルが存在することを確認します。ファイル名の先頭が「.(ドット)」で始まるドットファイルを表示するために「-a」をお忘れなく。.gitignore※ここまででGitサーバーの準備は完了。SouceTreeをダウンロードしてインストールします。-インストール時表示されるライセンス同意画面内の[改行の自動処理を設定する(推奨)]オプションにはチェックを入れる。-BitBucketやGitHubのアカウントを作成するか聞いてきますが、自身のGitサーバーを利用するのでスキップ。-「SSHキーを読み込みますか?」の質問には[No]を選択する。クローンを作成する]を選択。[リポジトリをクローン]のタブを開き以下のように設定を入力して[クローン]を押す。init」コマンドを実行時表示されたリポジトリのパスを利用する。以上で、無事にロリポップ上にGitサーバーを構築して、SourceTree上でGitを操作する準備が整いました。commentPHPでアプリケーションをWindows上で開発するため環境を構築します。ローカル環境で、PHPのコーディングから実行、デバッグを行うには以下のソフトウェアが必要です。PHP自体は、テキストファイルなので最低メモ帳等のテキストエディタがあればコーディングは出来ますし、あとWebサーバーとブラウザがあれば実行できます。開発効率を考えたとき、よっぽどの理由がない限り、統合開発環境(IDE)も合わせて導入することを強くおすすめします。NetBeansという組み合わせを採用することにしました。XAMPPに関してはPHP開発環境を構築する上でこれをインストールしておけば間違いないという鉄板の必須ソフトウェアです。X用にはMAMP(マンプ)とOS別にパッケージが提供されています。通常、Apache、PHP、MySQL等は個別インストールが必要ですが、XAMPPを使うとそれらを一括インストール出来るので非常に便利です。Friendsの言葉を引用すると、XAMPPとは以下の様なソフトウェアです。ディストリビューションです。・パッケージは、インストールと利用が非常に簡単できるよう設定されています。(IDE)ですが、数あるIDEの中から最終的にNetBeasnを選択しました。優秀な有償のPHP用の統合開発環境(IDE)もありましたが、導入コストは押さえたいので無償の統合開発環境(IDE)という観点で選択しました。Studio」は無料のExpressエディションには導入不可。Studioは無償のBASICと有償のPROFESSIONALに2つのエディションがあり、BASICエディションでは構文の色分け(シンタックスハイライト)機能といった基本的な機能しか使えず、PROFESSIONALエディションでないと補完機能が利用できない等の理由で却下しました。Javaの開発環境として有名な拡張性の高いEclipseも有力候補でしたが、NetBeasnの方が補完機能が優れる、軽量動作、公式の日本語サイトが存在し公式資料が数多く提供されている等の理由で、NetBeansを選択しました。各ソフトウェアは以下より無償でダウンロードすることが出来ます。※PHPのNetBeansバンドルをダウンロードしてください。・Antivirusの確認画面は[OK]を押す。Control(UAC)の警告画面は[Yes]を押す。Componentsウィザードでは下図の通りコンポーネントを選択する。folderウィザードでは、デフォルトの「C:\xampp」のまま利用。XAMPP]のチェックを外す。・インストール後、<XAMPPインストールフォルダー>\php\php.iniを以下の通り編集する。ApacheとSkypeが共存する場合、Skype初期設定ではポート80を利用するようになっているためApacheの起動が失敗する。この場合、Skypeの設定画面を開き[詳細]-[接続]の[追加の受信接続にポート80と443を使用]のチェックを外しSkypeを再起動する。これで、ポート80が空くのでApacheが起動可能となる。ポート80をIISやWindowsが利用している場合もApacheの起動に失敗するので、どちらかのポート番号を変更する等の対応が必要となる。・XAMPPのphpコマンド(php.exe)をコマンドプロンプトでフルパス指定しなくても使えるように「C:\xampp\php\」をシステム環境変数のPathへ追加する。(JDK)のインストールが必要。・NetBeansのインストール手順はNetBeansの公式サイトにバージョン毎に公開されています。・基本的に、インストールウィザードに従い全てデフォルトのインストールオプションでインストールを完了します。・日本語の文字化け対策として、NetBeansのデフォルトのエンコーディングをUTF-8へ変更します。下図の赤枠内のように「-J-Dfile.encoding=UTF-8」を追記し保存します。Moreauxakのロゴが完成しました。commentauxakのロゴを制作しました。私はデザイナーではないので、素人のクオリティ間は否めないですが個人的には結構気に入っています。commentauxakにおけるシステム開発のプロセスを検討しました。個人や小規模開発の場合は、システム開発のプロセスを明確にしなくても何とかなってしまうこともありますが、将来的な大規模開発や分業を考慮した場合、システム開発のプロセスを明確にしておくことは必須でしょう。調べてみるとやはりウォーターフォールモデルが一般的で安全なようですが、これからスタートアップするシステムのような場合には仕様が100%決定しにくい点や仕様変更に柔軟に対応したい点から工程を前後しながら試行錯誤のうえシステム開発をする可能性がありますが、ウォーターフォール・モデルでは基本的に前工程に戻るのはNGのため不向きな感じが否めません。受託開発をする場合には、各工程が明確に分割してスケジューリングできるため見積もり金額を明確にしやすい点でウォーターフォール・モデルは優れていると思います。そこで、私なりにウォーターフォールモデルにアジャイルの概念を導入した独自のシステム開発プロセスを設計しました。プロジェクトの最初と最後、また大きなフローはウォーターフォール・モデルですが、設計や実装、テスト等の工程はスプリントとしてグループ化し、フィードバックを反映してスプリントを繰り返すことで仕様変更への柔軟性を確保しました。改良の余地が多々あるシステム開発プロセスですが運用する中で少しずつ改善をしていこうと思います。Shell)によるターミナルエミュレータを必要とした作業をしたかったので、Windows用ターミナルエミュレータを導入しました。ターミナルエミュレータは、サーバ機器やネットワーク機器を遠隔操作するための端末として動作するソフトウェアのことです。Shell)、Telnet、rlogin等の機能を利用しTCP/IPを介し通信が行われます。(詳細は、Wikipediaの端末エミュレータを参照)Windows用ターミナルエミュレータといえば、以前はハイパーターミナルというソフトウェアが標準で同梱されていたのですが、Windows7以降無くなってしまったため、自身でインストールする必要があります。Termといフリーソフトウェアを導入しようと思います。Termはオープンソース化されており、SourceForgeからダウンロードすることが可能です。Term2014年8月現在、4.83というバージョンが最新です。リリース履歴を見ると数か月毎に最新版がリリースされているようなので定期的にウォッチしてみると良いかもしれません。インストールや使い方に関しては、ダウンロード先に公式情報として紹介されているのでそちらを参考にしてみて下さい。インストールの途中で「コンポーネントの選択」画面でインストールコンポーネントの選択を要求されます。私はSSHによる接続を利用したかったので、「TTSSH」が必要となりました。SSH利用のための必須コンポーネントなので必要な方はお忘れなく。標準インストールの対象コンポーネントなので、私はとりあえず標準インストールでインストールを行いました。blogをしてみようと思います。ウェブマスターツールは、Googleが提供する無料のサービスです。サイト登録することでGoogleの検索結果に表示されやすくなったりgoogleが所有するサイトへのアクセスデータ等を入手してウェブ解析に役立てることが出来ます。ウェブマスターツールの公式ヘルプに寄ればサイト登録により以下のことが出来るようになるそうです。ウェブマスターツールとは」を覗いて見て下さい。それでは、サイト登録を進めて始めていきます。ウェブマスターツールにアクセスします。アカウントでログインする必要があります。アカウントを持っていない場合は事前に準備しておいてください。ホーム内の[サイトを追加]ボタンをクリックします。追加したいサイトのURLを入力します。サイトの追加が完了するとそのサイトの所有権の確認を行う必要があります。確認方法には、次の方法が提供されています。blogでは、Googleが推奨するHTMLをファイルをアップロードする方法を採用しました。ウェブマスターツールに登録することが出来ました。