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
840
君の選択は正しいのか?
PHPカンファレンス福岡2017
shiro seike
PRO
June 18, 2017
Tweet
Share
More Decks by shiro seike
See All by shiro seike
(再)ひとり技術広報からの脱却 / Re:Breaking away from one-man technical public relations
seike460
PRO
1
130
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
820
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
250
AWS reInvent 2024サービスアップデートデモ / AWS reInvent 2024 Service Update Demo
seike460
PRO
0
38
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
600
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
1.2k
実践サーバーレスパフォーマンスチューニング ~その実力に迫る~ / Practical Serverless Performance Tuning ~A Close Look at its Power~
seike460
PRO
2
380
PHPを書く理由、PHPを書いていて良い理由 / Reasons to write PHP and why it is good to write PHP
seike460
PRO
5
640
AWS CDKを用いたセキュアなCI/CDパイプラインの構築 / Build a secure CI/CD pipeline using AWS CDK
seike460
PRO
3
790
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
The Invisible Side of Design
smashingmag
299
50k
Building Your Own Lightsaber
phodgson
104
6.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
RailsConf 2023
tenderlove
29
980
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Fireside Chat
paigeccino
34
3.2k
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! 後悔なき選択をしたい
そもそもお前の 選択は正しかったのか?
正しく選択出来る様に なって来ていると思います
あなたも真剣に向き合うと 良い結果が出るかも知れません
君の選択は正しいのか?
ご清聴ありがとうご ざいました!