phper歴3ヶ月でphper会議に参加して学んだことまとめ（初学者向け）

# 前提

自分はまだPHPer歴3ヶ月の新米エンジニアです。
バリバリの研修中なのですが「とりあえず体系的に学ぶのは大事だ！」ということで
PHPer会議2019に2日間参加したまとめを書きたいと思います。

PHPer会議2019
https://phperkaigi.jp/2019/

正直、セッションを聞いていてわからない言葉も多々あり、本来の意図を理解できていない面がだいぶあります:thinking:
ですが、今回の自分の目的は「体系的に学ぶ」ですので、

「全くわからないｰ>何をやっているかぼやっと知ることができた！」

くらいの、PHPer歴3ヶ月の自分がリアルに思ったことを綴っていこうと思います。

※何度も言いますが、全体がウケているところで
「何で笑っているんだろ、、ハハ、、、:joy:」
みたいなレベルですのでお見知りおきを。
（まさかりを投げる準備はしておいてください。<-覚えたての言葉を使ってみる、使い方合ってんのか？）





## なるほど感80%

### 「Phpstorm30分集中超絶技巧」 山本ユースケ さん

https://speakerdeck.com/yusuke/phpstorm30fen-ji-zhong-chao-jue-ji-qiao-number-phperkaigi-number-a

- Intellij IDEAのIDEAは「イデア」ではなくて「アイデア」だったんだ、、

- Shift*2は重い。

- cmd+O(クラス名)、cmd+opt+O(メソッド、フィールド名)、cmd+shift+O(ファイル名)が全部ごっちゃになっていた。使い分けてこう。全部タブにあるんだけどね、、

- cmd+1から戻る時にトラックパッド使っていたけどescで戻ったほうが効率よい

- あらゆるポップアップは絞り込める、これ知らなかった。

- ステートメントの完結（shift+cmd+enter）これよい。

- postfix completion知らなかった。

- デバッガ、git使いこなせるようになりたい。

### 「設計力を上げるバリエーションの見極め術」 77web さん

https://t.co/e2VSfNbyW6

- バリエーション？
=>プログラミングに置いて処理が分岐するきっかけになる「変化、変動、種類」

- 新しい要件があがってきたときに、「お、if文にぶち込むだけでいいじゃん！」となっていた自分には大変勉強になったお話でした。

- ビジネスの変化のパターンを見極めれば、バリエーションが見極められる
=>見極めるためには業務知識が大前提！そこから想像力を働かせる。じゃないとただの妄想になっちゃうかもよ:rolling_eyes:

- 縦の変化と呼んだものはステートが変わるもの。横の変化と呼んだものは単に種類が増えるもの。

- 「if文の中身が3つ以上になったらいったん条件分岐禁止ギプスを発動します」

- 後藤秀宣さんの昨年のセッションを参考にされているということで、、
(こいつぁタメになります。)
「SOLIDの原則ってどんなふうに使うの？」
https://tech.quartetcom.co.jp/2018/03/11/phperkaigi-solid-ocp/

### 「君、プログラミングが早いねと言われるために」 Masanobu Naruse さん

https://speakerdeck.com/nrslib/step-up-fast-programming

- 今の自分のステップは
「スラスラ書けるまでひたすら書いてトレーニングしよう」
これのみ。

- 綺麗に書くのに慣れていないから遅い
綺麗とは？=>自分が思う綺麗さについて妥協していないコード

- 「実装パターンについて学び、原則について学び、皆の書き方を見て学ぶ。」
これを実行するには、、デザインパターンの本読まねば、、！！！

- このLTもおもしろかったス
https://speakerdeck.com/nrslib/swimming-in-hell

- クリーンアーキテクチャ、デザインパターンについて興味を持つことができました。
ありがとうございます:bow_tone1:
https://nrslib.com/




## なるほど感50%だけどなんかエンジニア力上がった気がする:hugging:

### 「PHP5.5から7.2にバージョンアップした現在と今後の向き合い方」 kosa3さん

https://speakerdeck.com/hypermkt/learned-from-developing-mobile-app-api?slide=2

### 「アンチパターンから学ぶRDB設計」

https://speakerdeck.com/soudai/learn-from-failure-2

- ORMは漏れのある抽象化

- フレームワークって当たり前のように使っていたけど、強い成約と規則があってこそ、デメリットがあるとかいう概念がなかったから、なるほどなと。

- マジックビーンズ、ポリモーフィック、IDリクワイアド、キーレスエントリー、全部知らない知らない言葉や、、

- 漠然とORMを使っていたけど、RDBMSとの関連性や気をつけなくてはいけないことなど説明の仕方がめちゃくちゃわかりやすくてすんなり頭に入りました。
（実際に使えるかどうかは別:thinking:)

### 「モバイルアプリ向けAPI開発を通じて学んだこと」 バーチーさん

https://speakerdeck.com/hypermkt/learned-from-developing-mobile-app-api?slide=2

- APIって何？レベルだった自分にとってはそれこそ流れ、みたいなものが知れたのでよかった。

- いざ開発するとなると、読書会から入る、ということもあるんだなあ。

- Web API: The Good Partsの本が知れたのが一番の収穫。

-独自エラーレスポンスの設計
https://qiita.com/hypermkt/items/78e878bb38cc63e40b2b
https://speakerdeck.com/hypermkt/learned-from-developing-mobile-app-api?slide=2





#難しかった、、、

### 「サーバーレスPHP」 角田一平 さん
https://speakerdeck.com/ippey/sabaresuphp

### 「コンパイラ作りの魅力を語る」 DQNEOさん
https://speakerdeck.com/dqneo/making-compilers-is-fun

### 「Hack HTTP Request and Response Interfaces」 ytakeさん
https://t.co/IlA02r9d0H

# 見ておけばよかった:sob:
### 「RESTの力」 郡山昭仁 さん

(今回発表されたものではないかもです、、)
https://speakerdeck.com/koriym/the-power-of-rest-24bf1cf0-1af8-45dd-bce6-6a5553511775

### 「抽象化って何？」 後藤秀宣 さん
https://speakerdeck.com/hidenorigoto/chou-xiang-hua-tutehe-what-is-abstraction



# その他

#### 基本的用語なんだろうけど知らなかった言葉

- マサカリ
https://qiita.com/kaityo256/items/d7d8f7a0e522895c8f5d

- 銀の弾丸などない
https://ja.wikipedia.org/wiki/%E9%8A%80%E3%81%AE%E5%BC%BE%E3%81%AA%E3%81%A9%E3%81%AA%E3%81%84

- 車輪の再発明
https://ja.wikipedia.org/wiki/%E8%BB%8A%E8%BC%AA%E3%81%AE%E5%86%8D%E7%99%BA%E6%98%8E

#### 読みたいと思った本

- Web API: The Good Parts

- SQLアンチパターン

- 失敗から学ぶRDBの正しい歩き方

- Clean Architecture 達人に学ぶソフトウェアの構造と設計


# 感想

- ただ見たものをまとめただけ感が、、、

- 体系的に学ぶ、の視点で言えば大満足。

- 懇親会とかで自分のレベルの低さを感じてしまい、誰とも話すことができず、、
もっと色々な人と話せたらよかったです。

- 何度も言いますが、初心者向けですので、上級者の方は暖かく見守ってください:pray:

- 本を読んだり、Qiitaを見たりするのとは別で、言葉を聞きながらの資料を見るのはインプットの質が全然違う。


- シンプル楽しかった。

ということで、
初学者の人はカンファレンスとか行くと得るものがいっぱいあるんじゃないかな〜
という記事でした:point_up: