write ahead log

ロールフォワード用

goで作ったプログラムで「/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found」が出る

助かりました。 ebc-2in2crc.hatenablog.jp libcのバージョン違いだそうで。 可能ならcgoを無効にするとよいらしい。 CGO_ENABLED=0 go build デフォルトでcgoがリンクされる理由はよくわかってない。知りたいところ。

別プロセスのvim間でコピペしたい

vim

あまりないことではあったけど、別プロセスのvim間でコピペしたくなった。 ちょうどよいプラグインがあったので。 yanktmp.vim GitHubはこっちにあった。 vim-scripts/yanktmp.vim tmuxとかscreen使ってると割と便利かも。 実装としては仮ファイルに書き出し…

WSLのvimでもクリップボードを使いたくなった

vim

あんまり不便に感じてこなかったけど、最近感じるようになったので。 clipboardに対応したvimを入れる WSLのUbuntuを使っているんだけど、以下で入れたvimだとクリップボードに対応していない。 sudo apt install vim 確認は以下で。-になってたら未対応。 $…

AWS SAMを使ってアプリを作ってみる

事情があってSAMを学ぶ必要があったので。 10分だけログの残る、curlコマンドで使える掲示板を作ることにします。 使うものとしてはだいたい以下です(細かいのは省く) SAM API Gateway Lambda DynamoDB WAF EventBridge EventBridgeは大体10分ごとにログを消…

Windows11 proでクイック作成でWindows10のVMを作りたい

これで作って いまさら聞けないWindows 10のTips「Hyper-V」の“クイック作成”でWindows環境を作成する際に押さえておきたい3つの注意点 - 窓の杜 これで日本語化した いまさら聞けないWindows 10のTips「Hyper-V」の“クイック作成”で展開したWindows 10を日…

bashのターミナルでコマンド履歴を検索するやつの設定

bashはコマンド履歴を検索できる。便利。 キー 意味 ctrl + r 履歴を後方に検索 ctrl + g 検索を中止 ctrl + s 履歴を前方に検索 ただ、ctrl+sはデフォルトで端末の出力を止めてしまうので初期状態では使えない。 ということで以下の設定を行う。 stty stop …

PHPでmultipart/formdataの中身を直接見たい

php

PHPで以下のようにするとHTTPのbodyをそのまま見ることができる。 $postBody = file_get_contents("php://input"); なんだけど、multipart/form-dataの場合にはこの手が使えないらしい。 過去には$HTTP_RAW_POST_DATAという変数があったらしいが削除されたっ…

postgresql-setup --initdbでinvalid locale settings; check LANG and LC_* environment variables エラーが出る

Alma Linuxでdnfで入れたPostgreSQL10を設定しようとした。 こんな感じ。 # postgresql-setup --initdb すると以下のエラーメッセージがログへ出た。 initdb.bin: invalid locale settings; check LANG and LC_* environment variables ロケールを確認すると…

Alma Linuxでdnfやyumを使うとGPG checkエラーになった

alma linux8.8で出た。 You can remove cached packages by executing 'yum clean packages'. Error: GPG check FAILED 入れたいパッケージのGPGキーが入っていなかったらしい。 (何を入れようとしたのか書こうと思ってたが記録が抜けてた) rpm --import htt…

HTTPでファイルをアップロードしたりダウンロードしたりする仕組みをおさらいした時にみたページ

よくわからなくなりがち。 RFC眺めるとなかなかためになった。 MIME-HEADERフィールドに使えるヘッダーってそんなにないんだなーとか。 HTTPを手で書いて学ぶ ファイルアップロードの仕組み Multipart/form-dataの仕様メモ ファイルダウンロード完全マスター…

javascriptでUUIDを作成する方法あれこれ

色々あって面白かったのでメモしておく。 一応全部ブラウザ上の前提。 CryptoAPIを使う 外部パッケージを使う URL: createObjectURLを使う CryptoAPIを使う 使えるなら真っ先に考えるやつ。 MDN - Crypto: randomUUID() メソッド 外部パッケージを使う ここ…

パーサーコンビネータというものを学んだときに読んだ記事

正直わかったようなわからないような微妙な感じなのだが、良い記事だったのでメモしておこうと思う。 TypeScript でゼロから作るパーサコンビネータ JavaScriptでパーサコンビネータのコンセプトを理解する(「正規表現だけに頼ってはいけない」の続き) 小さ…

php.iniを環境変数で指定したい

php

かなりレアケースだと思うんだけど、環境変数でphp.iniを指定したかった。 よくわからなくてChatGPTに聞いてみたりしたけどダメで、結局公式を読めばよかった。 www.php.net PHPRCという変数があるらしい。 PHPIniDirでディレクトリ指定してもよかったのかも…

dockerでvolumeマウントした時にPermission Deniedが出るのでユーザーを合わせたい

スマートな方法を探したが、結局Dockerfileでユーザーを作るアプローチになった。 volume mountする時にはユーザーが合わせられないと不便なケースが多いので、何か良いアプローチがほしい。 1. Dockerfileに以下を書く パラメータから取得するようにしとく…

Windows11のエクスプローラが開くのが遅いのでなんとかする

アップデートしてからとにかく遅くてイライラしていた。 フォルダオプションを開いて「エクスプローラーで開く」の部分を「PC」にしたらめちゃ早くなった。 あと「プライバシー」のチェックをすべて外すのも効く気がする。 フォルダオプション

Dockerで立てたリバースプロキシのnginxでrequestのログを全部出したい

ザクっとやりたい. nginxにはdebugモードというのがあるらしい. blog.kasei-san.com Dockerで雑にやりたい. 以下のOfficialイメージのドキュメントに解説があった. https://hub.docker.com/_/nginx docker-composeでやるときには以下のように書けばよいらし…

シェルスクリプトで一時的にaws-cliのプロファイルを設定したい

こんな感じで環境変数を使うと一時的に設定できるらしい. export AWS_ACCESS_KEY_ID="" export AWS_SECRET_ACCESS_KEY="" export AWS_DEFAULT_REGION="" なんかいっぱいあったけどクラスメソッドのページみたらいっぱい書いてあった。 dev.classmethod.jp

PHPでHTTPリクエストをダンプするやつ

定期的に書くのでベタにメモっとくことにした. アクセス内容をlogs/log.txtへ吐き出す. ディレクトリを作って権限の割り当てだけ忘れないように.

Linuxのメールコマンドで保存したメールから添付ファイルを取り出したい

まぁあまりないケースではある。 メールコマンドの基本的な使い方は以下。 twinbird-htn.hatenablog.com で、添付ファイルが来ていたのでこれを開きたい。 1 まずはメールを開く $ mail [一覧が出る] & 1 ↑では1番のメールを開く 2 メールを保存する sコマン…

chibiccを読んだときに出てくるアライメント調整用関数のアルゴリズムの名前が知りたい

rui氏作のCコンパイラであるchibiccを読むとアライメント調整用の関数がある。 GitHub - rui314/chibicc: A small C compiler // Round up `n` to the nearest multiple of `align`. For instance, // align_to(5, 8) returns 8 and align_to(11, 8) returns…

PHPのcurlでhttpsのURLへアクセスする(SSL)とエラーになった

php

status取得したら0が返ってくる。なんだこれ。 と思っていたら結構有名な話らしい。 【php】curlでSSL通信をCA証明書のチェックありで at softelメモ PHPの curl 関数でhttpsのウェブページが取得できなかった - bayanの<del>電波</del>日記 PHPでcurlを使ってHTTPSにア…

Linuxのメールコマンド(mailx)の使い方をちょっとメモる

テストとかで使えると微妙に便利なmailコマンド。 インストール mailコマンドって地味に便利だけど入っていない場合多いよね。 dnf install mailx 対話式で使う mail 起動するとこんなのが表示される > 1 twinbird Mon Jul 3 16:48 61/3117 "test" U 2 twinb…

CurlFtpFSなるものを知った

LinuxのFUSEを使ってFTP先をファイルシステムにマウントしてしまうやつ。 CurlFtpFS - ArchWiki 名前の通りlibcurlを使っているっぽい。 使い方 $HOMEに.netrcを書くと便利。パスワードは生なので取り扱い注意だけど。 machine [FTP接続サーバー] login [FTP…

Linuxでユーザー名を変更するときにやったこと

やむを得ないのでやった。あんまりやりたいことではない。全部rootで作業した。 ログイン名を変更 usermod -l newname oldname グループ名を変更 groupmod -n newgroup oldgroup ホームディレクトリを変更 usermod -d /home/newname -m newname 再起動 reboot

SVGのファイルの縦横比率を固定しないようにしたい

CSSで高さとか幅のstyle設定して適当に引き延ばそうと思ったら、SVGなので比率が保持されたままだった。 SVGファイル自体を書き換えれば対応できるらしい。 <svg preserveAspectRatio="none" > ちゃんと理解しようとすると、いろいろ複雑な話だった。 www.indetail.co.jp</svg>

Yupで独自のバリデーションチェックをしたい

ReactとかVueを書くとたまに使うことになるYupというバリデーションライブラリがある。 github.com 大抵の場合は効率よく書けるんだけど、込み入ったバリデーションが必要になると困る。 何か抜け道が用意されているだろうと探すとtestというschemeがあるら…

javascriptでUTCのDateを作りたい

API先がUTCで「あー」ってなってたら便利なメソッドがあった。 こんなのいつからあったのかなぁ。便利や。 developer.mozilla.org こんな風に書ける const utcDate = new Date(Date.UTC(2018, 11, 1, 0, 0, 0)); console.log(utcDate); > Sat Dec 01 2018 09…

malloc動画とか呼ばれてるやつを見た

そのうち見ようかなとか思って何年も放置してたので見てみた。 www.youtube.com 動画だとちょっとなと思う人はこの記事がかなり良い気がする。 さすが専門の会社は違う。 www.valinux.co.jp 感想とか 20行のK&R mallocに勝とうとしたら5000行になった、とい…

React-Leafletで地図の代わりに画像を使う

さすがにそんな事できないだろと思って調べたらできるらしい。 座標系(CSR)にCRS.Simpleというのがあって、これを指定すると左下がx:0,y:0のシンプルな座標系になるっぽい。 あとはImageOverlayでレイヤーを足せばそれっぽくなる。 というか調べていたらVide…

Postfixで受けたメールをスクリプトで処理したい

php

メールを受けたら内容を自動解析してほしいとかたまにあるやつ。 Postfixの設定 alias機能を使うとできるらしい。 sudo vi /etc/postfix/main.cf とりあえずこんな感じにしてみる。 下2行のalias設定の有効化が大事。 myhostname = mail.hogehoge.com mydoma…