core.async-1.1.582 からClojureScriptのJavascript interopのための名前空間 cljs.core.async.interop が用意されPromiseをチャネルとして扱うためのマクロと関数が追加されていたのでメモ。
...
『ブログのインフラ構成を改善する』 にて残った以下の課題。
しかしこれによりWAFの ウェブACL x 1とルール x 1 の使用料が月6ドルが掛かってしまうので、そのうち(1)のLambda@Edgeでアクセス制限す流方法に変更しようと思う。
ということでWAFからLambda@EdgeによるBASIC認証へ移行する。
...
実験的にcore.asyncをベースとしたEvent Bus nijohando/event を書いた。
今回試したかったのは以下の3点。
core.async チャネルベースのインタフェース REST API風なパスベースのイベント処理 Request-Replyパターンのサポート
...
ClojureScriptの非同期処理テストケースで使用するcljs.test/asyncは一つのdeftest内で一度しか使えないという制約がある。
...
複数のソースディレクトリに含まれるClojureScriptをコンパイルしたい場合、 lein-cljsbuildは :source-paths に複数ディレクトリを指定できるのだが、 cljs.build.api/build ではどうしたら良いのかを調べた。
...
『打刻システムの構築(前編)』 『打刻システムの構築(後編)』 『ClojureScriptでLambd@Edge』からの続き。
当初、打刻情報は出退勤イベントのみであったためGoogle Spreadsheetへデータを記録していた。
Google Spreadsheetはブラウザから気軽に閲覧、編集できるため便利ではあるのだが、他の打刻イベントを含め長期間にわたり蓄積していくのには向いていない。
そこで基本的に全ての打刻情報はS3上に蓄積し、任意の打刻イベントのみGoole Spreadsheetへ併記する形にする。
...
『打刻システムの構築(前編)』 『打刻システムの構築(後編)』 では打刻APIを作成し、APIが受け取った打刻イベントをSNSのトピックにパブリッシュ。トピックのリスナーであるLambda関数 dakoku-google-sheets-writer が Google Sheets へ打刻イベントを記録する仕組みを構築した。
...
ClojureScriptのビルドをcljs.build.apiで行った際に java.lang.AssertionError: Assert failed: No file for namespace foo.bar.core exists でビルドが失敗するので原因を調べた。
...