テスト環境や本番環境と比べ、開発者のローカルPCのサーバ環境(APサーバ、DBサーバ、メッセージングサーバなど)は開発者個人の裁量で構築することが多く、十分に整備されてない傾向があります(例えば、データベースにオラクルを利用する場合、ローカルPCにオラクルをインストールする人は少ないと思います)。その場合、ローカルPCできちんとした検証ができず、品質や生産性を落とすことになります(例えば、オラクルじゃないとシステムが動かないのでローカルPCで検証できないなど)。 この問題を解決する手段として、仮想マシンで構築したサーバ環境を開発者に配布するという方法があります。そして、Vagrantというツールを用いると、この方法をより効果的に行うことができます。 Vagrantは、仮想化製品のVirtualBoxをラップして、仮想マシンの配布や更新、複数の仮想マシンの起動/停止を簡単に行うツールです。
12/4の記事(AngularJSを使ったWebアプリのアーキテクチャ設計)で書くと言ったまま放置していたので、AngularJSのMVCパターンについて書いてみたいと思います。 AngularJSのMVCについては、12/19のお前のAngular.jsはもうMVCではない。と言われないためのTutorialというすばらしい記事がありますが、本記事ではもう少し抽象的な内容を扱ってみようかと思います。 MVW(Model-View-Whatever)パターンとは MVCパターンには、MVC2、MVP、MVVMなど数多くの派生パターンがあります。 目的は同じなのに派生パターンがたくさんあるのは、それぞれのプラットフォーム固有の問題(フレームワークの違いや、サーバサイドかクライアントサイドかの違いなど)によってMVのの役割が異なるからです。 AngularJSは公式ページで"Superhero
Userテーブルに対してデータをinsertするメソッドを考えます。愚直なこんなインターフェースはどうでしょうか? class UserMapper { //... function insert( $nickname, $password, $firstname, $lastname, $birthday ) { //... } } …この引数を覚えていられる人はそう多くないと思います。もしプログラムを間違えて、nicknameとfirstnameを逆に指定してしまったら、本名がnicknameとして登録されてしまいます。本名が誤って表示されてしまうという致命的な事故につながります。危なっかしいプログラムですね。 では、順番を考慮しなくていいように連想配列にすればどうでしょうか? class UserMapper { //... function insert(array $data)
OS X 10.6, iOS 4.0から使えるようになったブロック構文。iOS 3系のデバイス(特にiPad)のことがあったため、なかなか本格的に使う機会が訪れなかったのですが、先日iPadもOSが4.2となりブロックが使えるようになり、これでようやくブロック構文を本格的に使って実装を行っていく事ができそうです。 ブロックを使うメリット 詳解Objective-C 2.0(改訂版)には「ブロックオブジェクトを用いることで、関数を呼び出す箇所で行いたいと考えていることを、まさにその位置に、そこにある情報を利用して記述することができる(P.331)」と書かれています。 例えば、通常非同期処理を実装するときは処理が完了したときに実行したいコードをコールバックメソッドという形で実装します。この方法で実装すると、非同期処理を呼び出しコードと結果をうけて実行されるコードがソースコードの中で別々の所に記
はじめに スマートフォンアプリ開発でAPIを介しWeb/APIサーバーとやりとりをする場合、「httpsを使っていれば通信はユーザーにバレない」なんてことはなく、Webアプリでツールを使ってできるのと同じようにユーザーには通信内容の確認や改竄などができます。 そのため、そのことを前提にアプリやサーバーAPIの設計と実装を行わない場合、アプリ利用者によるゲームスコア結果送信の改竄や、ソーシャルゲームにおけるレイドボスなどへのダメージ操作、ECサイトアプリでの購入操作なども可能になってしまいます。 また、最近自分は「無料で音楽聴き放題!! - ネットラジオ」というアプリをリリースしたのですが、このアプリに導入するスタティックリンクライブラリが不明な外部サーバーへ通信していないか、SSLを使用しているつもりがそうでない通信をしてしまっていないかのチェックをするため、自分はmitmproxyという
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く