8から入ったらしい。MySQLにはILIKEが無いから〜とか、いつまでも言ってられませんよ。 SELECT * FROM people WHERE REGEXP_LIKE(name, '^b', 'i');
TauriにはSQL pluginがあってSQLiteとかが使える。テーブル作ったりのマイグレーションの仕組みもあるけど、単に適用するだけで1つ戻すとかができない。開発中はカラムの名前やっぱりこれがいいなとかゴチャゴチャやるのでリセットしたくなる。変わったこと…
基本は k.camPost(target.worldPos()) なんだけど、常に追いかけるんじゃなくて画面の真ん中あたりでは追従しないでほしい。 function follow(target: GameObj<PosComp>) { let { x: nextX, y: nextY } = k.camPos() const { x: sX, y: sY } = target.screenPos() con</poscomp>…
SvelteKitとDrizzle使って https://movieoftheyear.cc をつくったんだけど、テスト回すたびにDBにレコードが残るのが我慢ならず、ちょっとググってこんなのを書いて import { test } from 'vitest'; import { db } from '$lib/server/db'; import type { Dat…
orm.drizzle.team スキーマに記述した構造をDBに反映させるコマンド。実行すると「このSQL発行していい?」と聞かれるので、カーソルキーとかでYesを選んでEnter。ただCIとかでは何も聞かずに実行してくれてOKなので、--forceとか--no-promptみたいなオプシ…
remote: Resolving deltas: 100% (7/7), completed with 7 local objects. remote: remote: Create a pull request for 'baz' on GitHub by visiting: remote: https://github.com/foo/bar/pull/new/baz remote: このリンク。そのブランチを初めてプッシュし…
読んでなるほどと思ったのでメモ。言われてみれば確かにそう。 components └── Button ├── Button.module.css └── Button.tsx みたいな構造になっているときにButton.tsxをimportすると import Button from '~/components/Button/Button' と書かないといけな…
最近遊んでいたのでメモ。 PhaserにはScene Pluginという仕組みがあるようです。そこでthis.game.events.onでupdate前にコールバックを仕込めるので、そこでコントローラー入力周りのお世話をしています。 // main.ts import Phaser from 'phaser' import { …
ちょっと前にdependabotを入れたせいで(おかげで)大丈夫そうならポチポチアップデートしてしまっており、しばらくこのシリーズも書いてないことに気づいたので、今朝来ていたdependabot PR2つだけ書いておく。 logger_json https://github.com/Nebo15/logg…
API Dependency Current Latest Status credo 1.6.4 1.6.5 Update possible ecto_sql 3.8.3 3.8.3 Up-to-date ex_aws 2.3.3 2.3.3 Up-to-date ex_aws_s3 2.3.3 2.3.3 Up-to-date gettext 0.19.1 0.20.0 Update possible hackney 1.18.1 1.18.1 Up-to-date id…
dev.classmethod.jp という記事を見かけたのが発端。いままで特に深く考えずにpublicスキーマの世界で生きていたんだけど、ユーザごとにスキーマつくって権限あげるのがお行儀いいよな、と思ってやってみた。 -- init.sql CREATE DATABASE mydb TEMPLATE='te…
APIだけちゃちゃっとやるます。 Dependency Current Latest Status credo 1.6.4 1.6.4 Up-to-date ecto_sql 3.7.2 3.8.3 Update possible ex_aws 2.3.1 2.3.2 Update possible ex_aws_s3 2.3.2 2.3.2 Up-to-date gettext 0.19.1 0.19.1 Up-to-date hackney 1…
API ex_aws 2.2.10 2.3.1 Update possible oban 2.10.1 2.12.0 Update not possible phoenix 1.6.6 1.6.7 Update possible phoenix_pubsub 2.0.0 2.1.1 Update possible plug 1.13.4 1.13.6 Update possible ex_aws https://github.com/ex-aws/ex_aws/blob/c…
BOLGの投稿画面はNuxt 2でできていて、3にするための準備で何度かNuxt Bridgeにするチャレンジをやっている。ただ毎回なにかしらがコケて成功しないので、もういっそのこと直接2から3へ上げてやろうということで、その準備としてのPinia移行。Vuex 4を使うと…
Railsのキャッシュをまとめて消すときにRails.cache.delete_matchedが便利だった、というだけの話。 最初は Rails.cache.redis.keys.grep(/hello/).each do |key| Rails.cache.delete(key) end みたいなことをやりかけて、これはなんかミスってるでしょと思…
API Dependency Current Latest Status credo 1.6.3 1.6.4 Update possible ecto_sql 3.7.2 3.7.2 Up-to-date ex_aws 2.2.10 2.2.10 Up-to-date ex_aws_s3 2.3.2 2.3.2 Up-to-date gettext 0.19.1 0.19.1 Up-to-date hackney 1.18.1 1.18.1 Up-to-date id_to…
BOLGの言語バージョン上げるかと思ってプルリクつくったらCI (GitHub Actions) が落ちた。テストで落ちたとかじゃなくて、その前の actions/cache@v2 つかった依存性周りのキャッシュのとこで何か言われておる。 Error: /home/runner/work/blog/blog/./.gith…
いつもさらっとChangelog見て雰囲気で上げてるんだけど、どうせなら何したか書くか、という1発目。npmは数が多くてまとめるの面倒なので、とりあえずhexだけ...。 Dependency Current Latest Status credo 1.6.2 1.6.3 Update possible ecto_sql 3.7.2 3.7.2…
github.com peaceiris/actions-gh-pages にお世話になっているんだけど、気づくとGitHub PagesのCustom Domain設定が外れていておかしいなと思ったらcnameの指定を忘れていた、という話です。 - name: Deploy uses: peaceiris/actions-gh-pages@v3 with: git…
GodotのBaseButtonのシグナルに button_down button_up pressed がある。雰囲気でbutton_downシグナルを使っていたんだけど、pressedって何だ?と思ったので調査。 pressedはActionModeの値によって投げられるタイミングが変わって ACTION_MODE_BUTTON_PRESS…
例えば特定のchannelに2人が接続したらそれぞれに違うメッセージをpushするような何かを考える。 socketをsocket/1やsocket/3でつくってsubscribe_and_join/4すればテスト上でjoinまでできる。ただしassert_push/3は引数にsocketを与えられないので、2人のど…
趣味の開発環境でDocker ComposeをやめてPodman Composeを試してる。前にも入れてみるかとやったことがあったんだけど、そのときはM1 Macには対応してませんと言われて断念した。もしかしてそろそろいけるんじゃねと思ったらいけてそう。 brewで入れる。 $ b…
BOLGで使っているNode.jsのバージョンが古いままだったことに気づいたので、Node.jsとNPMのバージョンをそれぞれ16系と7系にしたところデプロイが失敗するようになった。どうやらNODE_ENV=productionでdevDependenciesのパッケージが見つけられていない様子…
やりたいこと Diesel使ってDBに繋いでいるActix Webアプリのテストをするときに、ドキュメントのIntegration testsにはこんな例が書いてある。 #[actix_rt::test] async fn test_index_post() { let mut app = test::init_service(App::new().route("/", web…
大体はここにある手順に従っただけなんだけど、記録だけ残しておきます。 render.com まずはざっくり全体像。Dashboardが投稿画面。Frontが表示画面。FrontはGETリクエストしかしないので、投稿画面側だけ閉じて、メンテ中も記事の閲覧はできるようにしまし…
BOLGのバックエンドAPIで使ってるPhoenixのバージョンを1.6に上げた。だいたいはプロジェクトを新規作成するときの変更なので、単にバージョン上げて、あとmix.exsのcompilersから:phoenixを外しただけ。JSON APIなので、assets関連の諸々もなし。 CHANGELOG…
CSSフレームワークのドキュメントとかでよくある、ボタンが並んでて、その隣にそれらがどんなHTMLでマークアップされているか併記されてるやつをやりたくなり、ちょっと調べたら行けそうだったのでやってみた。 こう書くと <show-content> <button id="inc">+1</button> <script> let count = 0 document.quer</script></show-content>…
gltfはBlenderでつくることにします。まずはなんでもいいので適当な造形をしてください。 で、Exportからgltfで書き出します。モディファイアーを適用にチェックがないと残念なことになるので注意。 今回はImportMeshします。第一引数に空文字を渡すとすべて…
https://bolg.in の話。今までできなかったんかいって感じだけど。適当にやってるとtabでフォーカスできない要素をつくってしまうという例です。Chromeでしか確認してないのでマネするときは注意。 フォーカスできない要素をフォーカスできるようにする ブラ…
github.com 自分はShoelaceってのを使っていて起きたんだけど、どうやらLiveViewがDOMの差分を更新するときに、Custom Elementの子ノードに手を出してしまうっぽい。phx-update="ignore"を付けて回避。 <sl-button phx-click="like" phx-update="ignore"> <sl-icon slot="prefix" name="hand-thumbs-up"></sl-icon> Like </sl-button>