CakePHP で $uses に model 名を追加するとエラーになる問題

久々にCakePHP をいじったのですが、 $uses に model 名を追加するとエラーになる問題が発生してハマりました。

結論からすると以下で解決できました。

  • app/tmp/cache/models 内の「cake_model_default_データベース名_list」を削除する

上記のファイルがテーブル構成を持っているのですが、
これが更新されないため新しいテーブルを取得してキャッシュを作る、
という作業をしてくれていなかったっぽいです。

新はてなブックマークの表示を旧版っぽくする

はてなブックマークがリニューアルされましたが、引用が邪魔だったり、
注目ニュースが右に行ってしまって視線を動かす量が増えて疲れてしまうようになりました。

スタイルシートをいじっていたら前のに少し近づいたのでとりあえず家用にメモ。

旧スタイルで表示みたいな機能があるといいですね。

手順

自分だけが見る前提で書いていましたが、id:chintaro3 さんにはてなブックマークで導入方法についてコメントいただいたので簡単な手順を追記しました。

firefoxのアドオン「Stylish」を導入する

Stylishを以下からダウンロードして導入します。

アドオンをインストールしてブラウザを再起動させると、
ブラウザの右端にアイコンが出るようになります。

ここで以下のように操作します。

  • アイコンクリック→ Write Style → For b.hatena.ne.jp..

上記の操作をすると、ウインドウが出てきます。

Description に説明を書きます。
とりあえず「b.hatena.ne.jp」とでも書いておきましょう。

広いテキストエリアに以下をコピペして保存すれば OK です。

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("b.hatena.ne.jp") {
	blockquote { 
		display: none;
	}

	#container {
	  margin: 0 20px !important;
	  padding: 10px 10px 0 10px !important;
	}

	#sidebar {
	  float:left !important;
	  width: 100% !important;
	  margin-left: 10px !important;
	}

	.ads300x250 {
		display:none !important;
	}

	#main ul.entry-info {
		font-size: 80%;
		margin:0!important;
		line-height: 1.0!important;
	}
}

ソフトバンクの東芝製端末でデコレメールを作ろうとすると『処理に失敗しました』とエラーになってしまう件

ソフトバンク東芝製端末でデコレメールを作ろうとすると『処理に失敗しました』とエラーになってしまう」という問題が発生し、解決するのに苦労したのでメモとして書いておきます。


ソフトバンクが一般向けに『デコレメール』の使用をほとんど公開していないためか(コンテンツプロバイダ向けには公開されていますが)、問題についてネットで検索してもあまり参考になる結果が出てきませんでした


問題が起きたデコレメールは、ドコモの『デコメールテンプレート作成ツール』を使って作成したものを、変換スクリプトを通してソフトバンクの仕様に合わせています。
この方法で作ったデコレメルールは他のメーカーの端末では問題なく動作したのですが、上記の通り東芝製端末では動作しませんでした。

まったく原因がわからなかったのですが、もうしらみつぶしに変更を加えて試していったところ、以下で問題が解決され全端末でデコレメールを利用できるようになりました

before

HTMLMail-Template-Version:1.0
HTMLMail-Template-Title:テンプレート

after

HTMLMail-Template-Version: 1.0
HTMLMail-Template-Title: テンプレート

該当2行のセミコロンの後に半角空白を入れるだけです。
これを突き止めるために数時間もかかってしまいました…。

Livedoor ブログのランキング

自分はLivedoor の products が結構好きで、
携帯から Livedoor ブログをよく見たりしています。
どうでもいい日記を書いているはてなアカウントのアクセス解析を見ていたら、
スタッフの方がちゃんとチェックしにきてくれていたのに気づいたので
こちらでも書いてみることにしました。


自分は、電車では図書館で借りた本をよく読んでいて、
その本がないときには携帯サイトを見てヒマつぶしをしています。
携帯サイトの中でも、ライブドアのサイトはよくできていますし、
おもしろいブログもたくさんあるのでランキングページから
さまざまなサイトにアクセスしています。


ある日、トップ10のサイトを見ても時間が余っていたので、
次々に下位のランキングページにアクセスしていたのですが、
次第にスパムブログがランクインしていることに気づきました。


結構、うーん、というかんじですよね。
livedoor さんはスパム対策とかがんばっていらっしゃるので、
このあたりも改善されるとユーザーとしてうれしいです。

wakwak ピアルで複数台マシンをネット接続する

引っ越しをしたら、回線が『wakwak ピアル』というマンション向けの VDSL になりました。
http://www.pial.jp/

これまではルーターを使って複数台のマシンをネット接続していたのですが、この新しい環境でそれを実現することが出来ず、結構苦戦しました。

というのも、自分がネットワークの知識に疎いのが原因なのですが。
結果として、複数台マシンを接続できるようになったので、メモ的に書いておきます。
自分が困って検索してもあまり参考になることが書かれたエントリにたどり着かなかったので、もしかすると誰かのお役にたてるかも、みたいなカンジです。

ルーターは不必要

ネットワークに詳しくない自分は、複数台マシンをネットにつなぐならルーター必須だろ、とか思っていたのですがその誤った知識のせいでハマりまくりでした。


勤め先の社長が同じく『wakwak ピアル』を使っていたのでいろいろと質問してみたところ、使うのはハブだけで OK とのこと。
ルーターでもいいんじゃね?と思ったけどダメだったので、余っていたヨドバシポイントで安いハブ(2500 円くらい)を getfree しました。


BUFFALO LSW-TX-5NS

BUFFALO LSW-TX-5NS

  • 出版社 / メーカー : バッファロー
  • 発売日 : 2003/10/31
  • メディア : エレクトロニクス

接続方法

wakwak ピアル』の環境では、部屋に WAN 接続できる LAN ポートが一つ用意されています。
ここに、LAN ケーブルをさしてハブと接続。
ネット接続したいマシンをハブの子として接続すれば OK です。

無線

無線は、ニンテンドー DS を有線ルーター経由でネット接続するために買った以下の製品を使ったら無事に接続することが出来ました。


BUFFALO IEEE802.11g 無線 LAN AirStation ブリッジモデル WLA2-G54C

BUFFALO IEEE802.11g 無線 LAN AirStation ブリッジモデル WLA2-G54C

  • 出版社 / メーカー : バッファロー
  • 発売日 : 2004/11/30
  • メディア : エレクトロニクス


あまり良くわからないかも知れないけど、以下のようなカンジになっています。

同じような環境の人が参考になれば幸いです。
ネットワークの勉強しないとダメだなあ。

CakePHP を使ってサイトをリニューアルしました

ここにエントリを書くのはかなり久々になるのですけど、勉強していた CakePHP を使って個人的に運営しているサイトをリニューアルしました。

E スポーツや FPS のゲームニュース・コミュニティサイト


http://www.negitaku.org/

wasd.jp | ゲーミングデバイスのレビュー・コミュニティサイト


http://wasd.jp/

まだ完全にデータ入力などが終わっていないのですが、
終わるまで待っているときりがないのでリニューアルしました。

CakePHP を使ってみて

Negitaku.org は Ethna、wasd.jp は自作フレームワークからの乗り換えでした。
CakePHP を使ってみた感想を以下に。

良かった点
  • アソシエーションによってデータを簡単に取得できて便利
  • データベース構造の基本ルールがあるので、制作していて把握がしやすい
    • 自分で作っていたときは適当だったので把握が大変だった
  • 設定が簡単
  • とにかくすぐに作れる
悪かった点・良くわからなかった点
  • CakePHP 1.2 RC2 では、動作が遅くて F5 でページを 20 連打くらいするとロードアベレージが 2 とかになって困った
    • eaccelerator を入れてようやくまともに
    • CakePHP 1.2 RC3 を入れたらさらに高速化されたっぽい

http://twitter.com/theworld/statuses/919865113

  • 共通関数的なものをどこに持たせればよいのかあまり良くわからなかった
    • find("all", なんたら)でやっている処理を共通にする方法とか
  • keyword, description などを設定する方法が標準で用意されていない

なんとなくこんなかんじでしょうか。

本職はプログラマではないのですが、そんな自分でもとりあえず上っ面的には人に見てもらえるようなものが出来たてしまうのがすごいですね。

今後も CakePHP を使って新機能や新しいサイトなどをこれからも作っていけたらと思います。