CakePHP4

ErrorControllerでログインユーザー情報が取得できない。

Authentication Component 2.xでErrorControllerでログインユーザー情報が取得できない問題に直面しました。 エラー画面でもユーザー情報を表示するためにログイン情報が欲しいのだけなのですが、 $this-...
CakePHP4

Entityを手動で書き換えたら保存されない場合は?

CakePHPのEntityの仕組みは、わかれば便利なんですが、知らないとちょっと困る場合が多いです。 patchEntity()を通してEntityを生成する場合は問題ないのですが、手動でEntityを書き換えた場合はいろいろハマるポイン...
CakePHP4

自動生成されたマイグレーションファイルがマイグレートできない。

自動生成されたマイグレーションファイルがマイグレートできませんでした。 エラーはこんな感じ PDOException: SQLSTATE: Syntax error or access violation: 1067 Invalid def...
Ubuntu

Ubuntuのapache設定コマンド

今までサーバーはCentOS系を使っていることが多かったのですが、CentOSはまぁいろいろあるので最近はUbuntuを使うようにしています。 Ubuntu Serverのapache設定はRHEL系と設定ファイルの構成がちょっと違うのでい...
CakePHP3.x

$this->request->is()が反応しない

CakePHP4で編集画面の作成を行っていたらなぜか$this->request->is()に反応してくれなくて一向にデータの更新処理に行かない。 なんでだ…。と思ったら 原因 単なるケアレスミス。 フォームにプライマリキーを書き忘れてまし...
CakePHP3.x

Authentication Component 2.xで手動でログイン状態にする方法

CakePHP4のログイン認証はAuthentication Component 2.xに変わったのですが、以前と勝手が違うので戸惑うことが多いです。 手動でログインする方法が分からなかったので調べてみました。 バージョン情報 CakePH...
CakePHP4

モデルに存在しないフィールドのヴァリデーション

モデルに含まれていないカラムのヴァリデーションをどうするかという問題があります。 ヴァリデーションを書いたとしても、Entytyをインスタンス化する過程でブロックされてしまうので意味がありません。 モデルがないフォームのヴァリデーションを行...
CakePHP4

CakePHP4でヴァリデーションだけ行う

CakePHP4でヴァリデーションだけ行うには、CakeBookでは下記のように // ArticlesController クラスにおいて $article = $this->Articles->newEntity($this->requ...
CakePHP4

Authentication Component 2.x でのログイン実装

CakePHPでは、デフォルトでログイン用の認証システムが組み込まれていました。これまではcomponentでの実装がされていまいたが、今までのものはCakePHP4では非推奨になり新たな方法が実装されました。 以前は、CakePHPの独自...
VSCode

[VSCode]フォーカスがメニューに移動してしまう

ここ最近、VSCodeでコーディングしているとやたらと入力ミスが頻発するようになってしまった。 入力途中にフォーカスがメニューの方に移ってしまうことが原因。 どうも、いつごろからか、Altを押すとメニューに移動するような仕様になっているらし...
CakePHP4

CakePHP4で配列やオブジェクトをログ出力する方法

CakePHP4でログの仕様が変わってしまったために、配列などがログ出力できなくなってしまいました。 何とかする方法を紹介します。 CakePHP4のログはテキストしか渡せない CakePHP3までは、Logクラスに変数を突っ込んでやれば、...
CakePHP4

[CakePHP4.x]SSL付きだとDebugKitが動かない?

CakePHP4でDebugKitが動かない問題に当たりました。 PHP7.4 CakePHP4.2.3 DebugKit  4.4?(Cake本体に同梱) ホスト環境はWindows10で、VirtualBoxにCentOS8を入れて開発...
MySQL

phpMyAdminでCSVインポートができない

MySqlで初期データをCSVで作成してphpMyAdminでインポートしようとしたら、なぜかポップアップでinvalid formatになってしまった。 いろいろ試したら、csvファイルをドラッグアンドドロップで指定するとダメだった。 ち...
フリーランス

受託案件の最低限のリスクマネジメント

Twitter見ていたらとんでもなく残念なコンサル初心者の方のツィートがあったので、何が悪かったのか、最低限何をすべきだったのかを解説してみます。 問題のツィートはこちらになります。 簡単にまとめると、案件を受託したコンサルが外部発注を下の...
フリーランス

アプリの受託開発でまずクライアントに読んでほしいサイト一覧

アプリやサイトの仕事を受けるとき、中途半端に丸投げな、困ったクライアントっていうのが結構います。 そもそも企画段階の詰めが甘すぎて困ってしまうことがあります。 例えば企画段階で必要なターゲッティングやペルソナの設定などを、なかなか理解しても...
MySQL

MySQLのスキーマ定義からMarkdownを作る

アプリを新規作成する場合、まずは私はデータベースから作るんですが、仕様書として他の場所でも管理したいといいう場合が結構あると思います。 どうやってやるか忘れたので自分用のメモに残しておきます。 方法 スキーマ定義のみのXML形式で出力する。...
駆け出しエンジニア

一味ちがうポートフォリオ作成のアイディア

駆け出しエンジニアの皆さん。ポートフォリオ作成頑張ってますか? 今回は、ポートフォリオ作成で他人より一歩先に行ける?アイディアを語ってみたいと思います。 プログラミングスクールや独学でプログラミングを学んだ業界未経験の方が受託開発、自社開発...
インターネット

某銀行系のソースコードがGitHubに流出!?何が問題か解説します。

本日朝起きてTwitterをみたら、何やら某銀行の名前とGitHubがトレンドに出ていて、何事かなと調べてみたら、どうやら某銀行系のソースコードの一部がGitHubで見れる状態になっていたのだとか。 この問題が広く発覚したのは深夜の用で、私...
VSCode

VSCodeでSSH接続ができない

VisualStudioCodeの拡張機能 Remote SSH はとっても便利。 VSCode上のソースファイルを直接書き換えることができたり、サーバーでコマンドを実行することができます。いちいちフォルダ共有をやったり、FTPなどでアップ...
Webデザイン

CSSをSASS/SCSSに変換してくれるサービス

SASSをCSSにするツール類はいっぱいあるけど、CSSをSASS/SCSSに変換してくれる方法はないのかな??と思って調べたら、ありました。 左側にCSSを張り付けて、真ん中のボタンを押すとSASSかSCSSか選んで変換することができます...