Skip to content

Posts

GoのJSON

PocketBaseのユーザー作成をGoからHTTP叩いて実行しようとして、正常時とエラー時で戻ってくるJSONの形式が違っていた。 structを別々に用意して、Unmarshalでエラーになったらもう片方を使う?とか思ったけど、 golang は ゆるふわに JSON を扱えまぁす! — KaoriYaによると、interfa Read more

idとauto increment

DB設計するときのIDカラムについて。 昔ながらのシステムだと、auto increment使って連番が定番だと思うのだけど、PocketBaseでCollectionにRecord追加したとき、idは1ldTBeJNhX3jufuみたいな文字列が割り振られていて、そういえばFirebaseもそうだった Read more

Live Share on GitHub Codespaces

VS CodeのLive Share - Visual Studio Marketplace拡張、Codespaces | GitHubで使えたら良いなと思って試してみた。 Web Editor(リポジトリ画面で.押すと開くやつ)だと、拡張のインストールやURLの発行はできるけど、Joinしようとするとサーバーが応答しない的なエラー(うろ覚え)で接続で Read more

PocketBaseの更新

PocketBaseの更新が早い。 Releases · pocketbase/pocketbase 手元のDockerfileもバージョン指定できるように変更した。 https://github.com/umemak/eventsite_go/blob/7bc46cf58fd472582fe70ec32590a43c4d19a3f7/Dockerfile.pocketbase#L3 Admin UIで日時の表示がUTC固定なのをTZ指定できるようにならないかな。

失敗から学ぶRDBの正しい歩き方

ずっと欲しいものリストに入っていて買ってなかった、 失敗から学ぶRDBの正しい歩き方 Software Design plus | 曽根 壮大 | コンピュータ・IT | Kindleストア | Amazonをプライムデーのポイントアップ狙いで購入した。 細かいテーブルたくさん作るより、汎用テーブルにしたものを作ろうとしていたので、それはだめだと分かったの Read more

PocketBase

supabaseと格闘していたら、PocketBase - Open Source backend in 1 fileという似たような機能を提供するツールを見つけた。 GitHub見ると1週間ほど前に公開されたばかりのよう。 FROM alpine WORKDIR /app RUN wget https://github.com/pocketbase/pocketbase/releases/download/v0.2.4/pocketbase_0.2.4_linux_amd64.zip RUN unzip pocketbase_0.2.4_linux_amd64.zip RUN rm pocketbase_0.2.4_linux_amd64.zip CMD [ "/app/pocketbase", "serve", "--http", "0.0.0.0:8090" ] これでhttp://0.0.0.0:8090/_/にアクセスしたら管理者アカウント Read more

GoTrue

supabaseで使っている認証モジュールがnetlify/gotrue: An SWT based API for managing users and issuing SWT tokens。 supabaseのAPIでGoは提供されてないので、直接たたけないか調べてみる。 Architecture | Supabase見ると、/authでGoTrueに流されるようだが、Kongの公開ポート54321経由でht Read more

supabaseを試す

以前調べたとき、ローカルで動かしたときにAuth系はサポートしてないというような記事を見て、残念に思っていたのだけれど、Kuzzleの認証も思ったのと違う感じで。 With Docker | Supabase Supabaseをローカル環境に構築してNext.jsアプリで利用する(前半) このあたりを見ると、なんかできそう。しかもDocke Read more

Airを試す

HTMLとかコード修正したときに手動で再起動するのが面倒なので、ホットリロードツールを導入してみた。 cosmtrek/air: ☁️ Live reload for Go apps $ go install github.com/cosmtrek/air@latest $ air init $ air __ _ ___ / /\ | | | |_) /_/--\ |_| |_| \_ , built with Go mkdir /home/umemak/workspace/eventsite_go/tmp watching . watching cmd watching cmd/eventsite watching db watching db/sql watching model watching model/user !exclude tmp watching web watching web/template building... no Go files in /home/umemak/workspace/eventsite_go failed to build, error: exit status 1 ^Ccleaning... see you again~ デフォルトだと、cmdの下のmain.goを見つけてく Read more

adminer

MySQLコンテナ作ろうと思って、Mysql - Official Image | Docker Hubのcompose書き方見てたら、adminerというイメージを使っていて、同様に起動してみたらなかなか良い。 元のプログラムはdockette/adminer: Tiniest boxed dockerized Adminer (MySQL, PostgreSQL, SQLite, Mongo, Oracle) Dockerfilesかな。 テーブル定義作るときに、カラム名を別 Read more