4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

YYPHP#61「WordPressでどういうふうに開発しているか、OOPの説明資料を作っていて言語化できない部分があった、『バグが出た際に直しやすいシステム』ってどんなもの、『再利用しやすいシステム』ってどんなイメージ、LaravelとGraphQLを使っている人いる?、Laravelの勉強法、DDDとか設計の話、単体テストするとき、エラーケースをテストしたいが、ログが大量に出てきてうっとうしい件」

Posted at

#YYPHP #61【PHPの情報交換・ワイワイ話そう・仲間作り・ゆるめ・にぎやかめ】

参加者13名(うちリモート4名)

  • PHP歴
    • 1年未満: 3名
    • 4年: 1名
    • 5年: 1名
    • 10年以上: 4名
    • 不明: 2名

雑談テーマ(話したいこと/聞きたいこと)

WordPressでみんなどういうふうにウェブサイトを開発しているか聞きたい (ひごさん)

  • カスタマイズしたことある人?
  • ウェブサイトはカスタマイズしなくても一応作れる
  • そこから込み入った機能をつけようとなったら
    • ショートタグを覚えたり
    • プラグインを開発するとか
    • WordPressをハックしたりとか
  • テーマを選ぶとき
    • ついている機能を見極無いとならないとおもうのですが
    • 求める機能
  • WordPressってカスタマイズしたら自動更新できなくなるんですか?
    • テーマをカスタマイズして見た目を変えるのが普通だが
      • テーマそのものを変えてしまうとアップデートできない
      • 子テーマを作るのが基本
  • どんなサイトにしたいのか?
    • イベント情報を載せたい
    • 予約管理まで
  • プラグインでできるかも
  • 公式じゃないプラグインはどの程度信頼できるか?
    • 公式じゃないのは初心者にはおすすめしない
    • 野良のプラグインは自分の目で見極めないといけない
      • どうしても使いたいなら、周りに聞いてみるとか
      • アップデートも期待できないものもある
  • 「RSS、私はFeedlyで受信してます。」 @masuipeo

OOPの説明資料を作っていて言語化できない部分があったので聞きたい (ひろさん)

19:45

「バグが出た際に直しやすいシステム」ってどんなものか聞きたい

19:49

  • こうなってたらやだな
    • 一つの関数がめちゃくちゃ長い
    • コメントが書かれているけど、整合性が保たれていない
    • ひとつの関数が1000行くらいあった
      • グローバルな配列を参照していた
      • 最終的には作り直したほうが早かった
      • せめて関数を小分けにしてほしい
    • ログが追えないやつ、ログが出てないやつ
      • バッチ処理とリクエストのログが入り混じってて探すのが大変だったアプリもあった
        • 運用上わかれているといいな
  • 「ジャングル」のコード
    • まずドキュメントがない
    • Smarty使ってるところとReact使っているところもあるので統一性がない
    • ところどころ英語のコメントだったり、日本語のコメントだったり
    • 関数名がkouzamei(講座名), keta(桁)みたいにローマ字になってたり
    • 複数形と単数形
    • 他の人が読むことを考えられてないコード
  • 設計に基づいたカプセル化がちゃんとされているシステム
    • 単体で修正がきくので
  • 設計がちゃんとしていて統一された手法で開発されたシステム
    • ここはこう書かれていて、など再学習しなくていい

「再利用しやすいシステム」ってどんなイメージか聞きたい

19:59

  • コンポーネントなのか、プログラム全体なのか、自由でよいので「再利用しやすい」で出てくるイメージを聞きたい
  • フレームワーク
    • 構造や設計思想が明確、ドキュメントが公開されている、そういうのは再利用しやすい
  • 抽象度が高い
  • ひとつのことをうまくやっている
  • 設定できる
    • ENVかえればなんとかなる
  • Pluggable
  • インターフェイスに依存している
    • 逆に依存していたほうが再利用しやすい?
    • Laravel 5.6だったら動くが5.7は動かない
      • インターフェイスに依存しているとそうじゃない
      • 抽象に依存しているってことですね
  • 公開して誰でも使えるようにする
  • 安定度が高い
    • 何にも依存していない
    • かつ、多くのものに依存されている
    • 疎結合にしたいとおもうけど、密結合になるので、「安定度が高まる」という表現がしっくりこない
    • stability(安定性) → not easily moved (簡単には動かせない)
    • 不安定: 彼氏が変わるたびに服が変わる
      • いろんな彼氏に依存している

LaravelとGraphQLを使っている人いたら話聞きたい (ucanさん)

20:13

  • 使ってる人?
    • 1名
  • MVGパターン
    • Model View GraphQL Pattern
    • Laravel と GraphQLを組み合わせてよかったこと
      • ルーティングを考える必要がなくなった
        • エンドポイントいっこ
      • RequestはLaravelのバリデータが使える
      • ResponseもGraphQLが返してくれる
    • Action単位でMutationを書いていく
      • タスク振りやすい
    • laravel-graphqlというパッケージ
      • 似たようなパッケージがある
      • Laravel 5.7にはまだ対応していない
        • develop ブランチは対応している
    • クライアントサイドは何使っていますか?
      • apollo client
    • 最初学習コスト、調査コストかかってくると思うけど、メリットを感じられますか?
      • 学習コストは掛かっていると思うけど、今後GraphQLを教えられるようになるし
        • 今は高いとおもう
        • 情報が少ないため
      • 生産性は上がったと思う
    • GraphQLを学ぶ価値はあるか?
    • GraphQLはバージョン管理しない
      • テーブル定義が変わったら?
    • Mutationは簡単に作れるのか?
      • laravel-graphqlだと定義したバリデーションされたパラメータがControllerに渡ってくる
        • よさそう
    • ucanさん、サンプルコードGitHubにアップしてください
  • prisma
    • WebからDBのスキーム
    • CQRSだったらview作ったらおしまいとか

Laravelの勉強法を聞きたい (村瀬さん)

20:31

  • 新しいものを学ぶのに積極的な会社にいるが、時間が足りなくて勉強が追いつかない。
  • できるだけ効率的なインプットのしかたを聞きたい。
  • 『はじめてのLaravel』がおすすめ
  • どうやってLaravel学びましたか?
    • 公式のチュートリアルからはじめた
      • 今はメンテされていない
      • 5.5でやった、5.6でやったという記事がQiitaに上がったりはしている
      • バージョン違いで整合性が取れなくておすすめしにくくはなっている
  • ToDoリストの次は何を学んだらいい?
    • リレーションまわり
      • ユーザをフォローできる
        • フォロワーの一覧が見れる
      • 投稿の履歴をカレンダーに表示するとか
  • 架空の機能を作るというより、自分が使うとか、作りたいものを作るといい
    • スクレイピングのシェルアプリケーションを作った (nouphet)
  • TechAcademyのメンターやってる
    • その経験で教えると身につくことがわかった
    • 誰かに教えるといい
  • https://cdn.suin.io/yyphp-questions-for-fresh-phpers.png

DDDとか設計の話 (おきなさん)

20:42

単体テストするとき、エラーケースをテストしたいが、ログが大量に出てきてうっとうしい件 (おきなさん)

20:53

  • テストが成功してるけど、ログが出すぎてつらい
  • 解決策
    • ENVで設定
    • Loggerを差し替える
      • ログを捨てる
    • ファイルに書き出す

雑談開始前の雑談

こないだShouldBee使いました

  • https://shouldbee.at/
  • 日本語でテスト書いてWebアプリを実行できる
  • CLIでもテストできるので、cronで定期実行することもできる
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?