雑多なブログ

音楽や語学、プログラム関連の話題について書いています

Laravelの色々なパッケージ群。

最新のLaravelにはどういった機能があるのか調べている。 2021/9/6時点のLaravel8系の公式ドキュメントを読んで大まかな概要を確認した。 パッケージ名 説明 Breeze 最小構成の認証基盤。 Cashier (Stripe) Stripe向けの決済パッケージ。 Casher (Paddle) Pa…

Laravel Sail を使ってみる。

Laravel Sail とは、Laravel 用のDockerコンテナを操作するコマンドラインインターフェースのことらしい。 とりあえず、初期設定だけ確認してみた。 まずは composer のアップデートを。 $ composer selfupdate 次にLaravelのプロジェクト作成。 $ composer…

MySQL: プリペアドステートメントのプレースホルダーの数は65535まで。

MySQLで大量にインサートするために、複数行を1つのINSERTで追加しようとしたら、次のエラーが発生してINSERTに失敗した。 SQLSTATE[HY000]: General error: 1390 Prepared statement contains too many placeholders .... プリペアドステートメントを使って…

dockerのコマンド一覧

2022/04/01更新 dockerのコマンド一覧 コマンド 説明 docker container ls {オプション} コンテナ一覧を表示する docker container logs {オプション} コンテナID コンテナのログを取得する docker container inspect {オプション} コンテナID コンテナの詳…

動画のcodecはライセンスが厳しい。

動画のcodecはライセンスが厳しい。 例えば、オープンソースで動画の処理をするソフトにffmpegがあるものの、個々のcodecのライセンスの問題は利用者自身が解決する必要がある。 研究用途や非公開の場所で個人的に利用する分には良いかもしれないが、プロダ…

ClamAVのスキャンで `WARNING: INSTREAM: Size limit reached` という警告が出る。

ClamAVのスキャンで次の警告がログに記録されて、スキャンされない現象に遭遇した。 WARNING: INSTREAM: Size limit reached この場合、エラーメッセージ通り、ClamAVで読み込み可能なファイルサイズの上限を超えているので、設定を調整すれば良い。 スキャ…

macの画面共有フリーズ対策

mac

mac端末に画面共有で接続中、負荷がかかると画面共有がフリーズして、アクセスできなくなる事がある。 ただ、画面共有できなくなっても、SSH接続だけはできる事が多いので、 画面共有だけできなくなった場合は、次のコマンドで画面共有のプロセスを再起動す…

goでwasm

goのインストール brew install golang go version go1.16.6 darwin/amd64 がインストールされた。 このバージョンではwasmのモジュールがすでに組み込まれているので、 特別な対応は不要。 wasm のテストプログラムコンパイル hello worldするだけのコード…

Laravel - SoftDeletesを適用したモデルクラスでテーブル名のエイリアスが使えない

SoftDeletesを適用したモデルクラスでクエリーを実行すると、 カラムが存在しない、という内容のSQLエラーが発生する。 >>> \App\Models\Comment::from('comments', 'c')->where('c.id', '<>', 1)->get() Illuminate\Database\QueryException with message '…

「失業率が改善した」という表現について

あるニュースの見出しで「失業率が改善した」という表現を見かけてもやもやしたので記事にした。 「改善」というポジティブな言葉から、「失業率が下がった」というふうに読み取ったけれど、何がどう変わったのか曖昧な表現はあんま良くないね。 この場合、…

window.sessionStorage

ブラウザのsessionStorageプロパティでsession storageにアクセスできる。特徴は次の通り。 window.localStorage に似ている(インターフェースが同じ) 新しいタブ・ウィンドウで開くと新しいセッションが開始される 配列やオブジェクトはシリアライズして…

ワクチンの接種後死亡した事例と、年間の死亡者数

ワクチンの接種後死亡した事例をもって、新型コロナウィルスワクチンはやばい、という言説がある。自分も最初それに感化されていたけれど、ふと気づいた。 そもそも、毎年どのくらいの人が亡くなっているのか。 それに対してのワクチン接種後の死亡者数はど…

PHP - Laravelでuuid(v4)を生成する。

Laravel5.6以降は Str::uuid() でuuid(v4)を生成する事ができる。 use Illuminate\Support\Str; $uuid = (string) Str::uuid(); 独自に実装する必要もなく、別途ライブラリをインストール必要もないので楽ちん。 Laravel公式ドキュメント https://laravel.co…

Laravel6以降 - 何にも該当しないルーティング

ルーティング定義のどれにもあてはまらない URLにアクセスされた場合に下記が利用できる。 Route::fallback(function () { // }); laravel.com

30秒ドローイングのサイトがリニューアルされた。

30秒ドローイングのサイト練習するのに便利で利用していたのだけど、 Flashで作られたサイトだったのでFlashのサポート終了で使えなくなっていたと思っていた。 が、久しぶりにサイトを開いてみると脱Flashで利用でき、サイトが一新されて使いやすくなってい…

Nica's Dreamの演奏

ここ1ヶ月、Nica's Dreamという曲を練習している。 イントロのマイナーメジャーセブンスでやられていたのだけど、少し慣れてきた。 今日は先人たちがどんな演奏をしているのかを楽しみながら聴いてみた。自分なりの感想をまとめてみた。 オスカー・ーターソ…

chartjs3で余計な表示を消す

chartjs3では、デフォルトでデータセットのラベルが表示されている。 このラベルの表示を消すには、options.plugins.legend.display = false を指定する。 <html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.4.0/chart.min.js"></script> <body> <h1> chart.js sample </h1> <canvas id="myChart" width="400" height="400"></canvas> <script>…</body></head></html>

VirtualboxでゲストOSの時刻同期をOFFにする。

ゲストOSの時刻同期を止めて確認したい事があったので、時刻同期の止め方を調査した。 1. 時刻同期の設定を無効に設定する。 $ VBoxManage setextradata 【VM-name】 "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1 ※【VM-name】は対象のゲ…

javascriptでPHPのin_array()みたいな事をやる

PHPの in_array() は、配列の中に指定した値が存在するか判定する関数。 javascriptで、同じ事をやるならArrayオブジェクトの includes() メソッドが使える。 定義 Array.prototype.includes() 指定した値が配列に存在しない場合 const values = [1, 2, 3, 4…

WIP: STEAMでゲームのリストを取得する。

STEAMに取り扱われているゲームの全ての情報をAPIで取得する方法について調べた。 情報は2段階で取得する必要がある。 アプリのIDのリストを取得する アプリの詳細情報を取得する 1. アプリのIDのリストを取得する アプリのIDリストを取得するには、GetAppLi…

PHP: 可変長引数の関数定義

PHP

PHP5.6以降は、func_num_args(), func_get_arg(), func_get_args()を使わずに可変長引数を実現できる。 そのことに最近気づいた・・・・ 当然、余計な関数を使わないので実装がスッキリする。 例 int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(…

あじさいの名所?

あじさいの時期? 場所によって多少前後するけれど、5月下旬から咲き始めて、6月中旬見頃を迎える。7月だともう散り始めているように思う。 とすると、このブログを書いているのが6/17なので、来週ぐらいまでが見頃かなと思う。 お目当ての場所が閉園してい…

jsでcookieの操作

jsでcookieを取得する場合には下記で全てのcookieを取得できる。 document.cookie こんな感じでCookieのキーと値の文字列がずらーっと出力される。 key1=hello; key2=hello; key3=hello; key4=hello このままだと、どうしようもないので、キーと値の連想配列…

javascriptの参考サイト

ja.javascript.info jsprimer.net azu.github.io

LaravelでSSL&ベースURL固定

httpsを強制 URL::forceScheme('https'); 指定したベースURLを強制 $root_url = 'https://example.com'; URL::forceRootUrl($root_url); そんでもって、上記は app/Providers/AppServiceProvier.phpのboot メソッドに書く。 のが一般的な模様。

jsで言語判定

jsでブラウザの言語設定を取得するには、下記を参照すると良い。 window.navigator.languages[0] languagesが定義されていない場合は、下記から言語を取得する。 window.navigator.language window.navigator.userLanguage window.navigator.browserLanguage…

Promise.all()

js

Promiseを使って非同期処理を行う場合、 Promise.all()を使うと並列で処理を実行できるようなので、活用してみたいと思う。 サンプルコード promise.js const loadImage = (url, elem) => { return new Promise((resolve, reject) => { const request = new …

猫の画像をランダムで表示するサイト

世の中には不思議なWebサービスがある。 randomcatはアクセスするたびに、ランダムに猫の画像を表示するサイトだ。Web APIも存在するようなので、何かちょっとした遊びに使うと良いと思う。 aws.random.cat

JWTとは?(WIP)

JWT

JWTとは JSON Web Token の略であり、「ジョット」と読む。 RFC7519で定義されている。 URL-Safeである。 電子署名により、改ざんをチェックできる。 次のケースで利用が想定される。 ユーザー認証 シングルサインオンで、認証情報をさまざまなドメイン間で…

Laravel - DB::transaction() の返り値は何?

DB::transaction()の実装は、ManagesTransactionsというtraitで実装されているようだ。 実装を見てみると、一つ目の引数で指定しているコールバック関数の返り値をそのまま返していることが分かる。 https://github.com/laravel/framework/blob/8.x/src/Illu…