JSオジサン #2 のアウトラインメモ
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, node, titanium等で動く
- 完全オフライン版
- HTMLとかCSSとか画像とかを全部まとめたもの
- オフラインで動いてエクスポート出来るようなアプリj
JavaScript関数コールの追跡 – kobayan_tokyo
- 関数コールの流れをざっくり見たい
手法
- ブレークポイントを貼る
- 関数をラップ
Function.prototype.call
を書き換え
関数ラップ
- windowからみえる関数に対してひらすらラップしていく
- ブックマークレット的にtraceを動的に追加する
- 関数がどこから呼ばれたのか – コールスタックがみえる
あの「note」はAngular.js – takamario
- note
- リリース時にXSSが話題になったサービス
- Angular.jsを使った
- OGP
- botに対してはPhantomJSのレンダリングを返してる
- [“note”がAngularJSでどうやってSEO, Open Graphの対応をしているか|和田 晃一良|note][8]
JSと仲良くなるための心得 – あみみみ
[ニーソニーソ素敵なニーソ][9]
- JavaScript勉強したい人向け
- ニーソ脱ぎゲーム
- 仕様を考えてから実装した
Web Audio APIとGithub Contributionsをマッシュアップしてみた – kubosho_
- Gitub Contributions Music
- どれだけContributeしたかを耳で聴くサービス
- Contributionするほど音が大きくなる
- https://github.com/user にの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][10]
- 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][11]
- CoffeeScript
- brunch
- cordova
- snap.svg
最近のフロントエンド開発スタック
- ビルド管理ツールなどが色々ありすぎる
試す時はsandboxリポジトリに突っ込んでる
- 世の中に欲しいライブラリがない
momic
- ActiveRecordっぽい
Warden
- chapin.jsのルーターを持ってきた
- Vue.jsと一緒に使うため
- そのうちに公式でつく
libretto
- 非同期コントール
- ユーザーとのイベントをステートマシーン的に書く
- 抽象度高い
TypedCoffeeScript
- CoffeeScriptに型チェック
- 静的に型チェックを行える
- CoffeeScriptReduxの拡張として始めた
- CS AST JS ASTいじり
- TypeScript importer
他
- [dts-parser][12]
- d.tsをJSONにするツール
ライブラリを提供することについて
- 相手の環境を制限しない(モジュール)
- ランタイムが大きいaltJSが多い。
- 提供する時はJavaScriptで
- bower/npmパッケージ化
テスト用ライブラリ power-assert とその新機能(仮) – t_wada
[テスト用ライブラリ power-assert][13]
- chaiのassertionの数が無駄に多い
- ライブコーディング
chaiとassertとpower-assert
- chai
- テストコードが冗長
- 失敗時の情報が豊富
- assert
- テストコードがシンプル
- 失敗時の情報が少ない
- power-assert
- テストコードは
assert
そのままに - 失敗時の情報は多い
- テストコードは
テストはただでさえ面倒なのに、テストコードが複雑だとより書かなくなってしまう。
power-assertの目的
- 書く時は簡単
- 落ちるとはうるさく
BDDフレームワークは語彙の繁栄と暴走を生んだ
トークセッション
JSにいさん〜最近生まれたWebサービスのエンジニアたち〜(21:00〜21:30)
その他
帰りにブラウザの内部実装はどこ見るのがいいのかという話をしてた。
前提として[ブラウザのしくみ: 最新ウェブブラウザの内部構造 – HTML5 Rocks][14]はちょっと古く、JavaScriptについては書いてないので他のが欲しい。
- Mozillaの[servo Wiki][15]がドキュメント多い
- Chromium [For Developers – The Chromium Projects][16] も
- Webkitの話は[Surfin’ Safari – The WebKit Blog][17]にたまに書かれる
- これぐらいしかない感じ
- Webkit/Blink Weeklyが止まってしまったので追いにくい
- [Peter Beverloo][18]
- [Lastweek | DarKtears][19]
- [Meta Weekly][20]
- peterさんの所にコミットログをまとめてる[Latest interesting Chromium, Blink, v8 and Skia commits][21]というがひっそり動いてる
- [Blink, Chromium, Skia and v8 statistics][22]
- 最近は[blink-dev – Google グループ][23]に”Last week in Blink intents”というのが立つのが便利
- [myakura][24]システム期待しましょう
- [Planet Mozilla][25]とか
知見
- [blink-dev – Google グループ][23]
blink-dev で Intent to Implement で検索すれば良いと思います! (知見)
— utatane (@Constellation) 2014, 5月 30
- [mozilla.dev.platform – Google グループ][26]
@saneyuki_s @azu_re blink-devと同じようにmozilla.dev.platformでIntent to Implement見ればいいんじゃないの?
— Makoto Kato (@makoto_kato) 2014, 5月 30
@azu_re 補足。Mozillaは、用語さえわかれば「用語 Mozilla(ないし製品名)」でググれば出てきやすい。Mozilla wikiの情報は実装ノートでしかないケースも多々あるし、最新の実装に追従してないケース結構ある
— サーボ太郎(職探し中) (@saneyuki_s) 2014, 5月 30
@azu_re 補足その2。chromiumは開発者のG+かTwitter補足するのが一番いいと思う(omoさんのブログは購読してる前提で)。さすが半社内SNSというか、彼らはあそこに書いちゃうことが多い
— サーボ太郎(職探し中) (@saneyuki_s) 2014, 5月 30
@azu_re 補足その3。Mozillaまわりの情報だと、Mozilla Fluxでおなじみid:Rockridgeさんのはてブがキュレーションとしてはいいんだけど、リポジトリで例えるとmozilla-central成分高いのと、hackyな実装情報は少なめかなー
— サーボ太郎(職探し中) (@saneyuki_s) 2014, 5月 30
@azu_re 補足その4。Servoは、MLとGithubウォッチするのが一番いいです。それ以外に無い(個人的に聞いてくれれば、答えられる範囲で答えるけど)。WebKi実装情報は @Constellation さんや @syoichi さんに訊きたい感じ
— サーボ太郎(職探し中) (@saneyuki_s) 2014, 5月 30
@azu_re 補足その5。Mozillaまわりの本当に今!生の!開発情報欲しければ、#もずでぶ でMJの加藤さんや中野さん(たまに私も)が呟いてるけど、開発IRCと粒度変わらないw
— サーボ太郎(職探し中) (@saneyuki_s) 2014, 5月 30
[8]: https://note.mu/wadako/n/n01733b19bc9c ““note”がAngularJSでどうやってSEO, Open Graphの対応をしているか|和田 晃一良|note” [9]: http://www55.atpages.jp/suisuiami/nisogame/menu.html “ニーソニーソ素敵なニーソ” [10]: https://prottapp.com/ “Prott - Rapid Prototyping for Mobile Apps” [11]: https://speakerdeck.com/mizchi/an-falsewang-muraiburariganai “俺の望むライブラリがない! // Speaker Deck” [12]: https://github.com/mizchi/dts-parser “dts-parser” [13]: http://www.slideshare.net/t_wada/power-assert-jsojisan2 “テスト用ライブラリ power-assert” [14]: http://www.html5rocks.com/ja/tutorials/internals/howbrowserswork/ “ブラウザのしくみ: 最新ウェブブラウザの内部構造 - HTML5 Rocks” [15]: https://github.com/mozilla/servo/wiki “Home · mozilla/servo Wiki” [16]: http://www.chromium.org/developers “For Developers - The Chromium Projects” [17]: https://www.webkit.org/blog/ “Surfin’ Safari - The WebKit Blog” [18]: http://peter.sh/ “Peter Beverloo” [19]: http://darktears.wordpress.com/tag/lastweek/ “Lastweek | DarKtears” [20]: https://azu.github.io//Meta-Weekly/ “Meta Weekly” [21]: http://commits.peter.sh/ “Latest interesting Chromium, Blink, v8 and Skia commits” [22]: http://commits.peter.sh/stats/ “Blink, Chromium, Skia and v8 statistics” [23]: https://groups.google.com/a/chromium.org/forum/#!forum/blink-dev “(99+)blink-dev - Google グループ” [24]: https://github.com/myakura/matthiola “myakura/matthiola” [25]: http://planet.mozilla.org/ “Planet Mozilla” [26]: https://groups.google.com/forum/#!forum/mozilla.dev.platform “(99+)mozilla.dev.platform - Google グループ”
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。