JSオジサン #2に参加してきたメモ

Welcome LT(19:10〜20:00)kyo_ago

  • application cache と MitM
  • ApplicationCacheのgetterを潰す事で更新の妨害

君よ知るや JScript.NET – hebikuzure

  • MSのサーバーサイドJS

MSのクライアントJS

  • WSH
  • HTA
  • JScript.NET

JScript.NETの特徴

  • 変数の型宣言が出来る
  • 定数
  • classが作れる
  • Typed Array
  • コンパイルして実行ファイルを生成出来る

ダメだったところ

  • IDEがJScript.NETをサポートしてない

jSCript.NET

  • Visual Studio 2005をインストールすると実行出来る
  • exeファイルが作れる

JSRelを使って完全オフラインなブラウザアプリ – 西小倉宏信

JSRelでlocalStorageを使って 完全オフラインなブラウザアプリ@JSおじさん #2

  • オフラインで動いて欲しいウェブアプリの要件
  • JSRel というライブラリ
    • localstorage, node, titanium等で動く
  • 完全オフライン版
    • HTMLとかCSSとか画像とかを全部まとめたもの
    • オフラインで動いてエクスポート出来るようなアプリj

JavaScript関数コールの追跡 – kobayan_tokyo

Java script関数コールの追跡
Java script関数コールの追跡(改)

  • 関数コールの流れをざっくり見たい

手法

  • ブレークポイントを貼る
  • 関数をラップ
  • Function.prototype.callを書き換え

関数ラップ

  • windowからみえる関数に対してひらすらラップしていく
  • ブックマークレット的にtraceを動的に追加する
  • 関数がどこから呼ばれたのか – コールスタックがみえる

あの「note」はAngular.js – takamario

JSと仲良くなるための心得 – あみみみ

ニーソニーソ素敵なニーソ

  • JavaScript勉強したい人向け
  • ニーソ脱ぎゲーム
  • 仕様を考えてから実装した

Web Audio APIとGithub Contributionsをマッシュアップしてみた – kubosho_

  • Gitub Contributions Music
  • どれだけContributeしたかを耳で聴くサービス
  • Contributionするほど音が大きくなる
  • APIがないのでsuperagentで持ってきてJSON化してる
  • JSONを元にWeb Audio APIで鳴らしている

みんなが調べないJS調べてみた – can_i_do_web

  • 女子小学生(JS)というフレームワークについて
  • 日本語ドキュメントが豊富
  • MVC
    • Model – 命名規則が曖昧
    • View – UIは親の影響をウケる
    • Controller – 厳しく管理されてる
  • 実績は豊富にある

いまさらGruntの話 – 松本慶一郎

Prott – Rapid Prototyping for Mobile Apps

  • Gruntで使われてるライブラリの紹介
  • coffee-script
  • grunt-ngmin
  • coffee-lint
  • sass
  • grunt-autoprefixer
    • caniuseから自動的にprefixを使う
  • jade
  • usemin
    • js等を圧縮してくれる
  • imagemin
    • 画像のminfiy
  • svgmin
  • connect-proxy
    • railsと繋ぐところ

TIPS

  • 便利でーす
  • generator-anglar大体そのまま

便利

俺がほしいライブラリがない! – mizchi

俺の望むライブラリがない! // Speaker Deck

  • CoffeeScript
  • brunch
  • cordova
  • snap.svg

最近のフロントエンド開発スタック

  • ビルド管理ツールなどが色々ありすぎる

試す時はsandboxリポジトリに突っ込んでる

  • 世の中に欲しいライブラリがない

momic

  • ActiveRecordっぽい

Warden

  • chapin.jsのルーターを持ってきた
  • Vue.jsと一緒に使うため
    • そのうちに公式でつく

libretto

  • 非同期コントール
  • ユーザーとのイベントをステートマシーン的に書く
  • 抽象度高い

TypedCoffeeScript

  • CoffeeScriptに型チェック
  • 静的に型チェックを行える
  • CoffeeScriptReduxの拡張として始めた
    • CS AST JS ASTいじり
  • TypeScript importer

ライブラリを提供することについて

  • 相手の環境を制限しない(モジュール)
  • ランタイムが大きいaltJSが多い。
  • 提供する時はJavaScriptで
  • bower/npmパッケージ化

テスト用ライブラリ power-assert とその新機能(仮) – t_wada

テスト用ライブラリ power-assert

  • chaiのassertionの数が無駄に多い
  • ライブコーディング

chaiとassertとpower-assert

  • chai
    • テストコードが冗長
    • 失敗時の情報が豊富
  • assert
    • テストコードがシンプル
    • 失敗時の情報が少ない
  • power-assert
    • テストコードはassertそのままに
    • 失敗時の情報は多い

テストはただでさえ面倒なのに、テストコードが複雑だとより書かなくなってしまう。

power-assertの目的

  • 書く時は簡単
  • 落ちるとはうるさく

BDDフレームワークは語彙の繁栄と暴走を生んだ


トークセッション
JSにいさん〜最近生まれたWebサービスのエンジニアたち〜(21:00〜21:30)


その他

帰りにブラウザの内部実装はどこ見るのがいいのかという話をしてた。

前提としてブラウザのしくみ: 最新ウェブブラウザの内部構造 – HTML5 Rocksはちょっと古く、JavaScriptについては書いてないので他のが欲しい。

知見