2020-01-01から1年間の記事一覧
AuthenticationMiddleware の挙動が把握できておらず、ハマったのでメモ AuthenticationMiddleware の挙動 チュートリアル に // src/Application.php public function middleware(MiddlewareQueue $middlewareQueue): MiddlewareQueue { $middlewareQueue /…
(2021/01/18 追記) 次回リリースされるバージョンの Chronos では問題が解消されるようです #283 にて修正済み UTC 以外の場合は diffInMonthsIgnoreTimezone() を使えばok バージョン PHP: 7.4.11 CakePHP: 4.1.5 Chronos: 2.0.6 what すでに公式に issue …
バージョン mysql: 8.0.20 what Docker mysql:8.0.20にログインすると、日本語が ??? に文字化けしていた charset.cnf (ファイル名前は何でもok) で default-character-set を uft8mb4 に設定をする事で解消した // /etc/mysql/conf.d/charset.cnf [mysqld] …
バージョン CakePHP : 4.1.5 DebugKit を無効化 app/src/Application.php の bootstrap() 内の $this->addPlugin('DebugKit'); をコメントアウト public function bootstrap(): void { // if (Configure::read('debug')) { $this->addPlugin('DebugKit'); //…
今回の検証で仕組みの理解には至りませんでした。 個人用に挙動をメモ。 検証したい事 INDEX 有無で下記の挙動の違い 行ロック 行ロック後のINSERT バージョン MySQL 8.0.20 前提 InnoDB は行ロックの際に、テーブルロック(インテンションロック)も取得する …
Next.js はデフォルトで IE11 をサポートしている https://nextjs.org/docs/basic-features/supported-browsers-features#polyfills core-js の Polyfill が import される .babelrc で preset-env の設定をカスタマイズする必要はない 足りない Polyfill が…
過去のエントリー からテスト方法を変更し、 任意の Request を Router に渡し、期待値どおりに dispatch されるかどうかをテストするコードを書きました。 サンプル final class routesTest extends TestCase { // 〜 略 〜 public function DispatchDataPr…
ドキュメント https://www.php.net/manual/ja/class.domdocument.php 環境 PHP 7.4.9 Alpine Linux 3.12 作業メモ // in Dockerfile FROM php:7.4-fpm-alpine RUN set -eux \ && apk update && apk upgrade \ && apk add php7-xml \ // in Test // Assert HT…
Single Action Controller __invoke() メソッドだけを持つコントローラ ADR (Action Domain Controller) MVC をサーバーサイド向けに洗練させたパターン Single Action Controller は A の実装パターン メリット 各クラスのアクションを1つのみにする事で、…
https://nextjs.org/learn/ 実施日 2020/8/25 あたり (チュートリアルは頻繁に更新されている模様) チュートリアルで作成したもの https://github.com/tamurayk/nextjs-blog https://nextjs-blog-bice-seven.vercel.app/ 前提知識 Next.js Universal (Isomor…
すぐ忘れるのでメモ Android Studio Android アプリ開発用の IDE Google公式の開発ツール Gradle Java 環境におけるビルドシステム (のデファクトスタンダード) Android Studio に同梱されてる Maven これも Java 環境におけるビルドシステム 現在では Gradl…
よくハマるのでメモ 解消方法 nodenv-yarn-install をインストールして、nodenv uninstall {.node-version に記載のバージョン} & nodenv install {.node-version に記載のバージョン} し直すと解消する nodenv-yarn-install node install 時に、yarn も一緒…
ORM PHPはオブジェクト指向で、DB(RDB)はSQL文なので、互換性がない。=> 自動的に互換性があるように変換してくれるのがORM。 DBのレコードを、オブジェクトとして直感的に扱えるようにするもの DB側の都合をアプリケーションで意識しないで済むようにするも…
Laravel 6.x Eloquent:利用の開始 - モデルの取得 Eloquentモデルは、対応するデータベーステーブルへすらすらとクエリできるようにしてくれるクエリビルダだと考えてください ↑ はどういう事か note find() など Modelクラス(Illuminate\Database\Eloquent…
ドキュメント required_if required_if:他のフィールド,値,... 他のフィールドが値のどれかと一致している場合、このフィールドが存在し、かつ空でないことをバリデートします。 string string フィルードは文字列タイプであることをバリデートします。 フィ…
概要のみメモ laravel-permission https://docs.spatie.be/laravel-permission/v3/introduction/ laravel-permission で利用するテーブル roles permissions model_has_roles model_has_permissions role_has_permissions https://qiita.com/sh-ogawa/items/…
(ある事情で) FormRequest をメソッド・インジェクションで使用せず、Controller 内で Validator::make() してバリデータを生成し、ちょっと変わった使い方をした その際、バリデーションエラーメッセージ の プレースホルダ に attributes() が反映されず、…
\DB::enableQueryLog(); $query->where(xxx); \Log::debug(\DB::getQueryLog());
利用したいパッケージ http://image.intervention.io/ ドキュメント ファサードの仕組み (スタンドアロンの) 外部パッケージをファサードで利用する方法 // プロジェクトが依存するパッケージを追加 (`composer require intervention/image`) //composer.jso…
下記のうち、1, 2, 3 が実行されない原因がわからずハマりました。 <html> <head> <script src="jQuery本体をロードするjsファイル" defer></script> </head> <body> 〜 略 〜 <script> // jQuery の ready() jQuery(document).ready(function(){ //Uncaught ReferenceError: jQuery is not defined console.info('== 1 ==') }); </script> <script> // jQuery の load()…</body></html>
2020/09/11 追記: 別の方法 に変更しました。 sample final class XxxxRouterTest extends TestCase { public function RouteActionNameDataProvider() { return [ [ 'get', '/user/1', //テスト対象のURL UserViewController::class, //URLをリクエストした…
note Code > Inspect Code を実行。 プロジェクト全体のエラーを検出したりできる。
note test用のDBを作成する CREATE DATABASE `xxx_testing`; test用DBの接続設定 phpunit.xml + .env.testing RefreshDatabase トレイトでマイグレーションを実行 RefreshDatabase トレイトの機能 テスト実行時に自動的にマイグレーションを実行 テスト中に…
$this->getHiddenProperty() を利用する class Hoge { private $hidden; final class HogeTest extends TestCase { /** * @test */ public function プライペートプロパティのテスト() { $hoge = new Hoge(); $this->assertEquals( 'expected value', $this-…
バージョン Laravel: 6.16.0 ログイン試行回数, ロック時間 の既定値を変更 app/Http/Controllers/Auth/LoginController.php のメンバ変数に $maxAttempts $decayMinutes を追加 class LoginController extends Controller { use AuthenticatesUsers; // 追…
概念を整理 リポジトリパターン 解決したい問題 データストアの参照先が変わっても、プログラムの変更範囲を限定的にしたい how ビジネスロジックからデータアクセス処理を切り出し CQRS (コマンドクエリ責務分離) 解決したい問題 レコード数の増大やデータ…