Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
PHPカンファレンス福岡2017 君の選択は正しいのか? 株式会社 Fusic 清家 史郎 @seike460
Slide 2
Slide 2 text
自己紹介
Slide 3
Slide 3 text
清家史郎 株式会社 Fusic エンジニア PHPer seike460 seike460 seike460 seike460 自己紹介
Slide 4
Slide 4 text
Fusicについて
Slide 5
Slide 5 text
株式会社 Fusic ๏ 受託開発やってます
Slide 6
Slide 6 text
株式会社 Fusic ๏ 受託開発やってます ๏ 自社サービスやってます
Slide 7
Slide 7 text
๏ 受託開発やってます ๏ 自社サービスやってます ๏ AWSが得意です 株式会社 Fusic
Slide 8
Slide 8 text
๏ 受託開発やってます ๏ 自社サービスやってます ๏ AWSが得意です ๏ 技術が大好きなエンジニア募集しています! 興味がある方は懇親会等で話しかけて下さい! 株式会社 Fusic
Slide 9
Slide 9 text
本題
Slide 10
Slide 10 text
君の選択は正しいのか?
Slide 11
Slide 11 text
エンジニアにおける選択
Slide 12
Slide 12 text
技術選定
Slide 13
Slide 13 text
そもそもお前の 選択は正しかったのか?
Slide 14
Slide 14 text
私が行ってきた選択を 振り返ってみようと思います
Slide 15
Slide 15 text
Fusicにおける技術選定 Q.使用する技術ってどのように決めてるんですか?
Slide 16
Slide 16 text
Fusicにおける技術選定 A.案件担当エンジニアが決めます
Slide 17
Slide 17 text
๏ 技術選定をエンジニアに委ねています ๏ エンジニアのモチベーションと技術、 両方底上げする意味があります ๏ 責任は多少伴います (みんな凄い助けてくれるけど) ๏ 明確な意思で、技術選定しなければならない Fusicにおける技術選定
Slide 18
Slide 18 text
私が行ってきた選択 ケース1
Slide 19
Slide 19 text
๏ FusicではOJTを行っています 私が行ってきた選択 ケース1
Slide 20
Slide 20 text
๏ FusicではOJTを行っています 私が行ってきた選択 ケース1 ϝʔϧΞυϨεਃ͕ग़དྷΔγεςϜ࡞ͬͯ
Slide 21
Slide 21 text
๏ FusicではOJTを行っています ๏ メールアドレス申請が出来るシステム作って ๏ メールサーバーにはAPIないよ ๏ いわゆる普通のWEB開発だね 私が行ってきた選択 ケース1
Slide 22
Slide 22 text
私が行ってきた選択 ケース1 LAPPでいいか CakePHP3もみんな使ってるし使おう
Slide 23
Slide 23 text
私が行ってきた選択 ケース1 LAPPでいいか CakePHP3もみんな使ってるし使おう
Slide 24
Slide 24 text
出来たシステム ϝʔϧਃཧγεςϜ
Slide 25
Slide 25 text
๏ 要件は満たした ๏ 依頼者の反応も実際に「要件は満たしてるね」 ๏ 自分の枠内での開発 ๏ 現状不満が上がっています 選択の振り返り ケース1 明確な意思を持たずに技術選定し、 システムへの付加価値を付けれなかった
Slide 26
Slide 26 text
私が行ってきた選択 ケース2
Slide 27
Slide 27 text
๏ AWSにシステム構築しよう ๏ JsonデータをAPIに送信してデータ保存しよう ๏ 送信されたデータをWEBで表示しよう ๏ APIにはいつデータ来るかわからないから 落ちないで欲しいよね ๏ でも冗長構成にすると費用がかさむ 私が行ってきた選択 ケース2
Slide 28
Slide 28 text
そうだ! サーバーレスにしよう!
Slide 29
Slide 29 text
๏ AWSマネージドなAPI GateWayにてjson受信 ๏ 受信jsonをLambdaに渡しPythonバリデーション その後、安価なストレージであるS3に配置 ๏ S3に配置したjsonを仮想サーバー上のCronで データベースに保存 ๏ データベースに保存したデータをWEBで表示 私が行ってきた選択 ケース2
Slide 30
Slide 30 text
出来たシステム
Slide 31
Slide 31 text
๏ サーバーコストの削減に成功 ๏ AWSマネージドサービスを利用することで 可用性の向上 ๏ Python書けて、楽しかった サーバレスにした結果 明確な意思を持ち技術選定した事で、 システムに付加価値をつける事が出来た
Slide 32
Slide 32 text
私が現在行っている選択
Slide 33
Slide 33 text
๏ メールサーバーが変更になった ๏ APIがある ๏ API側とデータの付け合せを行いたい ๏ API側の結果を待ってると遅い ๏ 非同期処理で情報取得したい ๏ PHPをforkさせる手もあるが楽に書きたい ๏ PHPじゃ無くてもいいよな… ๏ 非同期処理が強い言語が良いな… 私が現在行っている選択
Slide 34
Slide 34 text
そうだ! Goで書こう!
Slide 35
Slide 35 text
๏ 単純に速度速い ๏ 非同期処理が簡単に書ける (非同期処理を制御出来ているかは別の話…) ๏ WEBアプリも書ける (PHPってWEBアプリ書きやすいんだな…) ๏ GO、楽しい! Goで書いてみて思ったこと この選択が正しいのか まだ結果は出せていません
Slide 36
Slide 36 text
๏ 技術選定するにも必ず制限はあります ๏ その制限の中で最高の選択を行いたい ๏ 技術の幅を広げなければならないと感じています ๏ PHPに囚われなければ、解決する課題もあると思います ๏ PHPの特性を認識して、柔軟に最適な選択を行いたい ๏ ※PHP好きですし、WEBシステムに作るならPHP! 後悔なき選択をしたい
Slide 37
Slide 37 text
そもそもお前の 選択は正しかったのか?
Slide 38
Slide 38 text
正しく選択出来る様に なって来ていると思います
Slide 39
Slide 39 text
あなたも真剣に向き合うと 良い結果が出るかも知れません
Slide 40
Slide 40 text
君の選択は正しいのか?
Slide 41
Slide 41 text
ご清聴ありがとうご ざいました!