YAML形式のフィクスチャファイルからテーブルにデータを読み込む例です。
1. フィクスチャファイルを作成します。
ファイル名は「テーブル名.yml」です。
db/fixtures/hoges.yml
data_1:
id: 1
name: sample_user_1
mail: sample_user_1@sample.com
data_2:
id…
テーブルを作成するmigrationコードの例です。
t.フィールドの型 :フィールド名という書式で記述します。
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string :name, :null =>false
…
url:PODTUBE
すごく簡単で便利なサービスです。
PODTUBEは YouTube 動画を簡単に iTunes に転送してパソコンやiPodで動画再生できる無料サイトです。iTunes以外のソフトウェアインストールやログインは不要です。
どのくらい簡単かは下の動画をご覧下さい。
プラグインwill_paginateをインストールします。
gem sources -a http://gems.github.com/
gem install mislav-will_paginate
config/environment.rbでプラグインを読み込みます。
require 'will_paginate'
これで使用できます。
コントローラー
…
コントローラー作成直後などに以下のようなルーティングエラーになる場合は、
Railsが設定をキャッシュしている可能性があります。
Routing Error
No route matches "/hoges" with {:method=>:get}
webサーバーを再起動させれば、
正しくルーティングされます。
CakePHPでTwitterのOAuth認証を利用するライブラリが公開されています。
http://code.42dh.com/oauth/
上記サイトからコンポーネントファイルをダンロードして、
vendorsディレクトリ下に配置します。
以下、OAuth認証後につぶやきを投稿するサンプルコードです。
(コードは上記サイトのExampleより引用しています。)
a…
RubyからImageMagickを利用するためにはRMagickというインターフェースが必要です。
以下、インストールメモです。
1. ImageMagickのインストール
ImageMagickとRMagickはバージョンの依存度が強いので、
ImageMagickはyumではなくソースからインストールします。
# wget ftp://ftp.kddlabs.co…
CakePHP1.3では、
複数のRouting.adminを一度に設定することができ、大変便利です。
app/config/core.php
<?php
Configure :: write ( 'Routing.prefixes' , array( 'author' , 'moderator' , 'admin' ));
?>
app/controller…
TwitterのOAuth認証を利用するには、
Twitterへのアプリケーション登録が必要になります。
登録はこちらから行えます。
http://twitter.com/oauth_clients
1.「Register a new application」を選択
2.アプリケーションに関する情報を入力
内容はあとから自由に変更できます。
Appl…

URL:Design Mirkku - Web portfolio of Mirjami Manninen
スペイン在住のデザイナーMirjami Manninenさんのポートフォリオサイト。
可愛いキャラクターやイラスト、アイコンなどのデザインワークが堪能できます。
表情豊かなTwitterバードのアイコンがお気に入りです。
追記
サイドバーにTwitterバード…
URL:WordPress | 日本語
当ブログのWordPressを2.6.1から2.9にアップグレードしたので、
手順をまとめておきます。
バージョン2.6.1では自動アップグレード機能は利用できないので、
手動でアップグレードをする必要があります。
1. バックアップ
まずは何はともあれデータのバックアップです。
WordPressディレクトリとデータ…
前回の記事「Rails アプリケーションをApacheで実行するためのモジュール Phusion Passenger」でPassengerのインストール方法を書きましたが、
Passengerの初期設定ではRailsアプリケーションはproductモードで
実行されるようになっています。
(Passengerのバージョンによっては違うかもしれません)
productモードは本番での運…
RailsアプリケーションをApacheで実行させるため、Phusion Passengerをインストールします。
Phusion Passengerは、Railsアプリケーションを実行するためのApacheモジュールです。
# gem install passenger
# passenger-install-apache2-module
インストールが完了すると以下の…
2010年はRubyの仕事がしたいので、環境を整えました。
以下は、CentOS(release 5.3)にRubyとRuby on Railsをインストールする方法です。
関連するライブラリをインストール
# yum install zlib-devel
# yum install openssl-devel
# yum install mysql-devel
Ru…
当ブログの各記事には、ソーシャルブックマークサービスのクイックリンクがずらりと並んでます。
wordpressであれば、プラグインwp-hatenaを使用するとこれらのクイックリンクが非常に簡単に設置できます。
・wp-hatena
「はてなブックマーク」するクイックリンクを自動的に挿入する機能を提供してくれます。
・wp-hatena 拡張版
wp-haten…
最近よく見かける「twitterでつぶやく」ボタン。
ニコニコ動画にもあります。
これをつくるのは実はすごく簡単です。
ソースは以下の一行。
<a href="http://twitter.com/home?status=hogehoge">twitterでつぶやく</a>
「hogehoge」の部分につぶやかせたい文字列を入れます。
そし…

URL:ほめられサロン
褒められると伸びる子必見。
一生分の褒めをものすごい勢いで浴びせてくれます。
子供のころはご飯を残さず食べたからとほめられた。社会人になると日常生活においてほめられることは稀です。いつも頑張っているあの方たちへ感謝の気持ちをコンセプトにこの「ほめられサロン」を制作しました。

URL:Cam with me(カム ウィズ ミー)|デジタルビデオカメラ Handycam “ハンディカム” | ソニー
涙腺が弱くなってきてるので、これはこたえます。
ベタです。ベタベタです。
でもそれがいいです。グッさりきます。
このサイトでは、子どもが大人に成長する過程を"ハンディカム"で録画し、
思い出を残す疑似体験ができます。
録画したシーンに応じて、あなただ…

URL:BOOKMARK OF THE YEAR 2009
告知から募集終了までの期間が極端に短いですが、
これがtwitterのスピードなんでしょうね。
今年はtwitterを利用したサービス、イベント、PRがそこかしこでみかけるようになりました。
制作サイドにはさぞtwitter連携のリクエストが殺到していることでしょう。
2006年、2007年、2008年と続いて…

URL:Wonderwall / ワンダーウォール 公式ウェブサイト
プロジェクト一覧の魅せ方が不思議で面白い。
マウスを乗せた部分を中心にプロジェクトのサムネールが盛り上がります。
楽しい。
片山正通:インテリアデザイナー
2000年に自身のオフィス・ワンダーウォールを設立。クライアントのコンセプトを具現化する自由な発想、また伝統や様式に敬意を払いつつ現代的要素を取り…
URL:Google 日本語入力
さっそくインストールして試してみました。
冗談で「ぐぐれ」と入力したところ、
まさに思いどおり(期待どおり)の候補が表示されました。
実用的かどうかはまだわかりませんが、
文章を書くのを楽しくしてくれるツールだとは思います。
Google 日本語入力はシンプルで高速な Windows と Mac OS X 用の日本語入力ソフト…

URL:FELISSIMO 500色の色えんぴつ
500色という色数にくわえ、
その1色1色になまえとストーリーがついてることに驚きます。
これだけ色がたくさんあると使いこなすのは相当難しいのでしょうが、
眺めてるだけも十分楽しいですね。
コロンブスのアメリカ大陸発見から、500周年を迎えた1992年(この年、フェリシモ・ニューヨークもオープン)。その歴史的アニバーサリ…

URL:プロダクトデザインユニット 印デザイン(インデザイン) In Design website
独創的なプロダクトを作り出しているプロダクトデザインユニット「印デザイン」のコーポレートサイト。
漢字の「印」をモチーフにしていると思われるロゴが印象的です。
私たち印デザインはたった2名のプロダクトデザインユニットです。
この世にあるプロダクトの多くは巨大な機械により大量に生…

URL:肌ラブ by 肌研(ハダラボ) - ロート製薬株式会社
BGMにあわせてホッペタッチを繋げていくかわいらしいCMです。
小池徹平くんもいます。
みんなの肌ラブ、公開中!ロート製薬のスキンケア・ブランド「肌研(ハダラボ)」を使って、あなたも誰かのほっぺにすりすりしちゃいましょ〜♪

URL:ネスカフェ ゴールドブレンド
コーヒーが飲みたくなるおいしそうな色彩のサイトです。
THE GOLDWAGON JOURNEYの心理テスト診断結果は、
ひとかけらの角砂糖タイプでした。
コーヒーはブラック派ですが、
砂糖をいれてみることにします。
でも、角砂糖って結構な分量ですよね。
以下のような面倒なページナビゲーションも、
CakePHPならPaginatorHelperが機能を提供してくれます。
以下、PaginatorHelperのシンプルな使用例です。
[コントローラ]
1. コントローラ変数 $paginateを用意する
var $paginate = array();
2. レコードを取得する際は、find()ではなくpa…

URL:NTTドコモ 第8回「iのあるメール大賞」
過去の受賞作品にはハートフルなエピソードのメールがたくさん掲載されてます。
感情の籠った自然なコミュニケーションが携帯メールだと可能なのかもしれませんね。
あなたの愛する人や、家族、友達からの心に残るメール、けっして上手い文章である必要はありません。
懐かしい人や大切に思う人へのメールなど、あなたらしさを感じるメールを募…
CakePHPのアソシエーションを動的に解除する方法です。
例)Itemモデルに設定したbelongsToの「Shop」を解除する場合
$this->Item->unbindModel(array('belongsTo'=>array('Shop')), false);
アソシエーションの一時的な解除には、unbindModel()の第2引数をtrueに、
恒久的な解除には、fa…

URL:ソフトバンクグループ通信3社2011新卒採用
ソフトバンクグループ通信3社の2011年度新卒採用サイトです。
ほぼすべてのコンテンツがNext、Backボタンで横断できるユーザーインターフェースが
地味に便利です。
エントリーしたいユーザーにとって、採用コンテンツの情報は隅々まで知りたいはずです。
その際に、コンテンツを移動するたびにコンテンツメニューをクリ…
SQLでSELECT DISTINCTを使用すると、重複行を取り除いたデータを取得できます。
これをCakePHPから利用する場合は、
find()のオプションのfieldsキーにDISTINCTを指定します。
※以下は、MySqlの例です。
$options = array();
$options['fields'] = 'DISTINCT User.hoge';
…

URL:資生堂 d-comi
以前から「今日マチ子のセンネン画報」が好きだったので、
連載陣に今日マチ子さんの名前をみかけて思わず読んでしまいました。
webコミックから商品へ繋げるアプローチは
商品の購買層を拡大する面白い試みだと思います。
僕のように、化粧品を買わない男性が読んでしまっていますし。
(見込み客ではないのが申し訳ない。)
(今日マチ子さんの作品は1…

URL:SlickPlan
サイトマップの作成には、
エクセルやパワーポイント、マインドマップなどを使うのが一般的だと思いますが、
「SlickPlan」を利用すれば、ブラウザ上で簡単に美しいサイトマップが描けます。
しかも、作成したサイトマップは、HTMLタグやPDFとして書き出せます。
これは便利です。
画像アップロードライブラリ「class.upload.php」の使用方法です。
以下は、オリジナル画像をアップロードして、S、M、Lの3サイズの画像を生成する例です。
require 'class.upload.php';
$file_name = 'hoge';
$upload_dir = '/path/to/upload/';
$handle = new Uploa…
CakePHPでレコードを一括削除する方法です。
例)statusカラムのデータが「done」になっているレコードを全て削除する。
$options = array();
$options['Hoge.status'] = 'done';
$this->Hoge->deleteAll($options);

URL:キユーピー 野菜好きな人のための旬レシピ
これはお腹空く~。
雑誌のようにしっかりと編集された情報を掲載しているレシピサイト。
月毎の更新が楽しみです。
アーカイブも閲覧できるようにしてほしい。
キユーピー 「野菜好きな人のための旬レシピ」サイト。旬の野菜とドレッシングのおいしい組み合わせをご紹介しています。

URL:illuminal.jp「イルミナル~あなたの守りたい想いを光に」
守りたい大切な想いを投稿して光の華を灯すロマンチックなmaxellのスペシャルサイト。
せっかくの奇麗なサイトなので、
投稿された想いがmaxellの電池ひとつひとつに刻まれる(これは安易すぎるか)などのリアルへの
繋がりが欲しいところです。
twitterからも投稿できるようです。
ma…
・新橋~お台場辺りの空中都市をドライブしてみた 「Tokyo Sky Drive 01」
と同じ作者さまの動画。
海が見えた時、動画の前だというのに
はしゃいでしまいましたw
矢野顕子さんの明るく優しい曲をBGMに、
ゆっくり、景色を楽しみながら、前へ前へ進んでいきます。
とてもポジティブになれる動画です。
色々大変でしたが中々いい画が撮れてよかった。一応鎌…
1人6役でマイケル・ジャクソンメドレー。
(いちばん左の人は別人ですよね?たぶん)
パフォーマンスとしても秀逸ですが、
女性のような美声と抜群の歌唱力があります。
メドレーの構成、編曲もすばらしい。
qdmailで機種依存文字を送信する場合は、本文を UTF-8 , BASE64にエンコードにします。
※$mailは、qdmailのインスタンスです。
$mail->charsetBody( 'utf-8' , 'base64' ) ;
半角カナも送信したい場合は、$mail->kana(true);モードも加えます。
$mail->charsetBody( …
機種依存文字を置換する方法です。
[参考にさせていただいたサイト]
・UTF-8で変換できない機種依存文字を置換する - memo.xight.org
・機種依存文字の変換 - Clipmarks
※参考というかほぼまま使わせていただいてます。
この場を借りてお礼申し上げます。
以下は、UTF-8用の変換テーブルを使用しています。
function replac…

URL:ジョジョの奇妙な花闘(はなばとる)~杜の花~
via:デザインと広告のデザインマガジン【Key Person Q】
ジョジョ好きなら脊髄反射でBy Nowでしょう。
花札のルールがわかりませんが、
必死に覚えて花闘大会を開催したいw
シリーズ化して3部と5部もリリースしてほしい。
『ジョジョの奇妙な冒険 第4部 ダイヤモンドは砕けない』より花札が登場!…
JavaScriptでメールアドレス形式かどうかをチェックする方法です。
str = 'hoge@hoge.com';
if(str.match("^[0-9A-Za-z._\-]+@[0-9A-Za-z.\-]+$")){
// メールアドレス形式である
}else{
// メールアドレス形式ではない
}
CakePHPで直前にsave()したレコードのidを取得する方法です。
$this->Hoge->save($save_data);
$id = $this->Hoge->getLastInsertID();
phpMyAdminに
「mcrypt 拡張をロードできません。PHP の設定を確認してください。」
と怒られた場合の対処法です。
php-mcryptをインストールします。
yum install php-mcrypt
CakePHP + MySQL + phpMyAdmin の組み合わせで文字化けする場合の対処法です。
以下の例は、
文字コードをUTF-8に統一する場合です。
・mysqlの設定
my.cnf
[mysqld]
character-set-server = utf8
collation-server = utf8_unicode_ci
init-connect = …
CakePHPでは、ヘッダーやフッターなどの共通パーツは、
/app/views/elements/ 配下で管理します。
例えばヘッダーの場合は、
以下のようにヘッダー部分を切り出したctpファイルを配置します。
/app/views/elements/header.ctp
view側では、ヘッダーを表示させたい場所でelement()を使用します。
<?php e…
CakePHPでリファラーを簡単に取得する方法です。
なんとこれだけ。
$this->referer();
prototype.jsとjQueryを同時に利用する場合、
コンフリクト(衝突)が発生しますので、その回避方法です。
<html>
<head>
<!-- 1. prototype.js、jQueryの順に読み込む -->
<script src="prototype.js"></script>
<script src="jquery…

