果敢にもMVCフレームワークの図解を試みたので、どうぞ! MVCの動機 MVCという言葉が初めて登場してから30年以上たった今、最早なんだったのか分からないほどMVCの定義は混迷をきたしているわけだが、どれがMVCでMVVMでMVPであるという定義についてあれこれ考察するのは個人的には好きでなくて、「結局何がしたいのか」という動機がぶれていなければ何でも良いと思っている。 じゃあそれは一体何なのかということを自分なりに考えてみたところ、次の一言に落ち着いた。 「ModelはViewに依存したくない」 世間的には(?)ModelとViewを単に「分ける」と説明されることが多いが、私はそれだけでは納得していなくて、依存の方向こそが重要だと思っている。たとえ分かれているように見えてもModelがViewを参照していたら、情報の取得先や表現方法は固定化されてしまう。 ModelはViewの事情から
UPDATE: Radian is now open source. Read about it on the BayesHive website here. Courtesy of Hideharu Sakai, this article is also available in Japanese. One of the things we needed to be able to do for the BayesHive software I’m working on with Tom Nielsen of OpenBrain is easily produce plots within our front-end web app. There are lots of JavaScript libraries for doing this: Tom started off using
JavaScript FrameworkならBackboneでしょ。 と勝手に思い込んでそればっか使ってきたボクですが、年初にheavenshellとかどっぺちゃんとで飲んだ時にviewが重くなるよね―とか話してたしかにそれ悩みだよなと思った。 そんときAngularJSってどうなんだろうねーって話にちょっとなって、そんときからangularいつかやってみようと思いつつ仕事で忙殺されてたんだけど、今日何気にSNSで「AngularJSに仮入信してみる」ってつぶやいたらGoogleの人にいいね!してもらってちょっと上がった。 さらに都合のいいことに外出で2時間程度電車に乗ってヒマな時間ができたので、車中でAngularの洗礼を受けてみようとPCを開いた次第。ちなみに途中で酔いました。以前新幹線で思い知ったのだけど懲りてなかった。電車でコーディングは控えましょう。特に自分。 さて、Angula
前回から間があいてしまいましたが。。。 今回はAngularJS が提供している filter についてまとめてみました。 まとめたものがコチラ デフォルトで用意されているのは以下です。 lowercase uppercase json currency date limit number orderBy これら以外にも自分で実装することもできますが、今回は説明しません。 徐々に紹介していけたらと思っています。 主観ですが、date, limit, orderBy が非常に優秀だと感じました。 lowercase / uppercase {{ plainText | lowercase }} {{ plainText | uppercase }} これ日本語という観点で考えると使い道が。。。使う頻度は少ないと思います。 json {{ jsonFilter | json }} // ※js
AngularJS ではコントローラーを入れ子にして、ng-repeat で処理するコレクションの要素1つ1つに子コントローラーをバインドすることができる。 例えば、よく見かける ToDo アプリのサンプルだとこんな感じ。 <!DOCTYPE html> <html ng-app> <head> <meta charset="utf-8"> <title>Angular Sample</title> <style type="text/css"> .done-true { text-decoration: line-through; color: grey; } </style> <script type="text/javascript" src="angular.js"></script> <script type="text/javascript"> function MainCtr
FAQを翻訳してみました。かなりざっくり。ツッコミ大歓迎。特に他の Closure Libraryとか jQueryとかのくだり。 FAQ なぜ、このプロジェクトは、 "angular"と呼ばれているんですか? "ng"と呼ばれる名前空間は何ですか? HTMLのタグって、角括弧だし、"NG"って音の響きが"angular"に近いでしょ? HTML5なの? いいえ、HTML5じゃないです。AngularJSは、HTML5とは直接関わりないプロジェクトです。2つを一緒に使用することができます。 {ライブラリ、フレームワーク、DOM操作ライブラリ、ウィジェットライブラリ、ネイティブプラグイン}はありますか? いいえ、AngularJSは、これらのどれもではありません。あなたがその機能を呼び出すことはないし、あなたの定義した関数を呼び出すこともないし、DOMを操作する方法を提供していませんが、デー
前回(AngularJS で Hello World)に引き続き AngularJS + TypeScript による簡単なアプリケーションを書いてみました。 今回は AngularJS を使ったフォームの例です。 AngularJS のみで、比較的簡単にリッチなフォームが作成できることがわかるんじゃないかなぁと思います。 まえおき TypeScript で書いてます。 AngularJS のバージョンは2013年2月現在の最新安定版である 1.0.4 を使用します。 自動受け入れテスト(E2E Test)は面倒なので省略しました。 ソースコードについて なお、今回のソースコード一式も GitHub で公開しています。 また、こちらで実際に動作を確認することもできます。 解説 前回解説した内容についてはなるべく割愛します。 form 要素 <form id="signupForm" nam
意外とAngularJSを使った入力フォームのサンプルが無かったので作ってみました。 まず作ったものがコチラ AngularJSを使えば手軽にシンプルかつリッチな入力フォームを作ることができます。自前のJavaScriptを用意すればさらに凝ったものも作ることができますが、今回は自前のJavaScriptを使わないでもこれだけできます!というサンプルです。 個別のバリデーションチェック サンプルで行われているバリデーションは、全てAngularJSによるもので、JavaScriptによるコードの記述は一切書いていません。その代わりに、以下のような記述でチェックする内容を指定しています。 <form method="post" name="userInfo"> ... <input type="text" name="userName" ng-model="userName" ng-minl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く