NEC Express5800/i110Rb-1h + CentOS5.4起動せず

Written by aoki on 2009 年 11 月 5 日 – 6:04 PM -

NECサーバー Express5800/i110Rb-1h に CentOS5.4 載せたのですが、
起動時に固まってしまいました。

CentOS5.3までは問題なく動いていたのですが、原因は不明です。
試行錯誤でしたが、CUI ベースで起動すると立ち上がることが判明。
GUIで起動するとエラーになることがわかりました。

※設定ファイル /etc/inittab にて
id:5:initdefault:  →  id:3:initdefault:
5から3に切り替えると、CUIで起動します。


Tags: ,
IT一般カテゴリー | 2 件のコメント »

CakeMatsuriTokyo2009 まとめ

Written by aoki on 2009 年 11 月 1 日 – 2:08 PM -

やはりためになりました、備忘録メモを残します。
Think outside the box.
を実感した一日でした。感謝。

■andoさん

※CakePHP 道とは
Give back much as you take.(貰った分は返す)
Be polite. (礼儀正しく)
Think outside the box. (自分の枠にとらわれない)

※Set::combine
ペアの配列を簡単に作成できる。

$results = $this->Mail->find(’all’);
$mails = Set::Combine($results, ‘{n}.Mail.id’, ‘{n}.Mail.subject’);

■和田氏
※高速化
ClearSilver テンプレート
Lsyncd 連携 rsyncd でディレクトリ監視→ファイル更新
memcached の利用
http://blog.livedoor.jp/kistame228/archives/51219113.html

■飯塚氏
ext.js エクセルコンポーネント
dropbox バックアップバージョン管理
請負契約→準委託契約 安定した収入

■Slywalerさん
※プラグイン
debug_kit
account manageer plugin
テーマ機能
jquery.css

■Akiyanさん

Containable behavior
http://www.studiocanaria.com/articles/cakephp_containable_behavior

当日の資料

■その他
cakeplus i18nプラグイン
model_info プラグイン
github

他にもいっぱいあったのですが、メモしきれず。。。。
少しでも身につけたいものです。
講演者の皆様、スタッフの皆様、本当にありがとう。


Tags:
IT一般, PHP, セミナーなどカテゴリー | コメントはまだありません »

第4回CakePHP勉強会@Tokyo

Written by aoki on 2009 年 5 月 23 日 – 9:07 AM -

090522_2006011久しぶりに「CakePHP勉強会」に参加しました。

特に印象に残ったのは、ビヘイビアの紹介と使い方です。
裏方に徹したものですが、使いこなすと、かなりクールになりそうだ。

Soft Deletable Behaviorは直ぐにでも導入していようと思います。

プラグイン三段活用は大爆笑のLTでしたが、かなり重要な所をついていました。
整理整頓、作業しながらライブラリが出来ていく。。。これって理想なんですよね。

miauさんのプレゼンツール“動く”マインドマップFrieve Editorは、とても面白かったです。
phpUnderControl も勉強してみたいと思います。

やはり、色々な話を聞くと刺激を受けます。
発表者の皆様、準備をしていただいた方々、本当にありがとうございました。
おまんじゅうも驚きました。


Tags:
IT一般, PHP, セミナーなどカテゴリー | コメントはまだありません »

CakePHP1.2 joinTableの命名長さ制限

Written by aoki on 2009 年 3 月 17 日 – 10:21 PM -

CakePHP1.2になり、関連テーブル(HABTMなど)の保存が簡単になった。
$this->data にしっかりとデータセットすれば 
$this->Model->save(); とすれば、
すべての関連データを関係するテーブルに自動的に保存してくれます。  

ところが、、、、うまく行かない。。。のです。
原因は、joinTableの識別子名が長くなりすぎたことでした。

使用しているデータベースは PostgrSQL8.1ですが、
識別子の長さが63ビットまでとなっていました。

元のテーブル(HABTM)
tbl0010members
tbl0020business_categories
命名規則に沿ったjoinTableは
tbl0010members_tbl0020business_categories

この時点では文字数制限に触れてなさそうなのですが、
CakePHP1.2で自動生成されるSelect文を良く見ると、
以下の様なエイリアス名を自動生成していました。

SQL:
  1. "Tbl0010membersTbl0020businessCategory"."tbl0020business_category_id" AS
  2. "Tbl0010membersTbl0020businessCategory__tbl0020business_category_id"

エイリアス名は66文字になっており、
このSQL文を走らせるとエラーになります。

PostgreSQLの設定値 NAMEDATALEN を変更し、
コンパイルしなおせばこの制限値を変更できるのですが、
yumでインストール管理しているので避けたい。

ということで、joinTableそのものは、命名規則に沿わせておいて、
更新可能な view を用意して、代理させました。
(ちなみに1.1では命名規則どおりで動くきます。)

更新可能なviewの名前を
members_business_categories
とすると、追加のSQL文は以下の通り。

SQL:
  1. DROP VIEW members_business_categories;
  2.  
  3. CREATE VIEW
  4. members_business_categories
  5. AS
  6. SELECT * FROM tbl0010members_tbl0020business_categories;
  7.  
  8. CREATE RULE members_business_categories_ins
  9. AS ON INSERT TO members_business_categories
  10. DO INSTEAD
  11. INSERT INTO tbl0010members_tbl0020business_categories
  12. VALUES ( new.tbl0010member_id,new.tbl0020business_category_id);
  13.  
  14. CREATE RULE members_business_categories_del
  15. AS ON DELETE TO members_business_categories
  16. DO INSTEAD
  17. DELETE FROM tbl0010members_tbl0020business_categories
  18. WHERE tbl0010member_id=old.tbl0010member_id AND
  19. tbl0020business_category_id=old.tbl0020business_category_id;

モデルのアソシエーション定義で、
上記のviewをjoinTableとwithに設定

PHP:
  1. var $hasAndBelongsToMany = array(
  2. 'Tbl0020businessCategory'=>array(
  3. 'joinTable'=>'members_business_categories',
  4. "with"=>"MembersBusinessCategory"),
  5. );

これで、かなりの文字数を稼げました。

テーブル番号を振るローカル命名規則が仇になった。。。
というこでしょうね(ーー;)


Tags:
IT一般, PHPカテゴリー | コメントはまだありません »

CakePHPカンファレンス東京

Written by aoki on 2009 年 1 月 27 日 – 10:04 PM -

昨年の10月にCakePHPカンファレンス東京に参加した。
実は申込みが間に合わず、あきらめかけていたが、
ライトニングトークというプログラムがあり、5分間しゃべる人の募集枠が残っていた。

5分なら何とかなるかも?と甘い考えで申込みをしたところ、OKが出て参加できることになった。(*^_^*)
スカイツアーズさんのオンライン予約について2日間もかけてまとめることになってしまったが。。。

正式な発表者の方々は若いのにスゴイ人たちで驚いてしまう。(日本はまだ大丈夫!)
鶴岡さんという方などは、突然起きたバグを vi でシャカシャカ直してしまうという天才だ!
ステージでバグに直面するなんて考えても見たくない。天才+強心臓。

さて私の発表は、以下の5点。
1.CakePHPを愛していること。
2.日本語のテーブル名とフィールド名で稼動中のMS SQLサーバーとも連携できたこと
3.Ajaxによるハートビートについて
4.JTB予約サイトとスカイツアーズ予約サイトの比較
5.CakePHP1.2に変更したいが、どうやってお金を頂くか??

イベントページに当日のビデオやアンケート結果が発表されていますので
お時間のある方はご覧になっていただければと思います。

イベントページ:http://conference.cakephp.jp/
ビデオ:http://www.ustream.tv/recorded/811787
アンケート:http://conference.cakephp.jp/CakePHP_Conference_Tokyo_20081129.pdf

実は、カンファレンスの最後で、カンファレンスについてのブログを書くように薦められて、このブログサイトを立ち上げました。

しかし機を逃してしまいカンファレンスの記事を書けずにいたのですが、IT Pro に掲載された(2009/01/27)ので、便乗して書きました。
http://itpro.nikkeibp.co.jp/article/COLUMN/20090122/323305/?ST=oss&P=1


Tags: ,
IT一般, PHP, セミナーなどカテゴリー | 2 件のコメント »

svnバージョン管理が不可能になった場合の処理

Written by aoki on 2008 年 12 月 22 日 – 12:46 PM -

複数のスタッフで管理していると、FTPの際に .svn フォルダを削除されてしまい、

svn revert コマンドも効かず、元に戻せない時があります。

その場合の最新状態への復活手順をメモします。

 

  1. 対象のディレクトリをバックアップする。
  2. サーバー上の対象ディレクトリを削除。 rm -rf ディレクトリ名
  3. 更新前の状態に戻す。 svn update  ディレクトリ名 
  4. サーバー上のデータファイルをだけを全部削除する。
  5. バックアップからデータファイルをすべてアップロードする。
  6. svnコマンドでステータスを整える。
  7. コミットして最新状態を svn に登録する。

Tags:
IT一般カテゴリー | コメントはまだありません »