2013-01-01から1年間の記事一覧
MEANとは MongoDB + Express.js + Angular.js + Node.js を組み合わせてWebアプリケーションを作成することです。 手順 Windows上で簡単なユーザ登録アプリケーションを作ってみましょう。 次の手順で進めていきます。 アプリケーションの雛形を作成 ユーザ…
Chocolateyとは? ChocolateyはWindowsのパッケージ管理システムです。 以下のツールと同じようにコマンドラインから実行してアプリケーションをインストールします。 rpm apt gem npm 例えば Google Chromeブラウザをインストールするには コマンドプロンプ…
要約 4つの選び方を紹介します。 これから使う技術の勉強会に参加 同じ技術の違うコミュニティの勉強会に参加 流行技術の勉強会に参加 変な人が主催する勉強会に参加 背景 「勉強会に参加しないと不幸になる話 - きしだのはてな」があります。 要約すると、…
主な違いは三つ クライアントMVCWebMVC コントローラーがたくさんコントローラーが1つ Viewが状態を持つViewは状態を持たない ModelからViewへの呼び出し・変更通知があるModelはViewを呼び出さない コントローラーの数 WebMVCではユーザ入力は必ずHTTPリク…
livereloadとは? ファイルの変更を検知したらブラウザで読み込みなおすgrunt-contribe-watch プラグインのオプションです。 grunt-contribe-connectプラグインとブラウザ拡張と組み合わせて使います。 何がうれしいの? クライアントJavaScriptの開発では …
この話はMVC(Model-View-Controller)の話です。 特にクライアントMVCの話です。WebMVCの話ではありません。 事前 ViewとModelを分けるためにControllerを挟むのだと思っていました。 事後 Contollerはプレゼンテーションロジックのinput担当でした。 参考…
最近以下の記事などMVCが話題に上がります。 やはりお前らのMVCは間違っている MVCにおけるcontrollerクラスの役割は時代と共に変わって行く | F’s Garage@fshin2000 MVCがわからなくて議論についていけません*1。そこで調べてみました*2。 Gof MVCを調べる…
QUnitとは JavaScript用のTestingFrameworkです。 由来 jQueryのテスト用に作られ、今もjQuery、jQuery-UIのテストに使われています。 それ自体はjQueryに依存していませんが、テスト内でDOMを操作したりイベントを生成したりするのにjQueryを使うと便利です…
grunt とは? JavaScript開発でよく使うビルドツール。makeやrakeのJavaScript版です。 Grunt: The JavaScript Task Runnerにて公開されています。 どうやって使うの? コマンドラインから操作します。Node.jsのパッケージマネージャ(npm)を使ってインストー…
プロトタイプベースといえばIO言語。 遊んでみました。 インストール インストーラーはありません。バイナリをダウンロードしてきて実行します。Windowsの場合は、 http://iolanguage.org/ のbinaries の windows からダウンロード。 iobin-win32-current.zi…
いろいろなSingletonを実装してみます。 関数 var getSingleton = (function() { var instance = null, init = function() { instance = { value: Math.random() } }; return function() { if (instance == null) { init(); } return instance; }; })(); var…
定義を確認 GoFの定義したSingletonパターンの目的(Intent)は以下の二つです*1。 あるクラスのインスタンスが1つしか生成されないことを保証する そのオブジェクトへのグローバルなアクセス手段を提供する 実装例 JavaScript デザインパターンの例がいけてま…
JavaScriptには次の三つのオブジェクト生成方法があります。 プロトタイプ風 クラス風(異教徒の呪い、Fxxk your God!!!) 関数の束縛 比べてみましょう。 例に使う関数 ここに指定した文字に挨拶をする関数があります。 var hello = function(str) { return…
Douglas Crockford によるJavaScriptのプロタイプ継承の説明 Prototypal Inheritance の翻訳です。 JavaScriptのプロトタイプ継承 2006-06-07 Douglas Crockford - www.crockford.com 私は五年前に「Classical Inheritance in JavaScript」(中国語 イタリア…
JavaScriptをプロトタイプベースのオブジェクト指向言語と説明することがあります。 プロトタイプベースとはJavaScriptのどのような特徴を指しているのでしょうか? プロトタイプベースとは何か? まず最初に「プロトタイプベース」という言葉の意味を整理し…
対象オブジェクトに複数のプロパティを一度に追加します。 以下のデザインパターンを適用する。 extendパターン 元の処理 プロパティを一つずつ設定します。 var mike = {}; mike.firstName = "michelle"; mike.lastName = "jackson"; mike.getFullName = fu…
JavaScriptのオブジェクトの生成、特にコンストラクタに次のデザインパターンを適用します。 オブジェクトリテラル 基本のコンストラクタパターン プロトタイプを使ったコンストラクタパターン モジュールパターン 最初の関数 指定された文字を指定された回…
BtoCサービス勃興記 日本のBtoCサービスの雄たちの歴史を振り返ります。 要約 5年ぐらいで新しいサービスを出し続けるリクルート強すぎ 10年ぐらい既存事業を続けてから新サービスを出す会社が多い 90年代末期 非ゲーム地道勢力(カカクコム、クックパッド、…
前回に続き、2000年代に発達したソフトウェア開発手法を振り返ります。 プログラマ向けです。 2000年代 動的型付け(Dynamic Typing) 2000年代を一言で表すと「動的型付けの時代」です。 Wikipediaより 動的型付け(どうてきかたづけ、英: dynamic typing)…
1970年代~1990年代に発達したソフトウェア開発手法を振り返ります。 プログラマ向けです。 1970年代 構造化手法 1967年にEdsger Wybe Dijkstraが発表した論文「Structured Programming(構造プログラミング)」が元になります。 goto禁止論の親玉であり、お…
第二回 SEMATカーネル勉強会 SEAMAT勉強会のつもりでいったらパターンのワークショップでちょっとびっくりしました。 パターンが何かはパターンマイニング参考資料を見てください。 前から「フォース」がよくわからなかった、パターン形式の「フォース」。 …
原作未読。アニメのみの感想 あらすじ 舞台は「指輪物語」のような剣と魔法のファンタジーの世界 そこに君臨する魔王が勇者に破れ現代日本に逃げてくる 魔力も腕力も失った魔王様は生活のためにアルバイトに勤しむ 時代性 ライトノベルがライトノベルたる最…
はじめに 「ディシプリンド・アジャイル・デリバリー 〜アジャイル開発の現実解〜」に参加してきました。#devlove - HOW TO GO というブログエントリに 受託でアジャイルはどうなのか? という記述がありました。世の中には受託でアジャイルをどうやって始め…
はじめに 今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 | つい全力ツッコミしてしまうエンジニアCEOのブログ | sumyappを読みました。最初ツッコミどころが凄い*1なと思ったんですが、二回読んでちょっと思い当たる節があるな…
非同期メッセージングの動きを同期メッセージングと対比して整理します。 メッセージングとは あるアプリケーションから別のアプリケーションへ情報を送る時の送り方です。 送る情報を「メッセージ」と呼びます。 同期メッセージングと非同期メッセージング…
人間の迷いをすごく丁寧に書いてて気持ちいい。 絵は表紙の通り地味。 1巻は不良が捨て猫を助けるみたないい話系。2巻になると残酷な描写も出てくる。 舞台設定は外薗昌也のヴォイスとかワイズマンとか福島聡の機動旅団八福神に似てる。 変な奴に絡まれてつ…
前回インストールしたMySQLを設定ファイルとデータを含めて削除します。 mysqlコマンドのパスを消す sudo rm /etc/profile.d/mysql.sh 自動起動設定を消す 起動していれば終了します。 ps -ef|grep mysql sudo /etc/init.d/mysql stop 自動起動の設定を消し…
apt-get でインストールできないので公式debパッケージからMySQL5.6をインストールする方法。 dpkg -i だけではダメで、ユーザやらの設定も必要。 ダウンロード Download MySQL Community Server で Platform に Debiun Linux を選択すると mysql-5.5.23-deb…
WebSphere(IBMのアプリケーションサーバ)に関する本。 原著は2001年5月に出版。 この本の一番のポイントは、マーチンファウラーがエンタープライズ アプリケーションアーキテクチャパターンの中で言及していること。 本書の扱うテーマ 概要 目次を見ると、…
前回の勉強会エントリに「どういうネタを発表してる」のかってコメントもらったので書きます。 コメント どういうネタを発表してるんだろ / “社内勉強会はヤメだ。自主的はいらん、全員技術発表だ! - Hのキーがhellで、Sのキーがslaveだ、と彼は思った。…