「第94回 PHP勉強会@東京〜PHPカンファレンス2015開催直前スペシャル〜」に参加してきました。 #phpstudy

IMG_0010__

 

こんばんわ!Everydayクソコードをdisられているエンジニアマンの吉田でございます。

本日は、「第94回 PHP勉強会@東京〜PHPカンファレンス2015開催直前スペシャル〜」に参加して参りましたので、そのことを書きたいと思います。

 

PHP勉強会とは?

PHP勉強会は、毎月月末辺りに実施しているPHPの情報交換やPHPerさん同士で交流したりしている勉強会です。

アルカナのブログでは半年くらい前に @hico00 が 「第87回PHP勉強会@東京を開催しました。」というエントリを書いたぶりでございます。更新頻度が少なく申し訳ございません。

ここしばらくは 株式会社GMOインターネットグループ さまにスポンサーを頂いておりまして、会場を提供して頂いております。いつもありがとうございます。

 

本日のタイムテーブル

今回のPHP勉強会は、2015/10/3(土)に 「PHPカンファレンス2015」 が開催されるということもあって、「〜PHPカンファレンス2015開催直前スペシャル〜」というお題目でございました。

どういう趣旨かと申しますと、PHPカンファレンス2015でスピーカーをされる方々が、当日の内容をティザーとして告知するといった雰囲気でございます。

基本的にはLT×6本という構成になっており、タイムテーブルはこのような感じでした。

 

timetable

 

自己紹介タイムは、参加者全員がマイクをたらいまわして30秒程度で自己紹介をします。

今回のお題は「PHPカンファレンスのおもひで」ということでしたが、私は「あ、大田区産業プラザ PiOといえばOSCの懇親会のあとにバー大女優に行って酔っぱらったところだ!」とか思ってPHPカンファレンスとは関係の無い超どうでもいい話をしてしまいました。大変反省しております。

ちなみに、PHPカンファレンスは、国内では最大級のPHPのイベントで、今回のPHPカンファレンス2015に関してはDoorKeeperで2000人を超える参加予定者がいるほどの盛況っぷりです。

PHPカンファレンスでは、 http://joind.in/ というサービスをつかってトークの評価をしているようなので、参加される予定のある方は事前にアカウントを登録しておくと良いかもしれません。

寺田さんが使い方をQiitaにまとめてくれているので、まだこれから登録されるかたはこちらを参考に頂くと良いかもしれません。
http://qiita.com/waterada/items/94000f1021e344a21df1

なお、本日のPHP勉強会のjoind.inはこちらです: https://joind.in/event/view/4735
いくつかコメントがついているので、どんな感じかをみてみてください!

 

というわけで、LTタイム(前半)のスタートです。

 

「Composer ではじめるアプリケーション開発」 @岸田健一郎

IMG_0008_

LT1発目は岸田さんの「Composer ではじめるアプリケーション開発」 です。

PHPカンファレンス2015当日は、10:50-11:20 に Track3 で発表だそうです。

ちなみに、裏のセッションは、徳丸さん、柏岡さんのPHP入門、さらに、意識高い人には英語で超面白そうなセッションという時間帯とのこと。

Composer誰が聞きに来るんだ?という雰囲気だけど、Composer好きは集まれ!という感じでございます。

ざざっとLT聞きながらメモったことを箇条書きで書いてみます。(雑ですいません)

  • Composerつかってますか?
    • 当日もこの質問するぞ!
  • スライド41枚になっちゃった
    • 30分でぜんぜんおわんないぞ!
  • 聞いてから話す内容を決めようかなと
  • 当日はなすことはこんな感じ
    • アプリケーションやライブラリの説明
    • 依存パッケージの管理
    • オートロード
    • リポジトリの管理
    • スクリプトの実行
  • ↑当日はどれ聞きたいか聞いて話すこと決めようかなと思う
    • (今日は、リポジトリの管理が一番多かった!これは想定外・・・!!)
  • ちなみに、これ(リポジトリの管理)は当日は MoreTips のクダリなのです
    • 時間余ったら話すところだよ!当日はなせないかも・・・!
  • リポジトリの前にパッケージの話です
  • Packagist(パッカジスト)というサイトがありますよね
  • ここでパッケージを探し出すことができます
    • (岸田さんちょっと肩を故障していてスライドを指さししにくそう(お大事にです・・・))
  • たとえば、PHPUnitで検索すると、セバスチャンの顔が見えて、その下にGithubのリンクがあります
  • バージョンがあって、Githubでいうとreleaseと関連しています
  • BitBucketやSVNもつかえたりする
  • プライベートリポジトリとか使いたい時あるよね?
    • 自分で作ったやつは自分で公開できる
    • (個人的に、Chef SupermarketとかNPMみたいだなと感じた)
  • ちなみに、岸田さんのリポジトリでは、正規表現を簡単に書ける”Verbal Hexpressions”の実装のhexpressの実装公開してるよ!
  • リポジトリは composer.json ってのでリポジトリの情報を書くことができます
  • Packagistで公開できないものは、これに書いてやれば自分のリポジトリも指定できます
  • どうしてもPear使いたい時は、type:pear 指定でも一応できたり
    • でも、コレ指定すると遅くなります。
    • Pearの一覧をダウンロードして依存ファイルを探しだすから。。
    • pear2.php.net の時にダウンロードで結構かかります。
    • PearのライブラリはBitBucketやGithubに行ってたりもするけど、SVN使ってるのもある。遅い。
    • Githubとかでcomposer.json入ってるライブラリみつけたらそっち指定した方が良い。
  • Packagistはオリジナルだけを登録してねという姿勢になっている
    • 例えば、composer.jsonのないイケテルライブラリをみつけてGithubに転載して自分のライブラリを登録しようとすると、メンテナンスしていける自信があったら登録してねみたいな規約が表示される
  • だから、そういう自信がなかったらcomposer.jsonにURL指定した方がよいかもしれない
  • type:package でzipとかSVNリポジトリを指定することができる
  • 他の話はPHPカンファレンスでお話ししまーす

 

「Hack言語に賭けたチームの話」@大谷 祐司

続いて、インテリジェンス 大谷 祐司さんのお話です。

こちらも手元のメモを箇条書きで書いてみます。(雑ですいません)

  • 本日は、ダイジェスト版!
  • 山口県出身!下関!35歳!新規事業開発責任者!車とプログラミングが好き!土日は育児!
    • (自分も子どもが2人くらいいるのでとても共感する)
  • Java!PHP!Go/Hack
  • 新規サービスをHack使って開発した
    • 一年後だとPHP7選んだかも
    • 今年の1月から開発を始めた
  • HACKとは?
    • Facebookで開発している言語
    • HHVMの上で動きます
    • HHVMの上でPHPも動くよ
  • Hackの特徴
    • バグの無いコード
    • エンジニアが楽しむ
    • 大規模向け
  • PHPは良くも悪くもいろいろ書ける
    • Hack大規模サービス開発向けにつくられている
  • Hackに対するイメージ
    • Hackは去年話題になたけど、もう下火じゃない?
    • パフォーマンスの良いPHPなだけ?
    • PHPのフレームワークとかライブラリ使えないんでしょ?
    • 某CTOからの言葉: HACKを本番で妻うなんてクレイジー!
  • とかあるけど、これは全部誤解です!
  • 詳細は当日13時からトラック3でお話しします!
  • QA
    • Q. 日本語まわりで苦労したことはないですか?
      • A. 特になかったです!

 

「PHP7の拡張モジュール事情」 @hnw

続いて、KLabのhnwさんからPHP7についてのお話です。

スライドが公開されていたので、こちらをご参考ください。

PHP7の拡張モジュール事情 from Yoshio Hanawa

 

手元のメモっぽい感じのも付けておきます。(雑ですいません)

  • 普段はPHP書いたり書かなかったりしている
  • カレーとバグが好き。よいカレーとよいバグをいつもさがしている
  • 闇PHP勉強会を引き継いだ・・・!!
  • 最近はPHP7のはなしがおおいです
  • 今日は5本目です
  • 今年のテーマは7
  • みなさん、もちろん手元にPHP7はいってますよね?(プレッシャー)
  • PHP7、そろそろリリースです
  • PHP5とPHP7では拡張モジュールの互換性が無いです
  • でも、PHP同梱のやつは対応済み
  • opcache mbstring cURL PCRE PDO あたりは対応している
  • 3rd party製をしらべてみました!
  • APCu
    • プロセス間通信の無いKVS
    • sevenブランチがある
    • PHP7で動く
  • memcached
    • PHP7対応している
  • redis
    • PHP7でビルド可能
    • でも、Has no test!!
  • amqp
    • RabbitMQのPHPバインディング
    • PHP7対応OK
    • テストは3つ落ちていたけど、そのうち直るんじゃない?
  • gearman
    • 今のところPHP7対応されてなかった
  • imagick
    • PHP7対応OK
    • テストは14fail ぜんぶフォント周り
  • xhprof
    • PHP7対応×
  • Xdebug
    • PHP7対応は今のところなされていない
    • そのうち対応されるのでは?
  • gioip
    • PHP7対応OK
  • uuid
    • PHP7対応×
    • 今動かないけど4か月前くらいは動いていたかも
  • PHP7対応大変?
    • C書くだけなら「やればできる」
    • PHP5、7の両方に対応するのは結構面倒
  • 10個調べたら 6勝4敗
    • 有名どころは対応状況は良好
  • QA
    • Q.5と7の両方対応はIFDEFで切り替えるんですか?
      • A.-もちろんそうです。ただ、スケルトンが5用と7用で別なので、それらを自分でマージしないといかんのでたいへん。
    • Q.Mongoは?
      • A.今回は調べてないです

 

続いて、後半戦。

 

「PHPの基本クイズ—この動き、あなたは知っていますか?」@寺田 渉

IMG_0015_

続いて、GMOリサーチ寺田さんからのPHPの挙動をクイズ形式に紹介するお話です。

ざざっとメモを書いてみます。(雑ですいません)

  • PHP基本クイズ!
    • ・・・を5分くらいで!
  • PHPでハマりそうなポイントをクイズ形式で紹介します!
  • $a="abc";
    if($a==0)
     //実行される!
    }
  • なーんでだ?
  • $num = 10000000000000001;
    number_format($num);
    // 10,000,000,000,000,000 と出る
  • なーんでだ?
  • if($var)
    if(!empty($var))
  • なにがちがう?
  • 配列の + と array_merge()、 なにがちがう?
  • とかとか!
  • 本番はもっとボリュームのある話をします!

 

ちなみに、以前にPHP勉強会でお話しされていたスライドはこちらです。

PHPカンファレンス2015では、新作のクイズもあるようです!楽しみですね!

 

PHP基本的関数QUIZ from Wataru Terada

 

 「phpで組織内での作業効率を上げる方法」@山田寛延

続いて、イノベータージャパンの山田さんです。

こちらも手元のメモを。(雑ですいません)

  • 「23分15秒」!
    • コレなんだと思います?
      • そう、中断した作業に戻る時の平均時間なんです。
      • ビジネス誌「Fast Company」が紹介した研究
  • つまり、3回話しかけられると1時間時間を費やしてしまう。
  • なるべくこういった時間を無くせられると理想
  • しかし、
  • コミュニケーションを経つのは現実的ではない
  • 自分の状態を共有するのが大事
  • なので、テンマドさんの iruca というサービスを使っている
    • リモートワークを導入している企業向けに自分の状態を共有できるサービス
  • テンパってるときは「取り込み中」に設定!
  • これではなしかけられない!
  • しかし、実際は・・・(話しかけられて、作業が中断されている・・・)

IMG_0023_

  • ではどうするか?
  • irucaとは別に2つのアイディア
    • PHILIPS Hue
    • Raspberry Pi
  • これとirucaの3つを組み合わせる
    • ラズパイから→iruca API叩いて状態取得
    • ラズパイから→hue叩いてhueの色を設定
  • ここでPHPですよ!!
  • irucaからデータ取って忙しかったらhueを赤くする!
  • というわけで、PHPで組織内での作業効率を上げる方法でした!
  • QA
    • Q.常に赤いライトが当たっている集中できるんですか?(向井さん)
      • A.できません!!!

 

「PHPer女子が語る2015!こんなコードを書くヒトはモテない~コラボ編~」@深澤ひかり

最後は、アルカナの深澤によるLTです。

こちらもスライドが公開されていたので、はっつけます。

【あらすじ】PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@第94回PHP勉強会 #phpstudy from Hikari Fukasawa

 

手元のメモも張り付けてみます。(雑ですいません)

  • PHPカンファレンス2015のLTは、カンファレンスの最後のセッションです
  • わたしは、LTのトップバッターなのです
  • 空気温めます
  • 今日はこんな格好ですが、普段は私服です
  • 去年のLTみたひといますか?
    • (6名くらい)
  • (ここで、LTの再演がはじまります)
  • なんだか、衝撃的なタイトルでげきおこな人もいたとかなんとか。。
  • なので、今年は自重しようと思ったのだが、
  • 声をかけられた
  • CodeIQさんから声をかけられた。。
    • CodeIQさんは、リクルートキャリアさんが運営しているサービス
    • 問題を解いて、そのエンジニアをスカウトするサービス
  • というきっかけで、 CodeIQ × PHPer女子 がコラボして出展します!
  • 今回は「最もイケてないコード、イケてる対応」を出題。
  • たとえば、「このコメントダサイなぁ。マシなのはどれ?」とか。
  • これ、正解どうやって決めたかというと・・・
    • ・・・事前にPHPer女子50名に事前にアンケート・・・!!
  • そして、、当日のLTで集計結果を発表します!!

とのことでした。

 

Wantedlyに「@hico00にEverydayクソコードをdisられたいサーバーサイドエンジニアを大募集!」という件名で求人を出したい気持ちになりましたがグッとこらえ我慢したいと思います。

(あ、ちなみに、アルカナではふつうにエンジニアの募集をしています。くわしくは RECRUITをご覧ください。)

 

ちなみに、「今日はこんな格好ですが」といっているクダリがありましたが、こんな格好をしておりました(左はひもりんさんで、右がふかさわ)。

IMG_0013_

PHPカンファレンス2015当日も、この格好でうろうろしているそうなので、見つけたら優しく声をかけてあげてください。

 

(10/2追記)
  CodeIQさんで問題が公開されたようです!
  CodeIQ×PHPer女子 PHPカンファレンス2015用コラボ問題さんからの問題
(追記おわり)

 

最後に、スピーカーの皆さん、忙しいなか準備など大変だと思いますが、がんばってくださいませ!

 

と、ちょっと色々と雑な記事で恐縮ですが、誤りなどあれば @yossy222 までご連絡くださいませ。

デワデワ。