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
860
君の選択は正しいのか?
PHPカンファレンス福岡2017
shiro seike
PRO
June 18, 2017
Tweet
Share
More Decks by shiro seike
See All by shiro seike
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
120
(再)ひとり技術広報からの脱却 / Re:Breaking away from one-man technical public relations
seike460
PRO
1
140
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
910
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
260
AWS reInvent 2024サービスアップデートデモ / AWS reInvent 2024 Service Update Demo
seike460
PRO
0
44
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
620
とにかく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
390
PHPを書く理由、PHPを書いていて良い理由 / Reasons to write PHP and why it is good to write PHP
seike460
PRO
5
680
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
328
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Language of Interfaces
destraynor
156
24k
GraphQLとの向き合い方2022年版
quramy
44
14k
Embracing the Ebb and Flow
colly
84
4.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
570
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
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! 後悔なき選択をしたい
そもそもお前の 選択は正しかったのか?
正しく選択出来る様に なって来ていると思います
あなたも真剣に向き合うと 良い結果が出るかも知れません
君の選択は正しいのか?
ご清聴ありがとうご ざいました!