メンション処理が楽になる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

になりました。

brewでmacのpostgresを14にアップグレードした際にpgを使ってるrailsが立ち上がらなくなった。(M1 Macです)

/Users/komagata/go/src/github.com/fjordllc/bootcamp/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.13.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require': dlopen(/Users/komagata/go/src/github.com/fjordllc/bootcamp/vendor/bundle/ruby/3.1.0/gems/pg-1.4.4/lib/pg_ext.bundle, 0x0009): Library not loaded: /opt/homebrew/opt/postgresql/lib/libpq.5.dylib (LoadError)
  Referenced from: /Users/komagata/go/src/github.com/fjordllc/bootcamp/vendor/bundle/ruby/3.1.0/gems/pg-1.4.4/lib/pg_ext.bundle
  Reason: tried: '/opt/homebrew/opt/postgresql/lib/libpq.5.dylib' (no such file), '/usr/local/lib/libpq.5.dylib' (no such file), '/usr/lib/libpq.5.dylib' (no such file), '/opt/homebrew/Cellar/postgresql@14/14.5_5/lib/libpq.5.dylib' (no such file), '/usr/local/lib/libpq.5.dylib' (no such file), '/usr/lib/libpq.5.dylib' (no such file) - /Users/komagata/go/src/github.com/fjordllc/bootcamp/vendor/bundle/ruby/3.1.0/gems/pg-1.4.4/lib/pg_ext.bundle
/
  opt/
    homebrew/
      opt/
        postgresql/
          lib/
            postgresql@14/
              libpq.5.dylib <- 有る
            libpq.5.dylib <- 無い

/opt/homebrew/opt/postgresql/libの中にはlibpq.5.dylibが無くてpostgresql@14ってディレクトリの中にある。なんかシンボリックリンク作成やコピーのミスのような雰囲気がするけど、とにかくライブラリの位置が変わってるっぽい。

とりあえずシンボリックリンクを貼ったら動いた。HomebrewのFormulaのreposを覗いてみたけどちょっとよくわからなかった。

$ ln -s /opt/homebrew/opt/postgresql/lib/postgresql@14/libpq.5.dylib /opt/homebrew/opt/postgresql/lib/libpq.5.dylib

Image from Gyazo

RubyKaigi 2022 - RubyKaigi 2022

明日からRubyKaigi 2022にオフライン参加するために三重県の津に行ってきます。 今回は現地の当日ボランティアスタッフとして参加予定です。会場であったらよろしくお願いします〜!

今年はフィヨルドブートキャンプ卒業生のお二人が登壇されるので楽しみです。

卒業生の ima1zumi さんと fugakkbn さんが | FJORD BOOT CAMP(フィヨルドブートキャンプ)

北海道に行ってきました〜。人生初北海道。

札幌では、FBCのメンターとして大活躍していただいているえにしテックの @cafedomancer さんと、同じく研修でご利用いただいた @AudioStakes さんと会って海の幸をいただき、トマムの星野リゾートで雲海を見てきました。

純連のワンタン味噌ラーメン

Image from Gyazo

Image from Gyazo

@cafedomancer さん、@AudioStakes さん、@machida さんと海の幸。

Image from Gyazo

Image from Gyazo

Image from Gyazo

Image from Gyazo

夜パフェ

Image from Gyazo

Image from Gyazo

Image from Gyazo

夜ソフト

Image from Gyazo

夜コンビニスイーツ

Image from Gyazo

ジンギスカン

Image from Gyazo

山わさびご飯

Image from Gyazo

ウェルカムラムネ

Image from Gyazo

雲海

Image from Gyazo

Image from Gyazo

雲海ソフト・雲海ラテ

Image from Gyazo

うに・いくら丼

Image from Gyazo

Image from Gyazo

Image from Gyazo

メロンパン&メロン

Image from Gyazo

北海道最高〜!

Image from Gyazo

ITエンジニア1年生のためのまんがでわかるLinux シェルスクリプト応用&ネットワーク操作編を献本いただきました。ありがとうございます!

下記の第二弾になりますね。

ITエンジニア1年生のためのまんがでわかるLinux - komagataのブログ

プログラミングスクール目線になるのですが、やはり、ソフトウェアやネットワークといった抽象的な概念はイラストの図があるととっても理解しやすいですね。

プログラマー同士が会話してる時は共通の「イメージ」がお互いの頭の中に浮かんでいて、それを元に話しています。

そういう「イメージ」がまだできていない人にとっては、目に見えない地図を前にして進む道の説明を受けているようなものなので分かりづらいのは当然だと思います。

そういったプログラマーが当然頭の中に浮かんでいる・共有していると思っている図をこうやってちゃんと見せてくれると初心者にとっては理解しやすいし、弊社のスクールでもそういった図を増やしていきたいと思っていたところだったので、大変参考になりました。

第二弾の具体的な内容としてはsshを中心として基本的なファイル操作・ネットワーク操作のコマンドの使い方とどういったものなのかの説明がされています。

この本から入って抽象的な概念の概要を掴んでから細かく学んでいくというのはとってもいい学習の進め方だと思います。

最終日は帰りのフライトが夜なので早めに夕飯。

Image from Gyazo

トリップアドバイザーで評価の高かったホテルの近くのEl Mercadoというスペイン料理店で食べました。

Image from Gyazo

1週間近くタイ料理ばっかりだったのでラビオリとかがめっちゃうまい。

Image from Gyazo

Image from Gyazo

近くのコンビニで色々買い物。コンビニの駐車場に屋台エリアみたいなのがあって一本10バーツ(35円ぐらい)の焼き鳥を売ってるけどお腹壊しそうなので買ってない。

Image from Gyazo

帰りのフライトは羽田に午前6時ぐらいに到着。普通に平日の仕事だったのですっごい眠かったです。

タイの感想

予想通り

  • 日本食や日本の商品が多い。
  • 常にあったかくて気持ちが落ち込むような天気が無い。
  • 物価が安い。
  • 渋滞が凄い。
  • 料理が美味い。

予想外

  • 人がとても優しく、店員さんのサービスが丁寧。
  • 英語が通じる人が全然いない。
  • 円安で思ったより物価が安くない。
  • 治安がすごく良く。

マレーシアと似ているけど、マレーシアはのんびりしてる雰囲気でタイは活気がある感じでした。

「若者は刺激の多いタイが良くて、リタイアしてゆっくりしたい人にはマレーシアが向いてる」という話を聞いたことがあったのですが、ほんとそんな感じでした。

妻も特に料理など気に入ってたようなので移住先にも良いかもしれないと思いました。 ただ僕は英語が想像以上に通じないのが気になりました。マレーシアと一番違うのはここかもしれないです。タイ語は発音も激ムズだし文字が読めないのもキツく感じましたね。

また色々な国を見てみたいなと思いました。

今日はホテルで仕事などをしながらゆっくり。

近くのエンポリウムというデパートが気に入ったのでまた買いに物に行きました。

Image from Gyazo

やっぱりグリーンサラダが食べたくなってイタリアンのお店で夕食。サーモンのタルタルがめちゃうまい。

Image from Gyazo

自分で割って飲むフレッシュなココナッツにハマっているのでホテルに買って帰りました。

今日はCentral Worldという物凄く大きなデパートをぶらぶらしました。

Image from Gyazo

Image from Gyazo

前の広場で屋台祭りのようなものがあったのでココナッツ等を購入。ハエがたかっているのが気になるので食事は別のところですることに。

Image from Gyazo

妻が昔から好きだったPropagandaという雑貨などのブランドがあるんですが、タイのブランドだったらしく、たまたま発見したので色々購入。

Image from Gyazo

フードコートで色々買って夕食。妻はマンゴーライスにハマっているようです。