Edited at

PHP BLT #2 に参加してきました

More than 1 year has passed since last update.

PHP BLT #2 はとても面白いイベントでした!

こちらは振る舞われたBLTとクラフトビールの一部



ビールめっちゃ美味かった


LT

@uzulla

OSX上でApache + PHP を気軽に使いたい

OSX上で開発をしていて、PHPのbuilt-in serverのようにapacheを使いたくて

「apacheheare」というのを作ったよというトークでした。

https://github.com/uzulla/apachehere

apachehereと叩いた場所をドキュメントルートにしたapacheが立ち上がるって便利ですね!

これまで@uzullaさんの発表はPerl系のイベントでしか聞いた事がなかったので

今回PHP系のイベントでも発表が聞けて大満足。


@kunit

BigQueryのちょっとした話

Google製のビッグデータ解析サービス BigQuery を使ってみて

ちょこちょこつまづいた点を共有してくれました。

僕はBigQueryもRedshiftも使った事ないけど、150万溶かした人の話は記憶に新しかったので

聞く人によってはメッチャ参考になる情報なのかも。

ちなみに、BigQuery使っている人という質問に対して、手を挙げる人はほとんどいなかったのも印象的だった。

insertした情報が参照可能になるまで時間を要するとかRDBとは全然別物で面白い

話に出てきた150万溶かした人の話はこちら

http://qiita.com/itkr/items/745d54c781badc148bb9


@Hiraku

composer並列化プラグイン

composerの遅さには以前からイライラしていて、その際に@Hirakuさんの記事を拝見していましたが

packagist.jpが出来ていたのは知りませんでした。

http://packagist.jp/

zipダウンロードを並列化するなどしてくれるcomposerプラグインはかなりよさげ。ちょっと後で使ってみよう

https://github.com/hirak/prestissimo

そしてトーク残り時間1分を切ったところからLaravelのダウンロードを開始!

(プラグインを使わない状態で288秒かかっていたとのこと)

(zipダウンロードは6並列の設定とのこと)

(どうだ、終わるのか)

(間に合え! 会場が一体になって見守ってる)

間に合いました!1分かからなかったのかな、すごい!

プラグインで実績つんだら本体にマージを検討中だそうです。


@寺田渉

PSR-1とPSR-2を5分でざっくり理解する

コーディング規約に関するPSR-1とコーディングスタイルに関するPSR-2について

クイズ形式で発表してくださいました。

CakePHPにpullreqしたらコーディングスタイル違反の指摘を受けたから

という動機も良いですね。

問題はかなりの数ありましたがテンポも良く、真面目な解説が笑いを誘って面白かったです。


@serima

Security Advisories Checker on (Travis|Circle) CI

SensioLabs社製のライブラリの脆弱チェッカー

Symfonyなどを開発しているフランスの会社

ウェブ上でcomposer.lockをアップロードしてチェックしてくれる。

これをCIに組み込めば継続的にチェックが出来ますねという話でした。

デモではswiftmailerの5.0.0を指定したライブラリーでどうなるかを見せてくださいました。

(swiftmailerは5.2.1未満のバージョンに脆弱性がある)

脆弱性チェックに使っているデータには FriendsOfPHP/security-advisories を使っているらしい。

https://github.com/FriendsOfPHP/security-advisories

完全に信頼してしまわないように注意が必要。

ほぼコストゼロで脆弱性チェックが可能なのは良いですね。

githubにlumen使ったサンプルがあるよとのこと。これかな

https://github.com/serima/security-checker-on-lumen


@yuchimiri

What's new in Symfony3

2015年11月30日にリリースしたとのこと。

そして2017年11月には3.4が出るらしい。なぜそんな先の事まで分かるかというと

Symfonyは日付ベースでバージョンアップしているんだとか。ほほー

2系が出たときは変わりすぎてSymfonyユーザー達は阿鼻叫喚だったが

3系では新機能が一切増えていないらしい。

互換性に関するコードが削除されている。2系でデプリケーテッドになっているのを消しておく必要がある。

少しだけディレクトリ構成が変更されている。ほほー


@secret_hamuhamu

TDDアンチパターン

こちら最近テスト書き始めた僕としてはとても参考になった発表でした。

2006年 James Carr氏の有名なエントリがある。ほほー これかな

http://blog.james-carr.org/2006/11/03/tdd-anti-patterns/

22あるアンチパターンから3つ紹介


  1. The Liar(嘘つき)

    全部テストがパスされているようにみえるが、意図したテストが行われていない

    嘘ついているか見分けるのが大変


  2. Excessive Setup(過度のSetup)

    テストを開始するために多くの設定作業を必要とする

    テスト実行するためのコスト(手間)が大きいと変更に弱いテストになる

    => 設計がおかしいサイン

    1つのユニットテストで複数のオブジェクトをテストしない

    mockを使ってやりたいテストに集中しよう


  3. The Giant(巨人)

    God Object

    ほにゃほにゃManagerのような何でもできるクラス

    とにかくテストがでかい

    => オブジェクトの分割を検討しよう


、、、、、何かどれも心当たりあった、、残りの19パターンを知るのが怖い、、

でもとても大事そうだから熟読しておこう。そしてテスト直そうと発表聞いてて思いました。


@kurotaky

PHP Brewで学んだPATHの話

そういえばPHPでバージョン切替したいなーと最近思っていたのでとても参考になる発表でした。

PHPを$HOMEディレクトリにインストールしてバージョンを切り替えたりできる

しかし、PATHにカレントディレクトリが登録されてしまう問題があって直されたお話。

https://github.com/phpbrew/phpbrew/pull/634

1.20.4で取り込まれているとのこと。凄い!


@cocoiti

『メルカリでの1年を5分で喋る』

メルカリに入社してからの事をザックリ紹介してくださいました。

あまり詳細にも触れないゆるいトークでしたが、聞き手としても息抜きな感じで良かったです。

下記のような内容でした

1-3月

自分の開発環境つくった

NewRelic入れた

リリースフローヤバイと思った

社内ITの話

Wifiは良いやつ買っといたほうがいいですよ

今は専任のスペシャリストいる

リリース係が手動リリース

一週間くらいでChatOpsになった

4-6月

前職のボスがメルカリでCTOとしてやってきた

7-9月

PHP5.3から5.6になった

5.6化

ライブラリが対応してないやつがあって辛い

回帰テストしたけど、一部が5.3の環境でやっていた

10-

IntelliJにしてよかった


@fortkle

やさしいコーディング規約の導入

この発表とても良かったです。早速今の現場に取り入れたいと思いました!!

コーディング規約の必要性から始まり、既に開発がけっこう進んでいるPJが

どうやってコーディング規約を手に入れるべきかというお話でした。


@hanhan1978

WebServer BenchMarking]

PHPとWebサーバーの構成を4通り提案

(AdventCalendarで記事を書いたけど、どうもウソっぽい)

結果が安定しない

眠れない

会社を1日休んで改善活動

目的と方法を間違っていた

シングルスレッドで計測してた。

並列リクエストを大量に送りつけて、性能が劣化するまでやったよ。というお話でした。

ベンチマークツールの使い方が目的にあっているかが重要とのこと。

(ふむふむ。。。siegeについて何も知らないので調べてみよう)


@oh-sky

PHPという概念が存在しない退屈な世界

AWS Lambda でPHPを動かしたい

PHPはインストールされていないからPHPコマンドをアップロードすれば使える

LambdaはSQLite3が使える

ここまではQiitaに書いてあるとのこと。

(Qiitaの記事は読んでて、凄いことする人いるなーと思ってたので本人見れて嬉しかった)

ただし、やたら遅い

平均1.36秒

Node.JSから直接起動するようにしたけど、あまり変わらない

Lambdaのメモリを増やしたら速くなった

AWS API GatewayでHTMLを返そうとすると大変

ほほー


@qckanemoto

ooo.Skeleton

Web全体の25%のCMSで使われているらしい

でもcomposerフレンドリーではない

独自の資産てテーマだけじゃないか という感じで発表が始まり、

WPのCoreもcomposerで入るようになるプラグインを作ったよというお話でした。

WordPress.Skeleton

https://github.com/qckanemoto/WordPress.Skeleton

@uzullaさんからサポート期間に関する質問(懸念?)があり「飽きるまで」とのことw


@sotarok

PHPでダイエット

PHPでダイエットといえばDietCakeですよね? という感じで発表が進み

余計なものを色々そぎ落とし、自社のサービスに最適化したフレームワーク

Dietcubeを作ったよというお話でした。

まぁ何より、LT中に Dietcube をgithubにpushして初公開するという演出!!

なんか得した気分!

そんなDietcubeはこちらです。

https://github.com/mercari/dietcube


@kenchan

PHPメジャーバージョンアップ大作戦

PHP4からPHP5.6へダウンタイムゼロで!という恐るべき発表でした。しかも実例の紹介。

ダウンタイム許容できるか => ゼロを目指す

バージョンタイムの切り戻しはどうか => 必要

iptablesをinit scriptにしておく事で実現したとのこと。

ペパボテックブログに続きは書いてくださるそうです。


@DQNEO

Install PHP7 on CentOS7 By Ansible

PHP7 on CentOS7 の環境を作る。

更にそれをAnsibleで自動化してみたよというお話

Ansible使ったことないのでピンと来ませんでしたが、ググってみるとイケてるっぽいですね。使ってみます。

発表中にデモでvagrant upを叩くもタイムオーバーとなってしまいました。

(でも懇親会中にリベンジ成功していましたw)


@gong023

Interested in rust

rustという言語でPHP拡張を書くというお話。もう僕には理解が及ばない世界でした。下記なんとかメモったやつを共有

rustとは

mozillaが開発

better C++

メモリに対して危険な操作をするとコンパイル時に怒ってくれる

Modern syntax

optional

Generics & Trait(Interfaceみたいないやつ)

rustからshared objectファイルを作る

1. cargo new (composer initみたいな)

2. write a function in rust

....

Link.so file from php-ext

Carbonをrustに移植したことがある。

今日に向けてPHP拡張にできないかやってみたけど、間に合わなかった。


@b-kaxa

PHPをビルドしてみた

ビルドしたことある方? 会場:けっこうおおい

発表者の@b-kaxaもビルドに初挑戦してみたというお話。

ただし5系でも7系でもなく PHP6!

最後の 本当にPHP6なのか?という疑問と検証方法も面白かったです。


@のりぃ

Enjoy, Twig

Twigって使った事なかったんですが、発表聞いてたら興味湧いてきました。

指定テンプレートが無い場合、何もしない ignore missing とか確かに便利ですね。

条件付きのforか〜 僕そういうの好きだな〜 って思いながら聞いてました。

引数に与えたものをTwigとして再度評価する template_from_string

これは好きじゃないな〜 って思いながら聞いてましたw


@rittyan

『今更Cake2.3でWebAPI作った話』

WebAPIを作ってみて得られた経験を共有してくださいました。

スライド公開されていないようなので、下記は私のメモっす。

Cake2.3を採用したのは大人の事情

オライリーの Web APIを読みました。

バージョニング

整数のが良いなって思った

エラーコード

データ取得系で何もなかった場合204を返すようにしてしまった。

204返しつつ他に何か返す場合は要注意

未だに悩んでいること

ページネーション

一応、limit offset 時刻形式でページネーションするようにしたけど、

ベストプラクティスが欲しい、、

迷ったらシンプルに、わかりやすくを合言葉に

人生初LTとの事でしたがとても良かったです。お疲れ様でした!


懇親会LT

うずらさんが喋る喋る!

いくつも面白いエピソードやツールを発表してくれていました。

ドキュネオさんもリベンジに成功されてたり

僕は用事があって途中で帰ったんですが、本当に悔やまれる。もっと聞きたかった。


PHP BLT #2 に参加してみて

PHPのイベントに参加することがあまりないので、他のイベントと比較することは出来ませんが

無料で参加出来て、これだけ充実した発表が聞けて、美味しいビールに軽食まで出て、、、、、最高ですね!

こんな素晴らしいイベントを主催してくださったメルカリさん!ありがとうございました!


お知らせ

PHP BLT #3 開催決定だそうです!

http://phpblt.connpass.com/event/25341/