既に利用されている方々とほぼ同じ意見だと思うのだが、私がAngularJSを気に入って使っているのは 構造的に書ける MVVMぽい DOMを触らなくて良い ほぼこの3つに集約される。 1.構造的に書ける AngularJSはアプリケーションを書く際のコードを構造がほぼ決まっている。その構成はビューであるHTMLを除くと コントローラ サービス フィルタ プロバイダ ディレクティブ これらの要素に分類されDIにより疎に結合される。基本的には誰が書いてもこれらの要素を配置する必要がある訳で、同じ要素で構成されるということは他の誰かが書いたコードを読むことが比較的容易だということになる。(JavaScriptで最も苦痛なのは他の誰かが書いた、一か所に固まりすぎた又は逆に分散しすぎたコードを読むことである) 2.MVVMぽい 今のGUIプログラミングでMVCを意識するのはもはやテーブルマナーだろう
「DSL は自然言語のように読めることを目指すべきか」について、書籍「ドメイン特化言語」で、マーチンファウラーさんは次のような見解を述べていました。 1つだけ特に注意してほしいことがあります。それは、自然言語のように読める DSL を目指してはいけないということです。汎用言語でも同様の試みが何度となく行われてきました。 AppleScript はもっとも顕著な例です。このような試みはシンタックスシュガーの濫用をまねき、意味を理解しずらくします。DSL がプログラミング言語であることを忘れないで下さい。そのため、DSL を利用するときはプログラミングをしている感覚を持てるようにすべきですし、自然言語に比べてはるかに高い簡潔さと正確さを DSL は備えるべきです。プログラミング言語を自然言語のように見せようとするのは、誤った方向の努力です。プログラムに手を加えるときは、プログラミング言語の環境
結果だけ見たい人は一番下へスクロール。まぁ読んでいっても面白いとおもうけど。 今日もブログを書くので必死にネタ探しをしていたら、セッキーがこんな興味ある内容をやっていた。 PHPで ‘ と . を大量に繋げるのと “” で一括でやるのどっちがいいの? http://sekki.net/wordpress/?p=65 <?php $value = 'ミートボール'; $start = microtime(true); for($i = 1;$i <1000;$i++){ //下記の2つで実験 //echo '私の大好きな'. $value. ' ヴぁー'; //echo '私の大好きな${valu}eヴぁー'; } $end = microtime(true); echo "<br />\n"; echo $end - $start. '秒処理にかかった'; と、ここまで結果は「後者の方が早
勉強になる記事を見つけたので気になったところを翻訳してみました。Quora’s Technology Examined | Phil Whelan's Blog はじめにQuoraはハイテク起業家の世界を体現しており、問題を見つけるのが難しいほどなめらかなシステムを提供している。この巧妙なシステムは回答者と質問者だけに支えられているわけではなく、よく練られたバックエンドシステムによっても支えられている。それは共同創業者がFacebookで磨きをかけた技術でもある。さほど驚くべきことでもなく、賢い人々は良く考えられたたくさんの賢い道具を使う。NoSQL信者たちはこう言って頭をかかえる:「なぜQuoraはCassandraやMongoDBやCouchDBのようなNoSQLではなく、MySQLをデータストアとして使うのか?」このエントリではQuoraについての技術的な情報をまとめ、考察を行う。彼
backtickさんのコードをみて初めて知ったけど、PHPの変数展開(ダブルクォテーション中の波括弧、文字列中の置換とかなんとか)は意外と複雑。 $hoge = 'fuga'; echo "$hoge" ; #fuga が出力される echo "${hoge}"; #fuga が出力される echo "${'hoge'}"; #fuga が出力される・・・ echo "${"hoge"}"; #fuga が出力される(parse errorじゃないのか!) ついでに関数も展開できるらしい $f = 'str_repeat'; echo "{$f('abc ',3)}"; #abc abc abc が出力される echo "{$f('abc ', 1 + strlen("aa"))}"; #abc abc abc が出力される どうやら関数の引数はワンライナー書き放題っぽい。しかし、単にダブ
先日、ドコモのAndroid端末である「GALAXY S」を予約したわけですが、そうなると気になるのが、ずーっと前から気になってたHTML5について。これからスマートフォンが普及するにつれて、無視出来ない技術であるのは誰の目にも明らかなのではないでしょうか。 てことで、HTML5について調べてみたメモです。 HTML5の概要まずは難しいことは抜きにして、概要を読んでみると分かりやすいです。 HTML5, きちんと。この記事だけで十分です。長くもなく、文字も少ないので非常に入りやすいです。 HTML5仕様関連一応ですが、仕様について。 HTML5.JP - 次世代HTML標準 HTML5情報サイトHTML 5 ― HTML 4 からの変更点 (http://www.w3.org/TR/html5-diff/ 日本語訳) 必要に応じてみればいいので、細かくは見てません。 基礎知識概要が理解出来
社会で生きていくとしたら、人間関係が、いろいろなことに影響を及ぼします。 『人を動かす』という有名な本がありますが、人に対する影響力によって、成果なども変わってくることでしょう。 影響力を考えることは、成果や人間関係などに役立つはずです。 というわけで、自分用のメモでもありますが、こちらも有名な本である、『影響力の武器』についてのポイントをまとめておきたいと思います。 影響力の武器[第二版]―なぜ、人は動かされるのか 影響力の武器[第二版]―なぜ、人は動かされるのか 本書は、何に影響されるのか、人は何に動かされるのかということが書かれています。 以下の6つを影響力の「武器」、人が動かされるものとして、紹介しています。 返報性 コミットメントと一貫性 社会的証明 好意 権威 稀少性 以下、それぞれを簡単に紹介して、自分の考えなどを書いておきます。 1 返報性 社会学者や人類学者によると、人間
はじめに この記事は「PHP Advent Calendar jp 2010 : ATND」の12日目です。 昨日はyuyakさんの「PHPマニュアルを読み解く」でした。 PHPで携帯対応とか 最近はフレームワークを利用した開発が主流なこともあり、(CakePHPであればKtai Libraryと言った具合に)フレームワークごとのライブラリで対応することも多いかと思います。 ですが、仕事で自社独自のフレームワークを利用していたり、昔から運用されているシステムだったり、何らかの理由で携帯対応のライブラリが簡単に導入できない場合もあります。 そういった場合に「このあたりを知っておくと何とかなるんじゃない?」的なものを書いてみます。*1 前提条件 前提条件としては、3G以上の携帯前提です。 また、3G以上の携帯に対応させるための基礎知識としては、 3G携帯のみに限定したサイトを作る場合(ウノウラ
今日、MySQLをいじっていて、とあるテーブルのカラムに「DEFAULT CURRENT_TIMESTAMP」をつけようとしたら、 #1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause とか怒られるんです。 ん?俺はほかのカラムには一切DEFAULT属性をつけてないぞ??と思っていたら、MySQLのマニュアルにこんな一節が。 最初の TIMESTAMP カラムにとって、DEFAULT NULL は DEFAULT CURRENT_TIMESTAMP と同じです。それ以外の全ての TIMESTAMP カラムにとっては、DEFAULT NULL は DEFAULT 0 として扱われます。 なぬ
中国語に堪能で、現在は日本語を勉強している金さんという韓国人の友達がいるんだケド、昼はいつも一緒に自炊しているですよ。こっちに来てからズッーとそうしてるんで、最初はぎこちなさが面白かった彼の日本語は、今やすっかり面白くなくなる程に成長したです。で、ワスは、食後に一時間程、教科書の課文を読んで、発音のオカシナところをなおしてもらってんですが・・・ 今日、ワスが教科書を読んでいたら、彼の携帯がなって・・・ 「すみません、兄からです」 「全然構わないから、出て下さいよ・・・」 っていって、韓国語で会話を始めた彼が、とてつもなく驚いた声を挙げて目を丸くしているんで(ホントに丸くなってた!)、思わず、「何かあったの?」って聞いたら、「韓国と北朝鮮が戦争になりました」とだけ言って、韓国にいるお兄さんと緊迫したやりとりを続けてるんで、ワスは同居している日本人にも声をかけて、あわててテレビを付けたり、ラジ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く