Posts tagged LAN

ブログにコードを表示するときに便利な dp.SyntaxHighlighter

4

今までのデザインでは pre タグ or code タグで PHP などのコードを表示していましたが、今回のサーバ移転&デザイン変更を機にコードの表示に SyntaxHighlighter を使用してみました。

syntaxhighlighter – Google Code

特徴

  • 多言語対応のシンタックスハイライト
  • 行番号を付加
  • クリックするだけでクリップボードへのコピーが可能(IEのみ)
  • 別ウィンドウでソースを表示可能
  • コードの印刷が可能
  • JavaScriptオフの状態では、テキストエリアにてコードが表示される

(続きを読む…)

3月に読んだ本

0

3月は合計20冊。忙しかったが結構いいペースで読めました。

野球好きな方には「プロ野球2.0 (扶桑社新書 24) 」はオススメです。野球というビジネスの経営に関して知ることができます。
(続きを読む…)

ルパンタイトル風待受けジェネレータ

1

swftools の勉強がてら、ルパンタイトルの待受けFlash ジェネレータを作りました。

FlashLite で文字を自由に入力させて何か作ろうとするとフォントとフォントサイズで自由度が低くなるんですよね。
そこで、一文字づつ画像を PHP で作成して、swftools の jpeg2swf を使用して Flash に変換するようにしました。
(続きを読む…)

WordPress テーマを作成する(6) CSS でデザインを整える

1

前回まではまだ縦に長いだけのデザインされていない状態でした。今回は CSS を作成してデザインを整えてブログらしくして行こうと思います。 (続きを読む…)

WordPress テーマを作成する(2)

1

前回は style.css と index.php だけを作成して最低限のブログを表示させました。なぜこれだけのファイルで表示ができるかというと選択しているテーマに必要なファイルがない場合は wp-content/thmems/default 内のファイルを使用するためです。

今回はヘッダファイルとフッタファイルを作成します。

ヘッダファイル

テーマディレクトリに header.php を作成し下記のような内容にしました。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>

<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />

<title><?php bloginfo('name'); ?> <?php wp_title(); ?></title>

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats -->

<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />

<?php wp_head(); ?>
</head>
<body>
<div id="page">
<div id="header">
<h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1>
<div class="description"><?php bloginfo('description'); ?></div>
</div>

ゼロから書くのは大変なので default/header.php をコピーして必要最低限のみ残してみました。

フッタファイルの作成

ヘッダ同様に footer.php ファイルを作成し、下記のようにしました。

<div id="footer">
<?php bloginfo('name'); ?> Powered by <a href="http://wordpress.org/">WordPress</a><br />
<a href="<?php bloginfo('rss2_url'); ?>">Entries (RSS)</a>
and <a href="<?php bloginfo('comments_rss2_url'); ?>">Comments (RSS)</a>.
</div>
</div>

<?php wp_footer(); ?>
</body>
</html>

ヘッダとフッタのみのブログができました

(クリックで拡大画像が見れます)
wp2.png

CakePHP1.2 バリデーションで共通ルールを作成するときに便利な userDefined

0

CakePHP1.2 バリデーションのルールを調べているときに気になっていた Validation クラスにある userDefined に関して調べてみました。
cake/libs/validation.php

function userDefined($check, $object, $method, $args = null) {
    return call_user_func_array(array(&$object, $method), array($check, $args));
}

と定義されています。

call_user_func_array は PHP の関数で、関数やクラスのメソッドをコールすることができます。

つまり独自バリデーションがこれを使用して実装できるということです。
使用方法はモデルに以下のようにバリデーションを定義します。

var $validate = array(
    'field' => array('rule' => array('userDefined',  'Model',  'method_name')),
);

function method_name ($data) {
    /*
      バリデーションのチェック
      エラーなら false 、エラーなしなら true を返す
    */
}

ただこれだと下記のように書けるのであまりありがたみがない。

var $validate = array(
    'field' => array('rule' => array('method_name'),
);

何に使えばいいのかと考えたところ、クラス名、メソッド名が指定できるのでシステムで共通のバリデーションを設定するときに使えるのではと思いました。多分これが一番うれしいところではないかと思います。

※ただ、app_model.php に共通にしたいバリデーションチェック用のメソッド名を書けばそれでいけるような気もする。

PHP5.2 DateTime クラスのメモ

1

PHP5.2 以降から日付の処理に DateTime クラスが使用できるようになりました。
PHP5.2 で開発していて DateTime クラスを使用する機会があったのでメモしておきます。

DateTime オブジェクトの生成

$date = new DateTime();または、
$date = date_create();
で生成します。
引数には strtotime 関数が理解できる形式を指定することができます。
指定しないとデフォルトは “now” です。つまり現在の日時になります。

日付の操作

strtotime と同じようなことが DateTime::modify() でできます。
$data->modify('+1 day');
指定方法は strtotime と同じです。

日付のフォーマット

date(‘Y-m-d’) のように出力する日付のフォーマットを指定できます。
$date->format('Y-m-d');
指定できる形式は date 関数と同じです。

まとめ

2008年3月12日の翌日を Y-m-d 形式で出力するには下記のようになります。

$date = new DateTime("2008-03-12");
$date->modify("+1 day");
echo $date->format("Y-m-d");

CakePHP1.2 バリデーションのルール

2

CakePHP1.2 のバリデーションのメモです。
詳しくは cake/libs/validation.php を見ると分かりやすいです。

半角英数字のみ

alphaNumeric

var $validate = array('field' => array('rule' => array('alphaNumeric')));

文字列の長さ

between

var $validate = array('field' => array('rule' => array('between', 6, 8)));
半角で6文字以上8文字以内

文字列が空

blank

var $validate = array('field' => array('rule' => array('blank')));

クレジットカード番号

cc

var $validate = array('field' => array('rule' => array('cc')));

比較

comparison

var $validate = array('field' => array('rule' => array('comparison', '>', 10)));
‘==’, ‘!=’, ‘< =’, など使用できる

正規表現

custom

var $validate = array('field' => array('rule' => array('custom', '/^[0-9]{3}\-[0-9]{4}$/')));
例として NNN-NNNN 形式の郵便番号のバリデーション

日付

date

var $validate = array('field' => array('rule' => array('date', 'ymd')));
‘dmy’, ‘mdy’, ‘ymd’, ‘dMy’, ‘Mdy’, ‘My’, ‘my’ が使用可

小数点の桁数チェック

decimal

var $validate = array('field' => array('rule' => array('decimal', 2)));

var $validate = array('field' => array('rule' => array('decimal', null, '/^[0-9]{2}\.[0-9]{2}$/')));
正規表現を指定してチェックすることも可。

メールアドレス

email

var $validate = array('field' => array('rule' => array('email')));

=== での比較

equalTo

var $validate = array('field' => array('rule' => array('equalTo', 'hoge')));
型も含めて等しいかチェック

拡張子

extension

var $validate = array('field' => array('rule' => array('extension', array('gif', 'jpg')));
ファイルの拡張子をチェック。許可したい拡張子を配列で指定。デフォルトは array(‘gif’, ‘jpeg’, ‘png’, ‘jpg’)

IPアドレス

ip

var $validate = array('field' => array('rule' => array('ip')));

最小文字数

minLength

var $validate = array('field' => array('rule' => array('minLength', 6)));

最大文字数

maxLength

var $validate = array('field' => array('rule' => array('maxLength', 12)));

数字

numeric

var $validate = array('field' => array('rule' => array('numeric')));

数字の範囲チェック

range

var $validate = array('field' => array('rule' => array('range', 0, 100)));
注意点は指定した数字は含まれない
上の例では 1?99 までが true

var $validate = array('field' => array('rule' => array('range')));
とすると有限数かどうかのチェック

URL

url

var $validate = array('field' => array('rule' => array('url')));

朝4時に起床する習慣

3

Amazon ではずうと在庫切れで変えなかったのですが、昨日秋葉原のヨドバシの上にある有隣堂に行ったら1冊だけ置いてあったので早速購入して読みました。

朝9時までの「超」仕事術

朝9時までの「超」仕事術
見田村 元宣
¥ 1,575
単行本
インデックス・コミュニケーションズ

著者のブログ:朝4時起きの税理士 見田村元宣のビジネス成功宣言!!

著者のブログに書いてありましが現在2刷りでもうすぐ3刷りも決定したそうです。もうすぐアマゾンへも入荷するそうです。

私も朝4時に起きるようになって丸2年たち3年目に突入しました。今年は正月も4時起きでした。先月風邪を引き2日ほど7時に起きたほかは今のところ4時起き、たまに3時に目が覚めて3時起きのときもあります。今では完全にリズムが出来上がり目覚ましなしで4時に自然と目が覚めます。

朝4時に起きるようになったきっかけは子供が産まれ自分の時間を夜に取るのが難しくなってきたためです。そのため朝少し早く起きて勉強の時間に当てようと考えてやってみました。それまでは2時、3時に寝ることが通常だったので劇的な変化でしたね。

朝早く起きるようになって、4時から7時までみっちり3時間自分の自由な時間が取れ、読書や勉強する時間にあてています。急ぎの仕事があるときはそれをやったりもしますが。

また早起きするようになったもうひとつの利点として、朝食を食べられるようになったことです。それまでは朝起きてから2時間くらいしないと食欲が出なかったのですが、今は起きた瞬間からお腹が減っているような状態です。

起きてからやることは、トイレ行って、洗顔して、コンタクト入れて、コーヒーの豆をひいてコーヒーを入れる、軽食を食べながらメールチェック、その後読者や勉強という流れですね。この軽食が結構楽しみで、早起きのモチベーションにもなります。今は冷凍のちまきを食べてます。他にはドーナツ、冷凍の焼きおにぎり、冷凍の肉まんなどですね。欠点は太ることですが。。。まあそこは適当に運動しましょう。

この本の著者は早起きの習慣は夏から始めることを薦めています。しかし著者は冬にはじめたそうです。私も実は1月に始めました。なのでようはやるかやらないかのやる気の問題なのかなと思います。

この本を読んで気になった言葉をメモしておきます。

これは著者の考えた言葉だそうです。

気持ちが違うから行動が違う、行動が違うから結果が違う

これは「はじめの一歩」の鴨川会長の言葉だそうです。マンガといえども侮れないですね。

努力したものが全て報われるとは限らん。しかし、成功した物は皆すべからく努力しておる。

1月に読んだ 「朝30分」を続けなさい!人生勝利へのスピード倍増!朝勉強のススメ もオススメです。

「朝30分」を続けなさい!人生勝利へのスピード倍増!朝勉強のススメ
「朝30分」を続けなさい!人生勝利へのスピード倍増!朝勉強のススメ古市 幸雄
¥ 1,365
単行本
アスコム

2月に読んだ本

0

オススメは「成功本50冊「勝ち抜け」案内」です。成功本50冊を丹念に解説しています。こういう内容でぜひブログを書いて欲しいです。

あと野球の開幕が近いのもあるけど野球関連の本を2つ。
あぁ、阪神タイガース―負ける理由、勝つ理由 (角川oneテーマ21 A 77)
不動心 (新潮新書 201)
私は阪神ファンですが、松井のことは好きです。巨人は大嫌いですが、桑田や松井のように真摯に野球に取り組んでいる選手はやはり野球ファンとしては好きですね。阪神に入って欲しかった。この本を読んで松井の考え方などよく理解でき、また少し好きになりました。

野村監督の本は面白いのですが、微妙な心境です。敗軍の将は兵を語らずでいて欲しかった。どうしても自分の責任ではなく阪神というチームのせいでうまくいかなかったと言いたいのかもしれませんが、野村監督が名監督なのはこんな言い訳をしなくても分かっていることだと思います。

なにげに面白かったのは「字幕屋は銀幕の片隅で日本語が変だと叫ぶ」です。字幕の英語が変だという方にはぜひ一度読んで欲しいです。字幕屋さんの苦労がにじみ出てます。ここまで書いてこの後仕事に影響しないか心配です。

WEB+DB PRESS Vol.43


WEB+DB PRESS Vol.43

¥ 1,554
大型本
技術評論社

美容院と1000円カットでは、どちらが儲かるか?―できるビジネスパーソンになるための管理会計入門!


美容院と1000円カットでは、どちらが儲かるか?―できるビジネスパーソンになるための管理会計入門!
林 總
¥ 1,575
単行本
ダイヤモンド社

成功本50冊「勝ち抜け」案内 How to Improve Your Reading Skills for Success in Life (Kobunsha Paperbacks Business (013))


成功本50冊「勝ち抜け」案内 How to Improve Your Reading Skills for Success in Life (Kobunsha Paperbacks Business (013))
水野 俊哉
¥ 1,000
ペーパーバック
光文社

決算書の暗号を解け! ダメ株を見破る投資のルール


決算書の暗号を解け! ダメ株を見破る投資のルール
勝間和代
¥ 1,680
単行本(ソフトカバー)
ランダムハウス講談社

インテリジェンス 武器なき戦争 (幻冬舎新書)


インテリジェンス 武器なき戦争 (幻冬舎新書)
手嶋 龍一
¥ 777
新書
幻冬舎

FFmpegで作る動画共有サイト


FFmpegで作る動画共有サイト
月村 潤
¥ 2,940
単行本(ソフトカバー)
毎日コミュニケーションズ

「食い逃げされてもバイトは雇うな」なんて大間違い 禁じられた数字〈下〉 (光文社新書)


「食い逃げされてもバイトは雇うな」なんて大間違い   禁じられた数字〈下〉 (光文社新書)
山田 真哉
¥ 735
新書
光文社

世界一愚かなお金持ち、日本人


世界一愚かなお金持ち、日本人
マダム・ホー
¥ 1,050
新書
ディスカヴァー・トゥエンティワン

ぐんぐん実力がつく! 逆算式SQL教科書


ぐんぐん実力がつく! 逆算式SQL教科書
小野 哲
¥ 2,289
単行本(ソフトカバー)
技術評論社

ケータイでGoogle


ケータイでGoogle
佐野 正弘
¥ 1,344
単行本(ソフトカバー)
技術評論社

IKEAファンブック


IKEAファンブック
森井 ユカ
¥ 1,680
単行本
河出書房新社

右脳でわかる!株式投資力トレーニング


右脳でわかる!株式投資力トレーニング
窪田 真之
¥ 840
単行本
日本経済新聞出版社

あぁ、阪神タイガース―負ける理由、勝つ理由 (角川oneテーマ21 A 77)


あぁ、阪神タイガース―負ける理由、勝つ理由 (角川oneテーマ21 A 77)
野村 克也
¥ 720
新書
角川書店

不動心 (新潮新書 201)


不動心 (新潮新書 201)
松井 秀喜
¥ 714
新書
新潮社

字幕屋は銀幕の片隅で日本語が変だと叫ぶ (光文社新書)


字幕屋は銀幕の片隅で日本語が変だと叫ぶ (光文社新書)
太田 直子
¥ 735
新書
光文社

ウェブ国産力―日の丸ITが世界を制す (アスキー新書 047)


ウェブ国産力―日の丸ITが世界を制す (アスキー新書 047)
佐々木 俊尚
¥ 790
新書
アスキー

決断力 (角川oneテーマ21)


決断力 (角川oneテーマ21)
羽生 善治
¥ 720
新書
角川書店

できる人の英語勉強法


できる人の英語勉強法
安河内 哲也
¥ 1,365
単行本(ソフトカバー)
中経出版

個人事業・自由業者のための会社をつくるメリット・デメリット本当のところズバリ!


個人事業・自由業者のための会社をつくるメリット・デメリット本当のところズバリ!
井上 修
¥ 1,470
単行本
すばる舎

牛丼一杯の儲けは9円―「利益」と「仕入れ」の仁義なき経済学 (幻冬舎新書 さ 5-1)


牛丼一杯の儲けは9円―「利益」と「仕入れ」の仁義なき経済学 (幻冬舎新書 さ 5-1)
坂口 孝則
¥ 756
新書
幻冬舎

Go to Top