アーカイブ: 2009年7月

PHP 5.3だとCakePHPで大量のエラー

パーマリンク 2009/07/30 19:23:46 著者: kumaold メール
カテゴリ: プログラミング, PHP, CakePHP

現在開発中のCakePHP2とかcake3がどんなものか気になって、とりあえず試しに動かしてみることにしました。

ところが、cake3の方は今のテスト鯖のPHP 5.2.6環境だと「namespace cake;」のところでエラーが出てしまって動きません。

PHPの名前空間のサポートは5.3~のようです。
そこで先月末にリリースされたばかりのPHP 5.3に早速アップデート。


…すると、既存のCakePHP 1.2環境がひどいことに。
こんな感じのエラーが大量発生です。

Deprecated: Assigning the return value of new by reference is deprecated

これを出さなくするには、cake/libs/configure.phpの290行目あたりにこんな感じに3行ほど追加してやればいいそうです。

if (isset($config['debug'])) {
    if ($_this->debug) {
        error_reporting(E_ALL);
      //この下のif文を追加する
        if (error_reporting() > 6143) {
            error_reporting(E_ALL & ~E_DEPRECATED);
        }

しかし、これでもまだエラーが完全に消えたわけではありません。

そこで、PHP 5.3からはE_DEPRECATEDというエラー定数?ができたらしいので、php.iniを以下のように変更

error_reporting  =  E_ALL & ~E_NOTICE
 ↓
error_reporting  =  E_ALL & ~E_NOTICE & ~E_DEPRECATED

とりあえずE_DEPRECATEDを無視してやればよさそうなので一時しのぎ。

E_DEPRECATED

実行時の注意。これを有効にすると、 将来のバージョンで動作しなくなるコードについての警告を受け取ることができる。

本当は出すようにした方がいいと思うけど当分はこれで放置。
 

参考記事: floatingdays - PHP5.3だと CakePHPで Deprecatedエラーが出まくる問題の対処方法

胃腸の調子が悪い

パーマリンク 2009/07/27 23:51:19 著者: kumaold メール
カテゴリ: 日々の生活

どうもここ数日間、大腸辺りで妙な違和感があるのと下痢気味。

暑くて窓を開けたままで寝たのと寝相の悪さのおかげで、朝方の涼しい時間に腹でも冷やしたのかなぁ。

あなたの健康にプラス!炭を着る。プラスはらまき S
type="text/javascript">
type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

FMトランスミッタの更新

パーマリンク 2009/07/26 22:33:54 著者: kumaold メール
カテゴリ: 無線

いままでは秋月の1000円トランスミッタを利用していましたが、天気とか温度で周波数の変動が激しいという安いなりのものでした。


そこでちょうど最近、知る人ぞ知る八ヶ岳ハムクラブ製キット「TXS80PLL」のジャンク品を安く手に入れることができたのでテストしてみました。
 

本当は完全なキットですが、入手した際はオプションのバージョンアップキットまで組み込み済の状態でした。

別の7セグメントLEDによる周波数表示部はまだ組み立てていません。


とりあえず電波は出る状態ですが、無変調でもピーっという耳障りなノイズが入るので、R18の抵抗のIC側の足とGNDの間に204(0.2μF)のセラミックコンデンサを追加します。(説明書にはない)

一応PLL方式なので周波数は安定している感じです。(10kHz単位DIP SW)

ただ、それも完全ではないようなので、音質等まで考慮するとT1の可変コイルを該当周波数に合うように微調整する必要があります。


音質は、低音域の歪みが大きいなど正直に良いとは言えないレベルです。

あとは3次高調波が無視できないほどなので、フィルタ回路の挿入が必要になるかもしれません。


ミニFM用途にはまずまずの性能なので、自作ダイポールに繋げて試験放送をしてみたら半径500m(車だと2km弱)ほどのサービスエリアは確保できそうです。

また気が向いたらミニFM放送でもやろうかな・・・
 
22:00~25:00 87.0MHzで試験放送中

加子母地区 ミニFM放送局(仮)
 

type="text/javascript">
type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

1ページ内で複数レコード用のフォーム

パーマリンク 2009/07/22 14:44:51 著者: kumaold メール
カテゴリ: 仕事, プログラミング, PHP, CakePHP

CakePHPで管理画面などを作っていくと、普通にやろうとすると1ページで1レコードの入力フォームしか対応できません。

1ページで複数レコードに対応するフォームとバリデーションを作れないかと、本日は試行錯誤してみました。

/* View */

<?php e($form->create(null, array('action' => 'check'))); ?> 
<?php for ($i = 0; $i <= 2; $i++): ?>
<?php   e($form->text("Model.{$i}.field_name")); ?> 
<?php   e($form->error("Model.field_name_{$i}")); ?> 
<?php endfor; ?>
<?php e($form->end()); ?>

とりあえず適当に3レコードの入力画面を作ります。

ここで、$form->error の項目名(?)が Model.{$i}.field_name でないのは、普通に書くとバリデーションエラーが出力されないため、小細工をします。

これをPOSTするとControllerではこのようになります。

Array
(
    [Model] => Array (
        [0] => Array (
            [field_name] => ...
        )
        [1] => Array (
            [field_name] => ...
        )
        [2] => Array (
            [field_name] => ...
        )
    )
)

Modelのバリデーションルールは今まで通り普通に書きます。(省略)

バリデーションエラーが出力されない理由はおそらく、FormHelperで項目名に.が入っているとModel名の区切りと誤認識するからかと思います。

そこで仕方なく項目名をエラー用に_でつなげて、エラー時にはControllerで本来の項目名から対応するエラー用の方にinvalidate()で変換しています。

/* Controller */

// 各データごとにバリデーション
foreach ($this->data['Model'] as $key => $value) {
    $this->Stage->set(array('Model' => $value));
    if (!$this->Model->validates()) {
        // バリデーションエラーを表示用に変換
        $errors = $this->Model->invalidFields();
        foreach ($errors as $field => $error) {
            $this->Model->invalidate("{$field}_{$key}", $error);
        }
        $error_flg = true;
    }
}

// エラーがあれば入力画面再表示
if (isset($error_flg)) {
    $this->render('edit');
}

こうすることで基本的な構造を変えずに複数レコードを1画面で入力でき、バリデーションエラーも各レコードで独立して表示できます。
 

CakePHP1.2ガイドブックCakePHP1.2ガイドブック
安藤 祐介
毎日コミュニケーションズ 2009-06-27
売り上げランキング : 8145
おすすめ平均
type="text/javascript">
type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">

PacketiX VPN 2.0でどこでも自宅LAN環境

パーマリンク 2009/07/19 01:35:48 著者: kumaold メール
カテゴリ: 自宅鯖, ネットワーク, SIP/Asterisk

イー・モバイルの通信アダプタが到着したので(レポはまた後日)、前々からやろうと思っていた自宅リモートアクセス用VPNを構築しました。


VPN対応ルータがなくても構築できるソフトウェアVPNには、OpenVPNTinyVPNなどあるようですが、どうも速度が遅いとの噂です。

そこで今回はPacketiX VPN 2.0の60日無料体験版を利用してみました。


ある程度の知識がある方なら、案内に従って設定していくかオンラインマニュアルを見れば割と簡単に構築できるかと思います。


デフォルトのポートはTCP/8888ですが、何故か自宅環境ではうまくいってくれなかったので、別ポートに変えて動作しました。
(TCP/80,443でも動かせるのでWeb通信にも偽装可能)

自宅鯖側をサーバ(仮想HUB)にすれば、設定ひとつで物理LANとブリッジしてくれるため外出先からでも同一セグメントのIPで使用できます。


肝心の速度とか応答の面ですが、完璧に文句なし!

回線が下り2.1Mbpsの環境でVPN内速度1.7Mbpsと80%ほど
ping応答速度はWAN 46ms/VPN 46msとまったく遅延なし



さて、これで先日構築したSIP内線?と組み合わせると面白いことができます。

VPN接続をして、SIPソフトフォン X-LiteをAsteriskにregistすると、ネット環境さえあれば世界中どこからでも内線で自宅にタダ電話ができます。

ひかり電話からの外線発信も可能なので、電話代の節約にもなります。

ソフトイーサ PacketiX VPN入門 (I・O BOOKS)ソフトイーサ PacketiX VPN入門 (I・O BOOKS)
大澤 文孝
工学社 2006-04
おすすめ平均

交通反則金の納付

パーマリンク 2009/07/16 01:27:27 著者: kumaold メール
カテゴリ: 日々の生活

この前の富山のネズミ捕りに引っ掛かった際の反則金を本日納付。

R41で見通しのいい場所にも関わらず、制限が40に落ちたところで待ち伏せじゃどうしようもないわな。
測定機器はおそらく松下電器製ステルス式レーダES-8H01(誤差が多い噂の)

これで反則金18kは痛すぎる… 今月はもう1円も使えねーな。

現実問題、常識的な速度で捕まるのは仕方ないので、事前対策として350.1MHzの無線交信に気をつけることと、某装置XT-(ryの導入を考えようかな。

スピード取り締まり実用ハンドブック2009 (三才ムック VOL. 227)スピード取り締まり実用ハンドブック2009 (三才ムック VOL. 227)
三才ブックス 2008-12-19
売り上げランキング : 14003

萌ミ2009! レポ

パーマリンク 2009/07/13 22:19:39 著者: kumaold メール
カテゴリ: サブカルチャー, 痛車

去年の今頃と同様、富山の穴谷霊水の水汲みに出かけてきました。


・・・というのはあくまでも(300km超の遠回りだがw)ついでに寄っただけで、本命はめいほうスキー場での萌ミ2009!

友人がエントリーしたために見に行ってやろうということで、富山経由で現地に昼ごろには着けるように朝5時半に加子母を出発。

一般道270km、高速180kmの計450kmも走ると流石に疲労困憊で足が痛い…

続きを読む »

イー・モバイル(EMチャージ)を契約

パーマリンク 2009/07/09 01:59:20 著者: kumaold メール
カテゴリ: デジタルモノ, ネットワーク

再来週あたりに外出先でのネット回線を確保する必要が出てきたので、イー・モバイルのプリペイド契約(EMチャージ)をネットから申し込み。


金額的には最安のデータ通信カードD11LCだと9,980円で、5,000円分の無料通信分※が付くため実質4,980円で購入できます。

※利用開始から90日以内が期限

ということで到着したら30日定額でしばらく遊んでみようかと思います。


オンラインストアでカード番号入力させるのに端末代金は代引(日時指定不可)でしか支払い無理というのは面倒だなぁ。

夏コミのホテルの手配

パーマリンク 2009/07/06 23:29:53 著者: kumaold メール
カテゴリ: サブカルチャー, 同人イベント
コミケのときに使う有給休暇の言い訳をいまのうちから考えておきましょう

さて、毎度夏コミの時期が近づいてまいりました。

そろそろホテルの予約を、というところですが、過去何回も東京で泊まったのに未だにココ!という場所が見つかりません。(コストパフォーマンス的な意味で)


今までの宿泊ホテルをちょっと紹介。

  • 銀座線 田原町より徒歩3分
  • 学生の身で学割1泊2,000円というのは( ゚д゚ )ウマー
  • ロビーで無料でネット接続ができる
  • カプセル内にコンセントがあるため携帯とかの充電可
  • よくある館内用ガウンに着替える必要なし

普通にカプセルホテルにしてはまったく文句のないところでしたが、18切符で行くと別途料金のかかる地下鉄は極力乗りたくなかったわけです。
 

  • JR総武線 錦糸町より徒歩3分
  • 特にこれといって特徴のない普通のカプセルホテル(上のと正反対)
  • 地下の食堂にてうまい定食が食える
  • アキバまで乗り換えなしでいけて近い

さすがに戦利品の整理とかを考えると、そろそろ個室が欲しくなってきました。
連れと2人でツインなら合計でそう値段差もないわけで。
 

  • つくばエクスプレス 浅草駅より徒歩5分
  • リニューアル済みの部屋でツインで5,000円!
  • 風呂が微妙な古さな上、シャンプー類が別途有料
  • TX秋葉原駅の地下34m(地下6階相当)からの乗り換えが大変


まあそんなわけで、今回はJR沿線で大崎まで30分で出向ける範囲で予算内に収まるところに今のうちから予約を入れましたよ。


今年は高速バスの中央ライナーも中津川~新宿が3,760で利用できるとのことなので、1ヶ月前の15日には忘れずに予約をしないと・・・

コミックマーケット創世記 (朝日新書)コミックマーケット創世記 (朝日新書)
霜月 たかなか
朝日新聞出版 2008-12-12
おすすめ平均

VoIPアダプタAD-200NE到着

パーマリンク 2009/07/03 13:46:22 著者: kumaold メール
カテゴリ: ネットワーク, SIP/Asterisk

先日の裏技で交換依頼をしたひかり電話VoIPアダプタ AD-200NE が到着したので、NTT側の局舎の切り替えが行われる今日、取り付け作業をしました。


交換してみると、何故かCTUからのDHCPで従来と同じIPが振られるという謎。

NTTの中の人から直接聞いた話をちょっと紹介。

いわゆる皆さんが"CTU"と言っている機械はただのVLAN-HUBで、実態はNTTの局舎側にある機械がCTUの機能を提供してるんだそうな。

DHCPも局舎側で行われるそうで、CTUのDHCPが遅いのもそれが原因かも。

今回VoIPアダプタの切り替えで局舎の工事云々というのも、実際は局舎のCTUにVoIPアダプタのMACアドレスを登録する作業と思えば辻褄が合う。


さて、本当にSIPサーバ機能があるのかまず確かめようと、SIPソフトフォンX-LiteをAD-200NEにregistしようとすると、何故かAD-200NEが再起動!

設定とか色々見直しても何度やっても駄目で、調べると仕様のようです。

無料のソフトフォン・プログラム X-Lite を使ってみる 
>このルータを、バージョンアップするとX-Lite起動中にルータが再起動を繰り返す、という症状が出ているようです。


あとは、VoIP-Info.jp Wiki RT-200NEを参考にAsteriskにパッチを当て、AD-200NEの内線3番にAsteriskをregistして、発着信設定をすれば完了。

自宅内の古い電話を活用した内線全てで外線通話ができるようになりました。


しかしこれで自宅内LANがさらに複雑なことに。

これでしばらくは色々と面白いことができそうです。
 

テスト鯖の入れ替え

パーマリンク 2009/07/02 12:27:54 著者: kumaold メール
カテゴリ: サーバ関係

今週はじめに職場の自分のテスト鯖があぼーんしてしまったわけですが、社内で余ったマシンを使わせてもらえることになりました。

(そのためにCakePHP日本語化パッチ等置いてある、http://tsundere-server.net/ 以下が数日間アクセス不能でした)


Celeron 1.4GHz / RAM 256MB → Celeron 2.5GHz / RAM 512MB

性能うp(゚Д゚)ウマー


しかしこれだけチップセットもまるごと入れ替わると、再インストールでも必要かな?と予想していましたが、何もエラーも出ずあっさり起動したのには驚きです。


ただ、ネットワーク周りだけは再設定が必要なようです。

ネットワークカードが入れ替わると、/etc/sysconfig/network-scripts/ 以下に従来の設定が ifcfg-eth0.bak として残るので、それを ifcfg-eth0 にコピペ。
(最初から書いてあるMACアドレスは変えないこと)

で、 service network restert か reboot すればおk。
 

一六社で働くITエンジニアのブログ。

普段はWeb系システム開発と地元のPCサポートをやってます。いつの間にやら会社に8年目。
技術ネタ中心に日々の仕事と生活と趣味やらを気が向いたら書いてます。

2009年7月
 << < 現在> >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

検索

XMLフィード

16ブログ     blogging software