大学生からの Web 開発

会社の人に見つかってぽよぽよしてきた

PHPカンファレンス関西 2017 に行ってきたぞ

PHPカンファレンス関西2017 に行ってきましたので、内容を紹介します

全体的な感想

PHPの現場から

スピーカー

新原 雅司(@shin1x1

内容

スライドは、7月17日時点で公開されていなさそう。見つけたら教えてください。

基調講演。通常のトークより 10 分長い 40 分の内容。

グランフロントに圧倒されて、ぐるぐる迷ってるうちに、始まってしまった。途中参加で立ち見した。

自分が聞いたのは以下の内容。

  • PHP は、リクエストごとにオペコードに変換している。PHP 5.5 からオペコードキャッシュが標準で入った
  • PHP の思想
    • PHP は歯ブラシである
    • 歯ブラシは歯ブラシを使うことに喜びを感じて使うわけではない
    • 歯を綺麗にするために使うのだ
    • 歯ブラシを使うために分厚い教科書を読むの嫌でしょ
    • PHP は問題解決のためのツール
    • 「バグの発生しない!可読性の高い!最強の言語仕様というわけじゃない」
  • PHP is グルー言語
  • 利益を生み出してくれている PHP コードに感謝 :pray:
  • PHP 自虐をやめよう!!!!!!!!
  • PHP エンジニアよ 胸を張れ

またおすすめのページとして以下が紹介されていた。

感想

基調講演ということで、 PHP の基礎という内容だった。

PHP は歯ブラシ」という言葉、プログラミングは問題解決の手段 :muscle: :triumph: ってやつ。

PHP の思想に関連するページとして以下がよさそうだった。作者のプログラミング観などは、 3 ページから。

  • PHPの生みの親,ラスマス・ラードフ氏インタビュー:レポート|gihyo.jp … 技術評論社
  • 気になったワード抜粋
    • プログラミングは必要悪
    • 問題をタイムリーに,手遅れにならないうちに解決できるなら,そのためにgotoを使うかwhileループを使うかはまったくどうでもいいことです
    • みんな自分はプログラマーだ,プログラミングが好きだと言いますけど,たぶん本当に好きなのは初めの10%なんだと思います。私もそこは好きなんです
    • 「その人たちはなぜPHPというハンマーを選んだのでしょう?」「使いやすいからです。始めるのが比較的簡単だから。」
    • PHPは,ひどいコードを動かすのが驚くほど得意です。
    • 世界最悪のコードを書いたとしても,PHPならまだ動くし,実際速度も出るし,スケーリングも可能です。
    • PHPがひどい言語だというならWordPressを他の言語で書き直しますか? がんばってください,5年後に会いましょう(笑)

参加レポートの趣旨からズレてきた。

総集編 - 最近のPHPがわからない人のための基本文法おさらい講座

スピーカー

内容

これもスライド公開されていない。以下、聞きながらのメモ。

  • 初心者向けセッション
  • PHP 7.0 は 2015年12月リリース
  • いろいろな機能は 5.3 から入ったので、5.3 以降だとあんまり辛くないぞ
  • 現在のサポートは 5.6 まで
  • これから PHP を学んでいくのは 7.x から
  • 現場は古いやり方まだまだある
    • id:karur4n autoload や namespace 使わずなど??
  • ライブラリ管理
    • いちいち require するのがめんどう
    • Smarty とかね
    • Smarty なんてまだ動いてるの???
      • 俺が動かしてるぞ
    • 配置がプロジェクトごとに違う
    • Composer 使いてえ
      • 依存管理
      • オートロード
  • null 合体演算子
    • 「$a = A ?? B」
  • クロージャ
    • 処理を変数に閉じ込めて、引数渡しで持ち回すこともできる
  • Trait
    • PHP 5.4 から
    • クラスに共通の処理をもたせたい
    • use して関数を内包する
    • 継承ツリーにマーク(?)付けたいときには継承のほうが便利
  • type hinting
    • PHP 7 からスカラ値できる
    • PHP 7 から戻り値の型を指定できる
  • ビルトインサーバ
    • 便利だよ
  • クラス名を文字列で指定する際、ClassName:class と表現できる
    • なぜその技術が必要だったか
    • どのよにして導入されたか
  • Web のニーズ
    • 古くからある典型的な Web アプリケーションは WordPressEC-Cube でなんとかなった
  • PHP.net はバージョンごとのリリースノートもあるぞ見てくれ
    • id:karur4n 「知っている人???」とアンケート取っていたので、推したいところだったよう
  • 初心者に向けての精神論になってきた
  • 社内のちょっとしたシステムを新しい技術スタック取り入れていくの勉強になるぞ

感想

PHP 5.2 以前は、考えないこととして話されていた。

とりあえず php.net 見ろという感じだった

話者 Twitter

f:id:karur4n:20170717211034p:plain

f:id:karur4n:20170717211038p:plain

PHP[TEK] 2017 参加レポート

スピーカー

  • 奥清隆
    • 株式会社ロックオン

内容

スライドは見つからなかったものの、内容は以下の記事と同じもの。

海外の技術カンファレンス「PHP[TEK] 2017」に参加してきました! | 株式会社ロックオン社員ブログ

  • PHP TEK 2017
  • アトランタ
  • 規模は本カンファレンスに似ている
  • PHP 7: Reality Check
  • Hacklang at Slack
    • id:karur4n スライドは見つからずだったけどトークの動画があった
    • Slack love PHP
    • 446 キロ行のプロダクトコード
    • 114 キロ行のテスト
    • 40 回 / 日 のデプロイ
    • PHP の問題点
      • 下位互換性のない変更
      • コーディングエラー
      • I/O の並列化
    • 対処法
      • そのままがんばる?
      • Java で書き直す?
    • Slack では Facebook が開発している Hack
      • PHP 互換
      • 静的型付け
      • 非同期処理
      • 実行環境は HHVM
    • Hacklang
      • 段階的な型づけ
        • <?php // そもそも Hack じゃない
        • <?hh // 型付け弱いモード
        • <?hh // 厳格モード
      • Generics
      • Shapes
        • 「型とクラスの間のよう(?)」
      • async/await
    • 4453 PHP
      • 2186 PHP
      • 2261 Hack
      • 266 Hack // strict
  • 海外カンファレンスに行くために
    • お金
      • 飛行機 14万
      • カンファレンスチケット USD 895
        • ランチ x 3, ディナー x 2 付き
      • ホテル USD 1,000

感想

id:karur4n 参加レポートの参加レポートを書いている。

3トラック並行のカンファレンスなんだけど、この時間帯は他にめぼしいものがなく、消去法的にこちらを選んだ。

でも Slack での Hacklang の話は、自分の身に実用的かはともかく、へ〜〜と面白い内容だった。

Hacklang, PHP 7 に型付けが入った現在、大きなメリットは何なのだろうか。Generics と Shapes と HHVM で動作させることによるパフォーマンス???? HHVM は PHP5 と PHP7 の主要機能は動作するみたい。

現代におけるプロダクト開発と PHP を選定するワケ

スピーカー

  • 花谷 拓磨(@Potato4d)

内容

感想

業務においては、要件であるサーバの仕様(いわゆるレンタルサーバ)から、より良い選択肢として挙げられている Ruby on Rails, Java は選択できないことが多い???????(たぶん????)

ひたすら楽して、PHP アプリをコンテナ運用

スピーカー

内容

質疑応答

  • 「本トークでは AWS ECS を使っているが、同じ用途である Google Container Engine(GKE) や さくらの Arukas は使ってみたか」
    • GKE は ECS に比べて一段レイヤーが低いように感じる
    • さくらのものは使ったことがない
  • 開発用のコンテナと本番用のコンテナでどういった違いがあるか
    • ソースコードの適用方法
      • 開発用はホストマシンと共有する設定
      • 本番用はビルドしたイメージに含めている
    • もっと煮詰められるはずで、そのへんはこれから

感想

Docker 本番環境のインフラについて難しく考えたくない、という理由から気になっていた。ECS とても便利そう :smile2:

料金は EC2 などの AWS リソースの利用額だそうで、従量課金制。固定額で良いとこないかな。

テストと仲良くするための Codeception のはじめかた

スピーカー

角田 一平

内容

  • 「テスト書いているか」の質問
    • 会場あまりおらず
  • テストは水質調査
    • 川下で調査大変
    • 支流でテストする
  • 不具合の発見が容易
    • 想定外の影響を早期発見
    • 外部パッケージを安心して更新
  • cept より cest おすすめ
    • cept 上から順、1ファイル1シナリオ
    • cest 1メソッド1シナリオ
    • cest は前処理と後処理を設定できる
  • Acceptance テストは遅いので、リハーサルのつもりで
    • 大まかなパターンだけのテスト

感想

便利そう。

Acceptance テストこけたら、Slack にスクショポストしてくれる仕組みつくったら最高っぽい。

はあテスト書いてない自分あかん……って思ってたら、参加者の人 書いていない人が多かった。

LT

5本立て

参考リンク

スライドが公開されたら、ツイートしてくれている。

他の参加者の感想