Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
君の選択は正しいのか?
Search
shiro seike
PRO
June 18, 2017
0
680
君の選択は正しいのか?
PHPカンファレンス福岡2017
shiro seike
PRO
June 18, 2017
Tweet
Share
More Decks by shiro seike
See All by shiro seike
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
フルサーバーレスアーキテクチャの運用を重ねた先に見える価値 / The value that can be seen beyond the operation of a full serverless architecture
seike460
PRO
0
23
決断するための勇気、そのためのBacklog / Courage to make decisions, Backlog for that.
seike460
PRO
4
2.1k
Backlog API x Generative AI
seike460
PRO
0
83
「サーバーレス」ってなんだろう みんなでワイガヤ談義 / What is "serverless?" Wigaya discussion with everyone
seike460
PRO
0
32
とにかくHTTP3をライトニングに話す / Anyway, I'll talk to Lightning about HTTP3.
seike460
PRO
0
130
PHP Serverless Pattern
seike460
PRO
0
12
こまけぇこたぁいいんだよ!! PHPWebアプリケーションを早くする、それだけだ / It doesn't matter how small it is! Make PHPWeb applications faster, that's all!
seike460
PRO
0
7
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
What's in a price? How to price your products and services
michaelherold
237
11k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
2
3.4k
Designing for Performance
lara
601
67k
A Modern Web Designer's Workflow
chriscoyier
689
190k
The Invisible Customer
myddelton
114
12k
Faster Mobile Websites
deanohume
299
30k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Code Review Best Practice
trishagee
55
15k
Transcript
PHPカンファレンス福岡2017 君の選択は正しいのか? 株式会社 Fusic 清家 史郎 @seike460
自己紹介
清家史郎 株式会社 Fusic エンジニア PHPer seike460 seike460 seike460 seike460 自己紹介
Fusicについて
株式会社 Fusic ๏ 受託開発やってます
株式会社 Fusic ๏ 受託開発やってます ๏ 自社サービスやってます
๏ 受託開発やってます ๏ 自社サービスやってます ๏ AWSが得意です 株式会社 Fusic
๏ 受託開発やってます ๏ 自社サービスやってます ๏ AWSが得意です ๏ 技術が大好きなエンジニア募集しています! 興味がある方は懇親会等で話しかけて下さい!
株式会社 Fusic
本題
君の選択は正しいのか?
エンジニアにおける選択
技術選定
そもそもお前の 選択は正しかったのか?
私が行ってきた選択を 振り返ってみようと思います
Fusicにおける技術選定 Q.使用する技術ってどのように決めてるんですか?
Fusicにおける技術選定 A.案件担当エンジニアが決めます
๏ 技術選定をエンジニアに委ねています ๏ エンジニアのモチベーションと技術、 両方底上げする意味があります ๏ 責任は多少伴います (みんな凄い助けてくれるけど) ๏ 明確な意思で、技術選定しなければならない
Fusicにおける技術選定
私が行ってきた選択 ケース1
๏ FusicではOJTを行っています 私が行ってきた選択 ケース1
๏ FusicではOJTを行っています 私が行ってきた選択 ケース1 ϝʔϧΞυϨεਃ͕ग़དྷΔγεςϜ࡞ͬͯ
๏ FusicではOJTを行っています ๏ メールアドレス申請が出来るシステム作って ๏ メールサーバーにはAPIないよ ๏ いわゆる普通のWEB開発だね 私が行ってきた選択 ケース1
私が行ってきた選択 ケース1 LAPPでいいか CakePHP3もみんな使ってるし使おう
私が行ってきた選択 ケース1 LAPPでいいか CakePHP3もみんな使ってるし使おう
出来たシステム ϝʔϧਃཧγεςϜ
๏ 要件は満たした ๏ 依頼者の反応も実際に「要件は満たしてるね」 ๏ 自分の枠内での開発 ๏ 現状不満が上がっています 選択の振り返り ケース1
明確な意思を持たずに技術選定し、 システムへの付加価値を付けれなかった
私が行ってきた選択 ケース2
๏ AWSにシステム構築しよう ๏ JsonデータをAPIに送信してデータ保存しよう ๏ 送信されたデータをWEBで表示しよう ๏ APIにはいつデータ来るかわからないから 落ちないで欲しいよね ๏
でも冗長構成にすると費用がかさむ 私が行ってきた選択 ケース2
そうだ! サーバーレスにしよう!
๏ AWSマネージドなAPI GateWayにてjson受信 ๏ 受信jsonをLambdaに渡しPythonバリデーション その後、安価なストレージであるS3に配置 ๏ S3に配置したjsonを仮想サーバー上のCronで データベースに保存 ๏
データベースに保存したデータをWEBで表示 私が行ってきた選択 ケース2
出来たシステム
๏ サーバーコストの削減に成功 ๏ AWSマネージドサービスを利用することで 可用性の向上 ๏ Python書けて、楽しかった サーバレスにした結果 明確な意思を持ち技術選定した事で、 システムに付加価値をつける事が出来た
私が現在行っている選択
๏ メールサーバーが変更になった ๏ APIがある ๏ API側とデータの付け合せを行いたい ๏ API側の結果を待ってると遅い ๏ 非同期処理で情報取得したい
๏ PHPをforkさせる手もあるが楽に書きたい ๏ PHPじゃ無くてもいいよな… ๏ 非同期処理が強い言語が良いな… 私が現在行っている選択
そうだ! Goで書こう!
๏ 単純に速度速い ๏ 非同期処理が簡単に書ける (非同期処理を制御出来ているかは別の話…) ๏ WEBアプリも書ける (PHPってWEBアプリ書きやすいんだな…) ๏ GO、楽しい!
Goで書いてみて思ったこと この選択が正しいのか まだ結果は出せていません
๏ 技術選定するにも必ず制限はあります ๏ その制限の中で最高の選択を行いたい ๏ 技術の幅を広げなければならないと感じています ๏ PHPに囚われなければ、解決する課題もあると思います ๏ PHPの特性を認識して、柔軟に最適な選択を行いたい
๏ ※PHP好きですし、WEBシステムに作るならPHP! 後悔なき選択をしたい
そもそもお前の 選択は正しかったのか?
正しく選択出来る様に なって来ていると思います
あなたも真剣に向き合うと 良い結果が出るかも知れません
君の選択は正しいのか?
ご清聴ありがとうご ざいました!