Posted at

YYPHP#84「良いって聞くけどLaravelって実際どうなの?」「俺のチームのGitワークフローのレビューをしてくれ!」「外部キー制約の話をしよう」「DDDやデザインパターンを学ぶのにオススメの書籍」「LinkedIn Learningが意外と良さそうな動画学習コンテンツがありそうな件」「PhpStormのプラグインdeep-assoc-completionが便利すぎる件」「最近のWindowsが良さそう」

これは2019年05月17日に開催したPHPerイベント[YYPHP#83]のイベントレポートです。

YYPHPは一言で「PHPerの部室」です。PHPについて、雑に、ゆるく、ワイワイ話し合う集いです。毎回お題を決めずに雑談を出発点にいろいろなことを突発的にやります。集まった人でコードリーディングをすることもあれば、一緒に開発ツールを触ってみたり、フレームワークについての情報交換をすることもあります。開催はほぼ毎週、高田馬場にて。

今回の配信動画

過去回の配信動画

https://www.youtube.com/playlist?list=PLpOeTEye3Bg6PodrLHHC72jWMJYZz8VbG


雑談


Laravelが良さそうって聞くけど実際どうなの? (こうら)


  • どんなフレームワーク使ってる?



  • 使ったことあるFW


    • FuelPHP

    • CakePHP

    • Laravel

    • どれも広く浅く触っているので、良さに気がついてないと感じる




  • みなさんどういうフレームワーク使われています?


    • FuelPHP: 2

    • CakePHP: 5

    • Laravel: 6

    • Sabel: 2

    • Symfony: 3

    • Phalcon: 0




  • Laravelがなぜいいと思う?


    • トレンド的にはPHPのフレームワークでLaravelが一番勢いがあって、ユーザも多くなってきている。

    • 日本語の情報が多くなってきている。

    • Ruby on Railsよりも手早く作れるようになってきている気がする。


      • ログインを扱うgemがいくつかあってベストがどれかいちち調査しないと行けない

      • Laravelは公式でちゃんと用意されている。

      • そういうところで迷わなくて良い。






  • なぜLaravelの人気が高くなってきている?


    • Laravelがちゃんと作られているからだと思う


      • コードがキレイ






  • CakePHP3は


    • DIの機構がデフォで入ってない

    • LaravelではDIの機構がデフォである

    • Vue.jsなどフロントエンドとの統合が自分でやらなくていい




  • Laravelはネットワーク効果が聞いてる気がする


    • 色んな人が携わっているので、ライブラリとか情報とか、エコシステムが発展している




俺のチームのGitワークフローのレビューをしてくれ! (しのだ)


  • 俺のチームのGitワークフロー



  • Q&A


    • Git Flowって複雑すぎて、100人とかそれ以上じゃないと効果が出ない気がしますが、Git Flowはどのくらいの規模を想定しているのですか?


      • 8人がmaxだと思う


        • 8人だと重すぎません?


          • 重すぎるかどうかは、扱う製品の安全性をどこまで大事にするか次第







    • Git Flowは知っているけどやってないってことですか?


      • Gitの管理にコストが出ないことがある

      • 管理のコストにメリットが見合わないことがある



    • Seleniumテスト導入した人?


      • 実行時間はどのくらい?


        • 数時間かかる

        • ナイトリー(1日1回)



      • feature単位ではやってなかった



    • Seleniumテストって何?


      • ブラウザを動かして行うテスト

      • 準備が大変


        • Windowsとサーバを用意しないといけない

        • 並列できるようにいくつかマシンも用意しないといけない



      • なので、各自でやるのは難しいのが現状



    • 何人でやっている?


      • 一番多いときで6人

      • アルバイトで週2の人も






外部キー制約の話をしよう。 (よだか)


  • 外部キー制約は必ずつけるべきなの?


  • SELECT FOR UPADATEをつけるだけでは?


  • DELETE ON CASCADEを使うだけ

  • みなさん貼る派ですか?


    • RDBは高い整合性を保てるのがセールスポイントなので絶対つける



  • 基本は貼っておいたほうがいい


    • 不便だからはらないというのは違う気がする。



  • 貼らなかったケース


    • データ量がかなり多くなってDBを分けなければんらなくなったとき



  • 大きいデータになったらNoSQLとかもあるかも


DDDやデザインパターンを学びたい (よだか)

DDDはすごく難しいという話を聞いた。

Eric Evansの本は難しいと聞いた。

デザインパターンを学ぶにあたって初心者にオススメの本を教えて。


LinkedIn Learningが意外と良さそうな動画学習コンテンツがありそうな件 (suin)

PHP関連

DB

JavaScript

オブジェクト指向


Composerのはなし (かきうち)


  • composerを本番サーバにインストールしなくても、作ったアプリは動くのか?


    • 動く

    • vendorディレクトリ


      • gitのrepositoryに入れておくとconflictをする場合もある



    • 安全性をとるならvendorもgitに入れるべき

    • プロジェクトの方針は決めておいたほうがいい



  • 本番サーバにcomposerをインストールしなくてもアプリが動く理由は?


    • composerはただのコマンドだから

    • composerがコード生成したら、もうcomposerコマンドはいらない




レビューとかがない環境なので自分が書いてるコードがどうなのか客観的に見れない。実務に使える技術習得どうしたらいいのか。 (りょう)


  • いい師匠、メンターを見つける。


    • 勉強会、

    • YYPHPのSlackでレビュー依頼を出す



  • IDE


    • インスペクション



  • もっとうまいやりかたが無いのかと思う。


    • フレームワークもそうだし、設計も。




PhpStormのプラグインdeep-assoc-completionが便利すぎる件 (suin)


雑談開始前の雑談


最近のWindowsが良さそう


  • 最近のWindowsが良さそう

  • WSL2


    • デモ動画見ました?


      • 爆速ですごかった



    • WSL1でDocker試したけど動かなかった

    • WSL1はNTカーネルのシステムコールに置き換えてたっぽい

    • WSL2は本物のLinuxカーネル



  • Windows Terminal


    • オープンソース



  • MacからのWindowsへのスイッチコストがすごそう

  • 最近Mac離れがある

  • 自分のMacを会社に持ち込んでるんですか?


    • Yes(の人がいた)

    • BYOD Bring in Your Own Device




YYPHPは毎週やってます

PHPについてワイワイ話したい方は、YYPHPのイベント情報をチェックしてみて下さい。

以上、YYPHPのレポートでした。次回もワイワイやっていきたいと思います! では、また来週!