PHPを使う理由

株式会社SCOUTER @kotamat

PHP Conference 2018

スポンサーセッション

  • kotamat
  • SCOUTER CTO
  • サーバー、インフラ寄り
  •  🚴‍♂️
  • Vuefesメンバー

だけkotamats

日本初 紹介免許なしで人材紹介ができる
ソーシャルヘッドハンティング
現在3,000名が登録し身近な転職希望者を
紹介することで報酬が得られます

紹介会社様の収益化に特化した

求人データベース+業務管理ツール
月額課金のみで紹介料を全額受け取れます

2つの人材紹介サービスを展開

新規サービス開発中

転職にまつわるサービスを展開

エージェント

転職者

求人企業

転職にまつわるサービスを展開

エージェント

転職者

求人企業

エージェントを

免許無しで誰でも

できるように

転職にまつわるサービスを展開

エージェント

転職者

求人企業

エージェント向け

業務管理 + 求人DB

転職にまつわるサービスを展開

エージェント

転職者

求人企業

面接・履歴書では

わからない転職者の

リファレンスチェック

今までLaravueでやってきた

しゃべる内容

  • なぜ今PHPを採択しているのか
  • ポジション形成のためにやったこと
  • PHPの苦手領域の克服方法
  • これからの技術選定
  • まとめ

なぜ今PHPなのか

入社したときに今後の技術の

再検討を行った

  • 当時からSPA + APIの構成だった
  • サーバーサイドの技術はどうするか
  • 当時流行っていたRails?
  • 軽量APIとしてのGolang?

@2017/4

👍

  • スタートアップ経験者がよく使っている
  • 若年層の参入が多い
  • 日本コミュニティー活発

👎

  • 採用競合強い
  • 言語として表現力が高すぎる
  • フレームワークとしての規約が辛い

Ruby (on Rails) を選ぶと

👍

  • シンプルな言語思想で入りやすい
  • 静的型付きで、凡ミスを防げる
  • 軽量かつどこでもバイナリで動く

👎

  • 採用競合さらに強い
  • (当時)そもそも使ってる人少ない
  • ベンダリングのバージョン管理辛い問題(dep or glide or etc...)
  • 高レベル設計力を要求される

Golang を選ぶと

👍

  • いままでの資産は使える
  • Webにおける開発が爆速でできる。
  • まだポジションを築いている会社はない。

👎

  • gRPCのサーバーサイドにはなれない。
  • ゆるふわにかけてしまう
  • PHPアレルギー症候群を採用できない。

Laravelのままだと

世の中の

流れが
変わってきた

PHPハイパフォーマンス化

Laravelの急成長

当時のSCOUTER

  • なんか面白そうなサービスやってるよね
  • え、エンジニアいるんすか。。?
  • 意外とエンジニア多いんすね。

技術組織としての認知が皆無

まず

Laravueで

ポジション

掴むぞ

爆速開発 + Laravue

  • Vue.jsもLaravelも自由度が高く導入が簡単
  • 一回設計をしっかり行えば程よい塩梅で開発できる
  • ある程度の大きさまで高速に実装できる

スタートアップでの開発に向いている

とにかく情報を発信し続ける

  • 世の中に認知してもらうため
  • 自分の技術を棚卸しするため
  • 強い人と交流するため

技術ブログ

Laravue勉強会

NuxtMeetup

累計1000名規模の認知へ

  • ニッチな領域に関しての一定ラインの認知はできた
  • ポジションを作るは一定ライン達成

これからもPHPを使っていくのか?

PHPを使わない理由

  • 静的に型チェックできないよね
  • パフォーマンス悪いよね
  • その他...

エンジニアなら

エンジニアリングで回避する

静的チェック

PHPStan

PHPStan

+

静的解析を

コメントする形で出力

+

CIで

(全てではないが)

及第点のチェックはできる

どうしても

無理な領域は

マイクロサービス化

PHPだと難しいところ

  • バッチ処理
  • マルチスレッド化
  • 機械学習
  • PHPアレルギーの人

いずれ多言語で実装されることを想定

言語を超えた通信をする

前提の構築が必要

  • gRPC + protobuf
  • GraphQL + 静的ジェネレーター
  • APIドキュメント自動生成

SCOUTERでは一部APISpec

自動生成を行っている。

  • Featureテストを記述すると
  • RFC 7230ベースのファイルが生成される。
  • PHPStormなどで実行可能ファイル

https://techblog.scouter.co.jp/entry/swagger-to-rest

まとめ

  • 技術選定をし、あえてPHPでいくことにした
  • PHPの苦手分野は技術で解決していく
  • どうしても厳しいところはあるので、他言語を使う想定で組んでいく

SCOUTERではエンジニアを募集しております!

http://bit.ly/scouter-laravel

http://bit.ly/scouter-vue

PHPを選ぶ理由 @PHP Conference

By Kota Matsumoto

PHPを選ぶ理由 @PHP Conference

  • 4,868