2016-01-01から1ヶ月間の記事一覧

cssdiffというpackageを作りました

https://github.com/podhmo/cssdiff あとで書く

状態の初期値とangularのonetime bindingの表示について

はじめに angularのonetime bindingは一度だけwatch対象にするらしい。一度だけというのはどのような解釈で一度だけかというのが気になった。 結論 ドキュメント に書いてあった。 One-time binding An expression that starts with :: is considered a one-…

なぜ angularで as syntax を使いscopeの所有関係を明示的に書いた方が良いのかという話

はじめに よく、「巷に溢れているangularのチュートリアルは良くない」だとか。「せめてcontrollerを使うときには as sytanxを使って」という話を聞きます。 それがなぜなのかということを説明してみることにしました。 $scopeの挙動について controllerが云…

console-angularというnpmのパッケージを作りました

console-angular というnpmのパッケージを作りました。 はじめに 作った理由はangularの機能を調べるのがだるいからです。以前から benv を使ってnode.js上でangularを動くようにしていましたがその設定を毎回コピーないしは動く場所で作るというのもだるく…

angular.jsはdataがundefinedだった場合にContent-Type headerを消す

はじめに requestのcontent typeをみて、responseの形式を変えたいと思うことがありました。 そのためにheadersを変えてrequestを投げてみたのですが、どうも上手くcontent typeが付かない。 なぜだろうと思って調べてみたのでした。 実験環境 とりあえず、…

angular.jsのdirectiveで指定するtemplateUrlを埋める方法

はじめに angularでdirectiveを定義する時にhtml template部分をどのように書くかというのは幾つか方法がある。 それについて、どのような時にどのような形で書けば良いかというののまとめ。 directiveのhtml template部分の書き方 angularのdirectiveのhtml…

typescriptで書いたコード中で雑に外部のjsを読み込んでnode.js上で実行する方法(typescriptで書いたangular.jsのコードをnode.js上で手軽に実行する方法)について

きっとtypescriptなどに慣れている人にはごく当たり前のことなのだと思うのだけれど。自分用のメモも兼ねてまとめる。 はじめに typescriptで書いたコードの動作を確認したいものの実行時には少しだけjs側のコードによる準備が必要な場合がある。 (例えば、t…

angularの$parse, $interpolate, $compile 位は把握しよう

はじめに https://t.co/43GvPaLHo0 angularさんについてこれ空で分かる程度には分かっててほしいと思ったりした。— po (@podhmo) 2016, 1月 12 $parse, $interpolate, $compile これらはどれも文字列のような別の表現を解釈してjs objectを返すような機能を…

angularでDIされるserviceがsingletonで困る場合にはfactoryを返すことを考えてみる

はじめに angularでは各serviceの利用時に指定した引数の箇所にDIされる。 これらで生成されるserviceは基本的にはsingleton objectになっている。 このためDIされた各service中では同一のオブジェクトを共有している。 例えば、以下の様なコードがあった場…

benvを使う時にはrequire.resolveを使ったほうが良いかも

以前angular.jsをnode.js上で動くようにするためにbenvを使う記事を書きました。 そこでは以下の様なコードを書いていました。しかしもう少しマシにできそうなのでその辺りのアップデートをします。 benv.setup(function(){ global.Node = window.Node; benv…

手軽にes6を試す環境も作っておきたいと思った

はじめに es6を試す環境もほしい。(今回はes2015とか細かい事は気にしない) とりあえず以下の様なことができてほしい es6で作成したコード片のtranspileの結果を手軽に確認できる es6で作成したコード片の実行が手軽にできる ブラウザから試せるrepl 以下の…

typescriptでstatic memberにobjectを格納しようとした時定義順序を意識しないと実行時エラーになる場合がある。

typescriptでstatic memberにobjectを格納しようとした時定義順序を意識しないと実行時エラーになる場合がある。 例えば以下のようなコード。 class X { static y: Y = new Y(); say() { return X.y.say(); } } class Y { say() { console.log("hai"); } } …

El Captainでmacportsでinstallしたpython3.4上でpycryptoのinstallに失敗する場合

pip install pycrypto 最終的に以下のようなエラー File "/private/var/folders/b7/2rk7xp2d0hb2r21zbzjwxb_m0000gn/T/pip-build-ou9ql5i7/pycrypto/setup.py", line 278, in run raise RuntimeError("autoconf error") RuntimeError: autoconf error もう少…

benvを使ってangular.jsのコードをnode上で動作させる

はじめに テストなどを書きたい時にブラウザを立ち上げずに動作チェックなどをしたいことがある。 しかしangular.jsを直接nodeからrequireすると怒られる $ npm install --save angular $ node -p 'require("angular")' ReferenceError: window is not defin…

異なる型の配列の型を指定したい場合はtupleを使ったほうが良いかも

handbookやspecに書いてあることではあるけれど。 はじめに 例えば以下の様な定義があるとする。 class X { say() { return "x"; } } class Y { } ここで以下のような型は型チェックを通らない。正しい。 let y: Y = new Y(); y.say(); もちろん以下のような…

今年の目標というにはあやふやな何か

今年の目標というにはあやふやな何か 目標というほど明確になっていないのでとりあえずふわふわした状態のままにしておく 方針 pythonからある程度手をひいてtypescriptあたりに時間をかける わりと今年はフロントエンド関連の情報の取捨選択を自分でやる予…