bundle2.2からか対応platformが細かくなった。

arm64-darwin-22
arm64-darwin-23
x86_64-darwin-21
x86_64-darwin-22
x86_64-linux

こんな感じでosのバージョン毎に追加してくのは辛い。みんなどうやってるのかなと思ってSlackのruby-jpのsupportチャンネルで質問させてもらいました。

Image from Gyazo

gohさん、kojix2さんに教えていただきました。ありがとうございます。

結論から言うとこう言う感じで良さそう。

PLATFORMS
  universal-darwin
  x86_64-linux

mac関連は全部universal-darwinでOK。CIや本番環境、WSL2の人用にはx86_64-linuxでOK。

Stripe & Supabase Tokyo Meetup - connpassに行ってきました。

原宿の竹下通りの出口横のでかいビルにあるおしゃれなStripe Japanのオフィスで行われました。

僕はStripeは基本的な機能しか使ってないし、Supabaseもまだ本番で使えてないのでイベントとか行っちゃってついていけるかな?と心配だったんですが発表などとても勉強になりました。

FultterからStripeをバリバリ使ってる事例やSupabase WrapperというStripeのデータがSupabaseのテーブルとして使えるすごい機能の発表など気になる点が多かったです。SupabaseでAuthのProduct Ownerをしてらっしゃる@stojaaanさんの発表でのGuestログイン的な機能も気になりました。

(テーブルへSELECTはともかくINSERTなども対応してるのはびっくり。どうやってるんだろう?)

僕は去年こういうエントリーを書いたように、SupabaseのREST APIを用意してくれる機能がとんでもなく好きなんですが、他にもたくさんの便利そうな機能があるのでそういうのも使ってアプリをリリースしていきたいですね。

Web APIを手作りする時代は終わった | FJORD BOOT CAMP(フィヨルドブートキャンプ)

日本のSupabaseコミュニティがもっと発展していくといいなと思うので今後も参加したいと思ったイベントでした。

夫婦共にコロナにかかって2週間ぐらい寝込んでました。しんどかったですが、やはり毒性が下がってきているのか、長引きがちなインフルエンザぐらいの症状で済みました。 ちょっとした咳・頭痛・悪心とかはまだ続いていて、他の人の話を聞くに1ヶ月ぐらいは続くみたいですね。

また、免疫力が下がったのか皮膚が酷く荒れてしまって、髪を短くしたり、髭を剃ったり、クリームを塗ったりして対処しています。

今日はフィヨルドブートキャンプのミートアップで、RubyKaigiスペシャルでした。 僕は参加できませんでしたが、生徒の皆さんがRubyKaigiに参加してどうだったか、フィヨブーハウスに泊まってどうだったかというLTをたくさん聞かせてもらいました。

やっぱりローカルでの交流はインパクト大きいみたいですね。学習で同じ苦労をしている人とオフラインで交流できるのは変え難いものがあるのだと思います。

あとは午後に麻疹の抗体検査に行きました。東南アジアへの旅行が多いので、B型ワクチンや破傷風などたくさん打ってるんですが、最近麻疹が流行ってるらしいので検査に行きました。抗体がなかったらワクチンを打つ予定。

そして毎月お酒を飲む唯一の機会がミートアップなので、何を飲むかも少し楽しみにしています。我が家は今韓国ブームなのでチャミスルを買ったつもりが、よくみたらチャズルだったのがショック。

Image from Gyazo

チャミスルは米や麦からできてる日本の焼酎に似た感じですが、チャズルはりんごが原料で甘くて全然違う味。チャズルも全然不味くないので良いんですが、みんな要注意やで。

tagifyってタグの入力欄を作れるJSライブラリ。

tag_input = find('.tagify__input')
tag_input.set '追加タグ'
tag_input.native.send_keys :return

capybaraでこうやって入力しているテストがあるんだけど、ときどき 加タグ のように最初の1文字が入力されない場合がある。

fill_inでこういうことは起こらないと思うんだけど、setだからこうなるのかな。sleepは入れたくないので困った。

時々お好み焼きが無性に食べたくなります。最近僕らが欲するお好み焼き屋の条件としては下記があるんですが、意外と見つからなかった。

  • 自宅の千歳烏山からタクシーで1時間以内
  • 関西風
  • 白いマヨを使ってる(生クリームが入ってるやつ)
  • おたふくソースのような甘いソースが苦手なので、そこまで甘くないソースの店
  • そこまで激ウマじゃなくて良い
  • 店が広くて綺麗
  • 焼いてくれるタイプの店
  • 多少高価でも良い

でも探してたらぼちぼち見つかってきたので記録しておきます。

どうやら僕らが探してるタイプのお好み焼き屋さんは大きめの商業施設の地下とかレストランフロアにあるタイプのようです。その辺を探すと結構ある。

RubyKaigi2023は両耳中耳炎で汁を垂れ流してずっと発熱してたので、松本行きは強行したんですが、ずっとホテルで寝ていました。 今年はフィヨルドブートキャンプの生徒の方向けにAirBnBで一軒家を借りて宿泊先として提供するフィヨブーハウスを初めて提供したんですが、僕はホテルで寝ているだけで @machida さんや @togo さんに当日の様々な準備や運営を任せっきりになってしまって申し訳なさで一杯でした。 個人的にも盛り上がってるKaigiに参加できず残念。しかし当時は耳と熱でしんどくて残念に思う余裕もありませんでした😭

初めてRubyKaigiに参加する生徒の方も多かったですが、みんな楽しんでいたようですし、フィヨブーハウスの開催後アンケートは全員満足とのことだったので来年もやりたいです。

メンション処理が楽になるgemのmentionableでメンションを送るタイミング(hook)を変更できるようにしました。

Discovery mentions from ActiveRecord column. - komagata/mentionable

class Comment
  mentionable_as :body, on_mention: :after_commit_mention, hook_name: :after_commit

  def after_commit_mention(new_mentions)
    p new_mentions # Send notification if you want.
  end
end
$ rails runner "Comment.create(body: '@nobunaga @hideyosi Hi guys.')"
["@nobunaga", "@hideyosi"]

hook_nameを指定できるようにしました。ActiveRecordのcallbackのタイミングのうち、デフォルトはafter_saveですが、after_commitとかに変更できます。

commitが確定した後じゃないと困る場合があるからです。

SignInとSignUpを切り替えるためにどんな条件でUserを検索しているのかわかりづらくてseed作りに苦戦していました。

$ pg_dump postgresql://postgres:postgres@localhost:54322/postgres --column-inserts --data-only --table="auth.users" --table="auth.identities"

結局細かなカラムまではわからなかったけど、一旦SignUpして、上記でauth.usersauth.identitiesをそのまま入れておけばOK。

$ supabase db diff --file create_user

になりました。