第1回WordBench東京勉強会に参加した

http://tokyo.wordbench.org/2009/06/08/wordbench-tokyo-20090628/

WordPressの勉強会があるとのことで席が取れたので参加してきた。
発表資料はWebで公開されるようだけど、ざっと取っていたメモと感想をアップします。

WordPress 翻訳システム入門
発表者:tenpuraさん

  • wordpressが採用している国際化
    • gettext
    • 独自の国際化システム(浸透中)
  • getext
    • poファイルでやるやつ
    • わからない人は挙手→4人くらい
    • wordpressはmoファイルの法を読んでいる
    • 部分的にはハードコードして翻訳している
      • setup-config.php akismet.php (gettextが初期化されてないタイミング)
      • ヘッダコメント内のDescription
      • WinMergeで差分を確認するデモ
    • Poedit
      • バイナリも作れる
  • 翻訳データ読み込みの流れ
    • WPLANG
    • moファイルを読み込む
    • 翻訳メモリを作成 $l10n
  • 国際化システムの仕事その1
  • その2
    • /*WP_I18N_XX*/ 置換されるマジックコメント
  • その3
  • 2.8で変わったこと
    • msgctxtがサポートされた
    • 同じmsgidでもコンテクストごとに訳を変えられる
    • poファイル内にmsgctxt
    • msgidが衝突しても大丈夫
    • 外部のライブラリを使っていた部分を独自ライブラリに置き換えた。
    • _c() _x()は _x() _nx()になった。
  • Pendingの例
    • 承認待ち
    • レビュー待ち
  • translators:xxx コメントの追加
  • 詳しくは
  • 注意
    • Poeditはmsgctxtには未対応(表示できない)
    • コメントは表示してくれるので translatorsは見れる
  • 自作プラグインでの国際化の例

感想
WordPressの国際化対応をしている際に必要な知識のサマリといった感じ。コミュニティが活動しているお陰で日本語対応されているソフトウェアが使えるのはありがたいですね。ここで得た知識がどういう局面で利用できるのかの例が出ているともっと身近に理解できるのかも。
国際化対応する際にmsgidがバッティングすることはよくあるのでmsgctxtの例が見れたのはよかった。


CMS として使う WordPress の○×
発表者:大曲さん

  • CMSの動向
    • 今後の導入希望 13.6% +1.8%
    • MT 27.2% インストール型 22.1
    • インターネット白書2008からの抜粋
  • CMSとして見たWPの丸
    • 無料
    • 本体改編なしにカスタマイズ可能
    • 生PHPなので初心者でも扱える
    • 世界シェアNo1
  • ×
    • ブログとしての限界
      • 更新時にプレビューできない
      • 承認フローが困難
      • やっぱりメインは投稿
    • 不具合が多い
    • 動的ページ生成による負荷
      • HTMLと比較して10倍ほど遅い
      • 10000記事から体感的に重い
  • 適したサイト
    • コストがシビア
    • 承認なしでの運用
    • 100ページ以内くらい
    • カスタマイズが必要な場合
  • 構成方法
    • ページ機能をベースとして構成
      • 親子関係も使う
      • wp_list_page を使いナッビゲーションを制御
    • 投稿は最新情報やカテゴライズされる情報に
    • サイドバーなどはウィジェット、非公開ページで管理
  • CMSとして使う場合のテーマ
    • Classicテーマをベースにしてカスタマイズ
      • index.phpのみ使う
      • 必要な機能はfunctions.phpへまとめる
  • プラグイン
    • WP Multibyte Patch
    • あと10個くらい
  • 大事なこと
    • ユーザに合わせた更新方法
      • youtubeなどはショートコードで。
      • TinyMCE Advanceでstyle.cssを編集時も反映
    • 管理範囲の策定
  • サイト紹介
    • 新華通信ネットジャパン
      • 11万記事
      • 会員機能とのブリッジや広告管理をプラグインで実装
    • ミヤガワホームズ
      • カスタムフィールドなどを活用
    • シンxクロ

感想
CMSとして使う場合の定番プラグインなどがあると思いきや、カスタムフィールドや非公開記事などを活用してCMS的に使うという話。事例を公開されているのが先進的だなぁと思います。他のブログエンジンやCMSとの比較があってもよかったかも。


WordPress ビデオ映像配信入門
発表者:Atsushiさん

  • 自己紹介
    • WordCampでビデオ撮影してました
  • VideoPress
    • wordpress.com向けのサービス
    • $60でHD画質で配信可能、3GBまで。
    • 管理画面のメニューからアップグレードを選択すればサインアップできる
    • podcastとかもやってくれる
  • Threetype of wordpress
  • Video Solution Framework Plugin
    • wordpress.com で使われているやつが公開されている
    • .org にも MU にも使えるはず
    • 複雑
      • NFSとかDBとかいろいろ使う、変換サーバも別に用意
  • WordPress.tv
    • プロトタイプだったらしい
    • サンフランシスコの映像とかが今は多い
    • 北海道在住のMicheal Pickの好意で管理画面を見せてもよいとの便り
    • 1映像・1記事
    • 映像向けの分類が拡張してある(プロデューサ、スピーカー、タグとか)
  • WordPressでやるなら

感想
WordPress.comのサービスを使ったことがないので、すこし新鮮だった。youtubeなどを張りこむだけなら何も準備はいらないけれど、動画の配置場所やホスティングサービスの追加機能を使うかどうかで開発の必要性が変わってくるのかもしれない。


WordPress 2.8用のウィジェットの開発
発表者:藤本壱さん

  • 自己紹介
  • ウィジェットAPI
    • 2.8でクラスが新設された
  • 手順
    • WP_Widgetを継承する
    • 4つの関数を作る
  • ステータス表示ウィジェットを作ってみる
    • クラスとコンストラクタを定義
    • formメソッド
      • フォームを出力する処理
      • $instanceに現在のエントリ情報
      • formを表示する処理を書く
      • エスケープは esc_attr でやってた
    • updateメソッド
      • $old_instanceを元にあれこれつくって returnする
      • 変数を加工するだけで保存とかはやってくれるわけですね
      • strip_tagsでいいのかなぁ・・・
    • widgetメソッド
      • ウィジェットの内容を出力する
      • 前後の出力内容はパラメータで渡る
      • $instanceと$argsを使ってあれこれ出力すればよい
      • $wpdbのグローバルとかを獲得すればDB処理とかも適当にできる
    • ウィジェットの登録
      • add_action をクラス定義の外で呼んで登録する。


感想
サイドバーなどに独自の処理を入れる際に便利なウィジェット機能の紹介。小さなフレームワークのようになっていて、変数などを簡単に操作するだけでウィジェットとしてデータ操作などをやってくれるのがとても便利そうに見える。WordPressに関する開発の書籍を刊行予定との事でそちらも面白そうです。


MacPorts で作る WordPress ローカル環境
発表者:池田百合子さん

  • WordPressの動作環境を作る
    • テーマやプラグインのテスト
    • ただし自動アップグレードはうまく動かない ~を解釈できない
    • 半数ぐらいの人はローカル環境らしい
  • OS Xなら簡単
  • Variants
    • preforkとworkerとか
    • メタパッケージ的なもの
    • debianはパッケージ数が多くなりがち
  • XCode を入れる
  • post installなコマンドは自分で実行する
  • mysqlのソケットの位置が特殊なので注意する

感想
MacPortsで開発環境を作る手順の説明。Macを開発に使ったことがないので知らない事が多かった。他のパッケージ管理方法との比較などがなかったのでMacPorts自体の特徴がよくわからなかった。とはいえMac使っているヒトは大抵つかっているようなので機会があれば使ってみよう。


全体を通しての感想

やはり初めての会場は迷ったりするので、会場の案内などは毎回丁寧すぎるくらい必要なのだろうと感じた。また勉強会や発表の方向性を主催者側が示すと方向性はあつまりそうだけれど、特に指定がない今回のようなスタイルは全体の雰囲気や関心の度合などを推し量るような感じになるのだろうと感じた。

主催者、発表者のみなさんおつかれさまでした。

Redmine勉強会は盛り上がりました!

Redmine勉強会 - events.php.gr.jp

思い立って企画し、ゆるく実施までこぎつけたRedmine勉強会ですが、とても盛り上がる面白いべ勉強会になりました。
通常よりも準備にかかわる人間が少なかったので、分かっていてやってしまったポカもあるのですが、おそらく参加して頂いた皆さんには有意義な時間が過ごして頂けたのかなと思います。
・・・・というか、主催者が言うのもなんですが、自分がとっても楽しめました。

鈴木さんがUstreamでの配信もしてくれましたので動画の資料も残っていますので、内容は下記に。

実践Redmine カテゴリ設計にご用心

  • 僕の発表です。
  • Redmineを使っていたり、candycaneへの移植をしていて気になった分類についての話。
  • Redmineは入力したものがどこで見えるのかのバリエーションが多い
  • どのように作業を確認したいのかを決めて、それに応じた分類設計と入力が必要です
  • そして実はほぼcandycaneのデモだったという釣り
  • ustreamは下記

Redmine活用術 〜孤独なシス管の場合〜

  • id:kirara_397さん
  • 情シス的な立場での導入事例
  • 導入が難しそうと判断して時点でセグメントを切った運用へ
  • 微妙に物足りない部分はコードに手をいれる
  • 社内向けの告知にニュースを使った
  • 人生のRedmine
  • ニュースの続報を徹底的に追う為のRedmedia
  • ustreamは下記

効果的なアジャイル開発の実現に於ける Redmineの運用事例ご紹介

完璧なRedmineなど存在しない

Redmine ユーザ一括登録プラグインを作ってみたのでそのご紹介


詳細は動画を見てもらうのが良いと思いますが、それぞれ全く違うところに目をつけて活用しているのが興味深いです。その汎用性ゆえにどうやって使っていいのかピンとこないという人は多いと思いますが、「好きなように使えばよい」というのが今の時点での答えのように思います。逆にいうと好きなように使うためには何をすればいいのかがポイントなのかもしれません。

インストールの方法などの先の情報が少ないRedmineについて「世論」を形成するという目的で開催した勉強会ですが、とても刺激が多かったです。
個人的にはまだまだ面白い利用事例やそれぞれの方の持論を聞いてみたいなーという感触を持ちました。
発表者のみなさん、参加者のみなさん お疲れ様でした。

次は第2回Redmine勉強会でお会いしましょう!


6/12 Redmine勉強会の発表者が仮確定しました

Redmine勉強会 - events.php.gr.jp

来週の金曜日に開催するRedmine勉強会の発表者の方と連絡が着きました。
発表タイトルなどはこれから調整になりますが、皆さんある程度固まっているようですので順次出てくると思います。

発表者の方々は下記の通りです。

それぞれ20分+質疑応答5分くらいのボリュームを予定しています。
一般の参加受付は木曜からですが、発表者の方はコメント欄に記入をお願いいたします。

6/12 Redmine勉強会の発表者を調整中です

以前、気勢をあげたRedmine勉強会ですがCakePHP勉強会が終わったので本格的に準備にかかります。
今週の半ばくらいまでには発表者をFixさせて週末までには募集を始めようと思います。

現在はブックマークコメントで前向きな反応を頂いた方々にオファー中です。
そのほかにも我こそはという方は yandod あっとまーく gmail.com まで連絡頂ければと思います。

ネタの方向性としては

  • 単純な機能の紹介などはWEB上にたくさんあるので飽和中
  • こうやって使っている、こうやったら失敗したなどのウェットなネタはきっと面白い!
  • Redmineそのものの拡張方法やそれに至る過程
  • Redmineの安定稼働を行うためのポイントやバッドノウハウ

あたりが面白いのかなと思っています。
見落としている論点もあると思いますのでそのあたりもご意見をお待ちしております。

サンドイッチ懇親会のススメ&会計報告

第4回CakePHP勉強会@Tokyo - events.php.gr.jp

CakePHPまんじゅうで記憶されているかと思う前回のCakePHP勉強会ですが懇親会の設定についても報告をしておきます。従来のPHP系の勉強会では懇親会は飲食店に移動して、、、という形が多かったのですが、問題になる点も少しありました。

  • 50人規模で予約できる店を探すのが大変
  • 片付けや移動が必要なので懇親会のスタートが10時くらいになってしまう
  • テーブル席だと頻繁に移動ができないので、話ができる人が限られる
  • 予算は一人当たり5000円弱くらい(普通)

勉強会会場での飲食が可能であれば、会場でそのまま懇親会という選択肢があり下記の点でメリットがあります。

  • 会場の規模が勉強会とイコールになるはずなのでキャパの心配が不要
  • 勉強会からシームレスに懇親会に移行できるので時間的余裕がある
  • おそらくは立食形式に近いものになるので、移動がしやすい
  • 予算が一人当たり2000円以下くらいに抑えられる(工夫しだい)

こうやってみるといいことづくめですが、会場を提供してくださる側の都合やルールなどの確認を十分に行いまた各種の発注を事前に済ませておく必要があります。これまでもCakePHP関連では3回ほど試みているのですが、今回はかなり満足のいく発注ができたと思います。

若干ですが残金がありますので、次回勉強会に計上しようと思います。

下記が個人的なポイントの列挙です。

  • 集金は500円単位
  • コンティエメールのサンドイッチはおいしいしコストパフォーマンスよし
    • パーティサンド36P + オードブルでだいたい10人分
    • オードブル1つにつき10人分の皿、フォーク、お手ふきも付くよ!
    • 余るかもなので100円ショップでプラパックも少量確保しておく
  • 飲み物はカクヤスで発注
    • セオリー通り人数x1.5のビールとソフトドリンクを若干量
  • 1週間くらい前から発注処理を始めておく
    • 心配しなくていいように当日にも「電話で」最終確認をしておく

特にコンティエメールはお気に入りです。
コンティエメール – 【本格サンドイッチのデリバリー】

パーティーサンド 36P(だいたい10人分) 5000円くらい

オードブル(これも10人分くらい) 4000円くらい

肉々しいメニューですが、フルーツ類などもメニューにはあるので、考慮の余地があると思います。サンドイッチは冷めないのと、一般的なパーティ料理よりも気持ちヘルシーな感じがいいのではと思います。


詳細は下記のシートにて。
http://spreadsheets.google.com/ccc?key=rKeDfUWn1y12w4v-ax0guVQ

なお発注のベースとして吉岡さんが提唱した公式で発注量を計算しました。
http://d.hatena.ne.jp/hyoshiok/20081017#p1

第43回PHP勉強会でphp|tek2009の紹介と配信をしてきたが・・・

第43回PHP勉強会@関東 - events.php.gr.jp

発表者不足のようなので急遽、ネタを仕込んでPHP勉強会に参加しました。
とはいえ今日はいろいろと準備不足が祟った感じになってしまいました。

おそらく日本からの参加者は0と思われるphp|tekですが、最近RSSで流れてきた記事を経由してセッションの内容に興味を持ちました。おおむねid:i_ogiさんとかと流し読んだりした時の感想を元に資料にしてみた感じです。

それにしても51セッションっていうのはほんとにすごいですね。
数が多ければいいものではありませんが、ぜひとも参加してみたいものです。

また配信の方ではいろいろとやらかしてしまい、リアルタイムでは流せたのですが録画は自分の分以外は失敗してしまった始末。

  • id:gusagiさんの発表は保存まで行ったが、タイトル、説明、タグの全てを入力しないと「save」がクリックできない事に気がつかず破棄
  • id:cakephperさんの発表では途中でサーバーへの接続が切れてしまい、おじゃんに。
  • FlashMediaEncoderはちゃんと使えなかったというか、セットアップ不足だったのかな・・・。
  • 自分の分の発表は無音状態に。。。
  • 帰宅中に AndiとAndreiを誤解していたことに気が付く。

どうやらid:cakephperさんの動画は生存していた様子。ただし質疑応答の途中で切れてしまっています。謎のソリューション「YHA」をお楽しみください。


サーバーの管理について(id:cakephper)




その後の懇親会では輪になっておのおのがぶっつけでスピーチをするような感じで面白かったです。今後の勉強会の形式を考えるような時間もあり、いくつかインスピレーションがあったように思います。

ということで、皆様おつかれさまでした。