#phpconfuk去年に引き続き参加。去年参加分は[2015-06-28-2]を参照。カンファレンスで公開されているスライドをまとめたサイトがあるので参加していないセッションの内容はこれを参考にする。(@shin1x1)発表資料が公開されている。内容メモ実演した制約は以下アクセス修飾子とタイプヒンティング不変オブジェクトインタフェース質疑の中で出た話題Q:ライブコーディングではPHP7を利用していたが、バージョンが低い場合はどうするのか?A:戻り値の型宣言以外はPHP5系でも利用可能Q:PrivateとProtectedの使い分けは?A:まずはPrivateを考えて、必要に応じてProtectedを指定する。5.4以降ではtraitがあるので機能のために継承する必要がなくなったためProtectedを使う機会が減ってきたのではないか公開されているスライドの最終ページを参照のこと感想ショッピングカートを例に制約を実演していくライブコーディング形式。基本的な内容ではあるが朝一のセッションとしては調度よい感じだった。(@k1LoW)発表資料が公開されている。内容メモ対象は技術ドキュメントではなく、概算見積もりやスケジュールなどのクライアントと共有するための文書。これらの文書は印刷し体裁を整えるのが前提となる。ドキュメントづくりを効率化、あわよくば自動化したい。Embulk+PHP、HTML、CSS、JSでレイアウトを作り自動化するPHP、HTML、CSS、JSでの印刷レイアウトは結構イケる。インベントリ情報インベントリ情報とは、サーバにインストールされているパッケージのバージョン一覧のこと。Komaを使ってJOSNで出力。結果をPHPで処理し、Excelに出力するPHPからExcelへの出力にはPHP-ExcelをForkしたものを使っている。CSVからガントチャートExcelを出力するWebサービス化したti.mefra.me。多くなって提携の書面を作る機会が増えているので、興味があった。PHP+HTML+CSSで印刷するのは毎回挑戦して微妙にデザインが崩れてげんなりすることが多かったのだけど、割にいい線いけるらしい。(@suzuki)発表資料が公開されている。内容メモ1時間毎にAPIを叩く100万件の処理を行う必要があったが、普通にやっていては間に合わない。そこでPHPで実装されたHTTPクライアントライブラリのGuzzleを使った。Guzzleは非同期処理やPSR-7にも対応。スライドではサンプルコードも多数。単純にGuzzleを使っただけでは処理が追いつかなかったが非同期処理を使うことで対応できた。単純に非同期の並列処理を使うと、メモリ不足などに直面するので必要に応じて対応するGenerator(yield)+poolなど感想お仕事の中でAPい叩いたりとかHTTPで一括処理をしたりという機会は割と多くあるのでGuzzleは今度触ってみたい。一回何かしら書けば流用しやすいような気もするんだけどどうなんだろう。(@pyama86)発表資料が公開されている。1.5から共有ライブラリを作成することができるようになった。その御蔭で、Goがワンバイナリで動くプログラムを書けるというメリットに加えてLinuxのミドルウェアを作ることが可能になった。幾つかの制限はあるし、Linuxを含めたテストも必要になるためC言語の知識や覚悟が必要になる。Go言語は前から気になっていて手を付け始めている。言っても仕事ではあまり使いではないのでどうしたもんか。Linuxのミドルウェアは書かないけど、前のセッションの非同期処理の辺りとかも含めて仕事っぽく試せればいいんだけど。(@soudai1025)発表資料が公開されている。内容メモデータベースの寿命はアプリケーションよりも長い。サービスの寿命=データベースの寿命と言っても過言ではない。検索Indexまずは実行計画(EXPLAIN)が大切。以前行った実行計画の話も参照のこと。MySQLでは、1つのクエリでINDEXは1つしか使われないINDEXでは重複が少ない(結果が少ない)ほうが良い。全体のレコードの10%~30%程度が目安MysqlではJOINが遅い。対象を少なくしてJOINする。不要なJOINは避ける。WorkbenchやpgAdmin3ではEXPLAINの結果をグラフィカルに確認することができるのでわかりやすい。一般的に使われることが多い削除フラグ(論理削除)という闇。WHERE句が積み重なる、UNIQUE制約が効かなくなる、条件式が複雑になるというデメリットがある。0に該当してしまうため。全INDEXにdeletedを追加する必要がある)UNIQUE制約が効かなくなるのでデータの外部キー制約が使えなくなる。そもそもデータベースにステータスを持たせない感想PostgreSQLの方はあまり興味がなかったので端折っている。INDEX周りは毎回色々難儀しているので参考になった。WordbenchでEXPLAINの結果をグラフィカルに見ることができるのは知らなかったので、さっそく明日からでも使ってみる。削除フラグの話はほんとに耳が痛い話で。要望の問題もあり、どうしても作ってしまう。作り方の問題だと思うので、例えば削除データ用に汎用的なテーブルを作っておいて、削除されたデータをJSONで放り込むなんてのは比較的ラクに作れるかもしれない。何かあって戻すときは人手で戻す必要があるんだから、そのくらいラフでもバチは当たらない気がしてきた。(@rina)発表資料が公開されている。内容メモFusicでは唯一のテスター。エンジニア25人に対して一人。