日々精進

新しく学んだことを書き留めていきます

2011-01-01から1年間の記事一覧

PhoneGap:Build

IT

PhoneGap+sencha touch 2でスマホアプリ作成中。 PhoneGapのWebViewはSafariに比べてパフォーマンスが悪いらしいので、 PhoneGapでsencha touch2のサンプルの動作確認をしてます。 こういうちょっと動かしてみたい、という場合PhoneGap:Buildはなかなかいい…

JSBuilder2

IT

JSBuilder2を使うと、ExtやSencha touchのライブラリのうちアプリが使用しているクラスのみincludeしてminifyして本番環境用コードを作ってくれる。 但し、アプリが使用しているクラスのみincludeしたい場合はsencha-touch-all.jsとかのall系ライブラリを使…

Webアプリ、特にExtJSのパフォーマンスチューニング

IT

以下のスレッド ExtJS: Performance Best Practices とかハイパフォーマンスWebサイト ―高速サイトを実現する14のルール作者: Steve Souders,スティーブサウダーズ,武舎広幸,福地太郎,武舎るみ出版社/メーカー: オライリージャパン発売日: 2008/04/11メディ…

ExtJSのバージョンを4.0.2aから4.0.7にしたらGmapPanelの初期化でエラー

IT

問題: ExtJSのバージョンを4.0.2aから4.0.7にしたらGmapPanelの初期化でエラーが起きた。 原因: GmapPanelは最初非表示になっており、GmapPanelを含むPanelのactivateイベントで地図のマーカーなどを初期化したりしていた。 4.0.7にしたらGMapPanel3.jsのt…

Extjs notificaion window plugin

IT

下記プラグインが良すぎて感動した。 みんなも使おう! Ext.ux.window.Notification Ext.ux.window.Notification - Examples and documentation

Extjs ファイルがロード出来ない

IT

Strange behaviour, load page : Errors, reload multiple times :Errors, reload -> fine ↑で報告されているのと同じ現象に遭遇した。 Extで作ったWebサイトを表示させようとしても、真っ白で何も表示されない、何度かリロードすると希に表示される。。とい…

Extjs4 Uncaught TypeError: Cannot call method 'substring' of undefined

IT

下記のエラーを解決したのでメモ。 Uncaught TypeError: Cannot call method 'substring' of undefined ext-all-debug-w-comments.js:5981 Ext.ClassManager.parseNamespaceext-all-debug-w-comments.js:5981 Ext.ClassManager.getext-all-debug-w-comments.…

Extjs どこでstoreのloadイベントにコールバック関数を渡すか

IT

MVCパターンを使って開発してるとMVCがきれいに分離されて構造が良くなるのはいいんだけど、各メソッドの呼び出し順序は不明瞭になる。 今回も呼び出し順序でちょっとはまったのでメモ。 やりたいこと: storeのloadイベントにコールバック関数を渡す。 Web…

Extjs4 initComponentとconstructorの違い

IT

両方とも初期化処理を書くところなのでどう違うかがよくわからない。。ということで調べたら以下の記事が見付かりました。 constructor or initComponent? この記事によると違いは以下。 ・多くのComponentがinitComponentの中で初期化処理をしている。例え…

Extjs4 numberFieldのデフォルト値が設定できない

IT

以下のようにvalueプロパティを使ってnumberfieldのデフォルト値を設定しようとしたが、何も起こらず。 items: [ { fieldLabel: '予約者氏名', xtype: 'textfield', id: 'reservedGeneralUserName' }, { fieldLabel: '人数', xtype: 'numberfield', id: 'res…

Extjs sliderのfieldLabelを設定するとスライダーバーが消える

IT

こんな感じでfieldLabelをつけたらスライダーバーが消えた。 { id : 'columnWidthSlider', xtype : 'slider', width : 100, fieldLabel : '列幅', value : 100, increment : 10, minValue : 30, maxValue : 150 }, つまみは表示されていたのでドラッグしてみ…

Extjs Ext.getCmpとExt.ComponentQuery.queryとExt.flyの違い

IT

ちょっと勘違いしていたのでメモ。 Ext.getCmpはIDでオブジェクトを取得する。 オブジェクトが返ってくる。 Ext.ComponentQuery.queryはxtypeで検索したり、IDで検索したり、プロパティで検索したりできる。 配列が返ってくる。配列の中に指定した条件で取得…

Extjs4 MVC Storeでエラー解決編

IT

ExtjsのStoreではまる - 日々精進のエラーがようやく解決できたっぽいので記録。 Storeの中でmodelを指定する必要があるのだけど、ここでモデルクラス名の文字列を渡していたのがだめだったっぽい。 完全修飾名にするとエラーが出なくなった。 Ext.define('R…

Extjs ブレークポイントを消えないようにする

IT

Extjsで自分が作成したJSファイル内にブレークポイントを置いても、ページをリロードすると消える。 これはJSファイルがリロードされているため。 Extjsライブラリ内のファイルはデフォルトでキャッシュされ、リロードされない。 ブレークポイントが消えない…

Extjs Miscellaneous FAQその1

IT

この記事はMiscellaneous FAQ | Learn | Senchaの抄訳・意訳です。 Invalid Label (Json) (訳注:JSONをevalを使ってパースする方法が紹介されているが、これはセキュリティホールになるのでやらない方がいい。Ext.JSON.decodeを使うこと) var myObject = …

Extjs Miscellaneous FAQその1

IT

この記事はMiscellaneous FAQ | Learn | Senchaの抄訳・意訳です。 Find a Plugin by id getPluginメソッドをコンポーネントクラスに追加するコードは以下。 (訳注:フレームワークのクラスにメソッドを追加するのは言語の組み込みクラスにメソッドを追加す…

Architecting Your App in Ext JS 4, Part 3その3

IT

この記事はArchitecting Your App in Ext JS 4, Part 3 | Learn | Senchaの抄訳・意訳です。 Step 5 app/controller/Song.js ... onRecentSongsLoad: function(songs, request) { var store = this.getRecentSongsStore(), selModel = this.getRecentlyPlaye…

Architecting Your App in Ext JS 4, Part 3その2

IT

この記事はArchitecting Your App in Ext JS 4, Part 3 | Learn | Senchaの抄訳・意訳です。 Cascading your controller logic on application launch. Viewのインスタンスを取得するコードはonLaunchメソッドに書くのがいい。onReadyは使わないこと。 onLau…

Architecting Your App in Ext JS 4, Part 3その1

IT

この記事はArchitecting Your App in Ext JS 4, Part 3 | Learn | Senchaの抄訳・意訳です。 複数のmodel,view,controllerを持つ複雑なアプリの構築方法を解説していく。 題材はPart2の続きでPandoraのリニューアル。 Getting References Part2ではExt.appli…

Architecting Your App in Ext JS 4, Part 2その4

IT

この記事はhttp://docs.sencha.com/ext-js/4-0/#!/guide/mvc_pt2の抄訳・意訳です。 Setting up listeners Controllerのinitメソッドでイベントハンドラを設定していく。 app/controller/Station.js init: function() { this.control({ 'stationslist': { se…

Architecting Your App in Ext JS 4, Part 2その2

IT

この記事はhttp://docs.sencha.com/ext-js/4-0/#!/guide/mvc_pt2の抄訳・意訳です。 Applying the glue Model,View,Controllerを結合する。 ViewをViewportに追加するのを簡単にする方法がある。 Ext.define('Panda.view.Viewport', { extend: 'Ext.containe…

Architecting Your App in Ext JS 4, Part 2その1

IT

この記事はhttp://docs.sencha.com/ext-js/4-0/#!/guide/mvc_pt2の抄訳・意訳です。 ModelやControllerをデザインする方法やコードについて見ていく。 Defining our application Extjs4にはMVCライクなパターンが用意されている。 アプリはまずExt.applicati…

Extjs4 Architecting Your App in Ext JS 4, Part 1その3

IT

この記事はhttp://docs.sencha.com/ext-js/4-0/#!/guide/mvc_pt1の抄訳・意訳です。 あー、その2消えてる。。書き直す気力がないので誰か補完お願いします。 Models Viewが分割できたらモデルについて考える。 動的なデータに注目してどんなモデルが必要か…

Extjs4 Architecting Your App in Ext JS 4, Part 1その1

IT

この記事はhttp://docs.sencha.com/ext-js/4-0/#!/guide/mvc_pt1の抄訳・意訳です。 アプリのスケーラビリティ、メンテナビリティ、フレキシビリティはほぼアーキテクチャで決まる。 が、残念なことに最初から考慮されていることはあまりない。 アプリの主要…

Extjs4 Layouts and Containers

IT

この記事はhttp://docs.sencha.com/ext-js/4-0/#!/guide/layouts_and_containersの抄訳です。 ExtjsのUIはコンポーネントで構成されている。(詳しくはコンポーネントガイド参照) Containerは他のコンポーネントを子に持つことが出来る。 Containerのネスト…

extjsのbootstrap.js

IT

Extjsの開発方法について書いてあるブログなどでは大体 bootstrap.jsをhtmlファイルの中でロードして開発しなさいと書いてある。 けど、bootstrap.jsってext-debug-all.jsをロードするのでデバッグしづらくなるのでは? ext-debug.jsをロードして、Ext.Loade…

ExtjsのStoreではまる

IT

作っているアプリにMVCパターンを適用し、MemoryStoreをJsonStoreに変更したら以下のエラーを吐くようになりました。 Uncaught TypeError: Cannot call method 'indexOf' of undefined Ext.apply.urlAppend ・・・ 原因はStoreがAjaxを使ってJSONデータを取…

herokuを始める

IT

herokuでお手軽にRailsアプリを動かそうと思ったけど、最初のデプロイで早速躓く。 ↓の(5)のgitでpushするところまではいけた。 http://kuranuki.sonicgarden.jp/2009/05/rubypaasherokurails.html git push heroku masterを実行すると以下のエラーメッセ…

Extjs4のXTemplateのビルトイン値

IT

Extjs4のXTemplateのビルトイン値でちょっとはまったのでメモ。 http://docs.sencha.com/ext-js/4-0/#!/api/Ext.XTemplate APIドキュメントには以下のビルトイン値があると書かれている。 values,parent,xindex,xcount まずこれらを使う時に{[]}で囲まないと…

virtualboxで仮想開発環境構築

IT

備忘録的に仮想開発環境構築手順を記録するよ。 1.Virtualboxと拡張パックをダウンロードしてインストール http://www.virtualbox.org/wiki/Downloads http://download.virtualbox.org/virtualbox/4.1.2/Oracle_VM_VirtualBox_Extension_Pack-4.1.2-73507.…