WordCamp vancouver 2012へ行ってきた、まとめ
.VancouverのBCITで開催されたWordCamp Vancouver 2012に行ってきました。WordCamp東京でもWordCamp大阪でもありませんのであしからず。非力の英語力ながらもレポを残します。
WordCamp Vancouver 2012
http://2012.vancouver.wordcamp.org/
案の定、英語が難しい。
ボイレコ持参し、自宅で聞き直してみても、やっぱり難しい。現地にいるときより難しい。勉強不足だね。
というわけで、まとめます。ボイレコの内容しっかり把握できたら書き直します。
2部屋で行われ、全体の参加者は300人前後ぐらいかなと。
SESSION 1 :
Tips to Grow Your Professional WordPress Business
Make a Money
- マーケットのターゲットをしぼる
- 自分のニッチな分野、得意分野を生かそう
ブログ・Eコマース・Podcast。なんでもいいよ。
自分の得意分野をビジネスにすればいいんだ。
自分が多くの時間を費やしたものに。
価格は内容次第だよね。 - 無駄を取り除く
Community
ミートアップに積極的に参加しようね。なんでかって?
- 人とのつながりができるよね。
人から学べるもの、得るものもがある。
サポートしてくれる人が見つかるかもしれない。 - ブランディングになるよね。
自分でミートアップを主催するようにしようね。
評判がつくよね。可能性も膨らむよね。
少しずつ規模が大きくなるよね。
Stability
あんまり理解できなかった。
- Create Methods
同じ事の繰り返し?コピペコピペコピペコピペは時間のむだだよね。システム化しちゃえばいいじゃない。的な。 - Fire Someone Today
- Be Excellent
SESSION 2 :
Your project is only as good as your documentation
PHPソースの話。コメント、ドキュメントはすごく大事。
他人が修正するときドキュメントがないとすごく大変。
自分だけが使う物だとしても、数年経てば忘れる。
その都度コードを読み直す?Dont Waste your time.
function名とコメント説明がほとんど同じなんてナンセンス。しっかりと人間読んで理解できるドキュメントを書きましょう。
形式はPHPDoc形式を使おう。
なんでかというと、IDEですん〜〜〜ごく便利だから?
IDE使ってない?エディタ何使ってるの?[Sublime text](笑)いやいや、IDEつかおうよ、IDEを。
IDEは何でも良いけど、PHPDocのプラグインがあるやつね。
私はnetbeanだよ、Netbean。sublime textにプラグインあればそれでもいいよ。とのこと。
(wordcamp参加者のエディタNetbean率が高かった。codaとsublime textと。)
http://www.phpdoc.org/docs/latest/index.html
よく使う形式
@access、@link(関連URL)、@see(関連ファイル、URL)、@uses(参照function)などなど
SESSION 3 :
Build a Membership website with WordPress
- プラグイン「s2member」を使うと会員サイトが簡単につくれるよ。
- [s2memberの導入レクチャー]
・インスト後の環境設定から、Security keyを忘れないようにね。
・サインアップページを作ろう。 - 会員種別は5種類作成できる。そのうち一つは、フリー会員用だから、実質4つ。
- 会員のみ閲覧ページはもちろん、会員のみの動画、画像、コンテンツ表示とか、指定した箇所のみ、ショートコードを利用して、if文みたいに会員限定箇所を指定できる。
- IPアドレス制限数を指定できるよ。
なんでIPアドレス制限するかというと、会員パスを複数人で流用されることもあるよね。
だから会員で支払った人しか閲覧できないようにしたい。
自宅、職場、などなど、接続元のIP数もある程度制限しよう。 - ファイルDL型でも、会員限定にできるよ。
- 支払いはPaypal対応。
PaypalのAPIを利用するのでPaypalビジネスアカウントでしか利用できないので注意。
期間を指定。期間が過ぎた後、自動的にフリーアカウントにするかどうかも設定可能。
SESSION 4 :
Mistakes I made using jQuery, and how to avoid them
jQuery好きだよね、みんな。
まずはじめに
- コアのjQueryを使う!!コンフリクトが生じる
wp_enqueue_script(“jquery”); - いきなり$()で初めない。
jQuery(document).ready(function($){…….});
または、
(function($){…..}(jQuery)); - あなたのイベントにネームスペースを追加しよう。
例:$(…..).find(…).hide().off(‘click.myplugin’).on(‘click.myplugin’);
セレクタ
- メモリにキャッシュさせよう。
$(“#hoge”).~~~~();
$(“#hoge”).~~~~();
$(“#hoge”).~~~~();
とやるなら
var hoge = $(“#hoge”);
hoge.~~~~~();
hoge.~~~~~();
としよう。 - さらにチェーンさせたほうがよい。
hoge.~~~~~().~~~~~().~~~~(); - チェーンで高速化。end()を有効活用。
- セレクタ高速可
$(“.widget”).on(“click”,showMenu);
より
$(“.widget”,”#sidebar”).on(“click”,showMenu);
の方ががはやい。
$(“#sidebar”).find(“.widget”).on(“click”,showMenu);
の方がもっといい。
イベント
- bind/delegate/on の説明
テーブルなんかが、すんごくでかい時は、
$(“table”).find(‘td’).on(“click”,function(){………});
より
$(“table”).on(“click”,”td”,function(){………});
の方が良い - custom event、trigger の説明
Ajax
jqueryの$defferred を使おう!
http://api.jquery.com/category/deferred-object/
スライドが公開されてます。コードがあります。
http://www.slideshare.net/apeatling/tips-for-writing-better-javascript-using-jquery
SESSION 5 :
Caching in WordPress: Invalidation Schemes
一番興味があったところだけど、英語も何もかも難しかった。
高速化にはキャッシュは必要不可欠だよね。APCとか、mamecacheとか、いろいろあるけど、wordpress側での話をするよ。
オブジェクトをキャッシュ
wordpressについてるwp_cacheを使ってwordpressのオブジェクトのキャッシュをすることができる。
たとえ小さなプラグインだとしても、キャッシュを考えた方が良いよね。
http://codex.wordpress.org/Class_Reference/WP_Object_Cache
どのタイミングで、作るか。再作成するか。
(具体的に説明してたけど、うまく理解できなかった。UNIXタイムスタンプを利用したら、重複しないよね的な事だと思うけど。)
詳細は登壇者のブログで丁寧に解説されています。
http://tollmanz.com/invalidation-schemes/
SESSION 6 :
BuddyPress: Beyond Facebook clones
BuddyPressはSNSサイトを簡単に作れるwordpressプラグイン
BuddyPressでなにができるか
- 教育機関のサークル/ネットワークのSNS
- 企業イントラネットでの情報共有向けのSNS
- すごくニッチな趣味向けSNS
- 製品に関するユーザーのSNS
プラグインが充実してる。したい事が比較的簡単に実装できるよ。
ゲームだとか、バッジだとか。課金したりだとか。
BuddyPressは重い。問題です。がんばります。
ショーケースで実際のサイトの紹介
http://buddypress.org/showcase/
SESSION 7 :
Interacting with External APIs
外部APIを利用する場合はwordperssのものを利用しようね。
HTTP_APIを利用して、外部APIと連携させるライブコーディング。拍手喝采。
ついでに、wordpress CODEXのAPIドキュメントもリアルタイムで修正してた。拍手喝采。
[HTTP_API]
http://codex.wordpress.org/HTTP_API
スライドやソース、解説は提供されています。
http://2012.vancouver.wordcamp.org/session/interacting-with-external-apis/
以上。英語って難しいよね、ほんと。