Posted at

YYPHP#95「ライブラリ選定基準って?ライセンスどうしてる?」「Laravelで参考になる教材について語りたい」「実務で役立つLaravelベストプラクティスを教えてくれ!」「アルゴリズムが仕事で役立ったことってある?」「受託開発でのデプロイってどんなふうにやってる?」

これは2019年8月2日に開催したPHPerイベントYYPHP#95のイベントレポートです。

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

今回の配信動画

過去回の配信動画

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

前回YYPHP#94「PHP勉強してて、つまづいたこと、はまったこと教えて」「自作フレームワーク開発、どこから手をつけたらいい? 」「テスト環境と本番環境のDBの整合性、どうやって合わせている?」「仮想DOM系のフレームワークを触っている人がいたら話きたい」「組み込み系とウェブ系の開発スタイルの違いを聞きたい」 - Qiita


雑談


ライブラリの選定基準ってどうしてる?。ライセンスとか (かきうち)


  • WISIWIGエディタで脆弱性が出た

  • エスケープするライブラリを入れようと思った

  • https://github.com/ezyang/htmlpurifier

  • ライセンスは何を基準に入れたらいいか?

...


  • GPL系:


    • GPL系は難しいから、心配なら避けたほうが無難

    • AGPL


      • 改変した場合、請求されたらソースを公開する必要がある

      • ウェブサービスであっても改変してて請求されたら同じく公開が必要



    • LGPL


      • 中に組み込んで使ったら、組み込んでいるソフトウェアも同じくLGPLにする必要がある





  • MIT,BSD,Apache:


    • これだったらあまり難しいこと考えずとりあえず使えるという判断ができる



・・・


  • フロントで使う場合、GPLは伝染する。LGPLは伝染しない

  • PHPは動的言語なので、実行時に読み込まれるのであれば考慮しなくて良いという判断がある

  • PHPはPHP3というライセンス



  • ライセンスの記述が必要な場合はLICENSEファイル、COPYRIGHTファイルなどに記入する

...


HTMLの入力を許すときのXSS対策は? (かきうち)


  • https://github.com/ezyang/htmlpurifier

  • Content-Security-Policy

  • 社内で使うCMSであればセキュリティ的にはそこまで気にしなくてもよいかも


    • 脆弱性診断でひっかかるケド…




参考になった教材について話したい (ただ)


Laravelを仕事に入れる上での注意点を聞きたい (かきうち)


  • バージョンアップが大変って聞きましたが?


    • たまにすっごい変わることがあるので、大変だという話を聞いた。

    • マイナーバージョンアップでも大きく変わる場合も。

    • 細かくバージョンアップしていれば、そんな大変じゃない気もする

    • ミスってもLaravel関連の情報が多いのでまだいいかも



  • LTS版を使えばいいんじゃない?


    • Long Term Support版

    • 長くバグ修正などをやっていくと宣言されたバージョン

    • 今なら5.5を使えばいいと思います!





...


  • PHPのバージョンアップのイメージが掴めてないけど?


    • 基本は動作確認していく。

    • テストサーバのバージョンを上げて潰していく。




実務で役立つLaravelベストプラクティスを聞きたい (ただ)


アルゴリズムを勉強して実務で役に立った場面は? (ますい)

このアルゴリズムの考え方で〇〇を実装できた!とか聞きたい!

...


  • CSSのパーサーを書いてたとき(実務)


    • CMSを作っていたとき。

    • SassとかLESSとかない時代

    • 変数をCSSに使えるようにしたかった。

    • 逆ポーランド表記法


      • 3 + 4 ... 3 4 +





  • 下の方にいけばいくほど意識することが多い気がする


    • ライブラリなどの気持ちがわかった上で使えるところはある



  • DIコンテナ


    • 有効循環グラフ



  • 再帰処理は?


    • アルゴリズムではない?




  • 「アルゴリズム図鑑」


    • アルゴリズムの気持ちが分かる

    • 字で書いてあると分かりにくいが、このアプリは可視化しながら学べる。



  • アルゴリズム図鑑 絵で見てわかる26のアルゴリズム | 石田 保輝, 宮崎 修一 |本 | 通販 | Amazon

  • 二分探索って考え方が使える気がする


    • デバッグするとき


      • 上半分削ってみる


        • 下半分の上半分を削ってみる








受託開発においてのデプロイの手法 (ふー)

継続的にコードをデプロイしていくのではなく、あるタイミングでどかっとデプロイする場合どうする?

開発環境をハッピーにしたいという動機

...


  • 自動化はあんまりしない。

  • git pull OR 固めて持ってって解凍して配置

  • 開発チームのニーズとお客さんの要求によって決めていったほうがいい


YYPHPは毎週やってます

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

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