[CakePHP] 日本語をはじくalphaNumericを実装する

ネットの記事によると、CakePHPのバリデーションルール「alphaNumeric」は日本語をはじかないらしい。

試してみる。

半角記号を混ぜたらバリデーションエラーになった。これはOK。

cakephp-alphanumeric-1

ひらがなを混ぜたらエラーにならず。これはNG。

cakephp-alphanumeric-2

日本語ユーザ向けのシステムでは対処しないとマズイ。

対処法は日本語をはじくようにalphaNumericの実装を上書きすれば良い。

参考サイト

CakePHP2.xでvalidationルールで日本語がチェックされない – Qiita
http://qiita.com/ykirishima/items/9e71a6233058600ec2ea

CakePHPのバリデーションルール「alphaNumeric」は要注意! | アイビースター
http://ivystar.jp/programming/php/cakephp-php-programming/cakephp%E3%81%AE%E3%83%90%E3%83%AA%E3%83%87%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%AB%E3%83%BC%E3%83%AB%E3%80%8Calphanumeric%E3%80%8D%E3%81%AF%E8%A6%81%E6%B3%A8%E6%84%8F%EF%BC%81/

[Zabbix] CentOS 7.1にインストールする (Zabbix 2.4) (2)

前回からの続き。

Zabboxパッケージのインストール

公式サイトのインストール手順に従う。

3 Installation from packages [Zabbix Documentation 2.4]
https://www.zabbix.com/documentation/2.4/manual/installation/install_from_packages

データベースの作成

Zabbixサーバーの起動

http://192.168.33.10/zabbix/setup.php にアクセス。

zabbix-setup

ブラウザ上での設定に続く。

[Zabbix] CentOS 7.1にインストールする (Zabbix 2.4) (1)

先日サーバー監視にNagiosを導入したばかりだけど、Zabbixも良さげなので試してみる。

まずは情報収集

Zabbixオフィシャル日本語サイト :: エンタープライズクラスの分散監視オープンソースソリューション
http://www.zabbix.com/jp/

「ZABBIXで脱・人手頼りの統合監視」最新記事一覧 – ITmedia Keywords
http://www.atmarkit.co.jp/ait/kw/integrated_monitoring_zabbix.html
2009/8/13-2010/3/3

以下の記事にNagiosとZabbixの簡単な比較がある。

ZABBIXで脱・人手頼りの統合監視(1):あなたの運用管理が十分にうまくいかないワケ (3/3) – @IT
http://www.atmarkit.co.jp/ait/articles/0908/13/news062_3.html

NagiosとZabbixは機能的には同等だけど、Nagiosのほうが普及しているらしい。

記事より、Zabbixの良さげと思われる点。

  • Webブラウザを使って監視設定ができる (Nagioxはテキストファイルで設定)
  • 収集したデータをDB保存 (Nagiosはテキストファイルへ保存)
  • 過去データの表示が可能 (Nagiosは不可)
  • グラフ作成機能あり (Nagixは無し)

ローカルの仮想環境にインストールして試してみたい。

CentOS 7.1環境の準備

VagrantでCentOS 7.1環境を構築する。

必要なパッケージのインストール

まずは必要なパッケージをインストールする。

2 Requirements [Zabbix Documentation 2.4]
https://www.zabbix.com/documentation/2.4/manual/installation/requirements

Apache 1.3.12以降

http://192.168.33.10/ にアクセスして動作確認。

MySQL 5.0.3以降

確認

GD 2.0以降

PHP 5.3.0以降

確認

http://192.168.33.10/index.php にアクセス

これで必要なパッケージのインストールは完了。

Zabbixのインストールへ続く。

[CakePHP] Htmlヘルパーを使った画像リンクの記法

画像リンクは頻繁に書くけど、都度書き方に迷うので整理しておく。

Html::link()を使う方法

Html::image()を使う方法

参考サイト

【CakePHP2.3】画像付リンクの指定方法(Htmlヘルパー) – Qiita
http://qiita.com/spyder1211/items/06d0bc21086271d2eed6

[CakePHP] Model::read()関数の覚え書き

CakePHPのモデルでIDが解っているレコードを読むには、以下のように

find系のメソッドを使うのが普通だけど、個人的には、検索処理を想像させるメソッド名に僅かな引っかかりを感じてしまう。ダイレクトにレコードを「読む」だけならreadとかいうメソッドがあってもいいだろう。そんなことを思いながらクックブックを読んでいたら、まさしくそのままのメソッドがあったので覚え書き。

注意事項としては「read はモデルに保持されている data と id の値を上書きする」とのこと。すなわち、読み込んだデータでインスタンスの内部状態を更新するということか。その点を留意しつつ、find系メソッドとの使い分けをしてみるのもいいかもねーなどと思ってみたり。

参考サイト

データを取得する — CakePHP Cookbook 2.x ドキュメント
http://book.cakephp.org/2.0/ja/models/retrieving-your-data.html

[ソフト] Chromeリモートデスクトップ – PCを遠隔操作

オフィスのPCを自宅から遠隔操作したい場合等に役立つ。

以前はLogMeInの無料版を使っていたんだけど、有料化されたので使うのをやめた。その後しばらくは必要がなかったので、代わりのサービスは探さないでいたんだけど、また最近になって必要が出てきたのでネットで調べたところ、GoogleがChoromeリモートデスクトップというアプリを配布していることを知った。試してみたらいい感じだった。無料だし。

セットアップ要件

  • Googleアカウントが必要
  • リモートアクセスする側とされる側の両方にGoogle Chromeが必要
  • Google ChromeにChromeリモートデスクトップを追加
  • リモートアクセスされる側にChromeリモートホストサービスをインストール

準備作業や設定は難しくない。以下の説明が参考になる。

特集:外出先からPCを遠隔操作、「Chromeリモートデスクトップ」のお手軽度(2015年6月改訂版) (1/2) – @IT
http://www.atmarkit.co.jp/ait/articles/1301/30/news060.html

公式サイト

Chrome リモート デスクトップ – Chrome ウェブストア
https://chrome.google.com/webstore/detail/chrome-remote-desktop/gbchcmhmhahfdphkhkmpfmihenigjmpp?hl=ja

Chrome リモート デスクトップの概要と使用方法 – Chrome ヘルプ
https://support.google.com/chrome/answer/1649523?hl=ja

[C#] 二重起動を禁止する

参考サイト

二重起動を禁止する: .NET Tips: C#, VB.NET
http://dobon.net/vb/dotnet/process/checkprevinstance.html

 

[CakePHP] フォーム入力されたテキストに改行タグを挿入する

この方法がベストではないと思うが、手っ取り早くコントローラでnl2br()関数を使ってみた。

ビュー

コントローラ

参考サイト

PHP: nl2br – Manual
http://php.net/manual/ja/function.nl2br.php