MUI v5 スタイリングは Emotion or styled components を利用できる CSS-in-JSライブラリ JSS (JavaScript Style Sheets) MUI v4 では makeStyles と JSS を組み合わせてスタイリング MUI v5 で makeStyles が非推奨になった styled components CSS-in-JS(J…
自分の言葉で言語化してメモ Facade vs Contract Facade と Contract はどちらも Laravel のコア機能を使う為の方法である Facade what Laravelのコア機能をサービスコンテナを介さずに利用できる静的なインターフェース メリット サービスコンテナを意識す…
先日、Azure Function の異常終了を検知し、Slack に通知する仕組みを構築しました。 今回は、Azure Application Insights に特定のログが出力されたら Slack に通知する仕組みを構築する手順を書きます。 使用するもの Slack 通知を受けるチャンネル Incomi…
Azure Function のトリガーの種類により、ローカルでの実行方法が異なります。 HTTP トリガー http://localhost:<PORT>/api/<FUNCTION_NAME> にリクエストする事で実行できます。 (EventGrid Trigger を除く) HTTP トリガー以外 Azure Function の 管理者エンドポイント ( =http:/</function_name></port>…
CakePHP 4.x に ParaTest を導入 テストの数が増えてきて全件テストを実行するのに時間がかかるようになった為、ParaTestを導入し、テストを並列実行するようにしてみました。 version CakePHP: 4.4.10 ParaTest: v6.9.1 PHPUnit: 9.6.7 ドキュメント https:…
CakePHP の実装 実際のスキーマを元に、Entity 取得時に実行される SQL の SELECT 句に指定するカラム一覧を生成している 上記は schema_cache としてキャッシュされる bin/cake schema_cache clear した上で、Entity を取得した際、カラムの一覧を取得する …
2023/02/11 の時点では、mac を macOS 復旧 で起動し、“低セキュリティ ”オプション を設定する必要があります。 作業日 2023/02/11 経緯 mac book pro 2016 (13 インチ) が突然故障し、再起不能となり、M2 Max の mac book pro (14インチ) を購入 旧PCは起…
事象 cmd + F8(Breakpoints) などは効く cmd + F12 だけ効かない キーストロークは IDE に到達しますか? => 到達しないので、他のプログラムまたはオペレーティングシステムがショートカットをインターセプト している 解消方法 アクティビティモニタでプロ…
デフォルトで生成される azure-pipelines.yml は以下 注意点 pr: none が明示されていなので、PR作成時に Pipeline が動く trigger: - main pool: vmImage: ubuntu-latest steps: - script: echo Hello, world! displayName: 'Run a one-line script' - scri…
以前、hasMany の Association を contain すると 別SQL になるという内容の記事を書きました 今回は、どのような仕組みで別SQLになるのか、コアのコードを追ってみました version CakePHP: 4.2.8 仕組み \Cake\ORM\EagerLoader::loadExternal によって、別S…
Version MacBook Pro (14インチ、2021) Apple M1 Pro macOS Monterey 12.1 Alfred 4.6.3 what Intel Mac から M1 Mac に 移行アシスタント + ターゲットディスクモード で移行した 移行後、Alfred でファイル検索が出来なくなった spotlight ではファイル検…
ドキュメント PHP Data Objects note what PDO (PHP Data Objects) データベース抽象化レイヤ 解決したい問題 mysql_connect でDB(MySQL)に接続した場合、別のDBに変わった場合に、pg_connect への変更が発生する PDO データベースが変わっても同じ命令でデ…
DBのデータ型 から PHPの型(Entityのpropertyの型) への変換 \Cake\Database\Type 以下の Class の toPHP メソッドで行われる 例 \Cake\Database\Type\StringType::toPHP` 一覧 \Cake\Database\TypeFactory::$_types PHPの型(Entityのpropertyの型) から DB…
GIN Index 解決したい問題 / 解決方法 解決したい問題 複合型の項目(JSONB 等)の要素の値の検索の高速化 解決方法 実装 https://www.postgresql.jp/document/13/html/gin-implementation.html note 部分一致 検索にも対応 注意点 GINインデックスの更新は低…
バージョン OS: macOS Catalina 10.15.7 Azure Functions Core Tools: 3.0.3785 node: 14.17.5 遭遇したエラー Value cannot be null. (Parameter 'provider') $ func start Azure Functions Core Tools Core Tools Version: 3.0.3785 Commit hash: db6fe71b…
留意点をメモ ドキュメント https://book.cakephp.org/4/en/development/configuration.html#environment-variables 有効化方法 ① config/bootstrap.php の以下をアンコメントアウト // if (!env('APP_NAME') && file_exists(CONFIG . '.env')) { // $dotenv…
Crud.afterSave で Config の api.success.data.row を設定 CakePHP 4.x: FriendsOfCake/crud の Config の api.success.data キー class UsersController extends AppController { public function beforeFilter(EventInterface $event): void { parent::be…
前提知識 CakePHP の イベントシステム CakePHP 4: イベントシステムの概要 - idubmorganのブログ Crud プラグインのコアイベント 概要 ORM/Modelイベント 等と同様に、Crudプラグイン用のイベント(=Crudコアイベント)が用意されている Crudコアイベントの種…
CakePHP 4.x: イベントシステム 概要 CakePHPのイベントシステム モデル・ビヘイビアー・コントローラー・ビュー・ヘルパーのコールバックの心臓部 why クラスの結合度を下げる コードの関心事を明確に分離させる how Observer パターン オブジェクトがイベ…
アソシエーションしたテーブルのレコードを contain して取得する際に実行される SQL は下記のように異なる hasOne の場合は JOIN で取得 hasMany は別SQLで取得 追記 CakePHP4.x: hasMany の Association を contain すると 別SQL になる仕組み ドキュメン…
Config の api.success.data キー は \Crud\Listener\ApiListener::_ensureData で参照される https://github.com/FriendsOfCake/crud/blob/master/src/Listener/ApiListener.php#L231 以下の指定方法がある api.success.data.row api.success.data.subject …
// logs/queries.log にクエリログを出力 $connection->enableQueryLogging(true); コントローラ内であれば、こんな感じ $this->テーブル名->getConnection()->enableQueryLogging(); ※3.x では $this->テーブル名->getConnection()->logQueries(true); だっ…
note CakePHP の場合は、app/webroot/index.php の先頭と最後に下記のコードを差し込んで確認した https://www.php.net/manual/ja/function.memory-get-usage.php https://www.php.net/manual/ja/function.memory-get-peak-usage.php //ini_set('memory_limi…
※2022/02/05: 追記 (->toArray() する際の注意点) ドキュメント クエリービルダー - テーブルから行を取得する TableClass->find()...->all() では ResultSet が返り、ResultSet を foreach で回すと PDOStatement::fetch しDBから取得したデータがメモリ上…
Reactの流儀(Thinking in React) と Presentational and Container Components パターン(デザインパターン) を適用すると良い React の 流儀 下記の流れでコンポーネントを作る デザインモックの UI を、コンポーネントに括るべき範囲に分解し、分解したコン…
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 は行ロックの際に、テーブルロック(インテンションロック)も取得する …