クマのブログ

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

【オンラインだけでしか買えない?ウソです】オンライン以外でのマチュピチュ遺跡チケット購入方法

概要 オンライン以外でもマチュピチュ遺跡へのチケットは購入できる 「マチュピチュのチケットはオンラインでしか購入できない」という情報はウソ 但し、いくつか条件があるので注意 背景 楽しみにしていたマチュピチュ遺跡へ行ったがいざ行くと悪天候でマチ…

はじめてのデザインパターン #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'…

【Laravel】Requestクラスについて

前提 Windows 10 PHP 8.0 Laravel 8.0.2 背景 業務中につまづいた点がRequestクラスの理解不足(というより、Requestという概念の忘却)が原因だったので、公式ドキュメントを見ながら再確認 公式ドキュメントから個人的に「これ便利だな」「こんな使い方で…

PHP-CS-fixerで手軽に読みやすいコードに。

前提 Windows 10 PHP 8.0 背景 プロジェクトのReadmeにあった、初めて見るツールPHP-CS-Fixerを使ってみて便利 実務未経験の時の自分が知ってれば役に立ったな、と思ったのでアウトプット PHP-CS-fixerとは? github.com 何か? The PHP Coding Standards Fi…

【Laravel】モデルのデータ取得

前提 Windows 10 PHP 8.0 Laravel 8.0.2 背景 業務内で初めて知ったことのメモ 思い込みが崩れた瞬間 事象(やりたいこと) DB内のデータをモデル経由で取得したい 困ったこと 1, $user = User::get()->where('id', 1); 2, $user = User::where('id', 1); 上記…

【Laravel-admin】GridとWidgetの同時利用

前提 Windows 10 PHP 8.0 Laravel 8.0.2 Laravel-admin(ライブラリ) 背景 業務中、Laravel-adminを使っており、試行錯誤した中でかなり時間を使ったので、メモ Laravel-adminとは、WEBアプリで必須の「管理画面」を簡単に作ってくれるライブラリ laravel-adm…

【PHP】for文を使った配列の処理

前提 Windows 10 PHP 8.0 背景 会社の研修中、PHPの基礎講座を受講 今の会社に就職前に独学でPHPを学習していたが、初めて知ったことがあったので、アウトプット 事象(やりたいこと) 以下2重配列をデータベースにINSERTしたい ↓配列:$_SESSION['cartinfo']…

【PHP】目に見えないエラー対応

前提 Windows 10 PHP 8.0 背景 会社の研修中、PHPの基礎講座を受講 今の会社に就職前に独学でPHPを学習していたが、初めて知ったことがあったので、アウトプット 事象(やりたいこと) $_SESSION['cartinfo']内にあるデータを繰り返し処理したい // 整数値3を…

mysqli_num_rowsの使い方

前提 Windows 10 PHP 8.0 背景 会社の研修中、PHPの基礎講座を受講 今の会社に就職前に独学でPHPを学習していたが、初めて知ったことがあったので、アウトプット 事象(やりたいこと) mysqli_num_rowsで出たエラーを解消したい /* DB接続済 */ // SQL文の設定…

【PHP】可読性の向上を目指して

前提 Windows 10 PHP 8.0 背景 会社の研修中、PHPの基礎講座を受講 今の会社に就職前に独学でPHPを学習していたが、初めて知ったことがあったので、アウトプット 事象(やりたいこと) カリキュラムで書いてみたソースコードの可読性を向上したい 困ったこと …

【PHP】mysqliの理解

前提 Windows 10 PHP 8.0 背景 会社の研修中、PHPの基礎講座を受講 今の会社に就職前に独学でPHPを学習していたが、初めて知ったことがあったので、アウトプット 事象(やりたいこと) カリキュラムにあった以下コードのforeach文が何しているのか知りたい /* …

【Laravel】リレーション(1対多)

前提 Windows 10 PHP 8.0 Laravel 8.0 背景 会社の研修中、PHPの基礎講座を受講 今の会社に就職前に独学でPHPを学習していたが、初めて知ったことがあったので、アウトプット 先日Laravelのリレーションでつまづいたアウトプット(以下記事)の続き。 kuma-k…

【PHP】PDOによるデータベース接続

前提 Windows 10 PHP 8.0 背景 会社の研修中、PHPの基礎講座を受講 今の会社に就職前に独学でPHPを学習していたが、初めて知ったことがあったので、アウトプット 事象(やりたいこと) PDOでPHPからDB接続したが、mysqli関数を使った場合と何が違うのか知りた…

PSRを読もう

前提 Windows 10 PHP 8.0 背景 会社の研修中、PHPの基礎講座を受講 今の会社に就職前に独学でPHPを学習していたが、初めて知ったことがあったので、アウトプット 事象(やりたいこと) 可読性の高いコーディング能力を身に着けたい 困ったこと 何を基準にコー…

【Laravel】リレーション(1対1)

前提 Windows 10 PHP 8.0 Laravel 8.0.2 背景 業務中、Laravelのリレーションを使った処理を書くことに。 ただ、実装中にあまり理解が追い付いていないことに気づき、改めて基礎を学習 書いてあることはほぼマニュアルの内容ですが、あまりにも悔しすぎたの…

【PHP】他の言語では通用しないPHP特有の変数の宣言

前提 Windows 10 PHP 8.0 背景 会社の研修中、PHPの基礎講座を受講 今の会社に就職前に独学でPHPを学習していたが、初めて知ったことがあったので、アウトプット 事象(やりたいこと) 以下の問題を解く 問題 以下関数を定義せよ。 関数名:calcSum 引数:数値…

【PHP】foreach文と配列を使った処理

前提 Windows 10 PHP 8.0 背景 会社の研修中、PHPの基礎講座を受講 今の会社に就職前に独学でPHPを学習していたが、初めて知ったことがあったので、アウトプット 事象(やりたいこと) 以下問題を解きたい。 問題 $age_list = array('A' => 23, 'B' => 31, 'C'…