Skip to content

Posts

失敗から学ぶ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/_/にアクセスしたら管理者アカウントの作成画面が出た。 --httpオプション指定しないとアクセスできない。

Read more

supabaseを試す

以前調べたとき、ローカルで動かしたときにAuth系はサポートしてないというような記事を見て、残念に思っていたのだけれど、Kuzzleの認証も思ったのと違う感じで。

このあたりを見ると、なんかできそう。しかもDockerで。

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/umemak/.profile
$ eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
$ brew install supabase/tap/supabase
$ supabase help
Supabase CLI 0.29.1
 :
$ supabase init
$ supabase start

http://localhost:54323/ でダッシュボードが表示された。

Read more

Airを試す

HTMLとかコード修正したときに手動で再起動するのが面倒なので、ホットリロードツールを導入してみた。

$ 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かな。

テーブル定義作るときに、カラム名を別のテーブル名+idにしたら、自動で外部キー定義として認識してくれてすごい。

Read more

Fleetお試し

JetBrains Fleet: JetBrains の次世代 IDE、去年の11月末にPreview申し込みしていた。 昨日、使えるようになったとメールが来たので早速インストールしてみた。

  • ファイルツリーでCtrl+C、Vでファイルがコピーされないし、Ctrl+Wでエディタタブが閉じられない(エディタにフォーカスが当たっていれば閉じられる)。
  • 日本語入力中に、未確定でbackspace押していくと、最初の文字が削除できない。

この記事を書いていて気になったのはこれくらいかな。 以前、RubyMine使ってたことあるけど、そのときは上記現象なかった気がする。

Read more

Revel入門

ちょっとしたWebアプリを作りたくなったので、GoでRailsみたいなフレームワークないのかなと探した。

が近そうだったので、試してみた。

$ go install github.com/revel/cmd/revel@latest
go: downloading github.com/revel/cmd v1.1.2
go: downloading github.com/agtorre/gocolorize v1.0.0
go: downloading github.com/jessevdk/go-flags v1.4.0
go: downloading github.com/revel/config v1.1.0
go: downloading github.com/revel/log15 v2.11.20+incompatible
go: downloading github.com/mattn/go-colorable v0.1.8
go: downloading gopkg.in/natefinch/lumberjack.v2 v2.0.0
go: downloading gopkg.in/stack.v0 v0.0.0-20141108040640-9b43fcefddd0
go: downloading github.com/pkg/errors v0.9.1
go: downloading github.com/fsnotify/fsnotify v1.4.9
go: downloading github.com/mattn/go-isatty v0.0.14
go: downloading github.com/inconshreveable/log15 v0.0.0-20201112154412-8562bdadbbac
$ revel new -a events_go -r
revel: command not found

おや?パスが通ってない?

Read more