それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

php でクラスが呼び出す関数をスタブにしたいとき require を工夫すればいいが、laravelでは面倒が起きる

php でクラスが呼び出す関数をスタブにしたいとき コードテストを書いていて、クラスが呼び出すクラスのメソッドをダミー化してたいとき、スタブを使う。 スタブを作るには、クラスが呼び出すクラスのメソッドを書き換える必要がある。phpでは動的なクラス定…

lua の配列のループに関するメモ

lua

配列の定義とループ local t = {} table.insert(t, "a") table.insert(t, "b") print(t[1]) for key,entry in pairs(t) do print(string.format("%s=>%s", key, entry )) end 実行結果 a 1=>a 2=>b ポイント local xで変数定義 配列はテーブルで{}で定義。ph…

joplinを完全にアンインストールする

OLD バージョンに戻したいとき MacOSなら、次のフォルダを削除すれば良い。 rm -rf ~/.config/joplin-desktop/ macOS Theme というスッキリしたテーマが動かないので、 joplin 2.3 以降ではちょっと困った。 どこのバージョンで動かなくなったか、バージョン…

apt-cacher で httpsなレポジトリ をプロキシ・キャッシュする。

apt-cacher 便利で使ってる。 以前導入したapt-cacher が便利である。 膨れ上がった複数台のRaspi4や、膨れ上がったLXCや、Dockerfileからのdocker build時に時短のために大活躍中である。 apt-cacher の問題点/HTTPS apt-cacher は HTTPSに未対応である。TL…

USBメモリブートしたRaspiは USBエラーで巻き込み死亡する

IO ERROR ですべてが喪失する。 Raspberry Pi をUSBディスクで運用している。 USBの挿し方があまいのか、USBがうまく拾えなくて、USB自体にエラーが出た。するとRaspberry自体がまともに動かなくなった。 USBディスクで運用するときの罠。 Raspberry Pi をUS…

gitlab mattermost で急にGitlabログインできなくなった。

Bad Response from Token Request An Error has occured gitlab mattermost で急にGitlabログインできなくなった。 シークレットキーを変えてみたけど?だめだった。 scope を追加したら行けた なぜ、Scopeが変わったのか、ちょっとわからないけど、どこかの…

ubuntu の ip コマンドで、v6アドレスをdhcp取得する

ubuntu の ip コマンドで、v6アドレスを取得する v4 と同じ感じに、dhclient を使おうとすると sudo dhclient -6 -d eth1 リンクローカルアドレス( no link local addr )がないと言われる。 Internet Systems Consortium DHCP Client 4.4.1 Copyright 2004-2…

laravel (jetstream + livewire) を 9->10 に手動でアプグレ・アップデート

laravel (jetstream + livewire) を 9->10 にアップデート componser.json の書き換え "require": { - "php": "^8.0.2", + "php": "^8.1", "guzzlehttp/guzzle": "^7.2", - "laravel/framework": "^9.19", - "laravel/jetstream": "^2.12", - "laravel/sanct…

wireguard の起動と削除

wireguard の起動と削除 wireguardを指定して起動したい wg quick のようなスクリプトが提供されてない環境では、明示的にリンクをUp/Downする必要がある wg は起動スクリプトでしかなく、Wiregudardはカーネルモジュールであり、リンクとして動作してる。そ…

Windowsで文字コード表を出す

文字コード表から文字を選びたい。 Windowsでも「文字の一覧」から「文字を探し」、Unicodeの文字コードを確認したり、探した文字を入力したい。文字の一覧辛さがしてみたい。 いい方法が分からなかったので、プログラムから検索して出す方法を使うことにし…

chromeからwindows でアプリが開かれるときの設定を追いかけてみる。

Chromeからwindows でアプリが開かれるとき ChromeからWindowsのアプリが起動するが、アレってどうなってんだろう。 リクエストとレスポンスを追いかけてみる。 Fb Messenger が開かれるときは次のようになっていた。 要は、プロトコルハンドラーっぽい。 だ…

windows で mplayer を使う

windows で mplayer を使う C:/Users/takuya/AppData/Roaming/PulseAudio/bin/pulseaudio.exe mplayer -vo x11 -ao pulse sample.m4a https://forums.fedoraforum.org/showthread.php?255217-MPlayer-interrupted-by-signal-11-in-module-decode_video STDOU…

debian multimedia を有効にする

debian multimedia を有効にする mp4tagsをインストールしようとおもったら、見当たらなかったので。multimediaから拾うことにした。 マルチメディア関連だし、https://www.deb-multimedia.org を使えばいいと思ったので。 apt-keyを入れて wget https://www…

OPNSense のCronジョブを定義する

OPNSense のジョブを定義する Cron で選択できるジョブを定義したい。 以下の記事を参考にした。 https://docs.opnsense.org/development/backend/configd.html https://gist.github.com/PiDroid-B/078198bc84c1e8451d5fd331b46b332d ポイント ポイントはact…

OPNSense の SNMP がよく止まる。

OPNSense の SNMP がよく止まる。 OPNSense のSNMPがなぜか止まって、Zabbixがエラーログを履きまくるんで、定期的に再起動することにする。 サービスの再起動の方法 SSH からなら ssh opnsense.local 'pluginctl -s snmpd restart' API からなら key=xxxxxx…

HTMLのリセット(reset)ボタンで検索条件をクリアのときに、すでにデータがあるとクリアされない

html で検索フォーム HTMLのFormで検索フォームを作ると、検索条件のリセットが欲しくなる。 とくにテストしているとリセットボタンが欲しくなる。 フォームのリセット フォームのリセット、とても簡単です。HTMLの遺物を使えばいいんです。 <form action=search method=get> <input type=search name=user value='' > <input type=submit value=search> <input type=reset value=reset > </form> とても簡単…

lxcのコンテナがホスト側のブロックデバイス(SSD)に直接アクセスできるように

LXCのコンテナから、ホストのHDDを参照したい。 色々やり方がある。一番かんたんなのは privileged をつけて特権コンテナにする。 lxc launch ubuntu:xenial <container name> -c security.privileged=true 実際にやってみると。次のようになる。ちゃんとホスト側のブロック</container>…

standardnotesのDocker版 を使ってみた。

standardnotes を使ってみた。 3行まとめ マークダウンも使えない。 -最新版では、ファイルの添付ができない。 無料版StandardNotesは機能制限が辛すぎる。 という地獄なので、基本的にはないな。って感じ サーバー立てても意味がない。 次のようになる。 D…

notion っぽい共有メモツール outline を入れる。

notion っぽい感じのメモツールを使う。 オンラインで、メモを取れて各種添付が使えて、チームで使えるノートツールを使ってみる。 Githubレポジトリ -本家サイト 3年位追いかけてるけど、そろそろ使えるようになってる。当初は日本語の入力もままならない…

sqlite modeで様々に出力した例。

sqlite3 は出力を変えられる。 sqlite mode を使って出力例を変えてみた例。 markdown マークダウンで表を表示できる。マークダウンを書くのがめんどくさいときにはデータ突っ込んで、変換したら楽かもしれない。 mode box 罫線(ボックス)を使って表をきれ…

ssh で v6 アドレスをv4 へポートフォワーディング

ssh で v6 アドレスをv4 へポートフォワーディングを試してみた。 ssh で v4-v4 のポートフォワーディング ssh my-server -L8080:192.168.1.1:80 ssh で v4-v6 のポートフォワーディング v4 のときと同じで、v6 アドレスを [::1] のように[ ] で囲むだけ。 s…

Apacheとphp-fpm でphpを実行する。

Apache+php-fpm mod_php を php-fpm に切り替える。 nginx でやることも多いけど、fpm 使ってfcgi へ転送するなら、apache2 でも nginx でもあまり変わりない。 同じような仕組みなので、速度も大幅に変わることもないと思う。 apacheが不利だとすれば、.hta…

net-smpt xoauth2 でGmailを使って送信する。

net-smpt xoauth2 でGmailを使って送信する。 GMail はアレコレややこしい。とりあえず、OAuth2に対応させれば、SMTPサーバーを使わせてもらえる。 require 'gmail_xoauth' require "googleauth" require "googleauth/stores/file_token_store" require 'gma…

rsync でディレクトリ構造だけを同期する。

ディレクトリ構造だけを動悸する。 rsync -av -f"+ */" -f"- *" . rclone だとディレクトリ構造をコピー出来ないので、 rclone mount 後に rsync でディレクトリ構造をコピーする。 参考資料 https://www.cyberciti.biz/faq/unix-linux-bsdosx-copying-direc…

df/lsblkを最適化する。

df の結果が見づらいので整理する。 df や lsblk の結果がとても冗長になり、欲しい物が見えなくなった。 lsblk で loopデバイスが表示されるのはまだわかるが、マウント先も大量に表示されるともうカオス。 df では tmpfs や loopにかぎらずシステム運用のs…

htop の色の意味(メモリの黄色は?)

htop の色の意味(メモリの黄色は?) F1を押せばでてくる。 黄色=Cache 青色=buffers 緑色=used 紫色=Shared ってことですね。 メモリでいうと、黄色のキャッシュがストレージのリードキャッシュでしょうね。tmpfs は黄色か紫色に出てくるはず。

WSLをエクスポートする

WSLをエクスポートする WSL環境をバックアップ取っておきたい。 動作しながらのエクスポートは出来ないんで注意。 C:\Users\takuya>wsl.exe --export Debian Debian.tgz 参考資料 https://superuser.com/questions/1589877/how-do-you-clone-a-wsl-distro

nginx で lua を使う(nginx lua でハローワールド)便利なテクニックをご紹介!

nginx で lua を使う インストールと準備 deiban の場合は次で一発で終わる。 sudo apt install libnginx-mod-http-lua 最初に第一歩 location ~ / { default_type 'text/html'; content_by_lua "ngx.say('Hello, ngx_lua World!')"; } アクセスしてみる。 l…

nginxでlua を使おうと思ったらdebianが楽

debian のnginxでluaを使ってたのでUbuntuで使おうと思ったらなかった。 debian のnginx には lua があった。どこで入れたんだっけ。 nginx -V 確認したけどコンパイルでは入ってない。 モジュールでは入ってる。 apt-file show libnginx-mod-http-lua libng…

github のワークフローでシークレット(環境変数)を取り出す方法のメモ

githubのワークフローに設定したキー紛失 事故で環境変数を喪失しました。はい。シークレットがわかりません。 でも、Githubのワークフローには残ってるんです。使えているのです。なんとかしてGithubワークフローで使っているシークレット変数を取り出して…