Main menu:


 

2009年 1月
« 12月   2月 »
 1234
567891011
12131415161718
19202122232425
262728293031  

最近の投稿

最近のコメント

カテゴリー

アーカイブ

 

運営サイト

Twitter

MAの輪

リンク

RSS

ʸۿƱ

Profile

社会人を始めた時にはコンサルタントという名のC/C++プログラマーでした。それから12年、プログラミングから離れて10年近く、似非エンジニアと周りには言われつつ、35歳を目前になんだかやたら燃えてます。最近はRubyを覚えたいなと本を買ったのはいいけど、PHP/JavaScriptの便利さに引きずり込まれ、何もできていない状況、、、

 

MA3

最優秀賞を頂きました!

2009/01

[Ext JS]第7回Ext JS / Ext GWT勉強会の資料をアップしました

先週の勉強会の資料をアップしました。

久々にGWTネタがあります。

来月もGWTネタがある予定です。

だれか、Ext JS + CakePHPの事例とか話してくれないだろうか?質問攻めにしたいw

あと、英語ですが、Ext JSの入門書が出てます。Amazon.co.jpでも購入できますが2週間ほどかかるので、PDF版でもいいかもしれません。

Learning Ext Js
Learning Ext Js
posted with amazlet at 09.01.28
Shea Frederick Colin Ramsay Steve Blades
Packt Publishing
売り上げランキング: 2450


[メモ]WebDAVサーバーへの接続が遅い(解消)

とあるサイトの更新をWebDAVサーバーに接続して行わないといけないんですが、このサーバーとのやり取りがやたらと遅くて、かなり往生してました。

まあ、サーバーがアメリカにあるからかな、と最初から諦めていたんですが、あまりにも遅すぎるのでちょっと調べたところ:

Windows XPからWebDAVサーバへのアクセスが遅い原因と対処

↑に書いてあることを実行したら、かなり速くなりました!

WebClientサービスを止める方法ではなく、ポート番号まで指定してあげる方法でかなりの改善が見られました。

これって、もしかしたらMacでも同じ方法で速くなるんだろうか?

[iPhone]「貼る蔵 for iPhone」がいい感じ

ウノウさんが最近リリースした「貼る蔵 for iPhone」がいい感じです。

といっても「フォト蔵」のユーザーではなくて(昔使ってたけど容量の問題で)Flickrのユーザーだったりするのですが、「貼る蔵 for iPhone」は太っ腹なアプリで、フォト蔵だけじゃなくて、PicasaとFlickrへのアップロードをサポートしています。

アプリなので、複数写真のアップロードもOK!

iPhone内に格納されている写真か、あるいはその場で写真を撮ってすぐアップロードすることもできるようになってます。

実際、iPhoneからFlickrへのアップロード手段は有料のアプリを除くとメール送信しか方法がこれまでなかったので、ほとんど(というか全く)iPhoneで撮影した写真をFlickrにアップすることがありませんでした。

これからは、iPhoneからガシガシ写真をアップしていきたいと思います。

(残念ながら、Exif情報は削られているみたいです・・・)

@IL CHIANTI uploaded from iPhone

写真 2

[CakePHP][ PHP][ メモ]CakePHP学習中メモ 〜 連続でsaveするときの注意

初心者なのでここでもはまりました。

idがキャッシュされている

とあるデータソースからデータを取得してDBに一括で登録したくて、Controllerの中に「batch_update」というメソッド(アクション?というべきか)を作ったのですが、うまくいかない。

ロジックはシンプルで、

  • 外部のデータソースからデータを1件取得
  • そのデータがDBに登録されていないか確認(findBy…メソッドを利用)
  • 既に登録されていたら、そのレコードのidをセットして最新の情報にupdate
  • 登録されていなかったら新たにinsert

updateとinsertの両方とも、Modelのsaveメソッドを呼び出して行うんですが、このsaveメソッドはその中でidの存在確認をしてupdateとinsertを使い分けるそうなので、これでOKかと思っていたら、何回やってもDB上にはレコードが1件しか作られない。

デバッグログのSQLを見ても、最初にinsertしたあと後は全部updateになってしまっている。

findByの使い方が悪いのかと思って調べてみたけど、そうでもない。

しょうがないので、model.phpとかdbo_source.phpあたりをよくよく読んでみたところ、、、

  • saveが呼ばれた後には、そこで作成/更新されたレコードのidがModelの中にキャッシュされていて、
  • そのまま連続でsaveを呼び出すとidが既にセットされているので自動的にupdateになってしまう

saveの前にcreateを呼ぶ

なので、連続でsaveを呼び出すためには、その前にModelのcreateメソッドを呼び出して一度キャッシュをリセットしてあげる必要がある。

・・・

というCakePHP使う人には常識なことなんでしょうけど、これで1時間少々はまってしまったのでメモ。

[開発日誌]CakePHP学習中メモ 〜 Viewを追いかける

基本的にアプリケーションのViewにあたる部分はExtで作りたいので、CakePHPにはHTMLそのものではなく、画面を構成するのに必要な「データ(JSONやXMLやHTMLフラグメント)」なんかを必要に応じて出力してもらいたい。 ・・・ということを実現したくて調べた結果のメモ:

  • デフォルトの設定では アクション(Controllerのメソッド)の後で $this->render()が自動的に呼ばれている(dispatcher.phpの中。自動的に呼ばれないようにするには、Controllerの中で$autoRender=falseに設定)。
  • デフォルトの設定ではレイアウトは「default.ctp」になっているので(controller.phpの中)、HTMLが出力されてしまう(なので、Controllerの中で$layout=’???’みたいに予めセットするか、$this->render()の第二引数で指定してあげる。)
  • レイアウトファイルの中では、$content_for_layoutで中身を出力してあげる。
  • デフォルトの設定ではconfig/core.phpの中でデバッグレベルが’2′になっているので、’0′か’1′にしてあげる。
  • Viewの実際の描画・書き出しはdispatcher.phpの中で行われる(Viewクラスの中では書き出しをしないで、バッファーする)
  • デバックレベルが’0′のときに、Viewクラスの中でlogを出力しようとすると、おかしなことになる(エラーが出てしまう。まだ、原因は調べきれてない)
  • Viewクラスの命名規則は、クラス名→CustomViewとすると(Viewは付けること)、ファイル名はcustom.phpとして、Controllerの中では’custom’でアクセス

これで、ようやくExt JSで作ったGrid+JsonStoreへの読み込みをCakePHP経由でできるようになったところ。先は長そうだ。
参考になったページ:

[Mac][ メモ]よく壊れるなあ、、、

Macを使い始めて1年ちょっとになりますが、ここ何ヶ月かトラブルが頻発してます。

また壊れた・・・

外付けUSBハードディスクのトラブルに始まり、年末年始のiPhotoのトラブル、そして、今朝起きたら、TimeMachineとiTunesがおかしくなってましたw

幸いそれほど重症じゃなかったので両方とも無事?復旧しましたが、そもそもなんでこんなことが起きるのかが結構原因不明で気持ち悪い感じです(ウイルスでも感染してのかな?)。

TimeMachineは純正のTimeCapsuleじゃないからトラブルのかもしれないですが、何度か再起動(一度じゃなくて3回ほど)しているうちに無事再接続できるようになりました(年始に購入したAirMac Extremeが結構不安定で時折接続が切れてしまって、それに伴ってNASの接続がおかしくなっているのかもしれませんが・・・)。

iTunesがあああ

でも、iTunesの方は本当に意味不明で、iPhoneの充電をしようと接続したところ、いきなり「iTunes Music Library.xmlを読み込み中・・・」というメッセージが表示されて、しばらくしたら、「iTunes Music Libraryが壊れています」みたいなメッセージが表示されて、ライブラリに一曲も無いiTunesが立ち上がり・・・(慌ててTimeMachineからバックアップを復元しようとしたところ、TimeMachineに接続できないという追い打ちがかかったわけですがw)

なんとかTimeMachineから何日か前のファイルを復元をしたんですが、一度iPhoneからは音楽ファイルとか写真とかがきれいに消されてしまっているので 、ただいま復旧中。

それにしても、その何日か前のフォルダには「iTunes Music Library.xml」などというファイルは存在せず、そもそもこのファイルがどこから生まれてきたのかが原意不明でとても気持ちが悪い。一体なんなんだろう・・・?

まあTimeMachineのおかげでサクッと復旧できるんだけど、これってある意味Appleの自作自演っていうかマッチポンプっていうか、、、 うーん、良く壊れるからTimeMachineが用意されたのかなあ・・・?

ということで

僕みたいなMac初心者のみなさん、TimeMachineは大きめのディスクを用意して必ず使うようにしましょう!

さらに、そのTimeMachineも繋がらなくなる可能性大なので、本当に大切なファイルは別の手段でどこかにバックアップもしておいた方がいいかもです。

僕は、重要な書類は8GBのUSBメモリーと別のUSBハードディスクにバックアップしていて、ソースコードみたいなものはDropBoxをつかってますが、問題は巨大な写真と動画なんですよね(DVDにでも焼くしかないのかなあ)。

[地図系サイト]明治地図がおもしろい

goo地図で提供が始まった「明治地図」が最高。都内の一部(江戸の範囲?)だけの提供だけど、いわゆる江戸時代の古地図と違って、今とほぼ同じフォーマットの地図なので、現代の地図ときちんと比較ができます。この地図を見ていくと、、、

  •  いまは埋め立てられたりしてなくなった堀や運河が町中を縦横に走っている(皇居の堀が外の川とつながってるし、深川のあたり水郷と言われてただけあって地面より水面が多い感じ)
  • いまの東海道線の線路は海岸線を走っている(慶応大学から海岸が見えてたって言うしね)
  • 青山墓地や谷中墓地はこの頃からあったんだw
  • 神田川に川原がある!(御茶ノ水の付近)
  • 神宮外苑は陸軍の練兵場だったんだ!
  • 東京駅がまだ無い!
  • 寺がやたらとある!

と、とにかく見所たくさんです。

[メモ]CakePHPのインストール(初期設定)ではまったメモ:mod_rewrite

ちょっとCakePHPでも始めようかなと思って、MacBookProに設定をしていてはまったのでメモ。

mod_rewriteの設定ではまる

CakePHPをインストール(というか初期設定)しようとするときに、結構な割合で皆さん最初にトラブっているようなのが、「mod_rewrite」の設定。ググると色々と出てくるし、CakePHPのサイトでも説明されています。

同じようにトラぶったので(CSSが適用されない、画像が表示されない)、上記サイトに書いてあることを全て適用してみたのですが、問題が解消されない。

実際、以前にmod_rewriteそのものは設定していて、動作もしているので考えられるのは、「.htaccess」がそもそも動作していないということ。

でも、「AllowOverride」は「All」に変更したし、「Options」に「FollowSymLinks」も設定している。

なのに動かない・・・。

設定ファイルが分散してた

結局httpd.confをもう一度上から下まで眺めたところ、ようやく判明したのが、 ユーザー別の設定ファイル(httpd.confがあるディレクトリ[/etc/apache2]の下に「users/」というディレクトリがあってそこに格納されている)をhttpd.confの結構後ろの方で読み込んでいるということ。

この設定ファイルの中で、「AllowOverride」が「None」に上書きされていて、「Options」から「FollowSymLinks」が除外されていました・・・。

このファイルを書き直したところ、問題解消!

どうりでhttpd.confいじっても、.htaccessいじっても何も変わらないわけだw

[メモ]都立中央図書館がリニューアル

広尾にある都立中央図書館がリニューアルオープン!

お、ようやくリニューアルオープンしたのか。

って、もう茅ヶ崎に引っ越したから行く機会ほとんどないかもしれないけど、でも、やっぱり行くかもw

Mobilepointあるし、電源あるし、静かだし、食堂も安いし、ここだと一日集中して仕事できるんですよね。

[メモ]VMWare Fusion で Windows 7 Beta

なんだか意味なく徹夜・・・

・・・
WIndows 7 Beta Build7000

「VMWare Fusion」「Windows 7」でググったら既にやっている人たちがいますねえw。

ということで、参考にさせてもらいつつ、Windows 7 Beta(Build 7000、日本語版、32bit版)をインストールしてみました。

なんだかんだで3回インストールすることになったので、メモしておきます。

  • OSは「Windows Vista」で(正直に「不明」とかにしてたら、ネットワークドライバーが入らなくて繋がらなかった。Windows VistaだとQuick InstallでProduct Keyも含めてさっくりとインストール完了)
  • メモリーは多めに(多分1GB以上?)
  • 「設定>ディスプレイ」の「3Dグラフィックスを高速化」はチェックしない

これで、さっくり入ると思います。VMWare Toolsも自動的にインストールされてました。

インストール時間もかなり短いですね、いまどきのWindowsは。

一応メモリーを2GB割り当ててるせいかもしれないけど、快適に動いてます(でも、使ってみたかった「Aero」?は機能していないっぽいです。どこ見れば分かるんだ?)

Officeは2000しか持ってなくて、まだ入れてませんが、とりあえず、FireFoxとChromeだけインストールしてみました。 。普通に動いてます。

デスクトップガジェットが中々いいですねえ。

・・・

と、いまこんなところ。

まあ、話のネタにしかならんけどねえw