第2回設計勉強会を聞いてきました

第2回設計勉強会 - events.php.gr.jp
会社から走ってなんとか始まる前に着けました。

「クイズ研」開発上の設計判断とその結果

twkさん
クイズ研というサービスを作ったときのはなし
ZFをつかって作ったそうです。
その後に請負で作ったものもある 新規だけでなく


レイヤ構成
 コントローラー
 DAO
 テーブルアクセスクラス
 MySQL

DAO
 modelsフォルダの中

auto_loadを使う


面白いと思ったのは、Smartyのデリミタが

<?//{
}?>

IDEでうまくいくかと思って試したが、不評だしうまくいかなかったので、その後使ってないそうですw


DAOでラップすればSQL書いてもいいのでは?

Smartyのメリット
短くかけることが多い htmlがきれいに見れる
自動エスケープはOn

それ以降ではSmarty未使用とのことw


Viewにロジックはあり?なし?
というのが疑問だとか。
Viewはテンプレートというわけではないので、ありだよという突っ込みが周りからありました。


レイヤー切り分けてる?

はたさん


レイヤー使ってる?
レイヤーパターン
依存関係が一方向


Webフレームワーク→サービスレイヤ→Dao
レイヤーごとの役割


入出料組み替え ビューの構築
画面ロジックの構築 サービス例やへの引き継ぐ値の構築


サービスレイヤ
 ドメインロジックを構築
 トランザクション
 ビジネスロジックのためのインターフェース

ドメインレイヤ
 データベースとのコミュニケーション
 いろいろあるので大丈夫


MVCアーキテクチャパターン

WebアプリケーションにおけるMVCは一レイヤ

シナリオ単位でレイヤをきっている
レイヤは規約
レイヤを超えてアクセスしない


DXO
レイヤ間の依存をなくすための
Data eXchange Object



画面ロジック ドメインロジックの2パターン
業務ロジックはロジック


画面とDBが1対1
ほぼプレゼンテーションロジックに向いてる


基本3つのレイヤー
Action Dao Service

各レイヤーは依存を作らない
 DTOは作る
 readOnlyのオブジェクトを返す
 ViewにはDTOを持っていくこともある


Mockの実装とかを楽になるように
インターフェースを書くようにする


レイヤー単位のUnitテストがかけるので楽
 見通しがつきやすい
 Serviceレイヤーより後ろはFWと切り離しができる=依存が少なくなる=テストしやすい


DB Loggerなどの依存関係の解決が難しい


S2Daoが自分で使うには大きすぎて使えないとのことですw
新しいものを作っているそうなので期待。


レイヤー分けをしてどのようになるのかがわかりにくかった
依存を減らして、テストが楽になるというのは興味がある。


ロジックのclassをシンプルにし、テストをしやすいようにというのは参考になりました。
レイヤ指向?というのは始めて知った。


結局Webのアーキテクチャーって?

id:kunit さん

レイヤーとMVCは違う 合わない
MVCは密結合になる

コミュニティに還元すべき

実際に動くコードで見比べたり、それをもとに話す必要がある。
そのためのひな形としてPhwittrとか。

弊社サービスの場合の設計

id:shimooka さん
モビログというサービスについてのデモ。
実際にうちの会社で使っているのだが、モバイル用としてはとても高機能でいい。


で、それのリニューアルで実際に書いているコードやテストを実際に見せてもらう。
PHPUnitを使っているとのことでした、
その中ですばらしいと思ったのは、コードのテストカバレッジ率が出るのと、実際にコードのどこをカバーしているか、逆にテストできていないかをビジュアルで見ることができていました。これはすばらしい。
PHPUnit3の機能らしいので、ぜひ使ってみたい。
http://www.phpunit.de/pocket_guide/3.0/ja/code-coverage-analysis.html

懇親会

なんか熱くいろいろ話していました。
会場提供してくださった、ディノの噂のビールサーバを使えましたしね!

最後に

id:shimookaさん、第一回に続き第二回の設計勉強会の主催おつかれさまでした。
会場提供してくださった、ディノさんありがとうございます。
懇親会の幹事をしてくださった、LINDさんありがとうございます。


いま、一番興味のあるテストやフレームワークの思想とかそのあたりで、いろいろ刺激を受けました。

第35回PHP勉強会に参加してきた

昨日の今日でしたが、PHP勉強会に参加してきた。
第35回PHP勉強会 - events.php.gr.jp
参加申し込み後に海に行こうという誘いをもらって断っていたのだが、今日の天気の良さからして、海に行きたいなーとか思いつつ会場へ向かう。

CakePHP使いはじめた人へのテクニック集公開

(私はいかにしてevents.php.gr.jpEthnaからCakePHPにおきかえたか)
発表者:haltさん (株式会社RYUS)


発表はCakePHPの話。
興味があったのは、終わった後のぽろっと話していた日本語変換についての「えいじっく」「azik」というのを使っているらしい。
これとか?
http://hp.vector.co.jp/authors/VA002116/azik/azikindx.htm


あとは、質疑応答であった、複数のSQLが流れるという話について。
DBに複数のクエリを投げてしまうのって実際にはどうなんだろうか?Webが複数台になるような場合、DBサーバ側に負荷が高くなってしまうのではないかと思った。
MySQLの場合、変にJOINするよりは、複数クエリを投げたほうが早いという話も出てきた。

PHPでもテスト駆動開発だよ

発表者:kunitさん (株式会社ディノ)


何回か前に聞いたTDD(テスト駆動型開発)について。
また、DocTestについて。


PHPプロで書かれているこちらの記事の執筆者です。
http://www.phppro.jp/school/test/


DocTestでいいなと思った点。

<?php // 色づけ
    /**
     * 7桁の数字かどうかをチェックする
     *
     * #test
     * <code>
     * #true(#f(1234567));
     * #false(#f(123456));
     * #false(#f(12345678));
     * #false(#f(-123456));
     * #false(#f(123.456));
     * </code>
     *
     * @param integer $value チェックしたい文字列
     * @return boolean チェック結果
     * @access public
     */

assertTrueとかの記述が短くていいかもしれない。


質疑応答で出てきた、プライベートメソッドのテストに関する回答の中で、runkitを使ったらいいよという話がありました。
存在を知りませんでした。
http://jp2.php.net/runkit

symfonyでモバイル開発なんてどうですか。

発表者:ゆどうふさん (アシアル株式会社)


文字コード関連で、SoftBankShift_JISの件は知っていたが、DoCoMo、auのは知らなかった。

  • DoCoMo
    • UTF-8で 丸囲みの1などが落ちるものがある
  • au
  • SoftBank
    • Shift_JISでは、絵文字がちゃんとPOSTしてこない端末がある


auがSSL領域でUTF-8が使えないのはなんでだろう?
UstIRCで話したいたこと(前半はDoCoMoの話)

16:35 ドコモって、UTF-8を推奨してなかったっけ?
16:37 推奨かどうかはわからないけど「文字コードはShift-JISおよびUTF-8、画像はGIFおよびJPEGに対応しています。」とは書いてありますね
16:37 http://www.nttdocomo.co.jp/service/imode/make/content/xhtml/
16:37 auならeucもできるはず、たぶんutf-8と同じで、sslはアウトだけどね
16:38 Shift_JIS非推奨は、絵文字の&#形式の話だった http://www.nttdocomo.co.jp/service/imode/make/content/pictograph/howto/index.html
16:38 auのSSLで end-endでもばけるのかな?
16:40 たぶんauは構造上、キャリアのキャシュサーバー経由するのでは?
16:42 link by linkじゃなかったら直でやり取りしているという認識だったけど認識間違えていたのかな
16:43 EZWebSSL http://www.au.kddi.com/ezfactory/tec/spec/ssl.html
16:45 HDMLがナツイ、カードとデッキw

後で試してみよう。


モバイル回りは頭が痛い。特にセッションとか。
SSLがあるようなサイトでちゃんとセッション使っているところがあれば、話を聞いてみたい。
使えるといってもこんな問題があるので。
auのSSLでのCookieの挙動がおかしい - maru.cc@はてな
au,SoftBankでSSLでCookieセッションを使用する場合の問題点 - maru.cc@はてな

飛び入りLT1

Project Zeroの紹介 part 2
発表者:根本さん


PHPからJavaのコードを呼び出すという話。
なんか一発ネタみたいに思えるけど、実際に使えるのだろうか?

飛び入りLT2

yandoさんも発表という感じだったのですが、WindowsUpdateに入ってしまったとのことで、飛び入りLTでしたが、できなくなってしまいました。
残念ですが、きっと次回聞けると思います。

懇親会

1件目は、ぺちぱーらしく焼肉屋。gusagiさんが、仕事で忙しい中かけつけて幹事をしてくださいました。
前半は公式サイト系のお話とか。ここでは書けない裏話とかで盛り上がりました。後半は席を移動して、高木さんやkunitさんのところでテスト話を。


二次会に半分ほどの人が流れて、さくら水産へ。
kunitさんと引き続きテストの話が熱かったです。


個人的には、勉強会の楽しさとかって懇親会で意識の高い人たちと話をして刺激を受けることも大きな割合を占めていると思っています。当たり前ですが、発表時間中は発表者の話を聞く時間なのですが、発表側ではなくても、面白い話をしてくれる人はたくさんいて、というか人がどうやっているか、何を考えているかを聞くのは楽しいです。
発表用として整理した情報だけでなく、会話の中で出てくる話も生々しさがあって面白いです。


と、懇親会に出て帰ってきてすぐに寝ちゃったのですが、一方、帰ってきてからさっそく手を動かしているhaltさんのような方もいたりとか。
CakePHPでdoctestできるようにした!(まだModelだけ) | この先生きのこるには
なんか、最近飲んでばっかで実際に手を動かす時間が減っているみたいで、それってどうなんだ。。。と反省したりとか。


なにはともあれ楽しい会でした。

PHP勉強会のeventsシステムに貼るUstreamタグのメモ

タイトルそのまんまですが、PHP勉強会のeventsシステムに、Ustream中継を貼る場合のタグのメモ。


公式(?)の php-studyチャンネルの場合

<h4>Ustream中継</h4>
Ustreamで中継を行う予定です。

<ul><li><a href="http://www.ustream.tv/channel/php-study">http://www.ustream.tv/channel/php-study</a></li></ul>

※会場で参加中の方はネット帯域の関係上、中継映像は見ずにIRCだけをご利用ください。下の窓か、IRCクライアントでどうぞ。

<embed width="563" height="266" type="application/x-shockwave-flash" flashvars="channel=#php-study&server=chat1.ustream.tv" pluginspage="http://www.adobe.com/go/getflashplayer" src="http://www.ustream.tv/IrcClient.swf" allowfullscreen="true" />

/nick [ニックネーム] と入力すると、使用するニックネームを変更できます。


自分のチャンネルの場合

<h4>Ustream中継</h4>
Ustreamで中継を行う予定です。

<ul><li><a href="http://www.ustream.tv/channel/maru_cc">http://www.ustream.tv/channel/maru_cc</a></li></ul>

※会場で参加中の方はネット帯域の関係上、中継映像は見ずにIRCだけをご利用ください。下の窓か、IRCクライアントでどうぞ。

<embed width="563" height="266" type="application/x-shockwave-flash" flashvars="channel=#maru_cc&server=chat1.ustream.tv" pluginspage="http://www.adobe.com/go/getflashplayer" src="http://www.ustream.tv/IrcClient.swf" allowfullscreen="true" />

/nick [ニックネーム] と入力すると、使用するニックネームを変更できます。

PHP勉強会 SIDE-B を聞いてきました

前日の夜に同僚と飲んでいるときに、eventsを見て、まだ空いているということで行こうという話になり、申込みをしようとしたところ、残念ながら、申込期限が過ぎていたので、MLで直接質問して、参加してきました。
PHP勉強会 SIDE-B(第1回) - events.php.gr.jp


hnwさんがMacのコネクタを忘れてしまったので、先にid:msakamoto-sfさんの発表からスタート。


Ustreamを手元のWebカメラで配信を行ないました。
ちゃんとした機材ではないので、角度が微妙ですが、スライドも文字が見えるぐらいでよかったです。
http://www.ustream.tv/channel/maru_cc

WindowsでのPHPとのつきあい方(前編)

発表者:id:msakamoto-sfさん
Ust動画:http://www.ustream.tv/recorded/537663

WindowsでPHPを使う場合について
会場で質問したところ、XAMP派もいましたが、php.netからおとしたexeを使っている人が半分ぐらいいました。
実際にローカルの環境で置いてみたもののデモとかまじえていました。


php.exeって33KBしかないんですね〜 意外に小さい。


私は、いっちばん最初にやったときは、WindowsにXAMPを使いましたが、そのころ借りていたLinuxレンタルサーバに、ローカルで作成したものをあげたら動かなくてはまったりしたことがあり、がんばって、環境変数などでローカルのWindowsか、レンタルサーバ上かを判別して書いていたことを思い出しました。以降、Windowsで開発は特にしていなかったりします。
知り合いに聞かれて、教えることはありましたが、少なくとも、仕事なりちゃんとしたサービスを作りたいのであれば、Windowsではやらないほうがいいと思いました。
まずは、触ってみるという意味ではお手軽でいいとは思います。


質疑応答が面白い。
すいません、録画していなかった。。

PHPのfloat型やらint型やらの話

発表者:id:hnw
Ust動画:http://www.ustream.tv/recorded/537727

ミスター浮動小数点によるお話。


まず最初に、勉強会に出て得られること、発表者側に立って得られることなどの話をされていました。
これはすごい意味のあることだと思うので、ぜひぜひみんな話す側になってほしいな。


本題の方は、話も面白く、スライド自体がわかりやすかったです。
ここで、文字として説明すると伝わりきらないので、Ustの録画を見てみてほしいです。

PHPフレームワークSmarty

発表者:いしだなおとさん
Ust動画:http://www.ustream.tv/recorded/537777

Smartyを使ったことがある人対象でした。


Smartyは、Ethnaを使う前からがっつり使っていたので、やはり素のphpを使ったViewよりも個人的には好みです。
デザイナと分業をする場合や、Smartyのプラグインを使ったときに真価が発揮すると思いますので、単に素のphpのViewを置き換えただけでは、オーバーヘッドも大きいし必要ないという意見もよくわかります。
ですが、すでにphpがまじったhtml見ると気持ち悪いと思う自分がいたりします。

Erlang始めてみました。

発表者:id:msakamoto-sfさん
Ust動画:http://www.ustream.tv/recorded/537822

Erlangがよくわからない


改行の \n が ~n だったり
行末が . (ピリオド)だったりととか
ずいぶん、違いがあるので、流儀を覚えるのが大変そう。


関数型言語というのが、いまいちよくわかりません。
実際に使われている使いどころとかが知りたいところです。

飛び入りLT:Ext.jsのお話

発表者:taka0024さん
Ust動画:http://www.ustream.tv/recorded/538005
時間が空いてしまったので、飛び入りLTです。


Ext.jsは、ちょうどウノウラボで書かれていた、モバイルのエミュレータで使われていて、興味があったところなのでタイムリーでした。
実際の案件とかでどう組み込めるかは、ちょっと調べてみたいです。

飛び入りLT:Google APP EnginePHP使いから見たPython

発表者:萩原崇之さん
Ust動画:http://www.ustream.tv/recorded/538080

Google Developer Day 2008に参加されてきた感想からスタートでした。
やはり、GooglePythonメインみたいですね。
インデント至上主義な私としてはちゃんと使ってみたい。

懇親会

道玄坂のわきにちょっと入った焼き鳥屋さんで懇親会。
id:hnwさんもおっしゃってましたが、やっぱり懇親会が楽しい。いろんな話してもりあがってました。
koyhogeさんとは初めてお会いしたのですが、パワフルでいろいろ話を聞かせていただきました!聞く側、話す側ときたら、次は主催側だよと。

2次会

近くのお店に移動して2次会。
相変わらずあれやこれや話してました。

3次会

なんかいつものテリトリーに戻ってきて4人で3次会。
この辺りから記憶が・・・

まとめ

新しい試みとしての SIDE-B で、id:msakamoto-sfさんは、次回も本家が決まった後に、漏れた人をフォローするように開催したいと言っていましたが、私は、本家とかは関係なく、対象をしぼった形で続けていければいいと思います。
あんまり意識しなくてもいいと思いました。
また、ひとりで会場探しから司会、発表、懇親会の手配までされていて、大変そうでした。。
周りにも手伝える、手伝いたいという人はいると思いますのでうまく分散して、個人に負荷がかかりすぎないようにした方が、続いていくかなーと思います。


最後に、場所を提供してくださった ECナビさま ありがとうございます。
企画からあれやこれや一人で行なっていたid:msakamoto-sfさん、お疲れ様でした!

第3回CakePHP勉強会に参加してきました

第3回CakePHP勉強会に参加してきました。


電車に乗り間違えて、逆方向に乗ってしまったりして、ずいぶん遅刻してしまいました。
CakePHPでの失敗談」の途中からの聞けました。


Ustreamにて録画した映像が見れます。
http://www.ustream.tv/channel/cakephp-study

CakePHPは経験がなく、刺激になればいいなぁと思っての参加でした。
各発表は、上記Ustreamや他の人のエントリを参考にしてもらうとして、印象に残りおもしろかったのが、yandodさんの「何が違う? CakePHP and symfony
実際に両方同じものを作ってみた上での意見などとても参考になりました。


懇親会では、全員とは話せませんでしたが、いつもIRCやBlogを見て一方的に知っている方々と話せて楽しかったです、


CakePHP、もっとちゃんとやってみようかな〜

第34回PHP勉強会で話してきました

金曜日のCakePHP勉強会に引き続き、第34回PHP勉強会に参加し、発表もしてきました。


Ustreamにて録画した映像が見れます。
http://www.ustream.tv/channel/php-study0806
録画してくださったyandodさんありがとうございます!

アプリを作り出す前に

発表者:id:maru_cc 私です。
ひとつは、プログラムが少し書けるようになった人が次のステップとして、意識していってほしいところと、
もうひとつは、実際にいま困っているバージョン管理からのデプロイ方法について。

前半はちょっと当たり前すぎたかなぁ。
後半は実際に行っている方法とかをできるだけ具体的に出せればと思いました。どのくらい伝わったかな。
資料は、ちょっと準備不足でしたが、話したかったことは話せたと思います。


以下にスライドアップしました。
http://docune.jp/doc/5642

スライドに書いてなくて話したことがあったりしますので、別途エントリをあげて細かく書きたいと思います。


終わった直後の休憩中に、デプロイ方法や開発環境などについて、話ができたのがよかったです。
その時は時間がなくて後でとなってしまったのに、懇親会でもっと突っ込んで話ができなかったのが悔やまれます。
また、次の機会やほかの場所でも、もっとほかの人が考えていたり行っている方法を聞いてみたいと思いました。

PostgreSQLで日本語全文検索

発表者:id:kaz_29さん
PostgreSQLは使っていないので、細かいところがわかりませんでしたが、実際に日本語全文検索で結構実用的な数値が出ていました。
なんか、そのまま過去ログ検索サービスにしちゃえばいいんじゃないかな?


あまり全文検索が必要な要件が無いので、追っかけていないのですが何かできそうですね。

ちょっと極めるXML on PHP5

発表者:id:sotarokさん
実際のサンプルを交えながらの、XMLphpで扱う時の方法など。
10M超のXMLとかは、さすがに扱ったことないのですが、そういう需要もあるのだなぁと思いました。


SimpleXMLの方が、使いどころは楽だが、最初にパースする分、動きだすまでに時間がかかるという点と、メモリを食うというのは参考になりました。
XMLReaderのところの説明で、ちょっと「ん?」と思ったところ。

このスライドの説明で、以下のようなプログラムを実行して結果を示していました。
ここでは、id:sotarokさんが書いていたテストコードから、各値を表示するのに echoからvar_dumpに書き換えています。

<?php
$xml = new XMLReader;
$xml->open("rss2.xml");
$i = 0;
while ($i++ <= 4) {
    $xml->read();
    var_dump($xml->nodeType);
    echo " : ";
    var_dump($xml->name);
    echo " : ";
    var_dump($xml->value);
    echo "\n";
}


サンプルとして出しているXML

<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xml:lang="ja">
    <channel>
        <title>GRANADA Hatena @ sotarok</title>
        <link>http://d.hatena.ne.jp/sotarok/</link>
    </channel>
</rss>

XMLの構造を壊さない範囲で、要素を省略しています。


結果

$ php test.php
int(1)
 : string(3) "rss"
 : string(0) ""

int(14)
 : string(5) "#text"
 : string(5) "
    "

int(1)
 : string(7) "channel"
 : string(0) ""

int(14)
 : string(5) "#text"
 : string(9) "
        "

int(1)
 : string(5) "title"
 : string(0) ""

これは、id:sotarokさんが書いているのと同じですが、間の、Significant Whitespaceノードの説明の仕方が少し違うかな?と思いました。


たとえば、このXMLのタグ間の改行とインデントのスペースを取り除いて実行してみます。

<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xml:lang="ja"><channel><title>GRANADA Hatena @ sotarok</title><link>http://d.hatena.ne.jp/sotarok/</link></channel>
</rss>

これを同じスクリプトにかけてみると、

$ php test.php
int(1)
 : string(3) "rss"
 : string(0) ""

int(1)
 : string(7) "channel"
 : string(0) ""

int(1)
 : string(5) "title"
 : string(0) ""

int(3)
 : string(5) "#text"
 : string(24) "GRANADA Hatena @ sotarok"

int(15)
 : string(5) "title"
 : string(0) ""

間の改行とスペースのみの値がなくなりました。
というわけで、こんな感じの図の方がイメージに近いかなーと思います。

LT:動かしてコードの流れを追う

発表者:shin1x1さん (http://www.1x1.jp/blog/)

神LTでした!
面白かった!!

「プログラムは思った通りに動かない。書いた通りに動く
ソースのどこかに書いてあるはず!」
名言です。
変な挙動や意図しない動きをしている、または、どしてそう動くかわからないなど、必ずどこかに原因があります。
場合によっては、サーバや設定、その他別の要因の場合もありますが、再現が簡単にするかは別として必ず原因がどこかにあるはず。

debug_print_backtrace_source は知りませんでした。
かなりよさげ。


PHP本体にパッチを当ててのコードログ すばらしすぎます。
オチは XDebugで出来るという話になっていましたが、それでもすごすぎます。

LT:DBセッションについてgdgdですが。。。

発表者:gusagiさん (http://www.gusagi.com/)

DBセッションを使うための方法について。
個人的にはすでに使用している技術なので、目新しさはありませんでしが、これから使う人には参考になる発表だったのではないでしょうか?
惜しむのは、字が小さくてちょっとUstreamだと辛いことでしょうか。
あと、コードの表示が早くて、わかっている人じゃないと、ついていけなかったように思います。。

LT:ProjectZeroでPHP

発表者:nemo_kazさん (http://twitter.com/nemo_kaz/)

スライドの文字がかわいかった
あと、テンポが良くておもしろかったです。

内容については、ちょっとそもそもがよくわかっていなかったので、今度使ってみようと思います。

懇親会

id:Yudoufuさんが幹事をしてくださった懇親会。
韓国料理のお店でした。
人数が多く、全員とは話せませんでした。。
懇親会の出席率多いですね。時間がはやかったせいもあるのかな。


途中、PHPユーザ会をどうするかという話になったりとか、いろいろ話しました。

やっぱり、懇親会でいろいろな人と話すのが楽しいし、刺激になります。
最近は、勉強会が埋まるのが早いので、別の会場でUstraem聞いて、懇親会から合流とかどうだろうとか話してました。

二次会

えーっと、どこに行ったっけかな?
たしか、前日のCakePHPの懇親会のお店だったと思います。

記憶がCakePHPの懇親会とごっちゃになって、何話していたのかよく覚えていません (^^;

三次会

和民に移動して、結局朝の5時過ぎまで、あれやこれや話していました。
月宮さんをまじえた教育の話はとても実があり、すごいおもしろかった。
これだけで、勉強会かカンファレンスのコンテンツになるのではないだろうか?


なんだかんだいって、6時半ぐらいに家に帰ってきました。
最近忙しく、どたばたしていたのですが、充実した週末を過ごせました!

最後に

今回も場所を提供してくださった、株式会社トライコーンさまと、suzukiさんありがとうございます!
あとあと、司会進行の id:cocoitiさん
Ustreamの配信をしてくださった yandodさん
ありがとうございました!

第32回PHP勉強会で話してきました

第32回PHP勉強会に参加してきました。
今回は、話す側として。


書く内容は、ずらずらとテキストで箇条書きで列挙していたので、それを土日でppt作成。
月曜の夜に飲み屋で、会社の同僚とで飲んだ時に、パワーポイントカラオケをしようということになり、作ったpptを元にカラオケしてくれました。
なかなか面白かった。
というか、後半がまだ全然完成していなかったので、そのあたりも笑えた。


朝8時ぐらいに起きてから、後半の資料作成と、全体の流れの調整と、何度か通して練習などなど。。


資料公開しました。
第32回PHP勉強会資料 Ethnaでモバイルサイト開発 id:maru_cc (pdf:312KB)
docuneというサービスにもあげてみました。こちらで、DLせずに見れます。
http://docune.jp/doc/4201


id:i_ogiさんが、Ust配信をしてくださって、そちらの動画も公開されています。
http://www.ustream.tv/recorded/381074



以下、それぞれの発表についての感想です。

events.gr.jpイベント管理システムについて

haltさん
先日、ソースが公開されたevents.php.gr.jpについてのお話。
ソースは見たことがあり、そちらを踏まえた上なので内容が面白く聞けました。
events.php.gr.jpのイベント管理システムのソースを見て思ったこと - maru.cc@はてな


Ethnaについて
sqliteについて
・ファイル型なのでデーモンがいらない
・ディレクトリに書き込み権限が必要
・sqlite3とsqliteとで、互換性がない


TypeKey
six apartのオープンな認証サービス
実際には使われていない。。。
OpenIDでいいじゃんムード<ふざけんなせっかく実装したのに
OpenIDで実装してくれる人がいたらいいな


これ以降は、eventsの落とし方についてで、SVNの説明など。


events.gr.jpのLDRのRSS登録数の遷移などは面白かったです。
ほんとに2008-02から急激に参加者が増えてるんですね〜

Ethnaでモバイルサイト開発

id:maru_cc<わたしです
ほんとは、もっとコードを交えて話をしたかったのですが、案件名を隠したサンプルの用意が間に合いませんでした。。
これから、このBlogのエントリで紹介していければと思います。


時間的には、40分の枠をいただいていて、結構早口でしゃべってしまったので、30分ほどで終わってしまったのですが、質疑応答を入れてちょうど時間になってよかったです。
質問もいろいろしてもらえてよかったです。反響がなかったらさびしいなぁとか思っていたので、うれしいです。


Ustの動画みて、ひとり反省会しました。


id:pcmasterさんの記事で、

ページめくるのが早すぎてメモしきれなかった。

すいません。。。
でも、話すテンポとしてはどうなんでしょう?
事前に資料公開とかしてもいいかもしれないと思ってきた。

極めるvim

haltさん
いろいろ心にささる名言がでてきました。


おまえはエディタを軽視いしていないか
一生かけて成長させることが真のエディタ


vim emacsどちらでもいい。


編集対処をとらえる次元が違う
vimの場合は、text objectただの文字列じゃなくてキーワードとしてとらえている
括弧などの単位で変数ができる。


プログラムを作るためにvimにプログラムを書いている
プログラムを生成するためのプログラムを書いている
うまく言葉で伝えるのが難しいが、vim上にワンライナーのコードを書いて、動くプログラムを生成しているイメージというのは、エディタの使いたとしてまったく意識がちがうなぁと思った。


AutoComplPop
snippetsEmu
zsh vimモード
このあたりは、追々調べてみよう。

LT:ARGF作った

btoさん
ARGF便利そう
実例まじえたデモ


サンプル作ろうキャンペーン
if (debug_backtrace()) {
return;
}
これ以降にサンプルを入れるという技。
debug_backtraceをこんな使い方があるとは思わなかった。

LT:Ethnaで問題が起こったときにする5段階の解決法

id:sotarokさん
レベル1 ぐぐる
レベル2 ブログでぐちる
 フォーラム、MLで聞く
レベル3 IRCで聞く
 wide %Ethna
レベル4 自分で書く
 パッチを投げよう
 +IRCで報告
レベル5 たとえばEthnaを避けるw
 適材適所で選べるようになるのがいい

極めてない! Git

Kunitさん
Gitというバージョン管理ツールについて


RCV->CVS
OSSにはCVSが必要だった。同時に開発ができる。
でも、CVSはファイル単位

  • > Subversion リビジョン管理、ディレクトリ移動などにも対応


Gitは、Linuxカーネル開発用に作ったもの。
いまのこみったが日本人。


pull/pushの仕組み
複数リポジトリ


GitHub
RORで作られたGitの実装


RubyがGitにあつまってる


個人的には、どうなのかよくわからなかった。
とりあえず、Subversionをやめてすぐに乗り換える必要は感じないかなぁ。様子見。

懇親会

片付けをしてから、お店に移動して懇親会。


お店は、プロジェクタのある場所で、LTも出来る場所でよかったけど、お店の奥ではイーモバが入らず、ネットにつながれば何か話そうと思ったが残念。

懇親会LT:極められないEmacs

emacsについてのお話
来ている人は、ほとんど全員vim派閥。


emacs使えるようになりたい。

二次会

なんか、めちゃめちゃ熱い話がいろいろ出てました。
このノリは、やっぱこういった勉強会に出て懇親会・二次会まで来てよかったと思える。

アンケート

今回、アンケートが配られていて、さっそく集計結果が公開されました。
すずきさん++
Nothing found for Slide 425


自分の発表のところ

良かった 22
普通 2
いまいち 0
無回答 2

コメント
モバイルのノウハウがたくさんあって良かったです。
ケータイサイトからしばらくはなれていたので、この話を聞けてとてもためになりました。
やはりサーバーのパワーによゆうが出て、やり方も動的な方法メインになっているのですね。
不参加
モバイルサイト開発だけにとどまらず、Ethnaのいじる場所が知れて良かったです。
スケルトンについて、はじめて知ることができてよかったです。
フレームワークを使い始めるまでの経緯が自分の会社を見ているようでした。モバイルサイト開発の経験がないので役に立ちました。
拡張ポイントを聞けたのが良かった。
開発時のノウハウが説明されていておもしろかった。ケイタイ部分は特にノウハウがいっぱい。
実用の話でよかった。
後半しかきいてないけど。


役に立ったという意見はとてもうれしいです。
実際に書いているコードや、細かい注意している点は話しきれていないので、これから少しずつ書いていきたいと思います。

最後に

場所を提供してくださった、トライコーン株式会社さま
会場の準備、懇親会の準備、アンケートの準備にまとめなど、いろいろしてくださった、すずきさん
Ust配信してくださった、id:i_ogiさん
会場で聞いてくださった方、Ustで見てくださった方。
ありがとうございました。

追記

URLが変です orz
32って入力しようとして、43と打ってしまった orz