技術と魚

雑感と備忘録

開発tips

AWSで独自ドメインへのメールをSES→S3で受け取るterraformの最小設定

備忘のため。 前提 東京リージョンは2021年1月現在、SESでの受け取りに対応していません。下記は us-east-1 で設定。 tfファイル全体 # account idを取得するためにcaller identityのdataを用意 data "aws_caller_identity" "current" {} # # Route53 # # zo…

getDerivedStateFromPropsでthisがundefinedな件

という問題に直面しました。GitHubのissueをたどってみると、 I understand this might seem a bit overprotective. But I don’t see practical upsides to allowing it. And I see downsides: this will be there, it will just point to a different thing…

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で数式があるドキュメントをいい感じに作る方法

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