タグ

ブックマーク / zenn.dev/yumemi_inc (6)

  • 会話形式で綴る「fetch()のキャッシュ」

    登場人物 僕・・・フロントエンドエンジニア 教えたがりおじさん・・・フロントエンドエンジニア とあるシステム開発会社にて 僕「あれ?」 僕「ブラウザを何度もリロードしても、1分に1回くらいしかデータが更新されないなぁ」 教えたがりおじさん(以下、おじさん)「ん?どうしたんや」 僕「あ、教えたがりおじさん」 僕「実はですね」 社員名簿的なWebシステムを作っている 僕「今、社員名簿的なWebシステムを作ってまして」 僕「社員一覧っていうページを作ろうとしてるんですけど」 おじさん「ほー、弊社の社員一覧を画面に表示する感じやね」 僕「そうです」 僕「APIの/membersっていうエンドポイントを叩いて、社員一覧のデータを取得して」 僕「それを画面に表示するところまではできたんです」 おじさん「なるほどな」 おじさん「SPAのフロントエンド部分を作ってる感じやね」 おじさん「それで、何が問題な

    会話形式で綴る「fetch()のキャッシュ」
  • 【ガチ検証】Eloquent whereHas() はもう遅くないよ!

    はじめに Laravel Eloquent には whereHas() というメソッドがあります.このメソッドは,リレーション先のテーブルを検索条件に含めたい時に活用できるものです. 例を示します. 今,Author モデルと Book モデルが hasMany の関係(1:他 の関係)で定義されているとします. use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\HasMany; /** * @property int $id PK * @property string $name 氏名 */ class Author extends Model { public function books(): HasMany { return $this->hasMany(Book::

    【ガチ検証】Eloquent whereHas() はもう遅くないよ!
  • フォームを作るならtype属性くらい適切に設定してくれ

    web制作の基中の基、フォーム作成に付いてのお話です。 TL;DR web制作において殆どの場合避けて通ることができないフォーム作成ですが、今日平然と運用されてるwebサイトの多くがフォームの基中の基であるtype属性を適切に設定していない場合があります。 記事はtype属性を適切に設定することの意義、適切に設定しないことの罪について話していきます。 type属性とは? type属性とは、その名の通りinputに設定される型であり、デフォルトではtextで定義されます。 ブラウザはこのtype属性を読み取って、フォームの見た目を変化させたり、valueの型を設定したりといった挙動をします。 MDN Docs type属性を設定しない罪 type属性はデフォルトでtextになるという話をしましたが、ではemailやpasswordあるいはurlといった文字列で表される情報を入力する

    フォームを作るならtype属性くらい適切に設定してくれ
  • 大塚流フロントエンド開発の歩き方

    フロントエンド開発は考えることが多い。とくに 0 -> 1 の場合だと、何からはじめたらいいのか?が全然わからず、途方にくれてしまうこともあるでしょう。実際、ぼくがそうでした。 そして、そういった情報はなかなか検索しても出てこない。設計方法や実装方法みたいなものはたくさんあるのに。なので、書いてみました。 これは、ぼくがいくつかのフロントエンド開発を経て「これを最初に知っていれば、もうちょっとうまくできたかも?あの失敗がなかったかも??」をまとめたものです。 フロントエンド開発に不慣れな方の参考になれば、これ幸いです。 まずは仕事のゴールを確認する プロジェクトや各フェーズごとに仕事のゴールは異なるため「何をもって仕事が完了したと言えるか?」を確認する。たとえば、要件定義フェーズであれば「画面仕様書が完成する」とか、開発フェーズであれば「API結合試験がすべて完了し、バグチケットがすべてク

    大塚流フロントエンド開発の歩き方
    lugecy
    lugecy 2023/03/20
  • 例外の命名の参考にするために Laravel の例外すべて漁ってみた

    はじめに クラス名,変数名,パッケージ名など,プログラミングには ”英語での命名” が不可欠ですよね. でも, こういうの,プログラミング的な英語ではなんて言ったらいいか分からない(適切な単語が思い浮かばない) そもそも日語でもうまく命名できない など,困ったことはありませんか? 僕自身,命名にはいつも悩まされますが,最近よく例外の命名についてとても悩んでしまします. たとえば 「データベースを検索した結果,該当するレコードが見つからなかった」という場合に投げる例外を考えます. Laravel の Eloquent Bulder を使う場合, というコードを書いたとき,id が 1 のユーザーが見つからなかった場合,ModelNotFoundException::class がスローされます. でも,もしこのような例外をを自分で考えないといけなかったとき, CouldNotFindMod

    例外の命名の参考にするために Laravel の例外すべて漁ってみた
  • 【Laravel】 DB::transaction と クロージャの中身をモックするユニットテスト

    TL;DR クロージャを引数として受け取るメソッドをモックし,かつ渡されたクロージャ内で呼ばれるメソッドもアサートしたい場合は with(\Hamcrest\Core\IsInstanceOf::anInstanceOf(Closure::class)) andReturnUsing(fn (Closure $closure) => $closure()); を使うことで実現できる メソッドチェーンでそれぞれのメソッドをモックする場合は andReturn($user = Mockery::mock(UserContract::class)); のように,メソッドの戻り値を新たにモックし,変数に格納することで,次のメソッドのモックは,前のメソッドの返り値(のモック)を使うことができる はじめに PHP でテストを書く上ではほぼ必須と言って良いおなじみのモックライブラリ Mockery .

    【Laravel】 DB::transaction と クロージャの中身をモックするユニットテスト
  • 1