技術と魚

技術調査、開発TIPS、駄文

開発tips

Promiseのスタックトレースが分かりにくい時はbluebirdが使える

JavaScriptのPromiseによる非同期を経由すると、エラー発生時に非同期の呼び出し元以前のスタックトレースが出力されないので、デバッグに困ることがあった。 けど調べてみたらbluebird*1のlong stack trace機能を使えばそれも含めて出してくれるっぽいとい…

intercomからのメッセージにリンクを仕込み、クリックされたらカスタム属性を更新するhubotスクリプト

intercomの機能でそれくらい出来ると思ったら出来なかったので2時間ほどで作った。マーケティングで使えます。以下のような機能があります。 クリックしたら指定したカスタム属性が指定した値に更新される 指定したURLにリダイレクトする クリックしたことを…

‹Child parent={this} /› はアリか

※ 思考実験です Reactはpropsという制約的なコミュニケーション手段があるからこそ、メンテナンス性があがるというもの。*1 今日コンポーネント指向と呼ぶものは、「コンポーネントがpropsによって一意に形態が定まる」という基本的性質に保証されていると言…

npm installがextractで止まる時は

Github上のプライベートリポジトリの影響かもしれません。 止まるケース 以下を満たすと止まることがある。 package.jsonの中に、githubのプライベートリポジトリを指している依存が存在する。 ~/.ssh/id_rsa がpassphraseを必要とするキーである場合で、ssh…

条件分岐が網羅的だと思ったら意図的に最後に例外を仕込むことのススメ

例えば、Rubyはcase式に引っかからなかったらnilになります。 $ ruby -e 'p(case 0; when 1 then true; end)' nil 場合分けのビジネスロジックを書く際にはcase式が有効です。 もし、自分が網羅的なパターンマッチを書いたと思った場合は、最後にelse raise…

Immutable.Recordのクラスにインスタンスメソッドをarrow関数で定義したらダメだったよ

罠の話 #JavaScript #ImmutableJS

GitHub Pages + GitBook + KaTeXで数式があるドキュメントをいい感じに作る方法

ドキュメントに綺麗な数式を表示したくてたまらない人に向けてのソリューション