クマのブログ

つまづいたところ、学びを書いていきます

2022-01-01から1年間の記事一覧

はじめてのデザインパターン #1

はじめに ちょこちょこ自分で機能を作ることはできてきたけど、設計がイケてなかったりして苦戦していた時に先輩に相談したところ「デザインパターンとか知っておくと損ないかもね」と教えてもらった。 とはいえ「デザインパターンって何?」状態だったので…

update/save, create/makeの違い

update/saveについて update 差分を見ずにUPDATEのSQLを発行する Customer::where('id', 1) ->update(['name' => $request->name]); ここで$request->nameが既存のDBの内容と同じだった場合でもUPDATEのSQLが発行され、クエリが実行されることになる updated…

例外のカスタム~reportable, renderable~

reportable https://readouble.com/laravel/8.x/ja/errors.html#the-exception-handler クロージャ―で処理をしたい時とかに使う ※以下記事の感じ。実際に使ってないけど、例外投げられた時にslackへnotifyする、みたいな https://tsyama.hatenablog.com/entr…

S3基本概念の理解

AWS

はじめに LaravelでS3にある画像データを処理する機能を実装しようとなった際につまづき、自力で解決しきれなかったので、特に圧倒的不足を感じたS3の知識を一通り確認 参考 AWS公式Doc(https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/Welco…

ライフサイクルフックの違いによるレンダリングのタイミング~img src編③~

Vue

はじめに 前回(~img src編②~)の続き 前回はv-ifの条件をurl(親のプロパティ)にしていたが、今回はchildUrl(子のdataプロパティ)にする 話すこと 前回と同じで、以下コードを例にどのライフサイクルフックをつかったら、どんな挙動を示すのかを順にみ…

ライフサイクルフックの違いによるレンダリングのタイミング~img src編②~

Vue

はじめに 前回~imgのsrc編①~の続き 今回はv-ifの値が子コンポーネントで定義したdataプロパティだった時はどうなるのか、といいう確認がしたい いまだに画面描画時に処理をしたい時にbeforeCreate, created, beforeMount, mountedの内どれを使えばいいのか…

自分のPCのネットワーク回線を知る時に使ったネットワーク知識

背景 「イナグマくんちのインターネット回線ってセキュリティ面大丈夫かな?」 と聞かれ、何調べればいいんだ?となり、先輩に手取り足取り教えてもらいながら大丈夫であることが分かった その際にネットワーク周りの知識の不足を感じ、「これはまずい…」と…

ライフサイクルフックの違いによるレンダリングのタイミング~img src編①~

はじめに Vueのライフサイクルフックの理解が曖昧だった。 特にコンポーネント間でpropsを使った、ページが描画されてすぐのcreated, mounted...あたりの理解が曖昧 以下のようなコードを見た時に 「どのタイミングで」 「どのようにurlプロパティが変化して…

ブラウザキャッシュについて

はじめに 業務で、画像(img)がキャッシュから取得することで想定外の挙動をする事態になっており対応した時に 「そもそも『キャッシュ』についてよく理解していないな…」 と痛感したので、対応にすごく時間がかかったので自分用メモ ※「キャッシュ」と一言…

インターフェースとは?

PHP

はじめに Laravelで認証周りをいじっていた際、先輩から「ここらへん参考になるかも」と教えてもらったドキュメントを読んでいた https://readouble.com/laravel/8.x/ja/authentication.html#the-user-provider-contract ↓Illuminate\Contracts\Auth\UserPro…

「DBへの保存時にエスケープしちゃいけない」からわかったこと

背景 バグ改修をせっせとやっていた時の話 その一つに「XSS発生の対応」があった その時に見事にやらかした話 言語はLaravel バグ状況 状況はこんな感じ 管理画面でユーザーの注文一覧を見れる この各注文に管理者が「メモ」を書けるようにしていた この「メ…

computed, watch, methodsの違い

Vue

https://qiita.com/yukibe/items/f49fcb935363200916fe computed 算出プロパティ 以下のような可読性の悪いテンプレート内のコードをすっきりさせる ↓before <div id="example"> {{ message.split('').reverse().join('') }} </div> ↓after <div id="example"> <p>Original message: "{{ message }}"</p> <p>Compu</p></div>…

動的コンポーネントって?

Vue

はじめに 業務でVueを使っており、「動的コンポーネント」という概念が原因でうまくタスクが進まなかったことがあった 具体的には、共通JSであるapp.jsに書いたjQueryが、Vueから呼び出せない、という事象 尚、Vueではv-forを使っていた 当時の実装イメージ …

スタイルガイド(優先度:B)

https://jp.vuejs.org/v2/style-guide/#優先度B-のルール-強く推奨-読みやすさの向上 コンポーネントのファイル 悪い例 コンポーネントのグローバル登録+そこで処理を書く main.jsとかに全部のコンポーネントの処理を書くイメージ Vue.component('TodoList'…