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
1k
君の選択は正しいのか?
PHPカンファレンス福岡2017
shiro seike
PRO
June 18, 2017
Tweet
Share
More Decks by shiro seike
See All by shiro seike
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
59
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
390
Team-First Serverless Platform Engineering Approach to PHP Applications with Laravel and Bref
seike460
PRO
0
63
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
1k
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
490
地方のPHPerもクラウドを使う理由 ~コストの最適化とチームに向き合う~ / Why even local PHPers use the cloud ~optimize costs and face the team
seike460
PRO
0
100
OpenTelemetryで始めるベンダーフリーなobservability / Vendor-free observability starting with OpenTelemetry
seike460
PRO
0
250
AIコーディングの本質は“コード“ではなく“構造“だった / The essence of AI coding is not “code” but "structure
seike460
PRO
2
1.4k
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
2
1.1k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
130
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
How to Talk to Developers About Accessibility
jct
2
160
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Writing Fast Ruby
sferik
630
63k
How to train your dragon (web standard)
notwaldorf
97
6.6k
The Pragmatic Product Professional
lauravandoore
37
7.2k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
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! 後悔なき選択をしたい
そもそもお前の 選択は正しかったのか?
正しく選択出来る様に なって来ていると思います
あなたも真剣に向き合うと 良い結果が出るかも知れません
君の選択は正しいのか?
ご清聴ありがとうご ざいました!