BPStudy#41のアウトラインメモ
BPStudy#41に参加してきたのでメモってた内容。
TwitterはTogetter – 「BPStudy#41 まとめ」にまとまっています。
^文殊堂
第一部 – RequireJSとeventとUIコンポーネント
BPStudy#41 RequireJSとeventとUIコンポーネント – 文殊堂
RequireJS実践編
jQuery カスタムイベント応用編
粗結合のUIコンポーネントの作成について
RequireJS実践編
RequireJSとは何か?
AMDのブラウザ向けの実装
RequireJS moduleについて
defineでモジュールを定義する。
requireはmain関数みたいなもの。
define – 第一引数に依存してるモジュール、第二引数に中身
(第一引数に関数オブジェクトを渡すと関数の返値になってしまう)
moduleの用途
関数を返すmoduleを定義すれば、関数として使えるmoduleが作れる。
副作用
何も返さないmoduleも有効利用できる
jQueryをextendしてるmoduleを作れば、requireしたときにその拡張してるという保証が存在するため有用になる。
RequireJS本体の前にrequireというグローバル変数があると、RequireJSの設定として認識される
baseurl
module名はpathから拡張子をのぞいたものだけど、pathの基底を変更できる
paths
pathを探す場所をkey-valueで決められる
urlArgs
読み込むjsファイルに指定したパラメーターをつけることができる。(キャッシュ対策)
deps
最初から読み込んでおきたいファイルを決めておける
text plugin
文字列として取得できる
テンプレート的な利用
jQuery カスタムイベント応用編
カスタムイベントはブラウザ定義ではなく独自定義のイベント
jQueryはtrigger,triggerHandlerなどで、イベントの発火ができる(dispatch event)
カスタムイベントは豊かな表現が行える
jQueryはbindでイベント名とイベントハンドラをくっつける
trigerの第二引数に配列を渡すと展開されて渡した状態でイベントハンドラを実行する
data(“属性” , “値“)をつけられる
イベントハンドラの$(this)==evt.target
カスタムイベントでClassを定義する
liveを利用する。
liveは要素ではなくて、CSSセレクタに紐づけることができる。
カスタムイベントでmixin
liveを使ってるので、classを追加するとメソッドを生える
カスタムイベントでcallback
liveを登録して、callbackをcallする代わりにtirgerでイベントを発火させる。
カスタムイベントでmixout
classを追加することでmixinになるため、classを除去すればmixoutできる。
カスタムイベントで同名の関数を呼び出す
存在しない関数も呼んで大丈夫
好きなだけ定義できる
第二部
マスタリング非同期読み込み – os0x
Twitterでも非同期処理やってるけど、本文が表示されるのが最後なので遅い感じがする。
LAB.js
部分的な導入が難しい。
全体を書き換える必要がある。
ControllJS
としてtypeを変えて読み込む。
Controll側で評価する
RequireJS
依存がネストすると非同期にできない。
依存関係が複雑だと、読み込み待ちが発生する。
解決方法として、テキストとして読み込んでおいて評価する。とか
whatwgのwikiにいろいろな手法が乗っている。
第三部
gitの歴史改変について – 神速
BPStudy#41で発表しました #bpstudy – アジャイルSEを目指すブログ
分散SCMの基本的なこと
ネットワーク環境がなくても作業できる
誰かが壊しても問題ない
歴史改変でできること
不要な変更のコミット修正
コミットメッセージの修正
作業途中のコミット
適当なコミットを行える
git add -p
部分変更を記録するコマンド
対話式で部分コミットを行える
git rebase -I
コミットの変更、結合、削除とか
歴史改変の実践編
bisect テストが失敗してるところを2分探索するコマンド
デモ
間違いを打ち消す git revert
過去のコミットを打ち消す
改変世界からの復帰 – reflog
コミットを移動させたり
歴史を変えてはいけないコミット
人のは変えてはいけない
自分の黒歴史だけ
感想
椅子オンリーだったので、膝上PCつらい。
途中でキーボードがトラブった。
カスタムイベントは何か冗長だけど、今後よく使う方向になりそうな予感がするのでいろんな使い方がでてきそう。
また機会があったら参加したいですね。
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。