フレームワークTwitterFacebookはてブPocketWebアプリを作ってるときに、素のJavaScriptではどうもソースコードが汚くなってしまった。「ソースコードには人格がでる」と思っているので、キレイに、かつ簡単に書きたい。いうことでAngularJSというMVC(MVW)フレームワークを使ってみた。参考にしたTodoアプリは、ドットインストールの「AngularJSで作るToDoアプリ」を基にした。詳細な説明については、ドットインストールを参照してほしい。私の場合、TypeScriptはVisualStudioで書いているので、NuGetから以下の型定義をインストールしておく。他のエディタを使っている場合は、GitHubなどからダウンロードしてください。angularjs.TypeScript.DefinitelyTypedjquery.TypeScript.DefinitelyTyped(※1)※1:jQueryの型定義は、AngularJSの型定義をインストールしたら勝手にインストールされた。依存関係になっているらしい。※2:AngularJSの本体はNuGetからインストールしてもよいが、私の環境ではうまく動かなかったので、ドットインストールのサンプル同様「http://code.angularjs.org/angular-1.0.1.min.js」を使用する。</div></body></html>内容はほぼすべてドットインストールと同じ。唯一違うのは、27行目のng-click=”deleteTask($index)”の部分。これは他のメソッド同様に、TypeScript側で実装することにした。(TypeScript)タスク(内容と完了フラグ)をクラスに定義する。boolean;}次に、アプリ用スコープのインターフェースを作成する。これを作ることで、TypeScriptでの強みである型チェックと自動補完が可能になる。ちなみに継承している「ng.IScope」はAngularJSが持っているスコープ定義。それを拡張するカタチで、ITaskScopeインターフェースを作成している。TaskCtrl.prototype.getDoneCount;}最後にコントローラクラスを作成する。}}さいごに今回作成したToDoアプリをGitHubにあげた。Controllerなどは、実際に動かしながら見たほうが理解が早いと思うので、是非ご活用ください。ふたつほど疑問に残るところがある。ひとつは、AngularJSってMVCのフレームワークなので、Model・View・Controllerの3つが存在するはずなのに、サンプルではModelとControllerがまとまってしまっている(というかModelがない)まるでWindowsフォームのView(Form1.csみたいなの)に全部書いているような感覚だ。やってM・V・Cで分ければよいのか...。ひとつは、HTMLにいろいろ書き込まなければならないため、大きなWebアプリだとゴチャゴチャにならないのかなと。素のJavaScript勉強してるときは、HTML側にメソッド名書かない方がよいとかあったのに、このサンプルではバリバリ書いてある。AngularJSについては、まだ全然わからないことばかりなので、今後も勉強していきたい。上記2つの疑問も、分かり次第まとめてブログに投稿しようと思う。18:30フレームワークを使わず、素のJavaScriptだけでMVCモデルのToDoアプリを作ってみた。AngularJSを使った場合とくらべて、コード量が倍以上に膨れ上がっていた。MVCフレームワークは偉大だ...。18:30次はVue.jsで同じToDoアプリを作ってみた。Vue.jsは学習コストが低いといわれているが、たしかにAngularJSと比べるとわかりやすい気がする。Serverでの開発を行った時にハマったのが、Nullと空文字("")の扱いの違いだった。結論から言うと、以下のようになっている。...【C#】いろんなパディング(空白埋めやゼロ埋め)固定長IFファイルの作成では必要不可欠な処理、パディング。文字長を一定にしたり、ブラの隙間に夢を詰めたりいろんな使い方がされる。このエントリでは以下の3種類の方法を紹介する。2)」とかいたらコンパイラさんに怒られてしまった。LEFT関数は特に問題ないが、可変長データ...Excelで「データを貼り付けできません。」というエラーが出た時の対処法Excelでなぜか図形が挿入できない。オブジェクトを貼り付けることができない。こんなしょうもないことで、10分を無駄にしてしまった。その対処法をまとめる。Google先生に聞いたところ、以下の対処法があったが、どれもよくわからなかった。