タグ

ブックマーク / tanakahisateru.hatenablog.jp (3)

  • JavaScriptはいかにしてprototypeを捨てクラスベース継承を得るのか - なんたらノート第三期ベータ

    きっかけは、prototype と constructor と __proto__ の関係を再確認していたときでした。JavaScriptはこうだけど、これって、AltJSな言語の継承はどうなってるんだろうと思って試したくなりました。 ちょっと気持ち的に、なんだか宗教に入ったみたいに俺は JavaScript がわかったって声高に言う人、だいたいみんな、プロトタイプチェーンによる移譲がクラスベースの継承に束縛されていた思考のブレイクスルーなんだぜ、みたいに言うんだけど、いったいそれがどれほど素晴らしいものなんだろうと考えてしまい... もしプロトタイプチェーンがそんなに素晴らしいんなら、npm にあるほとんどのライブラリがチェーンを活かして作られてない理由が説明できない。もしかしたら、仕組みがいくら面白くても、実際のメンタルモデルにフィットせず、実は使い物にならないんじゃないか ----

    JavaScriptはいかにしてprototypeを捨てクラスベース継承を得るのか - なんたらノート第三期ベータ
  • PHPとかいろいろ演算代入系の演算子のハナシ - なんたらノート第三期ベータ

    PHPの関数定義はこんな変態的な書き方ができる - 頭ん中 に、続いて。アンリーダブルコードで勉強しようというのがあった、そのとある勉強会の発表ネタです。 これは、PHPMarkdownパーサ の実装を可能な限りそのまま綺麗に変換してJavaScriptに移植しようという js-markdown-extra をやっていたとき、大ハマりして修正に苦労したバグの話から来てます。 演算代入。+= とか *= とかのやつ。関数型の人以外はきっと常用してますね。じゃあ問題。 <?php $tokens = array("a", "b", "c"); $tokens[0] .= array_shift($tokens); print_r($tokens); こうするとどんな結果が出力されるでしょうか。PHPです。 自身の先頭から要素を取り出して、それを先頭要素に文字列追加する。array_shift

    PHPとかいろいろ演算代入系の演算子のハナシ - なんたらノート第三期ベータ
    mainyaa
    mainyaa 2013/08/30
    perlがスライス使っちゃってる。@token[0]じゃなくて$token[0]
  • Yiiフレームワークでもっと理解したいMVCの話 - なんたらノート第三期ベータ

    2011年内に書ききれなかったトラックバックです。あけましておめでとうございました。 PHPのアドベントカレンダーに Ruby on Rails と CakePHP と Django と Symfony2(*1.x とは別物なので2と明記) の特長がうまくまとまってるいいエントリが書かれていました。 フレームワークで語るMVCの話 : PHP Advent Calendar #19 - basuke の日記 で、Yii をネタに加えて、勝手に追っかけたいと思います。Yii を題材にしますが、だからみんな Yii を使えという話ではなく、MVCフルスタックフレームワークは Yii から学ぶことがいっぱいあるという話です。 Yii の第一印象はよりオブジェクト指向的な CakePHP でした。config フォルダ以下のファイルに array で設定を書いて、models と controll

    Yiiフレームワークでもっと理解したいMVCの話 - なんたらノート第三期ベータ
    mainyaa
    mainyaa 2012/04/16
  • 1