読者です 読者をやめる 読者になる 読者になる

PhpStormで半角スペース、タブの表示/非表示設定

PhpStormで半角スペースやタブの表示、非表示を切り替える設定項目。 IDE Settings > Editor > Appearance 『Show whitespaces』にチェックすると表示、チェックを外すと非表示になる。

redmine+svnで『リポジトリに、エントリ/リビジョンが存在しません。』が出る場合の対応

redmine+svn(オレオレ証明書)な環境で、下記のようなエラーが出る場合の対応メモ。 Server certificate verification failed: certificate has expired, certificate issued for a different hostname, issuer is not trusted (...検索すると何件か引っかか…

FuelPHPのForm::radioとラベルの関連付け

※FuelPHPの想定バージョンは1.7Form::radioにラベルを関連づける為のメモ。Form::radioでradioボタンを作成し、そこにラベルを関連づけしようとすると、Form::labelはidにformのprefixが付くのに対し、Form::radioはprefixが付かないので若干ややこしい。 対…

FuelPHP ヘッダー/フッター等のパーツの呼び出し

ヘッダーやフッター等のパーツを個別にテンプレートファイルとして持っている場合、楽をして、コントローラ側でセットせずに、『render』(View::render()のエイリアス)をView側で直接呼び出す事が多い。 これってあり?なし?http://fuelphp.com/docs/classe…

PHPだとこんな感じ?某一覧抽出

id:yutakikuchi氏のPythonのサンプルコードをPHPで実装するとこんな感じ?アダルトフィルタ実装に向けたA○女優リストの自動抽出 + α - Yuta.Kikuchiの日記

『Percona Toolkit for MySQL』をRPMでインストール

『Percona Toolkit』をRPMでインストールする為のメモ。 1. 必要なパッケージのインストール 『Percona Tookit』インストールに必要なパッケージのインストール $ sudo yum install perl-Time-HiRes perl-IO-Socket-SSL 2. rpmのダウンロード http://www.per…

FuelPHP+MySQLでSHOWコマンドの結果を取得

※2013/06/05追記 クエリタイプにDB::SELECTと指定するだけで大丈夫なようです。 参考) http://d.hatena.ne.jp/Kenji_s/20130605/fuel_db_query id:Kenji_s さん情報ありがとうございます。 想定バージョン : FuelPHP 1.6 FuelPHPで『SHOW PROCESSLIST』や『S…

PhpStormで選択箇所のインデントを揃える方法

PhpStormで記述済みの箇所のインデントを揃える(Emacsの『indent-resion』/vimの『==』)方法のメモ 範囲選択後 メニュー) "Code" > "Auto-Indent Lines" ショートカット) Mac : control + option + "I" Windows : Control + Alt + "I"

JobTrackerを起動しようとしたら『Does not contain a valid host:port authority: local』のエラー

yumでインストールしたhadoopで、JobTrackerを起動しようとしたところ、以下のエラーが発生。 2013-02-25 16:11:28,920 FATAL org.apache.hadoop.mapred.JobTracker: java.lang.IllegalArgumentException: Does not contain a valid host:port authority: lo…

FuelPHPでMongoDBを使用する場合のサンプル

設定については下記URL参照。 http://fuelphp.jp/docs/1.5/classes/mongo/introduction.htmlFuelPHPのMongoDBクラスを使用したデータ取得等のサンプル。想定バージョン : FuelPHP 1.5 instance where(array('type' => 1))…

Macターミナルのプロンプトの色を変更

Mac

※2013/02/12追記 (要調査)下記設定を行った場合、ターミナルの横幅を超える文字列を入力すると表示がおかしくなるようですコメントで頂きました。ありがとうございます! 制御文字列を \[ \] で囲むといけるようです。Macのターミナルが こんな感じや こん…

VMwarePlayerを使用したPHP開発環境の構築手順

Linux初心者向けに、VMwarePlayerを使用した開発環境の構築手順をレクチャーする機会があったので、メモとして書き残しておきます。簡単に環境を用意したい場合、あらかじめserverを含んだイメージを使用するのが楽ですが、今回は勉強も兼ねてminimalのイメ…

FuelPHPのMongoDBクラスで『_id』を条件にfindする

想定バージョン : FuelPHP 1.4MongoDBのドキュメントは『_id』というユニークなキーを持っています。http://www.mongodb.org/pages/viewpage.action?pageId=7831684『_id』については、上記公式サイトに詳しい説明が載っていますが、 通常、下記のように、12…

Redis各種コマンドの有効バージョン一覧

Redisの各種コマンドの使用可能バージョン一覧。 (※2012/12/30時点でのRedis最新バージョンは2.6.7)コマンド一覧) Command reference – Redis string コマンド 有効バージョン リンク APPEND 2.0.0. ※ BITCOUNT 2.6.0. ※ BITOP 2.6.0. ※ DECR 1.0.0. ※ DECRB…

monit: error connecting to the monit daemon

monit: error connecting to the monit daemon 『monit status』コマンド実行時、上記のエラーが出た場合、 Monitの設定ファイルに、以下を追加し、Monitの再起動を行う必要あり。 set httpd port 2812 allow localhost

PHPからMongoDBのAutoIncrementを使用する

MongoDBでfindAndModifyを使用したAuto Incrementの実装方法が公式サイトに載っています。Create an Auto-Incrementing Sequence FieldこれをPHPで実装する場合、以下のようになります。 Auto Increment用collectionの作成 あらかじめAuto Increment用のcoll…

AppFogで始めるFuelPHP

がっつり使ったわけではないので、とりあえず環境構築まで。 タイトルが変だけど、まーいいか。 AppFogのSIGN UP AppFogのアカウントが無いと始まらないので、http://www.appfog.com/にアクセスし、右上『SIGN UP』からAppFogのアカウントを作成します。 ア…

FuelPHPのAgentクラスが機能しない件

FuelPHPのAgentクラスは、デフォルト設定の場合、http://browsers.garykeith.com/stream.asp?Lite_PHP_BrowsCapINIからUA一覧を取得し使用していますが、このサイトが閉鎖したようで、 1.3以前のバージョンでAgentクラスをデフォルト設定で使用している場合…

FuelPHPのインストールから開発までの流れをおさらい

なんだかんだで毎回調べているような気がするので、 FuelPHPのインストールから諸々の下準備の流れをメモっておきます。以下を想定しています。 DocumentRoot : /var/www/html ProjectRoot : /var/www/sample FuelPHP Version : 1.3 1. FuelPHPのインストー…

ファイルの有無でメンテページへ切り替える為のmod_rewrite設定

あらかじめこの設定をしておけば、サイトのメンテナンス時、 毎回メンテページへのリダイレクトを設定する手間が省けます。 そこの『え?1回リダイレクトの設定すれば、後は毎回コメントを解除するだけなんだけど』とか言ってる人! ごもっとも。まー、色々…

シェルスクリプトで重複起動(二重起動)防止

シェルスクリプトの二重起動防止は、 ロックファイルを使用する pgrep、pkill、pidofコマンドを使用する 等、色々方法があると思いますが、 以下は、単純なファイル/ディレクトリ確認で重複起動チェックする方法です。 #!/bin/sh PIDFILE=$(basename $0).pid…

FuelPHPのテンプレートコントローラでPC/スマホの出しわけ

FuelPHPでテンプレートコントローラを使用している場合に、PCとスマホでビューを出し分ける方法を検討。ベースとなるテンプレートは スマホ : views/template_sp.php スマホ以外 : views/template.php スマホからアクセスされた場合、parent::before()を実行…

FuelPHP + RedisでTwitterもどき

元ネタはこちら。ケーススタディ — redis 2.0.3 documentation上記ページの内容をFuelPHPで実装しました。 ※一部実装を変えている部分があります。ソースはこちら。https://github.com/mmat/fuelphp-redis-tweet ユーザー登録ページ 入力チェックを通過した…

FuelPHPのクエリビルダを表にまとめた

※Ver1.2の情報なので最新バージョンと合わない部分があるかもしれません...タイトルそのまま。FuelPHP1.2のクエリビルダ関連を表にまとめました。 SELECT // SELECT * FROM... \DB::select() // SELECT `hoge`, `fuga` FROM... \DB::select(column1, column2…

FuelPHPのSimpleAuthでACL(Access Control List)

FuelPHPのSimpleAuthのACLの概要は、以下のようになっています。 ロールを設定ファイルで管理 ユーザーではなく、グループに対しロールがひもづく 以下、設定例になります。 config $ vi app/config/simpleauth.php 設定対象は『groups』と『roles』になりま…

FuelPHPのテーマクラスのサンプル

Fuelphpのテーマクラスのサンプルです。 『active』を変更する事により、テーマの切り替えが可能です。 サンプル Config app/config/theme.php 'mytheme1', 'fallback' => 'default', 'paths' => array(APPPATH.'views'), 'assets_folder' => 'themes', 'vi…

FuelPHPのAgentクラスと拡張

FuelPHPのAgentクラスは、下記URLからブラウザ情報を取得し、これを元にプラットフォーム等の判定を行っています。http://browsers.garykeith.com/stream.asp?Lite_PHP_BrowsCapINI上記URLへアクセスは最初に1度のみで、それ以降はキャッシュとして保持され…

Redisのバックアップ

Redisのバックアップ(スナップショット?)の取得方法のメモ。bgsaveでデータベースを保存、lastsaveで最終保存日時を確認後、データベースファイルをコピー。 $ redis-cli bgsave $ redis-cli lastsave lastsaveはUNIXTIMEで返ってくる為、要変換。 例) $ da…

FuelPHPでRedisを使用する

FuelPHPには、標準でRedisクラスが用意されている為、特別な事をする必要はなく、そのままRedisへアクセスが可能です。例によって、ソート済みセット型を使用した、ランキング風のサンプルで試しました。以下は、ユーザー名と年齢のリストをソート済みセット…

Redisでキーを全て取得

redisでキーの一覧を取得する為のメモ。 $ redis-cli > keys * または $ redis-cli keys '*'

PHPでRedisを試す

危険なほどのスピードを持つというKVS『Redis』。 redisドキュメント日本語訳を見て頂くと、Redisの持っている機能の概要が書いてあります。 インストール 自分の環境(CentOS 6.2)では、yumでインストールが可能でした。 # yum install redis # cp /etc/redi…

FuelPHPのRestコントローラ

FuelPHPにはRestコントローラというものがあります。 使い方は簡単で、『Controller_Rest』を継承したコントローラを作成し、その中に処理を入れていくだけで、以下のフォーマットの出力が可能になります。 (core/classes/format.phpを見ると、jsonpやらyaml…

FuelPHPでページキャッシュ

FuelPHPでページを丸々キャッシュする方法を調べたところ、『fuel-pagecache』というのを作っている方がいたので、試してみました。fuel-pagecache) https://github.com/xavividal/fuel-pagecache以下のような動作になっています。 Templateコントローラで出…

ページャー(Pagination)のリンク表示数

FuelPHPでページャー(Pagination)に書いた通り、FuelPHP標準のPaginationでは、カレントページより前のリンク表示数は、『num_links』で設定した値 - 1を表示するようになっています。(後はnum_linksで設定した数)例) これを、出来ればカレントページ番号を…

FuelPHPでページャー(Pagination)

FuelPHPでページャー FuelPHP標準のPaginationを使用したページャーを実装してみます。想定バージョン) FuelPHP 1.3CodeIgniterの標準のページャーは、offsetがURLに入り、残念な感じになっていましたが、FuelPHPではそんな事はないようです。今回は、ページ…

マスタを止めないMySQLのレプリケーション設定

いまさらながら、マスタDBを稼働させたまま、レプリケーションのスレーブを追加する為のメモ。前提条件は以下になります。 マスタのmy.cnfにて、『server-id』が設定されている マスタのmy.cnfにて、『log-bin』が設定されている ストーレジエンジンに『Inno…

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

FuelPHPバージョン確認方法 忘れそうなので、バージョン確認方法の個人的メモ。 $ cd {プロジェクトディレクトリ} $ php oil -v

FuelPHPで複数データベースの切り替え

FuelPHPで複数データベースを切り替える方法 FuelPHPでは複数データベースの切り替えが、CI同様、簡単に設定出来ます。参考) http://docs.fuelphp.com/classes/database/usage.html fuel/app/config/db.php まずは、DBのベース設定に対し、新しいデータベー…

FuelPHPでログイン機能をサクっと実装

SimpleAuthを使えば、簡単にログイン処理が実装出来てしまいます。 今回は手っ取り早く、Fieldsetを使用し、実装してみます。 オートロード設定 まずはauthパッケージを自動的に読み込むよう設定を行います。 fuel/app/config/config.php 'always_load' => a…

FuelPHPのエラーメッセージ日本語化

エラーメッセージ日本語化 前回作成したフォームで、FuelPHPの入力チェック時のエラーメッセージが、初期では英語の為、日本語化を行う。以下のサイトを参考にさせて頂いた。 FuelPHPのFieldsetでEメール送信 | WinRoad徒然草 設定 まずは『fuel/app/config/…

FuelPHPでフォーム作成 - Formクラス

Fieldsetは、デザイン的な部分で融通が利かない可能性があるので、Formクラスでの実装を試してみる。以下のサイトを参考にさせて頂いた。 FuelPHP の Fieldset を使おう(Form の自動生成) - A Day in Serenity @ Kenji Controller ControllerでFieldsetの場…

FuelPHPでcheckboxのバリデーション

checkboxのバリデーション 公式サイトのValidationを参考に、checkboxのバリデーションを行ってみた。 流れ バリデーション用クラスを用意 コントローラ側でバリデーション用クラスを呼び出し(add_callable) 該当のフォームにセット(add_rule) fuel/app/clas…

FuelPHPでフォーム作成2(Fieldset) - Validation

Fieldsetでのバリデーション 前回作成したフォームに対し、入力チェックを付けてみる。基本的には、addで作成したフォームに対しadd_ruleで、入力チェックルールを追加していく形。 例 $form->add('name', 'お名前', array('maxlength' => 8)); ->add_rule('…

FuelPHPでフォーム作成1(Fieldset)

フォームの自動生成やら入力チェック、値の保持等をやってくれるというFieldsetを試してみる。手始めに、出力されるHTMLを確認する為、入力チェック無しのフォームを生成 Controller Fieldsetのインスタンスを生成し、『add』でパーツを追加していく。 add('…

FuelPHPの設定

プロジェクト作成後、各種設定変更を行う。 DB設定 まずはDBの設定 $ cd /var/www/myproj/fuel/app/config $ vi development/db.php 『db.php』の記述内容が以下 array( 'connection' => array( 'dsn' => 'mysql:host=localhost;dbname=db_myproj', 'userna…

FuelPHPインストール

CodeIgniterがライセンス問題で先が見えなくなった為、 CodeIgniterからの移行組が多そうな雰囲気のFuelPHPを試してみる。試すのは以下の環境 CentOS 6.2 PHP 5.3.3 MySQL 5.5.22 FuelPHPインストール 『curl』と『git』をあらかじめインストール $ sudo yum…