Twitterでふぁぼったものをひたすら試します

PHPカンファレンス2015に行ってきた #phpcon2015

カンファレンスのシーズンになったね。
第1弾はPHPだよ。

???「普段業務でPHP書くんですかー?」
しもとり「書かねえし。つか社会人じゃねーし。ニートだし」

講演

PHPの今とこれから2015

オープニング。

  • サーバサイドに占めるPHPは80%
  • リリースサイクル1年・ライフサイクル3年(最後の1年はセキュリティ修正のみ)
  • PHP7変更点
    • 高速化
      • 内部構造を最適化しメモリ削減したことによる
      • PHP5.6より+100%、HHVM3.9はさらに+10%。
    • スカラ型宣言・戻り型宣言
      • declare(strict_types = 1);
    • 致命的エラーの例外補足が可能に(try-catch)
    • 結合比較演算子 <=>
    • Abstract Syntax Treeにおいてパーサとコンパイラが分離し、最適化・メモリ削減に
    • 変数構文の統一
    • エクステンション(ereg, mysql, mssql)・SAPIの一部・ <% ... %><script language="php"></script>・newオブジェクト参照代入廃止
    • PHP4形式のコンストラクタがdeprecated

6とんで7したらすばやさが2倍になってたでござる。HHVM/Hackはさらに速い。
人間言語ってここまで変われるんだなあみつを

今どきのSQLインジェクションの話題総まとめ

もうこれお互いがカオスすぎんだよなぁ。

管理機能のID/パスワードがadmin/passwordであった箇所を読んで、しばらく余韻にひたっていた

そりゃ余韻に浸るわ。

やっぱWebアプリケーションって覚えること多くて難しいよなぁ。PHPはHTML/CSSから入るわたしみたいな超初心者もいて、プログラミング初心者にはきついもんなあ。そして結構入門書も完璧じゃないとのこと、これはもしかして「入門書」→「対策本」の流れをセットにしないといけないのか。
(´・ω・`)でも別冊だとそう簡単には買ってくれないよね

プレースホルダの仕組みを安易に自作すると徳丸先生に怒られる

だそうです。PHP初心者のみなさまとPHP本執筆予定の方はご注意ください。

これは個人的な話だけど、↓よかったよ。やっぱり実際に自分が攻撃したほうが覚えると思うんだよね。
www.pupha.net

Hack言語に賭けたチームの話

Facebookのやつ。まあFacebookとかいうリア充意識高いツールはようわからんけど。

  • 8週間サイクル。3バージョンに1つを1年間サポートする
  • HHVM/HackはWikipediaも使ってるってよ
    • 日本での使用例はよくわからんらしい
    • HackでWikipedia編集速度が2倍になるらしい
    • Hackでboxのwebレスポンス時間1/3になるらしい
    • Hackでwpengineのレスポンスパフォーマンス5.6倍になるらしい
  • 引数とか戻り値の型指定ができる
    • nullを許容するかどうかも書ける
    • PHP7とダブる…
  • ジェネリクス・Map・Vector・Set・Pair・Enumもある
    • 他の言語によくあるやつ
  • 非推奨の構文がある
    • and or など
    • 多重for文での break N
      • この辺は他にやりかたがあるっぽい?
    • HTMLを混ぜて書けない
  • 並列実行や実行前構文チェックができる
    • hh_clientでコミット前構文チェックができてイイ
  • Dell Secure Works社委託の調査ではHHVM/Hack起因のリスクはなくセキュリティ的によい

でも

  • Facebookの「古い物は捨てる」精神でCentOS6が捨てられる
  • ぐぐらびりてぃが悪い

だとか。そりゃそうだ。

発表してた人はnginx+Hack+FuelPHP+Go(ばっち用)でやってるらしい。きになるきになる。まあちょっとFuelPHPを書き換えてるみたいだけど。
公式的には、CakePHPとかが(ほぼ)100%いけてるらしい。

徳丸先生に怒られない、動的SQLの安全な組み立て方

SQLインジェクションを・・・駆逐してやる!!この世から・・・一匹残らず!!

徳丸先生が見てる中での発表らしい。ウケる。

IPA仕事してんな。恋愛漫画描いてる団体かと思った。

SQLを文字列結合で作っちゃう問題については

  1. 素数が動的に変わっちゃってやりづらいときや order byカラム名指定をしたいときにやっちゃう
  2. SQLを文字列で指定できてしまう
  3. 使ってるライブラリやAPIのインターフェースが悪い

という原因が提唱されている。ここを解決しようという話だった。

解決策は

  1. SQLテンプレートの使用
  2. SQL構文木を組み立てる
  3. 演算子オーバーライドをDSLに活用する

らしい。「ほんとは構文木のまま送りたい」、できたら面白そう

Coding We Live By 〜モデルと実装の今と未来〜

PHPメンターズセミナーのやつ。全然PHPじゃねえ。

システム設計\プログラミング 悪い 良い
良い 良いシステム 偉大なシステム
悪い Chaos 悪いシステム
  • モデルと実装の4象限
モデル\実装 動かない 動く
良い 無意味 偉大なシステム
悪い Chaos システム

↑まあこういうの全然詳しくなくて難しかったけど、設計は大事って言っておかないと偉い人に刺される気がしたのでメモ。

戦利品

順不同

あ〜大企業が新卒対象の内定チケット配ってくれればな〜〜中途対象のチケットくれてもな〜〜〜〜〜〜

追記:
某企業へ。ビラに載ってるアドレスが間違っててindex of hogehogeが見えてるよ。ばれたら激萎えだから早く直したほうがいいよ。