日々精進

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

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

Extjs4のコントローラがロードできない

IT

ローカルでExtjs4のMVC機能を使ったらWebページが全く表示されなくなってしまった。 Chromeのデバッグコンソールでエラーを確認しても GET file:////C:/xampp/htdocs/・・・ と出ているだけでいまいちよくわからない。。 調べたらExt.LoadはXHRでファイルを…

Ext.Loader is not enabled

IT

The MVC Application Architecture | Learn | Senchaの例をそのまま実行するとExt.Loader is not enabledというエラーが出た。 これは以下のコードをapp.jsの先頭に書くと解消できる。 Ext.onReady(function () { Ext.Loader.setConfig({enabled:true}); });

MVC Architectureその4

IT

Saving data with the Model Ext.define('AM.controller.Users', { init: function() { this.control({ 'viewport > userlist': { itemdblclick: this.editUser }, 'useredit button[action=save]': { click: this.updateUser } }); }, updateUser: function…

MVC Architectureその3

IT

Controlling the grid Ext.define('AM.controller.Users', { extend: 'Ext.app.Controller', views: [ 'user.List' ], init: function() { this.control({ //自分で作ったViewをクラスとして指定できるよ! 'userlist': { itemdblclick: this.editUser } });…

MVC Architectureその2

IT

Defining a View Viewを定義してみよう。 Ext.define('AM.view.user.List' ,{ extend: 'Ext.grid.Panel', alias : 'widget.userlist', title : 'All Users', //initComponentの中で初期化する。見た目を決めるパラメータの中で動的に変わらないものはここで…

MVC Architectureその1

IT

公式:http://docs.sencha.com/ext-js/4-0/#!/guide/application_architecture クライアントサイドでもMVCパターンを使って保守性の高いコードを書こう! Extjsと一般的なMVCの違いはStoreがあること。Storeは エリック・エヴァンスのドメイン駆動設計 (IT A…

Class Systemその4

IT

3. Statics staticsプロパティでstaticメンバを定義できるよ。 Ext.define('Computer', { statics: { instanceCount: 0, factory: function(brand) { //staticメソッド内でのthisはクラスそのものを指すよ return new this({brand: brand}); } }, config: { …

Class Systemその3

IT

2. Configuration クラスには特殊なconfigプロパティを定義できる。configは以下の特徴を持つ。 ・他のクラスから参照出来ない ・Getter,Setterメソッドが自動的に定義される ・applyメソッドが各config毎に自動的に定義される。このapplyメソッドはSetterメ…

Class Systemその2

IT

III. Hands-on var MyWindow = Ext.extend(Object, { ... }); ↑はネームスペースを汚すので良くない。 My.cool.Window = Ext.extend(Ext.Window, { ... }); ↑ならOK。でもMy.coolにオブジェクトを代入しておかないといけない。 Ext.ns('My.cool'); My.cool.W…

Class Systemその1

IT

公式:http://www.sencha.com/learn/the-class-system/ Extjs4のクラスシステムはVer.3からだいぶ変わったからちゃんと確認した方がいいよ。 I. Overview JSのコードは柔軟性が高いがゆえに読みづらい。保守性が落ちる。 Extjs4にはクラスベースのOOPのいい…

Getting Started with Ext JS 4.0その2

IT

3. Deployment Sencha SDK Toolsは静的コード解析をしてファイル間の依存関係をドキュメントにしてくれる。さらにExtjsのうち使っているファイルだけを取り出して結合してくれる。 以下のコマンドを打つとJSBuilder file format形式で依存関係を書き出してく…

Getting Started with Ext JS 4.0その1

IT

最近Javascriptにはまってます。 最近Ext Js 4というライブラリを触ってみたところなかなか良さそうだったのでまずは公式ドキュメントを読んで勉強していきたいと思います。 公式:http://www.sencha.com/learn/extjs/?4x Getting Started with Ext JS 4.0を…

SRM443 Div2 Mid

方針 これは自力で解けたので嬉しかったです。コードはスマートではありませんが。。 出発点・到着点を含む円を半径の昇順でソートしたのですが、この処理はいらなかったですね。 出発点から到着点まで移動する間にまたぐ境界の数は各点のどちらかだけ含む円…

SRM436 Div2 Easy

方針 直接の友達の数+直接の友達でない人の中で友達に自分がいる人の数 を数えればOKというのに気付けませんでした。 友達の友達をすべて洗い出そうとしたのがよくなかったですね。それだと重複を除くのが大変です。 ソースコード using System; using Syst…

SRM363 Div2 Mid

方針 DPで各マスに到達できる場合の数を数えていけばいいのですが、まだDPで解けばいいということに気付けません。。 この問題の答えはカタラン数になるそうです。 ソースコード using System; using System.Collections.Generic; using System.Text; public…

2003 TCCC Online Round 4 Easy

方針 DPで各マスに到達できる場合の数を数えていけばいいのですが、まだDPで解けばいいということに気付けません。。 ソースコード 私は盤面を再利用しましたが、三次元配列を使って履歴も保持した方がシンプルで不具合が出にくいかもしれませんね。 using S…

TCCC 2004 Round4 Easy

ソースコード DPの漸化式の立て方を間違えました。最初は dp[i] = Math.Max(dp[i - 1], dp[i - 2] + donations[i]); だと思ったんですが、2つ飛ばしても最大になる場合があるのでこれではだめですね。 最後の家から寄付をもらうケースをどう扱うかについて…

SRM428 Div2 Easy 解法2

方針 元の文字列と、文字列を反転させたものを重ね合わせ、1文字ずつずらしていき一致したところまで ずらした数+nが答えとなります。 こっちの方が簡単に実装できますね。ソースコード >|cs| using System; using System.Collections.Generic; using Syste…

SRM428 Div2 Easy

問題の分析 与えられた文字列の後ろに文字列を追加して回文を作ります。 作成できる最短の回文の長さを求めなさい。 方針a 回文となっているかどうかを調べる範囲を正しくコーディングするのに手間取りました。 ソースコード using System; using System.Col…

SRM488 Div2 Easy

問題の分析 n+m人の友人がいます。最初のn人は退屈しています。残りのm人はそうではありません。 j番目とb番目の友人を退屈させた場合、退屈している人の数を求めなさい。 方針 本当にやるだけの問題なので言うことがありません。 ソースコード using System…

SRM489 Div2 Medium

問題の分析 int型配列rosesとliliesでroseとlilyの数がそれぞれ与えられます。 同じインデックスのroseとlilyはセットになっています。各セットのうちいくつかを購入してroseとlilyを矩形に並べます。 ただし、同じ種類の花が隣り合ってはいけません。 矩形…

SRM489 Div2 Easy

問題の分析 与えられた文字列の配列から、与えられた各文字列prefix(前方一致), suffix(後方一致), substring(部分一致)にマッチする文字列の数を求めなさい。 方針 前方一致、後方一致はStartsWith, EndsWithメソッドを使えば判定できます。 部分一致…

SRM490 Div2 Easy

問題の分析 "HH:MM"形式で時刻を表す文字列の配列が与えられる。"AA:BB", "AB:AB", "AB:BA"のようになっている文字列の数を求めなさい。 方針 ただ条件に合う文字列を数えるだけです。 ソースコード >cs| using System; using System.Collections.Generic; u…

SRM491 Div2 Medium

問題の分析 次の条件を満たすさいころは何種類あるかを求めなさい。NとKは引数として与えられる。 ・使っていい数字は1からN ・同じ数字を二度使ってはならない ・すべての面について反対側の面との合計が同じ値になる ・ある面と反対側の面の合計がK以下 ・…

SRM491 Div2 Easy

問題の分析 与えられた数字のうち、1文字を書き換えて作れる数字のうち、最も小さいものを求めなさい。 方針 与えられた数字が0の場合は1を返し、それ以外の場合は最も大きい桁の数字を0にすればOKです。 0が与えられた場合を例外的に扱わないといけないこと…

SRM492 Div2 Medium

問題の分析 N本の一直線に並んだ木があり、それぞれの高さheightと間隔distanceが与えられます。 各木の高さは自由に縮められます。整数でなくてもよいです。 各木の頂点を一直線に並べるために必要な、木を縮める操作の回数の最小値を求めなさい。 方針 木…

SRM492 Div2 Easy

問題の分析 N本のワインがあり、どれか一本を熟成させ、どれか一本を若返らせます。i番目のワインを熟成させるとprofit[i]の利益が得られ、 i番目のワインを若返らせるとdecay[i]の損失が生じます。 得られる最大の利益を求めなさい。 方針 利益の最大値−損…

SRM493 Div2 Easy

問題の分析 N×MのテーブルがAntimatterとMatterで埋められています。 Antimatterの上に1×Kの大きさのアメーバを配置する方法は全部で何通りあるかを答えなさい。 アメーバはテーブルからはみ出したり、アメーバの下にMatterがきたりしてはいけません。 制約…

SRM493 Div2 Easy

問題の分析 N×MのテーブルがAntimatterとMatterで埋められています。 Antimatterの上に1×Kの大きさのアメーバを配置する方法は全部で何通りあるかを答えなさい。 アメーバはテーブルからはみ出したり、アメーバの下にMatterがきたりしてはいけません。 制約…

SRM495 Div2 Medium

問題 RとBからなる文字列が与えられるので、 1からNまでの自然数を使って以下の条件を満たす数列を作れ。 ・Rの位置には素数を当てはめる ・Bの位置には非素数を当てはめる ・左から右へ単調増加する ただし、ある位置が複数の数字を取り得る場合は、-1とす…