#副本部長_sushi という:sushi:イベントをしたのでそれのログです。


ロジック、E2E、描画、音、動画、Example、文章 - 色々なJSテストというタイトルで発表してきました。 タイトル通り、最近やったようなテスト事例をひたすら書いてる感じです。

自分の中で結構気に入ってるのがNodeライブラリなどをexampleテスト(勝手に付けた)をするというパターン。

  • exampleというディレクトリを作って
  • ライブラリをnpm i -S ../でローカルモジュールとしてインストール
  • example.jsなどとしてサンプルコードを書く
  • 実際に動かして正常終了する

というのをテストするパターンです。

スモークテストかとかそういうたぐいのもので、テストが書きにくいものでも不安感を解消できたり、package.jsonの間違いなどに気づいたり、実際に動くサンプルコードが出来上がるという副産物もあります。

実際にブラウザを動かして確認するテストは今なら結構selenium-webdriverなどを使って書けるようになってきてるので、その辺は工夫でどうにかなるパターンも多いのではないかと思います。

とりあえずCIで動かすようにしてみようというのがはじめの第一歩としていいような気がしています。


もう一つ、Visualize TC39 Processというのも発表しました。

これはES nextの策定プロセスを分かりやすくまとめた記事 · Issue #57 · azu/azuの調査中に出来た副産物のようなものでおまけ的な感じです。


Node.js forkについて - 会長

JerryScript : JavaScriptエンジン IoT.js : Node.jsみたなフレームワーク


Railsで学ぶウェブセキュリティ - jxck

  • Railsのデフォルトの設定などから学ぶウェブセキュリティについて

X-Xss-Protection: 1; mode=blockについて

  • IE だとデフォルトでXSSフィルタは有効
  • だけど、デフォルトの設定ではフィルタした部分を###とする
  • mode=blockを付けることで、###ではなくページを真っ白にする
  • 安全に倒すために X-Xss-Protection: 1; mode=block としてる

TypeScript + core.jsのcompat table

の問題


Browserifyとes6 modules


scala.js - kyo_ago

Fluxを使ったScalaJSの二層式フロントエンド #jsオジサン

  • 「サーバサイドの実装が終わってもフロントエンドの実装待ちでリリースできない」を減らしたいのと、DDDでやりたい。
  • クライアントサイドとサーバサイドのscalaのコードを共有するのが目的ではない
  • フロントエンドとバックエンドの定義は https://speakerdeck.com/koichik/isomorphic-survival-guide この辺
  • フロントエンドのフロントエンド と フロントエンドのバックエンド(こっちがscala.js)の二層式的なアーキテクチャ
    • これはReact(Flux)がある程度前提のアーキテクチャ
    • フロントエンドのバックエンドはscala.jsで書けるようなweb workerで動くようなpureなjsの世界
    • フロントエンドのフロントエンド <-> フロントエンドのバックエンド をpostMessageでメッセージでやり取り
    • メッセージパッシングで若干複雑なコードがでてくるかもだけど、実行コスト自体はそこまででもないはず
  • こういうアーキテクチャでやることで、サーバを書いてる人がフロントエンドのバックエンドもscala.jsで透過的に書けるように
    • 人材リソースの共有が目的の一つ(not コードシェア)
  • 別にscalaでなくてもよくてDDDの環境として、scalaが適当であったのでscala.js
    • (最初はTypeScript予定だったけど、TypeScriptでDDD環境が)

その他

  • 雑誌とかで技術的な記事はスピードが問題になってる。
  • 文章に落とす部分がコスト高い -> podcastやインタビューがコンテンツになっていってる?
    • 口伝っぽい

副本部長おめでとうございます。