write ahead log

ロールフォワード用

vimでjsx(tsx)ファイルのfiletypeって

vim

javascriptreact(typescriptreact)だった。へー。

TypescriptとMUIでダッシュボード作るときのテンプレ

Typescript + MUI + Reactとかで雑に業務アプリを開発する時には、公式提供のテンプレートで十分な感じがする。 https://mui.com/material-ui/getting-started/templates/ https://github.com/mui/material-ui/tree/v5.5.2/docs/data/material/getting-start…

子供用の勉強アプリのサイトをつくった

ちゃんとドメイン取ってしまった。 manapi.jp 自分の子供相手に使うものなので、「ドメインとるほどか?」と思ったけど、あと2人も控えてるので取ることにした。 誰か使ってくれる人が出てこればなお良いな。 全員卒業まであと8年もあるのでちょいちょい機能…

React-Leafletを使って地図の中央位置を変更したい

追記 丁寧に探すと公式にやり方が書いてあった。 react-leaflet.js.org React-Leafletを使って地図を表示することになったが、どうにも地図のCenter位置を変更できない。 地図を出すときに以下のようにcenterは指定できるけど、どうも初期表示時の座標らしい…

雑に使えるHTTPサーバー作った

なんか最近色々面倒だし、作った。 こんなの使わなくても、もっといいのがある気もする。 httpbinとかいいかなと思ったけど、微妙に欲しいのと違った。 github.com なんで作ろうと思ったんだっけ?となったので、なんか色々面倒だった事を書いておく。 (その…

ssh先からローカルのクリップボードへコピーしたい

ググるとOSC52というものが出てきた。 OSC52って何ぞや クリップボードを操作するエスケープシーケンスらしい。 こんな丁寧な解説があったので読むとこんな感じか。 文字 意味 \033 エスケープシーケンスの開始 52 OSC52グループのエスケープシーケンスだよ …

redoc-cliを使ってopenapi(swagger)を書く

肌に合ったツールがわからなくて困ってたけど、良いのがわかったのでメモしとく。 準備する nodeはインストールされているとして。 とりあえずプロジェクト用のディレクトリを用意してredoc-cliをインストールする。 mkdir api-project cd api-project npm i…

Excelファイルを読み書きするプログラミング言語を作った

できた。満足したので置いておく。 github.com

ブラウザで動くアウトラインエディタを作った

Vue.jsをもうちょっと触っといた方がいいかな, ぐらいの軽い気持ちで作っていたけどNetlifyだと無料で配信できるし公開しておく. bonsai-outliner.netlify.app どう見たってWorkFlowyとかDynalistを使う方が良いのだが, ショートカットをUnixキーバインドっ…

Vagrantのubuntu(ubuntu/bionic64)で12ステップで作る組込みOS自作入門の環境を作った時のメモ

h8writeとターミナルアプリは諦めてホストOSのものを使った. (Windowsでteratermとkz_h8write) VirtualBoxからUSBやシリアルポートを使う方法もあるようなのだけど, どうもうまくいかない. USB Type-Cしかないマシンなのでその影響が出ている気がしないこと…

Laravel Duskで要素数を数えたり現れる順序をテストしたかった

直接的なアサーションがなかったから作った. TestCaseでuseして使うtraitにしてみた. たぶんMacroを用意するのが正当なアプローチだと思うんだけど, 調べるの面倒で雑に書いてしまった. myAssertElementsCountIs($browser, 'tbody>tr', 1); */ p…

シェルスクリプトの中で一時的に別ユーザで実行したい

なんか毎度ググるからメモ. sudo su - user <

Laravel duskでinput type dateの入力を行いたい

なんかチョットハマったので. <input type="date" id="due_date"> に対してこうやりたいんだけど, どうもうまくいかない. ->type('#due_date', '2020-01-01') 調べるとこうやるらしい. ->keys('#due_date', '2020', '{tab}', '01', '01') 微妙に面倒.

Laravelでテストする時にパスワードの更新を確認する

パスワードのハッシュを確認するメソッドを毎回忘れる. // Hashファサードがいるよね use Illuminate\Support\Facades\Hash; // 普通の項目は以下でテストできる $this->assertDatabaseHas('users', [ 'name' => '更新した名前', 'email' => '更新したメール…

Laravel Duskでテストする時に毎回ログアウトしたい

なんか毎回ググってる気がするからメモっとく. 場合によっちゃDuskTestCase.phpに入れてもいいかもしれない. public function setUp(): void { parent::setUp(); // 毎回ログアウトするためクッキーを消す foreach (static::$browsers as $browser) { $brows…

CentOS7にLaravel6 + Postgresを構築する時にやった設定メモ

忘れるし. vagrantで構築する時の. ユーザはvagrantで. provisioning.shとか作れって話だけど. ロケールがvagrantのboxにないのでlibcを入れなおす sudo yum reinstall -y glibc glibc-common ロケールとタイムゾーンの設定 sudo localectl set-locale LANG=…

Laravel6系でmigrationのchangeを使おうとしたらエラーが出た

こんなエラーが出た. Symfony\Component\Debug\Exception\FatalThrowableError : Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found doctrine/dbalを入れれば良いという情報はたくさん見つかるのだが, Laravel6だとうまく動かなかった. どうもdoctrin…

pg_dumpでオブジェクトを削除(Drop)するSQLを一緒に出力したい

こんな感じで「-c」オプションを使えばよいらしい.(--cleanの別名っぽい) 「--if-exists」を使うとその名の通り「if exists」を付けてくれてより良い感じ. pg_dump -c --if-exists db名 > dump.sql

PowershellでmdbファイルをExcelにするスクリプトを書いた

仕事で使いそうだったので. 出来ればこんなの使いたくない. ####################################################################### # 概要 # mdbファイルを開いてテーブルの内容をExcelへ出力する # 書式 # export-mdb.ps1 [mdbファイルへの相対パス] […

Powershellでmdbファイルを開いてテーブルの一覧を得る

2020年にもなってMDBファイルを触ることになるとは思わなかった. PowerShellは便利だ. 使うときにはこの辺のコンポーネントが必要だと思う. Microsoft Access Database Engine 2016 Redistributable ######################################################…

OpenSSHを使ってSFTPの設定をする

OpenSSHさえ入っていれば設定だけでSFTPサーバも兼ねる事ができる. お手軽で良いのだけど, 設定をたまにしかしないので忘れるのでメモ. よくある設定 CentOS7では /etc/ssh/sshd_config に以下の様な内容を追記してやる. #Subsystem sftp /usr/libexec/opens…

Laravelでフォームのチェックボックスを作るときにoldを使いたい時

なんかいつも忘れるというかハマるんだよね. is_doneはDB上はbooleanとして. <input type="hidden" name="is_done" value="0"> <input type="checkbox" name="is_done" value="1" id="is_done" @if (old('is_done', $production_plan->is_done ? '1' : '0') === "1") checked @endif > <label for="is_done">完了 </label> テーブルみたいな明細構造でも同じ考え方で大丈夫.(当たり…

Laravelのリクエストバリデーションで除外IDを指定する

unique使うと更新時に問題になるんだけど, ignoreというメソッドがいつの間にか追加されている. これを使えば「更新対象レコードのidを除外してuniqueチェック」ができるけど, 更新対象レコードのidをフォームリクエスト内でどうやって取得するのかわからな…

Laravel(Eloquent)で実行するSQLを確認したい

O/Rマッパーは便利なんだけどパフォーマンスとか考えると生のSQLみたい事がよくある. というか生SQLの方がわかりやすいことも正直多い.... ということで生のSQLを出す方法を調べた. 1. toSqlを使う ちょっと見るにはシンプルでよい. $query = $User::where('…

javascriptで小数の切り捨て・切り上げ・四捨五入を桁数指定で行いたい

ちょこっと使いたい時があるので. 大きな桁数などで精度の問題があるのは承知の上. 雑に書いた割にテストしてないからバグってるかも. /** * 有効桁数を指定して小数点切り捨て処理を行う * val: 切り捨てる値 * digits: 丸めて残す桁数 */ function digitsF…

Laravelのmigrationで複数列にユニークキーを指定する方法

毎回ググってる. ユニーク制約を追加する時. $table->unique(['列1', '列2'], '制約名'); ユニーク制約を削除する時. $table->dropUnique('制約名'); 制約追加時の制約名は任意指定のようだけど, 後で削除することを考えると指定しておいたほうがわかりやす…

Laravelのmigrationで外部キーを消すときの指定方法

なんかパッとわからなかったのでメモ. Laravel6では動いた. 多分5とかでも動く. $table->dropForeign('[外部キーを取り除くテーブル名]_[外部キーを取り除く列名]_foreign');

Laravel6でページネーションのテストする時に困った事

メモ書き. ハマった点は assertViewHasにはpaginate()の結果を渡してやる必要がある(これはまぁそうだよね) assertViewHasに渡すデータはwithでeagar loadingしたデータを渡す必要がある それっぽいコードを書くと、以下ではダメで // 検索結果が昇順でソー…

clang-formatを使う

golangに慣れるとコードフォーマッタが欲しくなりますね. C, C++でスタイルを適当に合わせたい時にはclang-formatというものがあります. インストール $ sudo apt install clang-format 設定ファイルを作る .clang-formatというファイルを作っておくとそれに…

goとvueでtodoアプリを作った

コードはここ. github.com デモはここで動かした.Heroku最高. https://github.com/twinbird/vue-go-todo 「低レベルプログラミング」を斜め読みして疲れたので, 「バー」っと書いて「ドーン」と動くものを触りたくなったから作った. 仕事でもいつかは使うだ…