<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/feed.rss.xml" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Yuto Urushima</title>
    <description/>
    <link>https://speakerdeck.com/alstrocrack</link>
    <atom:link rel="self" type="application/rss+xml" href="https://speakerdeck.com/alstrocrack.rss"/>
    <lastBuildDate>2025-05-08 10:10:01 -0400</lastBuildDate>
    <item>
      <title>非同期jobをtransaction内で 呼ぶなよ！絶対に呼ぶなよ！</title>
      <description>Ruby on Railsで開発していると、transaction内で非同期jobを呼ぶとコミット前に非同期jobが走り、レコードが見つからずRecordNotFoundやActiveJob::DeserializationErrorが起きることがあります。しかも再現する時としない時があり、デバッグがとてもやりにくい。そこで対策として、まず非同期jobのエンキューをtransaction外に移す方法を紹介し、さらにafter_commit_everywhereなどのgemを使う方法や、Rails 7.2以降で使えるenqueue_after_transaction_commit = trueの設定を活用する方法を説明。結果、DBのコミット後に確実に非同期jobが動くようになり、謎のエラーが解消。transaction内での非同期jobは危険なので、必ず対策するべきです。

※スライドに埋め込んだ動画が見られないのでこちらにアップしました。
false: https://vimeo.com/1122797317
true: https://vimeo.com/1122797866</description>
      <media:content url="https://files.speakerdeck.com/presentations/dfd702278d824a4795072d4259061346/preview_slide_0.jpg?36753029" type="image/jpeg" medium="image"/>
      <content:encoded>Ruby on Railsで開発していると、transaction内で非同期jobを呼ぶとコミット前に非同期jobが走り、レコードが見つからずRecordNotFoundやActiveJob::DeserializationErrorが起きることがあります。しかも再現する時としない時があり、デバッグがとてもやりにくい。そこで対策として、まず非同期jobのエンキューをtransaction外に移す方法を紹介し、さらにafter_commit_everywhereなどのgemを使う方法や、Rails 7.2以降で使えるenqueue_after_transaction_commit = trueの設定を活用する方法を説明。結果、DBのコミット後に確実に非同期jobが動くようになり、謎のエラーが解消。transaction内での非同期jobは危険なので、必ず対策するべきです。

※スライドに埋め込んだ動画が見られないのでこちらにアップしました。
false: https://vimeo.com/1122797317
true: https://vimeo.com/1122797866</content:encoded>
      <pubDate>Sun, 28 Sep 2025 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/alstrocrack/fei-tong-qi-jobwotransactionnei-de-hu-bunayo-jue-dui-nihu-bunayo</link>
      <guid>https://speakerdeck.com/alstrocrack/fei-tong-qi-jobwotransactionnei-de-hu-bunayo-jue-dui-nihu-bunayo</guid>
    </item>
    <item>
      <title>Build Ruby from RubyKaigi 2025</title>
      <description>Rubyのビルド方法に焦点を当てたプレゼンテーションです。自身の経験から、rbenvなどのツールに頼らずにRubyをソースからビルドする必要性を説き、一般的な参考資料が存在しない現状への問題意識を提示しています。その上で、Ubuntuコンテナ内でRubyをtarballまたはGitからインストールする具体的な手順を、コマンド例と図解（10ページ）を交えて解説しています。Rubyのビルド工程を学び、深く理解する重要性を伝える内容</description>
      <media:content url="https://files.speakerdeck.com/presentations/7d3e68c2dbfa4114a52da0d4373f0f3d/preview_slide_0.jpg?35151665" type="image/jpeg" medium="image"/>
      <content:encoded>Rubyのビルド方法に焦点を当てたプレゼンテーションです。自身の経験から、rbenvなどのツールに頼らずにRubyをソースからビルドする必要性を説き、一般的な参考資料が存在しない現状への問題意識を提示しています。その上で、Ubuntuコンテナ内でRubyをtarballまたはGitからインストールする具体的な手順を、コマンド例と図解（10ページ）を交えて解説しています。Rubyのビルド工程を学び、深く理解する重要性を伝える内容</content:encoded>
      <pubDate>Tue, 20 May 2025 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/alstrocrack/build-ruby-from-rubykaigi-2025</link>
      <guid>https://speakerdeck.com/alstrocrack/build-ruby-from-rubykaigi-2025</guid>
    </item>
    <item>
      <title>Rubyの!メソッドをちゃんと理解する</title>
      <description>Rubyの!メソッドに対する理解を深めることを目的に、!が例外を出すものや破壊的操作を示すという単純な解釈から一歩踏み込み、「より危険に見える処理」に対して慣習的に付けられていることを整理。Ruby on Railsの慣習に引きずられすぎず、自らの判断で適切に!を使う重要性を考察する内容です。</description>
      <media:content url="https://files.speakerdeck.com/presentations/a20b259796ce4b1e88eaa8a140f6cff9/preview_slide_0.jpg?35003857" type="image/jpeg" medium="image"/>
      <content:encoded>Rubyの!メソッドに対する理解を深めることを目的に、!が例外を出すものや破壊的操作を示すという単純な解釈から一歩踏み込み、「より危険に見える処理」に対して慣習的に付けられていることを整理。Ruby on Railsの慣習に引きずられすぎず、自らの判断で適切に!を使う重要性を考察する内容です。</content:encoded>
      <pubDate>Thu, 08 May 2025 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/alstrocrack/rubyno-mesotudowotiyantoli-jie-suru</link>
      <guid>https://speakerdeck.com/alstrocrack/rubyno-mesotudowotiyantoli-jie-suru</guid>
    </item>
  </channel>
</rss>
