Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PHPCON関西2017 僕の辿りついた最強のPHP開発環境、あえてのWindows。

Ryo Endo
July 15, 2017

PHPCON関西2017 僕の辿りついた最強のPHP開発環境、あえてのWindows。

※注釈:スライド内に記載の株式会社ロックオンは、2019/8/1より株式会社イルグルムに社名を変更いたしました。

Ryo Endo

July 15, 2017
Tweet

More Decks by Ryo Endo

Other Decks in Technology

Transcript

  1. 僕の辿りついた最強のPHP開発環境
    あえてのWindows。
    2017.7.15 PHPカンファレンス関西

    View Slide

  2. 本日の流れ
    なんで
    Windows?
    カスタマイズ
    してみよう
    最強の
    PHP
    開発環境

    View Slide

  3. 遠藤 良 ryo-endo
    株式会社ロックオンでEC-CUBEやってます。
    組込み→Windowsアプリ→Webアプリで1年半。
    はじめて利用したパソコンはWindows95 (PC-9821)。
    はじめてのプログラミング言語はHSP。
    はじめまして : )

    View Slide

  4. 本日お話することの前提
    ◉ Windowsの話。
    ◉ ローカル開発環境について。
    ◉ あくまで僕が試行錯誤した結果。

    View Slide

  5. Why Windows !?
    なんで?

    View Slide

  6. Web業界での
    Windowsとmacのイメージ ※個人の主観です
    mac windows

    View Slide

  7. Windowsで戦う
    PHPエンジニアよ
    胸を張れ

    View Slide

  8. そんな僕が考えた、
    最強のPHP開発環境。

    View Slide

  9. ローカル環境に求める条件
    ◉ 速い
    ◉ 環境の切替えが簡単
    ◉ なんかイマドキっぽい

    View Slide

  10. 使ってきたツールたち
    Diagram featured by http://slidemodel.com
    XAMPP
    PHP
    Builtin
    Web
    Server
    Cloud9
    Virtual
    Box
    vagrant
    docker
    VSCode
    Web
    Matrix

    View Slide

  11. 僕の考えた最強のPHP開発環境
    php-apache postgres
    mailcatcher
    sftp PHP
    22
    80
    docker-machine

    View Slide

  12. 僕の考えた最強のPHP開発環境
    php-apache postgres
    mailcatcher
    sftp PHP
    80
    docker-machine
    PhpStorm
    Remote
    deploy

    View Slide

  13. 以前の環境
    php-apache postgres
    mailcatcher
    PHP
    80
    docker-machine
    マウント

    View Slide

  14. 以前の環境
    php-apache postgres
    mailcatcher
    PHP
    80
    docker-machine
    マウント
    VirtualBox
    共有フォルダ
    遅い

    View Slide

  15. Time per request 比較
    サーバーの場所 DBの場所 ファイル共有 Time/Request
    Windows
    (xampp)
    Windows - 1033ms
    Windows
    (xampp)
    docker - 684ms
    docker docker あり 4760ms
    ←DBが遅い
    ←DB速くなった
    ←ファイル共有
    が遅い
    ※EC-CUBE3.0 商品点数2000件 全商品検索をapache benchで計測

    View Slide

  16. 僕の考えた最強のPHP開発環境
    php-apache postgres
    mailcatcher
    sftp PHP
    80
    docker-machine
    PhpStorm
    Remote
    deploy

    View Slide

  17. Time per request 比較
    サーバーの場所 DBの場所 ファイル共有 Time/Request
    Windows
    (xampp)
    Windows - 1033ms
    Windows
    (xampp)
    docker - 684ms
    docker docker あり 4760ms
    docker docker なし 464ms ←ファイル共有
      利用しない
    ※EC-CUBE3.0 商品点数2000件 全商品検索をapache benchで計測

    View Slide

  18. ローカル環境に求める条件
    ◉ 速い  → コンテナに閉じて実行
    ◉ 環境の切替えが簡単   → コンテナ切り替え
    ◉ なんかイマドキっぽい → docker

    View Slide

  19. え?これが最強...!?
     

    View Slide

  20. なにが最強かは人それぞれ
    サーバ環境と
    一致していない!
    PHP勉強したい
    だけなのに...
    とにかく
    動けばいいや

    View Slide

  21. なにが最強かは人それぞれ
    PHP
    エンジニア
    サイト
    運営者
    PHP
    初心者
    サーバ環境と
    一致していない!
    PHP勉強したい
    だけなのに...
    とにかく
    動けばいいや

    View Slide

  22. 僕の環境がF1マシンだとしたら

    View Slide

  23. ちょっとスーパーに行きたい...

    View Slide

  24. ラジコン大会に出たい...

    View Slide

  25. リロードに時間を使っていられるほど
    人生は長くない。
    (というか、そもそも早く帰りたい)

    View Slide

  26. どうぞ叩き台にしてください!
     

    View Slide

  27. 叩き台の環境
    php-apache postgres
    mailcatcher
    sftp PHP
    22
    80
    docker-machine
    RemoteDeploy

    View Slide

  28. ファイル共有を変えてみる
    php-apache postgres
    mailcatcher
    samba PHP
    80
    docker-machine
    ファイルサーバー

    View Slide

  29. ファイル共有を変えてみる
    CentOS
    PHP
    80
    VirtualBox
    vagrant rsync
    /vagrant

    View Slide

  30. ファイル共有をやめてみる
    postgres
    mailcatcher
    PHP
    80
    docker-machine
    builtin
    web-server

    View Slide

  31. 簡易DBにしちゃう
    SQLite
    PHP
    80 builtin
    web-server

    View Slide

  32. いっそのこと

    View Slide


  33. みなさんにとっての
    最強のPHP開発環境のヒントは見つかったでしょうか?

    View Slide

  34. 大好きな
    Windowsで
    戦っていこう!

    View Slide

  35. 株式会社ロックオンでは、
    エンジニアを募集しています!
    もちろん macで開発もOK。
      株式会社ロックオン 採用 で検索

    View Slide

  36. 続きは懇親会で!
    みなさんの最強の開発環境を教えてください
    Thanks!

    View Slide