PHPカンファレンスに参加してきました！

# PHPカンファレンスに参加してきました！

先日12月1日（日）にPHPカンファレンスに参加しましたので、
そのレポートというか感じたこと記事をまとめておきます。

 [PHP Conference Japan 2019](https://phpcon.php.gr.jp/2019/)


# 全体の感想
PHPに特化したというよりは、周辺の技術、アーキテクチャなど様々な部分のセッションがあり、
視野が広がるようなカンファレンスだったなと感じました。
と同時に自分より年下の人が話していたりと、
すごいなーとひたすら関心です。

個人的には「MVCにおける「モデル」とはなにか」が、
哲学的で面白かったと感じますし、
今までMVC＝model:データベース/view：フロント/Controller：他全部
的なざっくりとして捉え方がどれだけ浅はかだったかを痛感致しました。。。

アーキテクチャ＝インフラ構成のイメージが強かったのですが、
アプリケーションアーキテクチャとしてフレームワークをどのように扱うかの意識次第で
運用保守、改修のスピードに結構な差が出るという点を認識しなければと反省しました。
一発ではあまり理解ができなかったので、
今後も継続してインプットしようと思います。


# 参加したセッションとその記事(一部）
## MVCにおける「モデル」とはなにか
### [トーク内容](https://fortee.jp/phpcon-2019/proposal/b6302d4a-a8b8-41a7-ad0c-98704fd18c6c)
>日本の開発者の間でドメイン駆動設計の話題が盛り上がっています。
ドメイン駆動設計の話が出てくるたびに「モデルとはなにか」という話がでてきますが、多くの話は実装に寄った話になりがちです。

>Model-View-Controllerパターン提唱者のトリグヴェ・リーンスカウク博士は「モデルは知識の表象である」と定義しています。
このトークでは、「モデル」とはそもそも何であるのかについて、リーンスカウク博士のModel-View-Controllerパターンを参照しながら詳しく検討します。開発以前にどんな基本的な問題が存在し、何を解決するべく「モデル」という概念は提示されたのか？についてお話します。


### １言メモ
哲学的で面白かったですが、難しかった。。
[感じたこと記事](https://qiita.com/sh_tomato/items/f01de6870db756271656)



## PHPerのためのテストコード入門
###  [トーク内容](https://fortee.jp/phpcon-2019/proposal/ae09ff80-4f56-448d-9541-fa3517649c8f)

>皆さんは普段テストコードを書いていますか？もしくはこれから導入しようと奮闘していますか？はたまたテストコードというのを初めて聞きましたか？
テストコードと一口に言っても、ユニットテスト、featureテスト、APIテスト、E2Eテストなどたくさんの種類のテストコードがあります。
テストコードを導入する前に「なぜそのテストコードを書くのか」を話せることを目的として、テストそのものやテストコードについてお話ししていきます。

### １言メモ
サテライト視聴していたのですが、
途中で切れてしまったので残念でした、、、
発表者が年下というのには尊敬の念しか抱きません。
 [感じたこと記事](https://qiita.com/sh_tomato/items/36695e3d971b846622e2)


## プログラム未経験からたった3ヶ月で圧倒的な開発力を身につける ~ スクラッチ開発の重要性
###  [トーク内容](https://fortee.jp/phpcon-2019/proposal/7c24afe0-27ca-45f6-af0f-fd03b494431b)

>数百以上のプロジェクト開発経験を踏まえ、プログラマに必要なスキルとは？
数年後、10年後先を見据えどのようなスキル・考え方を身につければ
プログラマとして圧倒的に成長できるか？

上記について徹底的に分析し、成長するためのエッセンスを凝縮した
教育カリキュラムを紹介いたします。

###  １言メモ
スピーカーの前田さんは1ヶ月で400時間ほど開発を行っていたそうです。
さすがに起業するレベルの人は熱量が違うなーと感じつつ、
今の自分は業務（8時間×20日）+ 自習(2h×30日）って感じなので、
全然足りないなーと反省もありました。

また、スキルエンジンというプログラミングスクールをやっているようなのですが、
そこでのフルスタックエンジニアには、
進捗・スケジュールの報連相といったタスク管理的な部分や、
思考体力、タイピングといった基礎体力も含めてできる人を指すとのこと。
で、この進捗・スケジュールの報連相といったタスク管理的な部分によって、
フリーランスなどでは仕事の取れ方が結構変わってくるとのことでした。
経験者ならではの考え方で参考になす。

時間の関係もあって、
技術的、具体的な話はあまりなかったのは少し残念でした。。


## Laravel × クリーンアーキテクチャ 開発中の現状をお伝えしたい
###  [トーク内容](https://fortee.jp/phpcon-2019/proposal/da902b6c-1e24-4d01-826c-3e3b70e85a02)
>「クリーンアーキテクチャ」とは、DDDの文脈における「ドメインモデル」をシステムの中心にすえ、「入力」「永続」「出力」などの多方面で抽象化を行うことで、高度に変化への強さを獲得できるアーキテクチャです。昨今の変化の早さに対応するべく「アジャイル開発」や「マイクロサービス」が叫ばれているように、「クリーンアーキテクチャ」もまた日増しにその注目度は上がっているように感じます。

>しかし、やや取っつきにくいアーキテクチャであることからか、現状参考になる資料が無数に転がっているというわけでもありません。そこで、エキテンで現在Laravelベースで開発中の新しい予約システムを題材に、実際にアーキテクチャを形作っているコンポーネントの紹介や、開発する上で行ってみたちょっとした工夫、開発フェーズにおける現場の生の声などをお話しようと思います。

###  1言メモ
正直クリーンアーキテクチャとは？状態だったので、
言わんとする事はなんとなくわかるけど本質的には全然理解できていないといった状態でした。
クリーンアーキテクチャについてはさくっと理解できなさそうでしたので、
後日まとめようと思います。。。

## オニギリペイのセキュリティ事故に学ぶ安全なサービスの構築法
###  [トーク内容](https://fortee.jp/phpcon-2019/proposal/45c01559-3266-42a2-817e-8074b0a8a9be)

>安全なインターネットサービスを提供するにあたっては、ソフトウェアバグとしての脆弱性対策だけではなく、ビジネスモデル・サービス仕様・アーキテクチャ設計・ソフトウェア設計・実装・サーバーなどの多方面からセキュリティ検証が重要となります。本セッションでは、架空のQRコード決済サービス「オニギリペイ」のセキュリティ事故を題材として、サービスの企画・要件定義・設計・実装の各フェーズに起因する問題とその対策を具体的に紹介します。

### １言メモ
概念的な話と、そこから具体的な方法論まで落とし込んでお話頂いたので、
今後どうすべきかがわかりやすかったです。
そういう意味ではある種どこで何をするかがふわっと把握していた状態であったセキュリティ対応というものに、
具体的にこのタイミングでこれをやるべきというのが理解できたなと感じました。

 [感じたこと記事](https://qiita.com/sh_tomato/items/677724ef88355299d756)