PHPカンファレンス2016参加してきました!

PHPカンファレンス2016参加してきました!

はじめに

はじめまして。

地味に初投稿のUltraBirdTechと申します。

 

本日、2016年11月3日(木)に開催されたPHPカンファレンス2016に参加してきました。

phpcon.php.gr.jp

 

開催中にtwitterhttps://twitter.com/ultrabirdtech )で呟いたり、社内で展開する内容を考えていたりしたのですが、やっぱりブログとかまとめた形でアウトプットしたいなーという欲に駆られて筆をとった(PCを開いた)次第です。

参加したセッション

参加したセッションは下記4つ。

  1. PHP初心者セッション
  2. PHP7で堅牢なコードを書く
  3. 安全なPHPアプリケーションを作り方2016(途中退場)
  4.  未来のwebに欠かせないREST APIApache Soler+Drupalで実装しよう

自分の中でベストな選択をしたセッションだと思っています。

 

PHP初心者セッション

最初にセレクトしたセッション。

 

現在、私は社会人として、プログラマー3年目です。

PHP歴は2年前に1ヶ月ほど触っただけでした。

3年目だろうが、10年目だろうが数年前にちょこっと触っただけのやつがバリバリPHP書けますなんて顔できないので、参加させていただきました。

 

内容はPHPを勉強し直そうと考えていた、今の私にとって、とてもありがたい内容でした。

PHPの歴史、PHPは何の略?など、本当に「初めてのPHP」といった感じの内容。

あまりにもPHPに触らずいたため、;(セミコロン)が必要だという事ですら私にとって再発見でした笑

 

PHP7で堅牢なコードを書く

続いては、私も何度か記事でお見かけした事があるt_wadaさんの発表。

内容はPHPに限らず、他の言語でも当てはまる素晴らしい内容でした。

堅牢なプログラミングをするには、「予防的なプログラミング」、「攻撃的なプログラミング」、「契約プログラミング」という手法があるというお話。

堅牢なプログラムは、テストコードでガチガチに固めればいいと思っていたのですが、そう言う訳でもなく他にも作り方が色々あると言うことを教わりました。

 

攻撃的なプログラミングは、1年目の頃の上司に「攻めのプログラムをしろ!」と言われていたのですが、やっとその糸口が掴めた気がします(その時の上司が同じ意味で言っているかは、もう分かりませんが・・・)

 

以下メモ書き

予防的なプログラミング

結論:「予防に勝る防御なし」

  • 何かが起こってから直すのではなく、そもそも間違えないようにする。
  • 防御的プログラミング、「そうなるはず」だと決めつけないこと。
  • 問題発生を事前に防ごうというコーディングスタイル。
  • 可読性が高いコード、読みやすい書き方。
  • 良識ある実践の積み重ね。
  • 根本から断つ!
  • できていいことだけをできるようにする。
攻撃的プログラミング

結論:「fail fastが原則」

  • 何か起きた時は落としに行く。実行を停止に行く。

  • コード内で「ありえない」と思われる何かが発生した場合、その時点でプログラムはもはや実行可能なものとはなっていない。

  • 障害を抱えて中途半端に動くよりも、死んだプログラムの方がダメージは少ない。

  • プログラムは正当性と、堅牢性という考え方がある

契約プログラミング

結論:「バグと例外を区別、失敗にはバグと例外がある。バグには俺のバグとお前のバグがある。」

  • 誰の責務かをはっきりさせる契約による設計。

  • 契約による設計とは、プログラムの正しさを保証するための簡潔かつパワフルな技法

  • 要求されたこと以上のこともそれ以下のことも行わない

  • そもそも間違わない設定をする。

  • バグと例外を区別し、さらに誰の責任も見分けられるようにする

安全なPHPアプリケーションの作り方

今回の一番の目的であったセッションです。

ただ・・・他のセッションにも興味があったのでそちらに心変わりしてしまったのは内緒。

体系的に学ぶ 安全なWebアプリケーションの作り方」は私も読ませていただいております。

内容も本に書かれている発展系と言う形で、実際に脆弱性を疲れて起きた事故を例に挙げて、一つ一つ丁寧にまとめてくださっていました。

40分ほど聞いて、他のセッションへ移動しました。

申し訳ないです。。。

未来のwebに欠かせないREST APIApache Soler+Drupalで実装しよう

Drupalが凄い!

≡ Drupal Japan ≡ | Drupal 日本サイト

以上!

 

・・・嘘です。

でも、個人的な感想は本当その一言に尽きます。

 

2年ほど前からでしょうか。

知り合いにDrupalが凄い、これからの時代はDrupalだと洗脳され続けて早2年・・・

やっと私も技術的にある程度の余裕が生まれてきて、着手しようとしている技術です。

むしろ、私がPHPを再び勉強しようとしている理由でもあるDrupal

今回のセッションの中で唯一Drupalという単語があったセッションだったので参加させていただきました。

 

まずは「これからの時代はREST APIだよ」というお話。

webアプリケーション、連携サービス、iOSandroidアプリケーション、IoT機器など様々なコンテンツが生まれている時代に、URL打っただけで値を返却してくれるREST APIは普及しますよねっていうお話。

REST APIをサーバに乗っけて用意しておくだけで、あとは呼び出し元で勝手に情報取得して各々処理をしてもらえばいい。

確かに、これからの時代重要視されてきそうな技術だなと思いました。

 

そして、登場するDrupal

もうそこからは、Drupalのことしか頭に入ってこなかったです(恥

ボタン、ぽちぽちだけでGETやら、PATCHやらのAPIの呼び出しができてしまって何が起きていたのかさっぱり・・・

少しでもDrupalに関して何ができるCMSなのかということを掴みに行ったのですが、結果何でもできすぎて何ができるのかわからないという異常な優秀ぶり。

もっと本腰入れて勉強しなければと思わせてくれたセッションでした。

 

まとめ

今回、PHPカンファレンス2016に参加して感じたことは、「技術系のイベントって臆せず飛び込んでみていいものなんですね」ということですね。

いやー、色々ありまして社外の技術勉強会やカンファレンスに参加するの3年目にして初めてなんですよ(アハハ

サボってたわけじゃないし、興味がなかったというか、誰も誘ってくれなかったというか・・・

とても楽しかったです!

また、勉強会参加させていただきます!

 

今度はRubyのカンファレンスとか行ってみたいです。